[vtkusers] Explicit numbering of nodes for Xdmf/h5
George Zagaris
george.zagaris at kitware.com
Sun Nov 24 16:24:00 EST 2013
I am not very familiar with xdmf/h5, so I could be way off, but couldn't
you add a node-attribute array to your mesh (just like you add the
velocities), which would store the "NodeLabels"? That way, the geometry
would still be read in using the local, contiguous numbering, 0-N, but your
application can infer the "NodeLabels", explicitly by accessing the
node-attribute array. Does this help?
Best,
George
On Sat, Nov 23, 2013 at 12:13 PM, Andrew Parker <
andy.john.parker at googlemail.com> wrote:
> 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
>>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20131124/4c0de47a/attachment.htm>
More information about the vtkusers
mailing list