深入解析OpenFOAM离散格式参数字典文件fvSchemes

openfoam中fvSchemde中的参数字典进行详细探讨,在该字典文件中可能出现的关键字有:

参数 物理意义
interpolationSchemes 点对点插值格式 (体心值插值到面心)
snGradSchemes 面梯度法方向分量
gradSchemes 梯度格式 ∇ \nabla
divSchemes 散度格式 ∇ . \nabla {.} .
laplacianSchemes 拉普拉斯项格式 ∇ 2 \nabla^2 2
timeScheme 时间的一阶二阶微分格式 ∂ ∂ x \frac{\partial } {\partial x} x, ∂ 2 ∂ t 2 \frac{\partial ^{2}}{\partial t^{2}} t22
fluxRequired 需要计算流率的场

由于该部分内容较多,本文只对前3中格式进行探讨,后面几种格式在后续文章中说明。

1、interpolationSchemes 插值格式。

OpenFoam中所有的插值格式有:

中心格式

linear 线性插值(中心差分)
cubicCorrection 三次格式
midPoint 线性插值,带有对称加权

迎风差分

upwind 迎风差分
linearUpwind 线性迎风差分
skewLinear 带有偏度修正的线性格式
QUICK Quick格式

TVD格式

limitedLinear 限制型线性差分
vanLeer van Leer格式
MUSCL MUSCL 格式
limitedCubic 三次限制性格式

NVD格式

SFCD Self-filtered中心差分
Gamma ψ Gamma差分(Jasak提出的一种格式)
上面的插值格式可分为两类:(1)普通差分格式(中心格式),(2)带有对流项的差分格式(后三种)。这两种插值格式用法也不一样。

普通差分格式: 关键字 + 差分格式
如: default linear; //默认插值格式为中心差分

带有对流项的差分格式:关键字+差分格式+表面流率场(速度场的表面插值场)。
如:default QUICK phi; //默认格式为基于表面流率场phi的QUICK格式

有一些TVD/NVD格式需要一个系数ψ, 0 ≤ ψ ≤ 1,ψ=0对应于该格式的最好精度,ψ=1对应于该格式的最好稳定性,这种插值格式采用如下方式指定:关键字+差分格式+ψ+phi
如:default limitedLinear 1.0 phi;

对于一些标量场的插值,有时会需要对该标量场进行限制(比如,插值结果需要在[-2,3]之间),这时候在指定插值格式的时候,需要在格式关键字前面加上limited 如
default limitedVanLeer -2.0 3.0 ;
当限制值在[0,1]内的时候,可采用他的一个特殊版本
default vanLeer01;
适合这种情况的有 limitedLinear 格式, vanLeer, Gamma, LimitedCubic, MUSCL和SuperBee
对于向量场的插值在limited时候,采用一般名字加上V,加V之后的版本为气修正版本。如limitedLinearV,vanLeerV, GammaV, limitedCubicV,SFCDV;

(2)snGradSchemes面梯度发方向分量

支持的表面梯度向量面发方向分量的格式有
corrected 显式的带有非正交修正
uncorrected 不带有非正交修正
limited ψ 限制性非正交修正
bounded 对正标量有阶修正
fourth 四阶格式
一般的用法为 关键字+上面的值,
如:snGrad§ corrected ;
当用limited这种格式时候需要加上关键字ψ,即
snGrad(p) limited ψ;
其中ψ的取值为
0 对应于上面的 uncorrected
0.333 非正交修正 ≤ 0.5 × 正交的部分,
ψ=0.5 非正交修正≤ 正交修正部分
1 对应于上面的 corrected.
关于非正交修正的相关理论,请参看jasak的博士论文 Error analysis and estimation for the finite volume method with applications to fluid flow;

(3) 梯度格式gradSchemes

OpenFOAM中的所有梯度格式有
Gauss 二阶,高斯积分
leastSquares 二阶,最小二乘
fourth 四届,最小二乘
limited 以上种格式的limited版本
对于采用第2,3种的梯度格式. 直接使用即可。
grad§ fourth;
对于第1种梯度格式,需要加上gauss和插值格式(因为运用高斯理论,需要利用中心点到面的插值)
grad§ Gauss linear ;
对于第四种梯度格式,
grad§ limited +前三种任意格式。
如: grad§ limited Gauss linear ;

(4)拉普拉斯(laplacianSchemes)∇• (ν∇U)

通常采用的形式为 Gauss
如:laplacian(nu,U) Guss linear corrected ;
通常, 为linear.
不同的,laplacianSchemes的行为不同,如下表所示
corrected 无界,二阶,守恒格式
uncorrected 有界,一阶,不守恒格式
limited ψ 一种correct和uncorrected混合格式
bounded 一阶有阶格式
fourth 无界,四阶,守恒格式

(5)散度格式divSchemes

通常采用的形式为Gauss , 应当注意,对于对流相关的插值格式在divSchemes后面的插值格式没有必要指定表面流率,因为表面流率在divSchemes格式内部已经指定了。
如 div(phi,U) Gauss upwind;
下面为不同的插值格式,divSchemes 表现出来的行为。
linear 二阶,无界
skewLinear 二阶,更加无界,带有偏斜度修正
cubicCorrected 四阶,无界)
upwind 一阶,有界
linearUpwind 一阶或二阶 有界
QUICK 一阶/二阶,有界
TVD schemes 一阶/二阶,有界
SFCD 二阶格式,有界
NVD schemes 一阶/二阶,有界

(6)时间格式 ddtSchemes和d2dt2Shemes

有效的时间离散格式为
Euler 一阶隐式,有界格式
CrankNicholson ψ 二阶有界隐式格式
backward 二阶隐式
steadyState 不求解时间离散项
通常采用格式 非稳态项 + 离散格式
如 ddt(U) Euler.
对于CrankNicholson 中ψ=0时,为Euler格式, ψ=1 为 CrankNicholson 格式。
有效的d2dt2Shemes格式只有Euler格式。

(7)fluxRequired那些场需要计算流率。

比如
fluxRequired
{
p;
}

你可能感兴趣的:(openfoam学习)