哈工大流体力学章十.ppt
流体动力学理论基础,流体流动的数值模拟方法,哈尔滨工业大学航天学院2014年3月,湍流的基本方程,连续性方程的分解,时均运动,脉动运动,时均运动方程,雷诺应力,湍流的基本方程,脉动运动方程,湍流的基本方程,湍流的数值模拟方法,直接数值模拟 DNS,雷诺平均数值模拟 RANS,大涡模拟 LES,Direct Numerical Simulation,Reynolds Averaged Navier Stokes,Large Eddy Simulation,模式理论,零方程模式 一方程模式 二方程模式 多方程模式,雷诺平均数值模拟,零方程模式,Boussinesq涡粘性模型,雷诺平均数值模拟,Prandtl混合长度理论,一方程模式,雷诺平均数值模拟,Prandtl 和 Kolmogorov,湍流脉动能,k 方程,雷诺平均数值模拟,二方程标准 k-模式,雷诺平均数值模拟,湍流耗散率,雷诺平均数值模拟,方程,参考书,Suhas V.Patankar.Numerical Heat Transfer and Fluid Flow,1980,参考书,陶文铨.数值传热学.西安交通大学出版社,1988,陶文铨1939.03 浙江绍兴西安交通大学教授2005年中国科学院院士,主要内容,基本方程组的统一化 离散化方法 数值求解方法 SIMPLE算法 程序编制的基本思路 开源代码的发展,基本方程组的统一化,各个微分方程分别代表一定的守恒原理各个微分方程的因变量通常具有“比”的性质 以单位质量为基础各个微分方程的各项代表着以单位容积为基础的效果若为某个“比”性质,则代表在单位容积内所包含的相应广延性质的大小,基本方程组的统一化,一般形式,基本方程组的统一化,统一化,基本方程组的统一化,连续性方程,基本方程组的统一化,运动方程,基本方程组的统一化,湍流时均运动方程,基本方程组的统一化,k方程,基本方程组的统一化,方程,基本方程组的统一化,含液率方程,离散化方法,数值方法的本质,类似于实验 只能是一些有限数量的数值,离散化方法,数值方法的本质,数值方法的本质就是把计算域内有限数量位置(也叫网格结点)上的因变量值当作基本的未知量来处理,并提供一组关于这些未知值的代数方程并规定求解这些方程的算法。,离散化方法,数值方法的本质,前处理 离散化(网格划分)离散化方程的求解 后处理 结果显示,离散化方法,离散化方法,值的分段分布 网格分布的疏密,离散化方法,离散化方法,有限差分法 Finite Difference Method 有限元法 Finite Element Method 有限体积法 Finite Volume Method,离散化方法,有限差分法,向前差分,离散化方法,有限差分法,向后差分,离散化方法,有限差分法,中心差分,离散化方法,有限元法,变分法 加权余数法 迦辽金法,离散化方法,有限元法,离散化方法,有限体积法,一维稳态导热问题,离散化方法,有限体积法,离散化方法,有限体积法,离散化方法,有限体积法,离散化方法,有限体积法,离散化方法,有限体积法,离散化方法,运动方程,离散化方法,其中,离散化方法,离散化方法,离散化方法,其中,连续性方程,离散化方法,离散化方法,离散化方法,离散化方法,离散化方法,令,离散化方法,数值求解方法,松驰,数值求解方法,松驰,数值求解方法,求解方法:TDMA,数值求解方法,数值求解方法,数值求解方法,数值求解方法,假定,数值求解方法,SIMPLE算法,SIMPLE算法,求解流场的困难,不存在求解压力场的明显方程压力场间接通过连续性方程确定压力场如果正确,通过动量方程求得 的速度场将满足连续性方程,SIMPLE算法,解决的办法,从方程中消去压力 涡量流函数法SIMPLE算法 原始变量法,SIMPLE算法,涡量流函数法,SIMPLE算法,Semi-Implicit Method for Pressure-Linked Equations,1972年由美国明尼苏达大学教授S.V.Patankar 提出,SIMPLE算法,离散化遇到的困难,SIMPLE算法,SIMPLE算法,SIMPLE算法,SIMPLE算法,解决的办法,采用交错网格采用同位网格,但进行一些特殊处理,SIMPLE算法,交错网格,SIMPLE算法,交错网格,速度位于控制面上速度差中采用的是相邻节点的速度相邻主节点的压力差成为速度节点上的速度求解的驱动力,不均匀现象会被及时发现,SIMPLE算法,给定一个初始压力场 p*,求解动量方程可以得一个近似速度场 u*,v*,SIMPLE算法,假定正确的压力场和速度场 p,u,v如下,SIMPLE算法,SIMPLE算法,速度校正方程,SIMPLE算法,SIMPLE算法,将校正后的速度场代入离散的连续性方程,SIMPLE算法,压力校正方程,SIMPLE算法,SIMPLE算法,给定初始压力场 p*求解动量方程得到近似速度场 u*,v*求解压力校正方程得到压力校正值 p 校正压力场 p=p*+p,计算步骤,SIMPLE算法,求解速度校正方程得到速度校正值u,v校正速度场 u=u*+uv=v*+v将校正后的压力场 p 代入继续计算,直至计算收敛为止,程序编制的基本思路,边界及初始条件模块,输入模块,准备模块,求解模块,输出模块,程序编制的基本思路,输入模块,网格信息(包括边界节点信息)时间步长 物性和运动参数 收敛精度,程序编制的基本思路,准备模块,根据动量方程、压力校正方程离散后得到的方程,准备求解所需要的系数矩阵,为求解离散方程做好准备。,程序编制的基本思路,边界条件和初始条件,速度边界条件 压力边界条件 速度初始条件 压力初始条件,程序编制的基本思路,求解模块,给出试探压力场;由N-S方程求出本时间步各个结点的速度;由压力校正方程求出该时间步各个结点的压力校正值;由速度校正方程求出该时间步各个结点的速度校正值;利用求得的校正值计算校正后各个结点的压力和速度;利用以上得到的校正后的速度、压力开始下一时间步的迭代,直到达到一定的收敛准则为止,程序编制的基本思路,输出模块,压力场信息 速度场信息 其他相关信息,开源代码的发展,开源代码,基于C+语言编制 Linux系统下编译 编写方法简单,开源代码的发展,OpenFOAM,FOAM:Field Operation and Manipulation 伦敦大学帝国理工学院Hrvjoe Jasak 2004年发布,开源代码的发展,OpenFOAM,solve(fvm:ddt(rho,)+fvm:div(phi,)-fvm:laplacian(,)=S),