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/
This is the solver case to be analysed
case_name = 'delta_sharp'
For remote data the interaction will use ssh to securely interact with the data
This uses the reverse connection capability in paraview so that the paraview server can be submitted to a job scheduler
Note: The default paraview server connection will use port 11111
remote_data = True
data_dir = '/gpfs/cfms/workarea/projects/hyper_flux/delta_wing_high_Re/Delta_Wing_Sharp'
data_host='acimpoeru@vis03'
remote_server_auto = True
paraview_cmd='mpiexec /gpfs/cfms/apps/bin/pvserver'
if not remote_server_auto:
paraview_cmd=None
if not remote_data:
data_host='localhost'
paraview_cmd=None
%pylab inline
from paraview.simple import *
paraview.simple._DisableFirstRenderCameraReset()
import pylab as pl
Populating the interactive namespace from numpy and matplotlib paraview version 4.2.0-75-gff3f889
This starts paraview server on remote host and connects
from zutil.post import pvserver_connect
from zutil.post import pvserver_process
if remote_data:
pvserver_connect(data_host=data_host,data_dir=data_dir,paraview_cmd=paraview_cmd)
[acimpoeru@vis03] Executing task 'port_test' Selected Port: 12000 [acimpoeru@vis03] Executing task 'pvserver' [acimpoeru@vis03] run: /bin/bash -l -c "cd /gpfs/cfms/workarea/projects/hyper_flux/delta_wing_high_Re/Delta_Wing_Sharp && sleep 2;mpiexec /gpfs/cfms/apps/bin/pvserver -rc --client-host=localhost -sp=12000" [acimpoeru@vis03] out: [acimpoeru@vis03] out: _____ ______ __ __ _____ [acimpoeru@vis03] out: / ____| ____| \/ |/ ____| [acimpoeru@vis03] out: | | | |__ | \ / | (___ [acimpoeru@vis03] out: | | | __| | |\/| |\___ \ [acimpoeru@vis03] out: | |____| | | | | |____) | [acimpoeru@vis03] out: \_____|_| |_| |_|_____/ [acimpoeru@vis03] out: [acimpoeru@vis03] out: ++++++++++++++++++++++++++++: System Data :++++++++++++++++++++++++++++ [acimpoeru@vis03] out: + Hostname = vis03 [acimpoeru@vis03] out: + Kernel = 2.6.32-358.el6.x86_64 [acimpoeru@vis03] out: + RHEL Release = Red Hat Enterprise Linux Server release 6.4 (Santiago) [acimpoeru@vis03] out: + Uptime = 12:31:47 up 21 days, 2:16, 11 users, [acimpoeru@vis03] out: ++++++++++++++++++++++++++++: User Data :++++++++++++++++++++++++++++++ [acimpoeru@vis03] out: + Username = acimpoeru [acimpoeru@vis03] out: +++++++++++++++++++++++: Contact Information :+++++++++++++++++++++++++ [acimpoeru@vis03] out: + in case of any problems, contact: support@cfms.org.uk [acimpoeru@vis03] out: + for feedback, contact: feedback@cfms.org.uk [acimpoeru@vis03] out: +++++++++++++++++++++: Maintenance Information :+++++++++++++++++++++++ [acimpoeru@vis03] out: + There is no planned maintenance taking place this week [acimpoeru@vis03] out: +++++: Group Home Directory Quota Usage (updated every 10 mins) +++++ [acimpoeru@vis03] out: + [acimpoeru@vis03] out: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [acimpoeru@vis03] out: Warning: Conflicting CPU frequencies detected, using: 3059.000000. [acimpoeru@vis03] out: [acimpoeru@vis03] rtunnel: opened reverse tunnel: (u'127.0.0.1', 40505) -> ('172.20.1.25', 22) -> ('localhost', 11111) Connecting to client (reverse connection requested)... [acimpoeru@vis03] out: Connection URL: csrc://localhost:12000 [acimpoeru@vis03] out: Client connected. [acimpoeru@vis03] out:
from zutil.post import get_case_parameters,print_html_parameters
parameters=get_case_parameters(case_name,data_host=data_host,data_dir=data_dir)
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'])
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))
pressure | 407552.8904 |
temperature | 322.0389 |
Reynolds No | 6000000.0 |
Ref length | 0.3268 |
Speed | 0.0 |
Mach No | 0.4 |
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.plot(pts_array.GetPoints()[:,1]/(max(pts_array.GetPoints()[:,1])),
pts_array.GetPoints()[:,2]/(max(pts_array.GetPoints()[:,2])),
'_',color='k',markersize=3.0)
ax.legend(loc = 'upper left',numpoints=1,prop = prop)
loop_data[loop] = (chord_array,cp_array)
loop += 1
# 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)])
import zutil
import zutil.post as post
reload(zutil)
reload(post)
from zutil.post import get_csv_data
import os
import glob
from collections import OrderedDict
#Sharp RADIUS
cp_s02 = zutil.post.get_csv_data("/gpfs/cfms/workarea/projects/hyper_flux/delta_wing_high_Re/Delta_Wing_Sharp/0.2Cp.csv",header=True,remote=True,delim=' ')
cp_s04 = zutil.post.get_csv_data("/gpfs/cfms/workarea/projects/hyper_flux/delta_wing_high_Re/Delta_Wing_Sharp/0.4Cp.csv",header=True,remote=True,delim=' ')
cp_s06 = zutil.post.get_csv_data("/gpfs/cfms/workarea/projects/hyper_flux/delta_wing_high_Re/Delta_Wing_Sharp/0.6Cp.csv",header=True,remote=True,delim=' ')
cp_s08 = zutil.post.get_csv_data("/gpfs/cfms/workarea/projects/hyper_flux/delta_wing_high_Re/Delta_Wing_Sharp/0.8Cp.csv",header=True,remote=True,delim=' ')
stat = OrderedDict([("S01" ,(0.2,cp_s02[0],cp_s02[1])),
("S02" ,(0.4,cp_s04[0],cp_s04[1])),
("S03" ,(0.6,cp_s06[0],cp_s06[1])),
("S04" ,(0.8,cp_s08[0],cp_s08[1]))
])
//Applications/paraview.app/Contents/Python/paraview/vtk/numpy_interface/dataset_adapter.py:126: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future. if array == None:
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=600, facecolor='w', edgecolor='k')
fig2 = pl.figure(figsize=(30, 50),dpi=600, 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.legend(loc = 'upper left',numpoints=1,prop = prop)
plot += 1
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('sharp_delta.pdf')
pp.savefig()
pp.close()
fig.savefig("sharp_delta.png")
show()
from IPython.display import FileLink, display
display(FileLink('sharp_delta.png'))
from zutil.post import residual_plot, get_case_report
residual_plot(get_case_report(case_name))
show()
if remote_data:
print 'Disconnecting from remote paraview server connection'
Disconnect()
Disconnecting from remote paraview server connection