File: XdmfArrays.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,450 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 *

def Expression(*args) :
    e = ''
    for arg in args :
        if hasattr(arg, 'GetTagName') :
            e += arg.GetTagName() + ' '
        else :
            e += arg + ' '
    return XdmfExpr(e)


if __name__ == '__main__' :
    a1 = XdmfArray()
    a1.SetNumberType(XDMF_FLOAT32_TYPE)
    a1.SetNumberOfElements(20)
    a1.Generate(1, 20)
    a2 = XdmfArray()
    a2.SetNumberType(XDMF_INT32_TYPE)
    a2.SetNumberOfElements(5)
    a2.Generate(2, 10)
    print ('a1 Values = ', a1.GetValues())
    print ('a1[2:10] = ' + Expression(a1 , '[ 2:10 ]').GetValues())
    print ('a2 Values = ', a2.GetValues())
    print ('a1[a2] = ' + Expression(a1 , '[', a2, ']').GetValues())
    print ('a1 + a2 = ' + Expression(a1 , ' + ', a2).GetValues())
    print ('a1 * a2 = ' + Expression(a1 , ' * ', a2).GetValues())
    a2.SetNumberType(XDMF_FLOAT32_TYPE)
    a2.SetNumberOfElements(20)
    a2.Generate(21, 40)
    print ('a2 Values = ', a2.GetValues())
    print ('a1 , a2 (Interlace) = ' + Expression(a1 , ' , ', a2).GetValues())
    print ('a1 , a2, a1 (Interlace) = ' + Expression(a1 , ' , ', a2, ' , ', a1).GetValues())
    print ('a1 ; a2 (Concat) = ' + Expression(a1 , ' ; ', a2).GetValues())
    print ('where(a1 > 10) = ' + Expression('Where( ', a1 , ' > 10)').GetValues())
    print ('a2[where(a1 > 10)] = ' + Expression(a2, '[Where( ', a1 , ' > 10)]').GetValues())