应用领域:叶轮机械大规模数值模拟
软件:NUMECA/FineTurbo, NUMECA/CFview
问题:模拟过程结果数据过大,完整结果文件太大没PB级的硬盘存不下来,需要保存若干用于分析的表面数据,或者只保存部分自定义的计算数据,主要是NUMECA/FineTurbo中无法或不方便设置保存的数据。
解决方法:Shell调用CFview宏文件,初步代码如下,不太会用shell,请大佬指正。
第一步:创建CFview宏文件,如下面的post-CFview.py,这里展示的大致功能就是将一个叶轮机的数值模拟结果读入CFview然后导出若干切面上的值。
CFViewBackward(912)
#-------------------------------------------------------#
# File Name and Timesteps Settings #
# Rules: #
# 1 Adjust surface names according to case #
# 2 Each block start from Adding surface #
# 3 Each block end at Removing surface #
# Specially designed for xxx case #
# Need to create sub-directories ./images #
# ./line_data ./cutplane_data #
# And put fwh cutting curve in ./cutplane_data #
# 泥瓦匠种地人 #
#-------------------------------------------------------#
# Remain project_prefix, file_dir and istep in the 16th, 17th and 20th line, which is meant to
# be changed by shell script
project_prefix='a'
file_dir='<your_case_dir>/a'
cutplane_data_dir=('%s/cutplane_data/') %(file_dir)
#-----------------------------------------------
istep=101
t_start=istep
t_end=istep
t_interval=1
#-----------------------------------------------
#surface_name=('blade-hub','inlet-outlt-shroud','fwh-surface-curveCut','z0.18','z0.15','z0.1','z0.05','z0.0','z-0.1','z-0.2','fwh-surface-Grid')
surface_name=('z-0.6255','z0.0385','z0.4177','z0.7125','stator_domain719')
#-----------------------------------------------
data_suffix='.cgns'
#-----------------------------------------------
# Open Project
#-----------------------------------------------
filename=('%s.run') %(project_prefix)
fileopen_series='%d %d %d' %(t_start,t_end,t_interval)
FileOpenProjectSelection(filename ,'all' ,'loadqnt' ,'Static Pressure' ,'unsteady' ,fileopen_series)
##
## Extract Blade and hub
##
SelectedSurfacesRemove('row 1_shroud')
SelectedSurfacesRemove('row 11_shroud')
data_dir=''
data_dir+=cutplane_data_dir+surface_name[0]+data_suffix
QntFieldScalar('Static Pressure')
#CGNSSaveSurfaces(data_dir,'Surfaces' ,'Static Pressure')
#SelectedSurfacesAdd('row 1_shroud')
#SelectedSurfacesAdd('row 11_shroud')
###
### Extract INLET, OUTLET and Shroud
###
SelectedSurfacesRemove('row 1_hub_')
SelectedSurfacesRemove('row 1_blade_')
SelectedSurfacesRemove('c_block')
SelectedSurfacesRemove('row 2_hub_(r.p.m. 0)')
SelectedSurfacesRemove('row 2_blade')
SelectedSurfacesRemove('row 11_blade')
CreateSurfaceGroup('bulb' ,'bulb_at_inlet_H1.Jmax shroud_identifier_' ,'bulb_at_inlet_H1_repetition1.Jmax bulb_at_inlet_H1__shroud_identifier_-(B52_F4_P1)' ,'bulb_at_inlet_H1_repetition2.Jmax bulb_at_inlet_H1__shroud_identifier_-(B80_F4_P1)' ,'bulb_at_inlet_H1_repetition3.Jmax bulb_at_inlet_H1__shroud_identifier_-(B108_F4_P1)' ,'bulb_at_inlet_H1_repetition4.Jmax bulb_at_inlet_H1__shroud_identifier_-(B136_F4_P1)' ,'bulb_at_inlet_H1_repetition5.Jmax bulb_at_inlet_H1__shroud_identifier_-(B164_F4_P1)' ,'bulb_at_inlet_H1_repetition6.Jmax bulb_at_inlet_H1__shroud_identifier_-(B192_F4_P1)' ,'bulb_at_inlet_H1_repetition7.Jmax bulb_at_inlet_H1__shroud_identifier_-(B220_F4_P1)' ,'bul