Hi all,
I have a 3-D curvilinear HDF5 dataset which contains both scalar and vector
data, and I would like to load it into Paraview. The scalar data is
cell-centered, while the vector components are centered on the cells' faces,
e.g. for vector (Bx,By,Bz),
Bx is at r_(i-1/2, j, k) with {i,j,k} in [0, Nx] x [0, Ny-1] x [0, Nz-1]
By is at r_(i, j-1/2, k) with {i,j,k} in [0, Nx-1] x [0, Ny] x [0, Nz-1]
Bz is at r_(i, j, k-1/2) with {i,j,k} in [0, Nx-1] x [0, Ny-1] x [0, Nz] ,
where r_(i,j,k) is the center of the cell. From the *.h5 file, all three
components look like scalars, except that their dimensionality in the
respective directions is increased by one.
For scalar data, I am using this XDMF sample file, which works like a charm:
----------------------------------------------------------------
<?xml version="1.0" ?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
<Xdmf Version="2.0">
<Domain>
<Grid Name="CronosMesh" GridType="Uniform">
<Topology TopologyType="3DSMesh" NumberOfElements="12 11 10"/>
<Geometry GeometryType="X_Y_Z">
<DataItem Dimensions="12 11 10" NumberType="Float" Precision="4"
Format="HDF">
../gtest_grid.h5:/X
</DataItem>
<DataItem Dimensions="12 11 10" NumberType="Float" Precision="4"
Format="HDF">
../gtest_grid.h5:/Y
</DataItem>
<DataItem Dimensions="12 11 10" NumberType="Float" Precision="4"
Format="HDF">
../gtest_grid.h5:/Z
</DataItem>
</Geometry>
<Attribute Name="Density" AttributeType="Scalar" Center="Cell">
<DataItem Dimensions="11 10 9" NumberType="Float" Precision="4"
Format="HDF">
../gtest_float/gtest_flt_step0.h5:/Data/rho
</DataItem>
</Attribute>
</Grid>
</Domain>
</Xdmf>
----------------------------------------------------------------
Now my question is: How exactly do I set up the corresponding Attribute tag
group for the B vector? I have seen solutions which use the JOIN function, but
I understand this needs arrays of the same size. So I was thinking of something
like
----------------------------------------------------------------
<Attribute Name="B_field" AttributeType="Vector" Center="Face">
<DataItem Dimensions="12 10 9" NumberType="Float" Precision="4"
Format="HDF">
../gtest_float/gtest_flt_step0.h5:/Data/Bx
</DataItem>
<DataItem Dimensions="11 11 9" NumberType="Float" Precision="4"
Format="HDF">
../gtest_float/gtest_flt_step0.h5:/Data/By
</DataItem>
<DataItem Dimensions="11 10 10" NumberType="Float" Precision="4"
Format="HDF">
../gtest_float/gtest_flt_step0.h5:/Data/Bz
</DataItem>
</Attribute>
----------------------------------------------------------------
but then B_field won't even show up in Paraview's object inspector. I also
noticed that the same tends to occur for scalar data as soon as Center is set
to either "Edge" or "Face". Since the wiki at xdmf.org doesn't say anything
about these two options beyond that they exist, I was wondering how exactly
these should be used.
Any help would be much appreciated.
Best wishes, Jens.
PS: Is there a dedicated XDMF mailing list which would be prefered for this
topic?
_______________________________________________
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 ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview