alpha = 13.3 Mach = 0.4 Re = 6.0e06
http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960047655.pdf/
http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960025648.pdf/
http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960020459.pdf/
http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960020435.pdf/
In [1]:
case_name = 'Delta_Wing_Large_Radius'
In [2]:
remote_data = True
data_dir='/gpfs/cfms/workarea/projects/hyper_flux/delta_wing_high_Re/Delta_Wing_Large_Fine_Mesh'
data_host='acimpoeru@vis03'
remote_server_auto = True
paraview_cmd='mpiexec /gpfs/apps/bin/pvserver'
if not remote_server_auto:
paraview_cmd=None
if not remote_data:
data_host='localhost'
paraview_cmd=None
In [3]:
%pylab inline
from paraview.simple import *
paraview.simple._DisableFirstRenderCameraReset()
import pylab as pl
In [ ]:
from zutil.post import pvserver_connect
if remote_data:
pvserver_connect(data_host=data_host,data_dir=data_dir,paraview_cmd=paraview_cmd)
In [5]:
from zutil.post import get_case_parameters,print_html_parameters
parameters=get_case_parameters(case_name,data_host=data_host,data_dir=data_dir)
In [6]:
from zutil.post import get_status_dict
status=get_status_dict(case_name,data_host=data_host,data_dir=data_dir)
num_procs = str(status['num processor'])
In [7]:
alpha = 13.3 # degrees
reference_area = 594720.0 # inches^2
reference_length = 275.8 # inches, mean chord.
reference_span = 1156.75 # inches
from IPython.display import HTML
HTML(print_html_parameters(parameters))
Out[7]:
In [8]:
import zutil
import zutil.post as post
reload(zutil)
reload(post)
from zutil.post import cp_profile_wall_from_file
from zutil.post import cp_profile_wall_from_file_span
def plot_cp_profile(ax,file_root,loc):
force_data = cp_profile_wall_from_file_span(file_root,
[1.0,0.0,0.0],
[loc, 0.0 , 0.0],
func=plot_array,
axis=ax,
loc=loc,
alpha=alpha)
loop = 0
loop_data = {}
def plot_array(data_array,pts_array,**kwargs):
global loop, loop_data
ax = kwargs['axis']
loc = kwargs['loc']
#alpha = kwargs['alpha']
cp_array = data_array.GetPointData()['cp']
chord_array = data_array.GetPointData()['chord']
ax.plot(chord_array, cp_array , 'b.',color='k',label='zCFD SST', markersize=20)
ax.legend(loc = 'upper left',numpoints=1,prop = prop)
loop_data[loop] = (chord_array,cp_array)
loop += 1
In [9]:
# Reproduce plots from delta wing presentation
from collections import OrderedDict
station_values = OrderedDict([("S01" , 0.2), ("S02" , 0.4), ("S03" , 0.6), ("S04" , 0.8),("S05",0.95)])
In [10]:
import zutil
import zutil.post as post
from zutil.post import get_csv_data
from collections import OrderedDict
#stat = OrderedDict([("S01" ,(0.2,cp_u_s02[0],cp_u_s02[1],cp_l_s02[0],cp_l_s02[1])),
# ("S02" ,(0.4,cp_u_s04[0],cp_u_s04[1],cp_l_s04[0],cp_l_s04[1])),
# ("S03" ,(0.6,cp_u_s06[0],cp_u_s06[1],cp_l_s06[0],cp_l_s06[1])),
# ("S04" ,(0.8,cp_u_s08[0],cp_u_s08[1],cp_l_s08[0],cp_l_s08[1]))
# ])
In [11]:
from zutil.post import get_case_root
from zutil.post import get_chord_spanwise
import matplotlib.font_manager as fm
prop=fm.FontProperties(size=20)
fig = pl.figure(figsize=(30, 50),dpi=150, facecolor='w', edgecolor='k')
fig2 = pl.figure(figsize=(30, 50),dpi=150, facecolor='w', edgecolor='k')
plot = 1
for key in stat:
loc = stat[key][0]
ax = fig.add_subplot(len(station_values),2,plot)
ax.set_title('$C_p$ at x/c = '+str(loc), fontsize=40, fontweight='bold')
ax.grid(True)
ax.set_xlabel('y/c - Spanwise',fontsize=20, fontweight='bold')
ax.set_ylabel('$C_p$',fontsize=50, fontweight='bold')
ax.axis([0.0,1.01,0.5,-3.0])
plot_cp_profile(ax,get_case_root(case_name,num_procs),loc)
ax.plot(stat[key][1],stat[key][2],'b.',color='r',label='Experiment', markersize=20)
ax.plot(stat[key][3],stat[key][4],'b.',color='r', markersize=20)
ax.legend(loc = 'upper left',numpoints=1,prop = prop)
plot += 1
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('Large_delta.pdf')
pp.savefig()
pp.close()
fig.savefig("Large_delta.png")
show()
from IPython.display import FileLink, display
display(FileLink('Large_delta.png'))
In [12]:
from zutil.post import residual_plot, get_case_report
residual_plot(get_case_report(case_name))
show()
In [13]:
#if remote_data:
# #print 'Disconnecting from remote paraview server connection'
# Disconnect()