找回密码
 注册
查看: 3812|回复: 0

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

[复制链接]
发表于 2009-5-9 01:22:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在本站博文“使用OpenFOAM的基本流程”已经对fvSchemde中的一些基本参数字典关键字进行了简单的谈论,本文对该参数字典进行详细探讨。
   在该字典文件中可能出现的关键字有
interpolationSchemes 点对点插值格式
snGradSchemes       面梯度发方向分量
gradSchemes         梯度格式 ∇
divSchemes          散度格式 ∇ •
laplacianSchemes    拉普拉斯项格式 ∇2
timeScheme          时间的一届二届微分格式 ∂/∂t, ∂ 2 /∂ 2 t
fluxRequired        需要计算流率的场
由于该部分内容较多,本文只对前3中格式进行探讨,后面几种格式在后续文章中说明。
(1)interpolationSchemes 插值格式。
OpenFoam中所有的插值格式有

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

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

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

4.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(p)   corrected ;
当用limited这种格式时候需要加上关键字ψ,即
snGrad(p) limited  ψ;
其中ψ的取值为
   
  0     对应于上面的 uncorrected
       
   
   0.333  非正交修正≤ 0.5 × 正交的部分,
ψ=
  0.5    非正交修正≤正交修正部分
       
   
  1    对应于上面的 corrected.
关于非正交修正的相关理论,请参看jasak的博士论文 Error analysis and estimation for the finite volumemethod with applications to fluid flow;

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

(4)拉普拉斯(laplacianSchemes)&#8711;&#8226; (ν&#8711;U)
通常采用的形式为  Gauss <interpolationScheme> <snGradScheme>
如:laplacian(nu,U) Guss linear corrected ;
通常,<interpolationScheme> 为linear.
不同的<snGradScheme>,laplacianSchemes的行为不同,如下表所示
corrected            无界,二阶,守恒格式
uncorrected        有界,一阶,不守恒格式
limited ψ              一种correct和uncorrected混合格式
bounded              一阶有阶格式
fourth                 无界,四阶,守恒格式

(5)散度格式divSchemes
通常采用的形式为Gauss <interpolationScheme>,  应当注意,对于对流相关的插值格式在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研究:http://blog.sina.com.cn/openfoamresearch

[ 本帖最后由 su_junwei 于 2009-5-10 07:45 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表