[vtkusers] Explicit numbering of nodes for Xdmf/h5

Andrew Parker andy.john.parker at googlemail.com
Sat Nov 23 12:13:56 EST 2013


All,

In an effort to spark some comments I thought I'd try to provide a small
example for what I want to do in case my previous post (below) was unclear.
 Below is a valid xdmf file that paraview understands for a plane.

<?xml version="1.0"?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd">
<Xdmf xmlns:xi="http://www.w3.org/2003/XInclude" Version="2.2">
  <Domain>
    <Grid GridType="Uniform">
      <Topology TopologyType="Quadrilateral" Dimensions="1">
        <DataItem Dimensions="1 4" NumberType="Int" Precision="8"
Format="XML">
           0 1 3 2
</DataItem>
      </Topology>
      <Geometry GeometryType="XYZ">
        <DataItem Dimensions="4 3" NumberType="Float" Precision="4"
Format="XML">
  -0.5 -0.5 0
  0.5 -0.5 0
  -0.5 0.5 0
  0.5 0.5 0
</DataItem>
      </Geometry>
    </Grid>
  </Domain>
</Xdmf>

---  Now, what I want to do is to allow for the fact that the nodes
defining this plane, may happen to be labelled 300, 20, 22, 80 instead of
0->3.  The key point being that there is still only 4 nodes, not 300 in the
file for which I only need 4 to define the geom, but need to write out 300
to all for the 0-based implicit ordering.  Therefore, I'd like a section in
the geom part of the xmf file to qualify this numbering.  It doesn't bother
me if they're subsequently renumbered inside paraview/vtk, only that I
don't have to, as this is a simplistic version of something more
complicated.  So to be verbose, it should now look like:

<?xml version="1.0"?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd">
<Xdmf xmlns:xi="http://www.w3.org/2003/XInclude" Version="2.2">
  <Domain>
    <Grid GridType="Uniform">
      <Topology TopologyType="Quadrilateral" Dimensions="1">
        <DataItem Dimensions="1 4" NumberType="Int" Precision="8"
Format="XML">
          * 300 20 22 80 *
</DataItem>
      </Topology>
      <Geometry GeometryType="*XYZ_Explicit*">
        <DataItem Dimensions="4 3" NumberType="Float" Precision="4"
Format="XML">
*   20 -0.5 -0.5 0 *
*   22 0.5 -0.5 0 *
*   80 -0.5 0.5 0 *
*   300 0.5 0.5 0 *
 </DataItem>
      </Geometry>
    </Grid>
  </Domain>
</Xdmf>

Can this be done, or could this be done in the future?  Am I being daft and
there is an easy way to do this?

Cheers again,
Andy


On 22 November 2013 17:19, Andrew Parker <andy.john.parker at googlemail.com>wrote:

> All,
>
> Hopefully this is a simple question.  I'm using xdmf with h5 files to
> store my mesh and view via paraview.  However, due to a recent change in my
> code, I now want to be able to specify "NodeNumber XPosition YPosition
> ZPosition" as a tuple for each node/point position in the mesh (it's
> unstructured) so that I can explicitly number the nodes.  Currently I do
> something like:
>
> <Geometry Type= "X_Y_Z">
> <DataItem Name="VX" NumberType="Float" Dimensions="1660" Precision="8"
> Format="HDF">
> points.h5:/Mesh/Xposition/
> </DataItem>
> <DataItem Name="VY" NumberType="Float" Dimensions="1660" Precision="8"
> Format="HDF">
> points.h5:/Mesh/Yposition/
> </DataItem>
> <DataItem Name="VZ" NumberType="Float" Dimensions="1660" Precision="8"
> Format="HDF">
> points.h5:/Mesh/Zposition/
> </DataItem>
> </Geometry>
>
> But this assume that the first x, y, and z in the file are meant to be for
> node 0, and node 0 is referenced in the topology section.  Now what I want
> to do is to be able to define for each x, y, z tuple the specific node
> number that those positions refer to. So explicit numbering rather than
> implicit numbering.  Can this be done with xdmf, I assume it can?  If not a
> massive amount of renumbering is needed.....
>
> Any help really appreciated.
>
> Cheers,
> Andy
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20131123/9dff72e0/attachment.htm>


More information about the vtkusers mailing list