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

Reply via email to