Maybe to be more clear (because there are some differences in the grid 
definition in some other places), here is what our full grid definition looks 
like:


           <Grid GridType="Uniform" Name="Domain_00001">
                <Topology Dimensions="8 47 373 3" TopologyType="3DSMesh" />
                <Geometry GeometryType="XYZ" Units="m">
                        <DataItem Dimensions="8 47 373 3" Function="JOIN($0, 
$1, $2)" ItemType="Function">
                            <DataItem Dimensions="8 47 373" Format="HDF" 
NumberType="Float" Precision="8">&gridpath;/grid.h5:/Domain_00001/x</DataItem>
                            <DataItem Dimensions="8 47 373" Format="HDF" 
NumberType="Float" Precision="8">&gridpath;/grid.h5:/Domain_00001/y</DataItem>
                            <DataItem Dimensions="8 47 373" Format="HDF" 
NumberType="Float" Precision="8">&gridpath;/grid.h5:/Domain_00001/z</DataItem>
                        </DataItem>
                    </DataItem>
                </Geometry>
            </Grid>


The first difference is the 2DSMesh in yours instead of the 3DSMesh in mine. 
But we also use Dimensions in the Topology tag (instead of the 
NumberOfElements). We also interleave our coordinates (that's what the comma 
does) instead of appending the arrays (that's what the semicolon does) in the 
JOIN.


I would skip the attribute for now and focus on getting the format correct for 
the coordinates, and then look at the attribute. We also use the JOIN to create 
velocity vectors from individual arrays and it follows the same format as the 
grid coordinates.


Tim

________________________________
From: Gallagher, Timothy P
Sent: Monday, September 19, 2016 10:41 PM
To: dl...@cornell.edu; paraview@paraview.org
Subject: Re: [Paraview] Function JOIN of XDMF in Paraview


The thing that jumps out at me is missing the Dimensions tag on the function 
itself. For instance, we create our grids as:


                        <DataItem Dimensions="8 47 373 3" Function="JOIN($0, 
$1, $2)" ItemType="Function">
                            <DataItem Dimensions="8 47 373" Format="HDF" 
NumberType="Float" Precision="8">grid.h5:/Domain_00001/x</DataItem>
                            <DataItem Dimensions="8 47 373" Format="HDF" 
NumberType="Float" Precision="8">grid.h5:/Domain_00001/y</DataItem>
                            <DataItem Dimensions="8 47 373" Format="HDF" 
NumberType="Float" Precision="8">grid.h5:/Domain_00001/z</DataItem>
                        </DataItem>


We also use a comma between the JOIN, not a semicolon -- not sure if that 
matters or not.


If you change your JOIN to look like:


        <DataItem Dimensions="2 2 2" ItemType="Function" Function="JOIN($0, 
$1)">

          <DataItem DataType="Float" Dimensions="2 2" Format="HDF" 
Precision="4">EvolvingSquare_01.h5:Coordinates</DataItem>

          <DataItem DataType="Float" Dimensions="2 2" Format="HDF" 
Precision="4">EvolvingSquare_02.h5:Coordinates</DataItem>

        </DataItem>


does that fix the problem?


Tim

________________________________
From: ParaView <paraview-boun...@paraview.org> on behalf of dl...@cornell.edu 
<dl...@cornell.edu>
Sent: Monday, September 19, 2016 10:20 PM
To: paraview@paraview.org
Subject: [Paraview] Function JOIN of XDMF in Paraview


Hi,

I am now working on a project which needs the use of JOIN function in xdmf to 
concatenate the data from multiple h5 files and visualize those files in 
Paraview. I have created a small trial to test this JOIN function. I create two 
h5 files, each of which contains two points of a unit square. For each point, I 
assign a value to it as its attribute. Then I write one xdmf file, which uses 
function JOIN to concatenate the dataset from two h5 files. But when I load my 
xdmf file into Paraview, Paraview just crashes directly.  This is the xdmf file 
I have written:



<?xml version="1.0" encoding="utf-8"?>

<Xdmf xmlns:xi="http://www.w3.org/2001/XInclude"; Version="2.97">

  <Domain>

    <Grid Name="Grid">

      <Geometry Type="XY">

        <DataItem ItemType="Function" Function="JOIN($0 ; $1)">

          <DataItem DataType="Float" Dimensions="2 2" Format="HDF" 
Precision="4">EvolvingSquare_01.h5:Coordinates</DataItem>

     <DataItem DataType="Float" Dimensions="2 2" Format="HDF" 
Precision="4">EvolvingSquare_02.h5:Coordinates</DataItem>

        </DataItem>

      </Geometry>

      <Topology TopologyType="2DSMesh" NumberOfElements="4 2"/>

      <Attribute Center="Node" Name="Attributes" Type="None">

        <DataItem ItemType="Function" Function="JOIN($0 ; $1)">

          <DataItem DataType="Float" Dimensions="2" Format="HDF" 
Precision="8">EvolvingSquare_01.h5:Attributes</DataItem>

          <DataItem DataType="Float" Dimensions="2" Format="HDF" 
Precision="8">EvolvingSquare_02.h5:Attributes</DataItem>

        </DataItem>

      </Attribute>

    </Grid>

  </Domain>

</Xdmf>



To avoid the problem of h5 file itself, I have also written two separate xdmf 
files for each h5 file and load each xdmf file separately into Paraview. I can 
successfully load these two h5 files separately into Paraview, so the problem 
might no be my h5 files. Can anyone help me with this problem? Are there any 
mistakes of my ways of using JOIN function in xdmf?

Thanks


_______________________________________________
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

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

Reply via email to