fvVectorMatrix UEqn(fvm::ddt(U) + fvm::div(phi, U)+ MRF.DDt(U)+ turbulence->divDevReff(U)==fvOptions(U));
上述代码为求解速度方程的一般形式,之前,分析了turbulence->divDevReff(U)
,接下来,就MRF模型进行分析探讨。
文章目录
1.MRF简介2.MRF的特点3.旋转坐标系下的方程解析1.MRF简介
有时,我们需要进行整个计算区域或者部分区域存在移动的流动模拟,包括旋转坐标系(单旋转坐标系和多旋转坐标系)、平移坐标系的计算。
MRF,多重参考系模型, 主要用于解决旋转坐标系问题,如:旋转机械,搅拌器、风机等;MRF模型适用于定常流动(稳态),当转子与定子相互影响较弱时,计算结果相对准确;在非定常流动中,当转子与定子之间相互作用很强烈,只能使用滑移网格模型(这种方法计算量大,耗费计算机资源)。
2.MRF的特点
MRF方法不会使相邻的两个运动区域间产生相对运动,用于计算的网格依然是固定的。MRF
不仅需要在移动区区域中增加科里奥利力Coriolis forces
,同时还必须调整转子的边界条件。这是因为当转子移动时,转子壁上的流体速度不为零。壁面上的速度必须等于转子的实体旋转速度(no slip
更改为solid body velocity
)。为了使用MRF方法,必须将网格划分为不同的区域。由于OpenFOAM中的MRF方法仅涵盖旋转参考系,只能对区域施加旋转。指定非零旋转的区域必须与旋转轴轴对称。3.旋转坐标系下的方程解析
这里,采用在相对参考系中求解绝对速度(方程推导见MRF的发展),其方程如下:
{ ∂ u ⃗ R ∂ t + d Ω ⃗ d t × r ⃗ + ∇ ⋅ ( u ⃗ R ⊗ u ⃗ I ) + Ω ⃗ × u ⃗ I = − ∇ ( p / ρ ) + ν ∇ ⋅ ∇ ( u ⃗ I ) ∇ ⋅ u ⃗ I = 0 \begin{cases} \frac {\partial \vec u_R}{\partial t} + \frac{d \vec \Omega}{dt} \times \vec r + \nabla \cdot (\vec u_R \otimes \vec u_I) + \vec \Omega \times \vec u_I = - \nabla (p/\rho) + \nu \nabla \cdot \nabla (\vec u_I) \\ \nabla \cdot \vec u_I = 0 \end{cases} {∂t∂u R+dtdΩ ×r +∇⋅(u R⊗u I)+Ω ×u I=−∇(p/ρ)+ν∇⋅∇(u I)∇⋅u I=0
其中,MRF.DDt(U)
代表了 Ω ⃗ × u ⃗ I \vec \Omega \times \vec u_I Ω ×u I。若我们只考虑稳定旋转,自旋的时间导数消失, d Ω ⃗ d t × r ⃗ \frac{d \vec \Omega}{dt} \times \vec r dtdΩ ×r 项为零。同时,
u ⃗ R = u ⃗ I − Ω ⃗ × r ⃗ \vec u_R = \vec u_I- \vec \Omega \times \vec r u R=u I−Ω ×r
∂ u ⃗ R ∂ t = ∂ ( u ⃗ I − Ω ⃗ × r ⃗ ) ∂ t = ∂ u I ∂ t − ∂ ( Ω ⃗ × r ⃗ ) ∂ t \frac {\partial \vec u_R}{\partial t}=\frac {\partial( \vec u_I- \vec \Omega \times \vec r)}{\partial t}=\frac{\partial u_I}{\partial t}-\frac {\partial(\vec \Omega \times \vec r)}{\partial t} ∂t∂u R=∂t∂(u I−Ω ×r )=∂t∂uI−∂t∂(Ω ×r )
由于参考系的稳定旋转所产生的速度分量是恒定的,所以 ∂ ( Ω ⃗ × r ⃗ ) ∂ t \frac {\partial(\vec \Omega \times \vec r)}{\partial t} ∂t∂(Ω ×r )将消失。
参考:
See the MRF developmentMRF的发展FLUENT中MRF模型简介及应用实例OpenFOAM中MRF的代码
如果觉得《MRF.DDt(U)---MRF模型简介》对你有帮助,请点赞、收藏,并留下你的观点哦!