File: XdmfVtkTest1.py

package info (click to toggle)
xdmf 3.0%2Bgit20160803-3
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 35,388 kB
  • ctags: 36,627
  • sloc: ansic: 265,382; cpp: 162,889; python: 10,976; f90: 1,378; yacc: 687; fortran: 464; xml: 200; java: 187; lex: 125; makefile: 82; sh: 28
file content (39 lines) | stat: -rwxr-xr-x 1,363 bytes parent folder | download | duplicates (2)
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
#!/bin/env python

from __future__ import print_function
from Xdmf import *
from vtk import *
from libvtkXdmfPython import *


Reader = vtkXdmfReader()
Controller = vtkMPIController()
Reader.SetController(Controller)
ProcId = Reader.GetController().GetLocalProcessId()
NumProcs = Reader.GetController().GetNumberOfProcesses()
print ('Hello from %d of %d' % (ProcId, NumProcs))
Reader.SetFileName('Points1.xmf')
# Reader.DebugOn()
Reader.UpdateInformation()
Reader.DisableAllGrids()
Reader.EnableGrid(2)
Reader.EnableAllArrays()
Reader.Update()
print ('Output = ', Reader.GetOutput())
Append = vtkAppendFilter()
print (ProcId," : Ports = ", Reader.GetNumberOfOutputPorts())
for on in range(Reader.GetNumberOfOutputPorts()) :
        Output = Reader.GetOutput(on)
        print (ProcId, '  Number of Levels ',Output.GetNumberOfLevels())
        print (ProcId, '  Number of Groups ',Output.GetNumberOfGroups())
        print (ProcId, '  Number of DataSets in Group 0 ',Output.GetNumberOfDataSets(0))
        for i in range(Output.GetNumberOfDataSets(0)) :
            ds = Output.GetDataSet(0,i)
            if ds :
                print ('%d : Output %d = %d Cells' % (ProcId, i, ds.GetNumberOfCells()))
                Append.AddInput(ds)
            else :
                print ('%d : Output %d = NONE' % (ProcId, i))
Append.Update()
print (Append.GetOutput())