-
Notifications
You must be signed in to change notification settings - Fork 0
/
write_tecplot.py
39 lines (33 loc) · 1.06 KB
/
write_tecplot.py
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
from numpy import *
# write the blade surface in tecplot format
def write_blade_surf(x,y,z,fp,fname):
cdim = x.shape[0]
sdim = x.shape[1]
np = cdim*sdim
ne = 2*(cdim-1)*(sdim-1)
nmodes = fp.shape[0]
f = open(fname,'w')
f.write('VARIABLES = "X", "Y", "Z", ')
for n in range(nmodes):
f.write('"FP'+str(n)+'", ')
f.write('\n')
f.write('ZONE N='+str(np)+', E='+str(ne)+', DATAPACKING=POINT, ZONETYPE=FETRIANGLE\n')
# write out the data
for i in range(cdim):
for j in range(sdim):
f.write('%20.8E'*3 % (x[i,j],y[i,j],z[i,j]))
for n in range(nmodes):
f.write('%20.8E' % (fp[n,i,j]))
f.write('\n')
# write out the elements
for i in range(cdim-1):
for j in range(sdim-1):
a = sdim*i + (j+1)
b = sdim*i + (j+2)
c = sdim*(i+1) + (j+1)
d = sdim*(i+1) + (j+2)
f.write('%d '*3 % (a,b,c))
f.write('\n')
f.write('%d '*3 % (c,b,d))
f.write('\n')
f.close()