/usr/share/doc/libxdmf-dev/examples/Python/XdmfDataStructureTest.py is in libxdmf-dev 3.0+git20160803-4.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | #!/bin/env python
from __future__ import print_function
from Xdmf import *
PointsTxt = """<?xml version="1.0" ?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
<Xdmf>
<Domain>
<Grid Name="Shot Points">
<Topology Type="PolyVertex" NodesPerElement="1" NumberOfElements="5" >
</Topology>
<Geometry Type="XYZ">
<DataStructure Format="XML" DataType="Float" Precision="8"
Dimensions="3 2 5 3">
10.0 0.0 0.0
10.0 1.0 0.0
10.0 2.0 0.0
10.0 3.0 0.0
10.0 4.0 0.0
10.0 0.0 1.0
10.0 1.0 1.0
10.0 2.0 1.0
10.0 3.0 1.0
10.0 4.0 1.0
10.0 0.0 0.0
10.0 1.0 0.0
10.0 2.0 0.0
10.0 3.0 0.0
10.0 4.0 0.0
10.0 0.0 1.0
10.0 1.0 1.0
10.0 2.0 1.0
10.0 3.0 1.0
10.0 4.0 1.0
10.0 0.0 0.0
10.0 1.0 0.0
10.0 2.0 0.0
10.0 3.0 0.0
10.0 4.0 0.0
10.0 0.0 1.0
10.0 1.0 1.0
10.0 2.0 1.0
10.0 3.0 1.0
10.0 4.0 1.0
</DataStructure>
</Geometry>
</Grid>
</Domain>
</Xdmf>
"""
fd = open('Points.xmf', 'w')
fd.write(PointsTxt)
fd.close()
########
dom = XdmfDOM()
dom.Parse('Points.xmf')
dm = dom.FindElement('Domain')
g = dom.FindElement('Grid', 0, dm)
geo = dom.FindElement('Geometry', 0, g)
dse = dom.FindElement('DataStructure', 0, geo)
ds = XdmfDataStructure()
ds.SetDOM(dom)
ds.SetElement(dse)
ds.UpdateInformation()
print ('Rank ', ds.GetRank())
print ('Dimensions ', ds.GetDimensions())
dd = ds.GetDataDesc()
print ("Number Type ", dd.GetNumberTypeAsString())
print ("Number of Elements ", dd.GetNumberOfElements())
print ("Name = ", ds.GetName())
# ds.DebugOn()
ds.Update()
ds.Build()
print (ds.Serialize())
print ('Values = ', ds.GetDataValues())
a = ds.GetArray()
a.SetNumberType(XDMF_FLOAT32_TYPE)
a.SetNumberOfElements(27)
# a.SetShapeFromString("5 5")
print ("Shape = ", a.GetShapeAsString())
a.Generate(1, 10)
ds.DebugOn()
ds.SetFormat(XDMF_FORMAT_HDF)
ds.SetHeavyDataSetName('Jerry.h5:/NewData')
ds.Build()
print (ds.Serialize())
dom.Write('NewPoints.xmf')
dsr = XdmfDataStructure()
dsr.DebugOn()
# This will clear the reference and cause I/O
dsr.SetElement(ds.GetElement())
dsr.SetDOM(dom)
dsr.Reference(ds.GetElement())
if(dsr.GetIsReference()) :
print ('Values = ', dsr.GetDataValues())
else :
print ('This is not a reference')
|