OpenCFDver使用手册.pdf

上传人:wj 文档编号:3437813 上传时间:2023-05-05 格式:PDF 页数:33 大小:4.45MB
下载 相关 举报
OpenCFDver使用手册.pdf_第1页
第1页 / 共33页
OpenCFDver使用手册.pdf_第2页
第2页 / 共33页
OpenCFDver使用手册.pdf_第3页
第3页 / 共33页
OpenCFDver使用手册.pdf_第4页
第4页 / 共33页
OpenCFDver使用手册.pdf_第5页
第5页 / 共33页
OpenCFDver使用手册.pdf_第6页
第6页 / 共33页
OpenCFDver使用手册.pdf_第7页
第7页 / 共33页
OpenCFDver使用手册.pdf_第8页
第8页 / 共33页
OpenCFDver使用手册.pdf_第9页
第9页 / 共33页
OpenCFDver使用手册.pdf_第10页
第10页 / 共33页
OpenCFDver使用手册.pdf_第11页
第11页 / 共33页
OpenCFDver使用手册.pdf_第12页
第12页 / 共33页
OpenCFDver使用手册.pdf_第13页
第13页 / 共33页
OpenCFDver使用手册.pdf_第14页
第14页 / 共33页
OpenCFDver使用手册.pdf_第15页
第15页 / 共33页
OpenCFDver使用手册.pdf_第16页
第16页 / 共33页
OpenCFDver使用手册.pdf_第17页
第17页 / 共33页
OpenCFDver使用手册.pdf_第18页
第18页 / 共33页
OpenCFDver使用手册.pdf_第19页
第19页 / 共33页
OpenCFDver使用手册.pdf_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

OpenCFDver使用手册.pdf

《OpenCFDver使用手册.pdf》由会员分享,可在线阅读,更多相关《OpenCFDver使用手册.pdf(33页珍藏版)》请在冰点文库上搜索。

OpenCFDver使用手册.pdf

复杂流动直接数值模拟软件复杂流动直接数值模拟软件Hoam-OpenCFDV1.7.2使用手册使用手册李新亮李新亮中国科学院力学研究所中国科学院力学研究所2第一章:

软件简介第一章:

软件简介1.1简介简介1.2软件的安装软件的安装1.3软件的运行软件的运行第二章:

三维计算软件第二章:

三维计算软件OpenCFD使用说明使用说明2.1简介简介2.2控制文件控制文件opencfd.in2.3差分格式的选取差分格式的选取2.3网格文件网格文件2.4初值文件初值文件2.5OpenCFD的运行和输出的运行和输出第三章第三章二维计算软件二维计算软件OpenCFD2d使用说明使用说明3.1简介简介3.2控制文件控制文件opencfd2d.in3.3网格及初值文件网格及初值文件3.4算例算例附录:

附录:

OpenCFD应用算例应用算例3第一章第一章软件软件Hoam-OpenCFD简介简介1.1简介简介“复杂流动的直接数值模拟”(Hoam-OpenCFD)软件是在本课题组已有数值方法及程序基础上进行整理、综合及并行化而形成的一套并行计算流体力学软件。

该软件的核心是可压缩Navier-Stokes方程差分求解器。

本软件的求解器可以求解直角坐标、柱坐标、轴对称旋转体坐标及曲线坐标的可压缩Navier-Stokes方程。

其差分库包括目前流行的各类差分格式及本课题组构造的多种差分方法。

本软件包括两部分:

三维计算软件OpenCFD和二维计算软件OpenCFD2d。

目前的最新版本是OpenCFDver1.7.2和OpenCFD2dver1.5.1。

1.2软件安装软件安装本软件需要Fortran编译器及MPI库。

在Linux及Windows环境下均可编译。

在Linux下安装方法如下:

1)建立一个子目录,将软件的源程序拷贝入该子目录。

2)键入make进行编译即可得到可执行文件。

三维求解器为opencfd-1.7.2.out;二维求解器为pencfd2d-1.5.1.out。

3)将可执行文件拷贝到工作目录中即可完成安装。

本软件同时支持单精度及双精度计算,默认为双精度计算。

如果用户使用单精度计算,需要将OpenCFD.h(或OpenCFD2d.h)中integer,parameter:

OCFD_REAL_KIND=8,OCFD_DATA_TYPE=MPI_DOUBLE_PRECISION改为:

integer,parameter:

OCFD_REAL_KIND=4,OCFD_DATA_TYPE=MPI_REAL即可。

makefile文件中的编译选项默认编译器为IntelFortran编译器,如用于采用其他编译器编译,请根据该编译器的特点修改makefile中的编译选项,以提高计算效率。

1.3软件的运行方法软件的运行方法运行本软件需要如下个文件:

文件类型文件名备注1执行程序opencfd-1.7.2.out2控制文件opencfd.in3网格文件ocfd-grid.dat对于均匀网格不需要网格文件(见控制文件的说明)4初值文件由控制文件指定默认为opencfd.dat5用户自定义数由控制文件和用户自用户自定义的程序需要的文件4据文件定义模块决定建立一个子目录,将这些文件拷贝到这个目录,在并行计算机上提交作业即可运行。

不同计算机上提交作业的方法不同,例如mpirun-np32./opencfd-1.7.2.out,或bsub-n32mpijob./opencfd-1.7.2.out等。

具体作业提交方法可查阅该计算机系统的使用手册。

第二章第二章三维程序三维程序OpenCFD使用指南使用指南2.1控制文件控制文件opencfd.in的填写的填写控制文件包含了方程类型,数值方法,边界条件,计算网格,输出文件类型等重要信息。

正确填写该文件是使用本软件的基础,该节是本软件使用的核心内容。

下面通过一个例子说明该文件的基本结构例1槽道湍流的直接数值模拟表2.1opencfd.in示例行文件内容1234567891011121314#OpenCFD1.7.2/1.7.1inputfile#IFLAG_Equation(0NS,1Euler),IFLAG_G,IFLAG_Coordinate(0Car,1Por,2Spher)000#nxnynz128161128#npx0npy0npz0LAP2444#N_MSG_SIZEBLOCK_COMPACT_ZBLOCK_COMPACT_YOCFD_Barrier0550#Iflag_grid

(1),Iflag_grid

(2),Iflag_grid(3)Iperiodic(1:

3)010101#SLx,SLySLz6.28318530717958d02.d03.14159265358979d0#ReAmagammaPrScIflag_Amu(0:

Sutherland,1515161718192021222324252627282930313233343536373839404142434445constant)T_RefIsplitVolume_ForcexForce_flagFlux_targetMass_target12000.d06.d01.4d00.7d01.d00288.1500.00061.d02.d02.d0#dtend_timeNUM_Time_Advancekstep_showKstep_savesave_fileread_file0.003d010000.d03101000000#nameofsavefile,nameofinitialdatafile,Init_stat,0#Scheme_x+NLNR10700#Scheme_x-NLNR10800#Scheme_x0NLNR20400#Scheme_y+NLNRi=1234NxNx-1Nx-210743402201103105401103105#Scheme_y-NLNRi=123NxNx-1Nx-2Nx-310834402104106401201104106#Scheme_y0NLNRi=1234NxNx-1Nx-2Nx-320444402201202203401201202203#Scheme_z+NLNR10700#Scheme_z-NLNR10800#Scheme_z0NLNR20400#IBCnknrTw101011.d0#nknrTurb_model!

RANS&LESmodeling100#N_ana1#Ian1Kstep_ana1nknrIF_Statistics_init1101001016表2.1给出了其中一个算例的控制文件opencfd.in。

该算例计算时间发展槽道湍流的直接数值模拟。

为了下文解释方便,表中左侧一列显示了控制文件的行号控制文件的内容在表中右侧一栏显示。

控制文件包含了注释行(即本例子中以“”号开头的行)和数据行。

软件根据控制文件中的位置读取数据控制文件中的位置读取数据,因此各行的含义固定,不能随意移动各行的含义固定,不能随意移动。

本软件根据opencfd.in文件的数据决定计算采用的方程类型,边界条件,数值方法及计算参数等。

各参数的含义见表2.2opencfd.in中各数据的含义行列含义31方程类型:

0为N-S方程,1为Euler方程2是否计算被动标量方程:

0不含被动标量,1含被动标量3坐标系:

0直角坐标系;1柱坐标;2球坐标系(目前版本不支持);3曲线坐标系(目前版本只支持二维变换);99旋转体专用求解器51I-方向的网格数(nx)(总计算网格数为nx*ny*nz)2J-方向的网格数(ny)3K-方向的网格数(nz)71i-方向的并行分割块数注:

本软件采用区域分解法进行并行计算,延3个方向分别分割成npx0,npy0和npz0块,总共为npx0*npy0*npz0块。

2j-方向的并行分割块数3k-方向的并行分割块数4LAP:

并行处理的交叠区的长度,详见上篇:

理论手册。

该长度与数值方法有关,具体选取见表3。

通常采用5,6阶格式时LAP=3;采用7,8阶格式时LAP=4;采用更高阶格式时LAP=5。

设置的LAP过小会导致结果错误过小会导致结果错误;设置的LAP过大会造成计算效率下降计算效率下降。

91N_MSG_SIZEMPI并行通信方式。

0默认方式;使用MPI_SENDRECV()函数一次完成发送/接收。

-1将二维数组切割成一维发送/接收-2以“用户自定义MPI数据类型”完成发送/接收-3以“用户自定义MPI数据类型”,且切割成一维完成发送/接收。

0的数据。

把MPI消息切割成N_MSG_SIZE大小进行传输。

通常设置为默认方式即可。

如果某些情况下出现“死锁”或者效率低下等现象,再尝试采用其他方式。

2BLOCK_COMPACT_Z:

采用紧致格式时,本软件采用分块流水线方法进行消息传递。

该值为Z向分块的数目。

如果不采用紧致格式计算,该变量可忽略。

73BLOCK_COMPACT_Y:

采用紧致格式时,本软件采用分块流水线方法进行消息传递。

该值为Y向分块的数目。

果不采用紧致格式计算,该变量可忽略。

111Iflag_grid

(1):

I向网格描述符。

如果该值为0,则无需读取一维网格文件ocfd-grid.dat.通常为等距网格或需要二维、三维Jocabian变换的情况。

如果该值为1,则需要读取一维网格文件ocfd-grid.dat(见3.3节)2Iflag_grid

(2):

J向网格描述符。

含义同上。

3Iflag_grid(3):

K向网格描述符。

含义同上。

4-6Iperiodic(1:

3):

描述I,J,K方向是否采用周期性条件。

0:

非周期,1:

周期。

注:

设计算域跨度为SLX,网格点nx.对于均匀的非周期网格,间距为SLX/(nx-1);对于均匀的周围网格,间距为SLX/nx131SLx:

I向计算域的长度.注:

对于均匀网格,SLX为物理空间实际计算域的长度。

如果采用非均匀网格,计算采用Jocabian变换;SLX指“计算空间”(Jocabian变换后的空间)的长度。

多数情况下,把物理域变换到0,1的计算域,这时SLX=1。

非均匀网格时,SLX的值由Jocabian变换来定。

2SLy:

J向计算域的长度。

含义同上。

3SLz:

K向计算域的长度。

含义同上。

151ReReynolds数2AmaMach数3Gamma比热比。

对于空气=1.4.4PrPrandtl数5ScSchemit数(包含被动标量计算时有效)6Iflag_Amu粘性系数的计算方法。

0采用Satherland公式计算;1保持常数。

7T_RefIsplit:

参考温度。

供Satherland公式计算粘性时用,是计算无量纲化时采用的特征温度。

通常采用来流温度。

Volume_Forcex:

x方向的流场外加体积力。

多数情况下为0。

这几个量目前只有“时间发展的槽道湍流”算例使用。

目的是通过外加体积力防止湍流衰减。

只有只有IBC(41行第行第1列)设定为列)设定为101时有效时有效。

其他算例可忽略。

Force_flag:

0表示定流量。

0表示定体积力。

Flux_target:

流量的目标值Mass_target:

总质量的目标值。

171dt时间步长。

如果计算发散,可以把时间步长调小一些。

2end_time结束时间,当时间推进到end_time时,计算结束。

3Time_Advance时间推进方法。

3:

3阶Runge-Kutta;4:

4阶Runge-Kutta;5:

优化的4阶Runge-Kutta4kstep_show:

计算每隔kstep_show步进行一次结果打印5Kstep_save每隔Kstep_save步存储一次计算文件86savefile:

(整数)指定输出的数据文件名0默认情况,输出文件名为:

OCFDxxxxxxx.dat;1输出文件名为:

USRWxxxxxxx.dat2输出文件名为:

USRW;3输出的文件名为:

opencfd.dat其中USRW为用户输入存储文件名前缀。

xxxxxxx7位数字,为计算的步数。

通常情况下设为默认情况即可。

7readfile:

(整数)指定读取的初值文件名:

0使用默认目录和文件名opencfd.dat。

1由用户指定文件名(第19行的第2个变量USRR)191(字符串)用户指定的存储文件名前缀USRW2(字符串)用户指定的初值文件名USRR3(整数)Init_stat指定如何初始化计算。

0默认情况。

读取指定的数据文件。

默认情况下读取默认情况下读取opencfd.dat.如果如果Opencfd.msg文件存在文件存在,则读取读取OCFDxxxxxxx.dat.其中xxxxxxx是7位整数,该数字从从Opencfd.msg文件读取文件读取。

1以均匀来流初始化流场。

(无需读取初值文件)。

211Scheme_x+NLNRI方向无粘项正通量无粘项正通量差分格式的内点格式内点格式(含义见表)I方向正通量的差分方法描述。

详见本章2.3节2NL:

左边界(I-)的边界格式点的数目。

3NR:

右边界(I+)的边界格式点的数目。

其后NL个分别为i=1,2,3NL点采用的差分格式点采用的差分格式(边界点格式)(边界点格式)。

(含义见表)再其后NR个分别为分别为i=Nx,Nx-1Nx-NR+1点采用的差分格式。

点采用的差分格式。

23I方向无粘项负通量无粘项负通量的差分格式描述。

含义同上。

通常无粘项采用迎风差分格式迎风差分格式。

25I方向粘性项粘性项的差分格式描述。

含义同上。

通常粘性项采用中心差分格式中心差分格式。

272931J方向无粘项正、负通量及粘性项的差分格式描述。

含义同上。

333537K方向无粘项正、负通量及粘性项的差分格式描述。

含义同上。

9391Ibc_user:

边界条件类型如果该值为0,则不进行边界条件处理。

如果为1则采用用户自己定义的边界条件。

如果为其他值,则调用已定义的一些边界条件。

详见2.5.1边界条件描述2Nk整型参数的个数(这些参数的含义由边界条件处理程序定义)3Nr实型参数的个数4Nk个整型参数,Nr个实型参数41湍流模型/LES模型描述431N_ana调用后处理模块的数目451K_ana1调用的后处理程序后处理模块2Kstep_ana1多少步调用一次本后处理程序3Nk本后处理程序中需要输入的整型参数的个数4Nr本后处理程序中需要输入的实型参数的个数5Nk个整型参数,Nr个实型参数。

参数的含义由后处理程序解释47后处理模块2,格式同上下面详细介绍一下控制文件opencfd.in的填写。

2.2.1控制方程控制方程opencfd.in第3行描述了控制方程的类型。

这一行须填写3个参数:

FLAG_Equation,IFLAG_G,和IFLAG_Coordinate。

则第一个参数(FLAG_Equation)决定了控制方程为N-S方程还是Euler方程。

如果控制方程为NS方程,须在这个参数的位置填0;如果控制方程为Euler方程,则该参数为1。

第二个参数(IFLAG_G)决定了计算过程是否包含被动标量。

如果IFLAG_G为1,则包含被动标量,为0则不包含被动标量。

第三个参数(IFLAG_Coordinate)决定了控制方程采用的坐标系。

0表示直角坐标系,1为柱坐标系,2为球坐标系,3为曲线坐标系,99为旋转体坐标系。

关于这些坐标系下的控制方程,请参考本手册上篇理论手册。

2.2.2并行分割与消息传递并行分割与消息传递本软件采用MPI-Fortran编制,采用并行计算。

因此要求用户在控制文件opencfd.in中输入与并行计算有关的参数。

第7行的前3个参数(npx0,npy0,npz0)为分别三个方向的并行分割数目,本软件采用计算域三维分割并行计算(参加理论手册)。

计算域总共被分割为npx0*npy0*npz0块,应当提交相应数目的进程。

例如npx0=2,npy0=3,npz0=4说明计算域沿i-方向分割为2块,j-方向分割为3块,k-方向分割为4块。

因此计10算域被分割为2*3*4=24块,应当采用24个进程并行运行。

提交作业的时候应当提交24个进程,否则会出错。

例如在LSSC2上,应采用mpirunn24opencfd.out或mpirunn12np24opencfd.out运行,提交24个进程。

第7行的第4个参数(LAP)为计算域重叠区(overlap)的宽度,为网格基架点的半宽度(见理论手册)。

该值与数值计算采用的计算方法有关,通常为差分格式的网格基的半宽度。

表2.4给出了不同的差分格式要求的LAP值。

如果软件中使用了多种差分格式,则该值应当取最大的LAP值。

例如,对流项用3阶迎风格式,对应的LAP=2,粘性项采用6阶中心格式,对于的LAP=3。

则在该软件中应当选取LAP=3。

如果选取的LAP值小于3,则计算结果有误;如果选取LAP大于3,虽然能保证结果正确,但计算效率会降低。

第9行的第1个参数(N_MSG_SIZE)为消息块的大小。

为了提高效率,本软件把长消息切割成N_MSG_SIZE大小的短消息发送(详见理论手册)。

N_MSG_SIZE为每次发送的数据个数。

例如N_MSG_SIZE512表示每次发送512个数据(通常为双精度数据,消息长度为51284K字节)。

通常每个并行机都有最优化的消息长度,由此可确定本参数的大小,例如某并行机对于8K字节消息性能最优,这时N_MSG_SIZE应设为8K/8=1024。

N_MSG_SIZE=0表示默认信息发送方式。

通常情况下可采用这种方式表示默认信息发送方式。

通常情况下可采用这种方式。

此外N_MSG_SIZE1表示按照1维模式传递消息,通过实际测试发现很多情况下这种传递方式有更高的效率。

如果用户对并行计算不太熟悉,建议将N_MSG_SIZE设为-1。

当N_MSG_SIZE被设为-2时,除了按1维模式通信外,每次通信后都进行同步(MPI_barrier),因此效率较低,但稳定性较好。

第9行的第2,3个参数(BLOCK_COMPACT_Z,BLOCK_COMPACT_Y)决定了分块流水线的粒度。

如果数值计算采用紧致型差分格式,则本软件采用分块流水线的方法进行并行计算,这两个值就是计算被切割成的块数(详见理论手册)。

这两个值的大小会影响到计算的效率,通常用户可以把这个值定在416之间。

该值的选取与计算规模及并行计算机的通讯性能等有关。

如果不采用紧致型差分格式,则这两个参数没有被使用。

2.2.3流动参数流动参数opencfd.in的第15行为流动参数,分别为Reynolds数(Re),Mach数(Ama),比热比(gamma),Prantl数(Pr),和Schmidt数(Sc)。

这些流动参数的含义见理论手册。

如果不包含被动标量的计算(IFLAG_G=0)则Sc不被使用。

第15行的第6个参数Iflag_Amu描述了粘性系数)(T的计算方法。

Iflag_Amu=0采用Satherland公式计算。

Iflag_Amu=1则粘性系数保持常数。

2.2.4差分格式差分格式opencfd.in中21-37行为差分格式描述区。

指定内点及各个边界的采用的差分格式。

差分格式用编码表示,其对于关系如下:

11表2.4差分格式及所须的LAP值格式描述符格式LAP1011阶迎风后差11021阶迎风前差11033阶迎风后差21043阶迎风前差21055阶迎风后差31065阶迎风前差31077阶迎风后差41087阶迎风前差41099阶迎风后差51109阶迎风前差52012阶中心差分12024阶中心差分22036阶中心差分32048阶中心差分420510阶中心差分53015阶WENO后差(Jiang&Shu)33025阶WENO前差(Jiang&Shu)33037阶WENO后差(Jiang&Shu)43047阶WENO前差(Jiang&Shu)43057阶WENO-Z后差()43067阶WENO-Z前差43079阶WENO后差53089阶WENO前差53098阶GVC后差53108阶GVC前差53116阶GVC后差43126阶GVC前差43132阶NND后差23142阶NND前差23197阶WENO-Limit后差43207阶WENO-Limit前差43217阶WENOZ-Limit后差43227阶WENOZ-Limit前差43234阶优化WENO-SYMBO-Limit后差(推荐)43244阶优化WENO-SYMBO-Limit前差(推荐)4400强制差分为0(配合无反射边界条件)14012阶单边后差(边界格式)24022阶单边前差(边界格式)2122.3网格文件网格文件如果整个计算域采用等距网格,则本软件不用读取网格文件,如果某个计算方向采用非等距网格,则需要读取网格文件。

当计算采用直角坐标、柱坐标或球坐标时,读取网格文件的程序如下:

real*8xx(nx),sx(nx),yy(ny),sy(ny),zz(nz),sz(nz)open(66,file=ocfd-grid.dat,form=unformatted)if(Iflag_grid

(1).eq.1)read(66)xx,sxif(Iflag_grid

(2).eq.1)read(66)yy,syif(Iflag_grid(3).eq.1)read(66)zz,szclose(66)其中nx,ny,nz分别为I-,j-,k-三个方向的网格点数。

Iflag_grid(k)(k=1,2,3)反映了网格是否为均匀网格(见2.2.2节)。

从上面程序可以看出,如果某个方向采用非均匀网格,则必须在文件ocfd-grid.dat中包含网格信息。

网格信息包含网格坐标(程序中的xx,yy及zz)及Jacobian变换系数(sx,sy,sz)。

其中xx(k)为I-

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2