42 lines
1.2 KiB
Python
Executable file
42 lines
1.2 KiB
Python
Executable file
"""TECPLOT utilities."""
|
|
|
|
def write_TECPLOT_zone(fname, title, zone, names, npts, nvar, append, data):
|
|
"""
|
|
Write a TECPLOT zone specification to generate line plots of multiple
|
|
variables.
|
|
fname -- file name
|
|
title -- plot title
|
|
zone -- zone name
|
|
names -- sequence of variable names
|
|
npts -- number of data points
|
|
nvar -- number of variables
|
|
append -- if > 0, append to plot file, otherwise overwrite
|
|
data -- object to generate plot data. This object must have a
|
|
method 'value', defined so that data.value(j,n) returns
|
|
the value of variable n at point j.
|
|
"""
|
|
|
|
from Numeric import array, shape
|
|
|
|
if append > 0:
|
|
f = open(fname,'a')
|
|
else:
|
|
f = open(fname,'w')
|
|
f.write('TITLE = "' + title + '"\n')
|
|
f.write('VARIABLES = \n')
|
|
for nm in names:
|
|
f.write('"'+nm+'"\n')
|
|
f.write('ZONE T="'+zone+'"\n')
|
|
f.write(' I='+`npts`+',J=1,K=1,F=POINT\n')
|
|
f.write('DT=(')
|
|
for n in range(nvar):
|
|
f.write('SINGLE ')
|
|
f.write(')\n')
|
|
for j in range(npts):
|
|
for n in range(nvar):
|
|
f.write('%10.4e ' % data[j,n])
|
|
f.write('\n')
|
|
f.close()
|
|
|
|
|
|
|