1 |
# $Id$ |
2 |
""" |
3 |
Test writing data object to various file formats |
4 |
|
5 |
by Lutz Gross, ACcESS, University of Queensland, Australia, 2005. |
6 |
""" |
7 |
|
8 |
from esys.escript import * |
9 |
from esys.finley import Rectangle,Brick |
10 |
|
11 |
|
12 |
ne=2 |
13 |
work_dir="/tmp" |
14 |
|
15 |
def writeInFormat(fs,format,filetype): |
16 |
d=fs.getDim() |
17 |
x=length(fs.getX()) |
18 |
# generate scalar data: |
19 |
filename="%s/scalar.%s.%s"%(work_dir,filetype,format) |
20 |
print "file ",filename," is generated" |
21 |
try: |
22 |
eval("x.save%s(\"%s\")"%(format,filename)) |
23 |
except StandardError, msg: |
24 |
print "%% failed because of ",msg |
25 |
# generate vector data: |
26 |
print "file ",filename," is generated" |
27 |
filename="%s/vector.%s.%s"%(work_dir,filetype,format) |
28 |
if d==2: |
29 |
m=[1.,2.] |
30 |
else: |
31 |
m=[1.,2.,3.] |
32 |
try: |
33 |
eval("(x*m).save%s(\"%s\")"%(format,filename)) |
34 |
except StandardError, msg: |
35 |
print "%% failed because of ",msg |
36 |
# generate tensor data: |
37 |
filename="%s/tensor.%s.%s"%(work_dir,filetype,format) |
38 |
print "file ",filename," is generated" |
39 |
if d==2: |
40 |
m=[[11.,12.],[21.,22.]] |
41 |
else: |
42 |
m=[[11.,12.,13.],[21.,22.,23.],[31.,32.,33.]] |
43 |
try: |
44 |
eval("(x*m).save%s(\"%s\")"%(format,filename)) |
45 |
except StandardError, msg: |
46 |
print "%% failed because of ",msg |
47 |
|
48 |
for format in ["VTK","DX"]: |
49 |
for d in [2,3]: |
50 |
for order in [1,2]: |
51 |
if (d == 2): |
52 |
mesh = Rectangle(ne, ne,order,l0=order*ne,l1=order*ne) |
53 |
elif (d == 3): |
54 |
mesh = Brick(ne,ne,ne,order,l0=order*ne,l1=order*ne,l2=order*ne) |
55 |
for fs in ["ContinuousFunction","Function","FunctionOnBoundary","Solution","ReducedSolution"]: |
56 |
filetype="%s.o%d.d%d"%(fs,order,d) |
57 |
writeInFormat(eval("%s(mesh)"%fs),format,filetype) |
58 |
|