首页 理论教育OpenFOAM中的PDE求解体系详解

OpenFOAM中的PDE求解体系详解

【摘要】:图1Open FOAM非结构网格示意图[3]式即为Open FOAM中所处理的PDE的通用形式,包括时间导数项(ρQ)/t、对流项▽·(ρUQ)、扩散项▽·、源项S pQ和S q。任何形如式的PDE都可以在Open FOAM中采用有限体积法进行求解。

流体力学问题可以用偏微分方程(PDE)来描述,通常具有下面的形式:

式中:U为流速;ρ为密度;Q为流体的某种属性,可以是标量(如浓度C)也可以是向量(如流速U)。

图1 Open FOAM非结构网格示意图[3]

式(1)即为Open FOAM中所处理的PDE的通用形式,包括时间导数项∂(ρQ)/∂t、对流项▽·(ρUQ)、扩散项▽·(ρГ▽Q)、源项S pQ和S q。任何形如式(1)的PDE都可以在Open FOAM中采用有限体积法进行求解。其基本思路是:①利用有限体积离散,计算域被划分为互不重叠但充满整个计算域Ω的离散单元V i,如图1所示;②在每个单元中对控制方程进行积分,并利用高斯定理将散度项转化为单元界面上的通量积分,则问题最终转化为如何利用网格中心点的变量插值求得界面上的通量;③对瞬时流动,以上转换过程将式(1)离散为关于时间t的常微分方程,需要再利用有限差分方法进行时间离散;④将对流项等非线性项做线性化处理,即可得到形如Ax=b的代数方程,其中x即为待求的未知场量,A为稀疏矩阵,b中则包含了所有显式离散项和已知时刻的变量值。

在Open FOAM中,模型中的变量都被视作0~2阶的张量,因而可以将CFD求解过程看作是从一个张量场到另一个张量场的映射过程,只不过这种映射有的可以显示得到(例如求一个速度场的旋度▽×U),有的则需要求解PDE[1]。Open FOAM建立了能够描述任意形状三维非结构化网格信息的“网格类”,在其基础上建立起能够描述空间场信息的“场类”、定义各种“场操作”,并且定义了能够进行矩阵装配和求解的“方程类”,从而使得一些复杂的数学物理模型可以通过很直观的顶层代码表示出来,实现用接近数学的语言对偏微分方程进行求解。