[Paraview] Function JOIN of XDMF in Paraview

Gallagher, Timothy P tim.gallagher at gatech.edu
Mon Sep 19 22:50:49 EDT 2016


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: dl826 at cornell.edu; paraview at 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-bounces at paraview.org> on behalf of dl826 at cornell.edu <dl826 at cornell.edu>
Sent: Monday, September 19, 2016 10:20 PM
To: paraview at 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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20160920/89201c01/attachment.html>


More information about the ParaView mailing list