[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