关于buoyantPimpleFoam的几个问题
-
看了东岳老师的buoyantPimpleFoam解析,有几个问题和疑惑提出来和大家探讨。
1、buoyantPimpleFoam采用了
rhoThermo
。rhoThermo
里的密度FOAM里面叫thermo::rho
,而求解器的密度叫做rho
。很好奇这样做的原因是什么,在压力方程的开头会有一个赋值的操作,即rho = thermo.rho()
,在每个时间步的末尾也会有一样的赋值操作。那rho
和thermo.rho()
的区别是什么?解析里提到buoyantPimpleFoam的求解变量增加了能量和密度。我觉得这里可能会引起一些概念上的问题。虽然求解器求解了密度(
#include "rhoEqn.H"
),但密度最后还是被赋值了thermo.rho()
。密度还是通过状态方程得到的,而状态方程里面的压力才是通过计算得出,也就是说buoyantPimpleFoam是一个基于压力的求解器,而不是基于密度的求解器。(我理解的基于密度的求解器是求解密度,然后通过状态方程得到压力;基于压力的求解器则是求解压力,然后通过状态方程得到密度)解析末尾提到更新压力之后再次进去密度方程,但我认为这一步是为了后面的计算连续性误差(
#include "compressibleContinuityErrs.H"
),而不是为了求解密度。2、和第一个问题有关,buoyantPimpleFoam是不是一定要采用
rhoThermo
,如果采用psiThermo
会有什么问题?有人试过类似的算例么3、解析里面对
psi*correction(fvm::ddt(p_rgh))
这一项的讲解很到位,不过这一项的来源是什么?在psiThermo
里面我们知道FOAM是假设了rho = psi * p
,那么rhoThermo
里面这个假设还成立么?4、我看到有人做过将buoyantPimpleFoam修改为一个低马赫数求解器(变密度求解器,但密度不随压力变化)的工作,为什么buoyantPimpleFoam本身不是一个低马赫数求解器?或者说buoyantPimpleFoam里哪里体现出了“密度随压力变化”这一点?
感觉成了十万个为什么
-
http://dyfluid.com/rhoSimpleFoam.html http://dyfluid.com/simplefoam.html
我重写了,尤其是rhoSimpleFoam解析,尤其是说明了rho=thermo.rho(),写的比较仓促,你先对一下看看能不能自我回答你的问题,我要出去一趟,过几天把瞬态的更新下,同时更新下thermo,.psi之类,需要很多工作 -
@东岳 我回来了!不好意思隔了快一周了。看了rhoSimpleFoam和rhoPimpleFoam,目前还有以下几个问题希望和大家一起探讨。
-
高版本的rhoPimpleFoam既可以调用psiThermo也可以调用rhoThermo,而低版本调用的是psiThermo。给人的感觉有点混乱,这两个热物性的区别到底是什么。换句话说,psiThermo和rhoThermo是否可以随意使用,还是某些求解器只适合调用某一种。如果我想自己组装一个新的求解器怎么判断选择psiThermo还是rhoThermo呢?
-
还是关于密度方程的("rhoEqn.H")。我的理解是求解密度方程的原因是为了获得连续性误差(pEqn.H的末尾#include "rhoEqn.H"和#include "compressibleContinuityErrs.H")。如果仅仅是这个原因,为什么每一个时间步的开头要求解密度呢。(对于rhoPimpleFoam,如果PISO修正步数小于等于1则调用"rhoEqn.H";对于buoyantPimpleFoam则没有判定,一定要调用。)这一点其实还好,因为如果每一个时间步严格收敛了,那密度也不会再变化了,求解器密度和热物性密度应当完全一样。
-
综合我看到的关于buoyantPimpleFoam的解析,它适用于求解浮升力引起的温度变化而导致的密度变化。这个是不是类似于所谓的低马赫数假设(密度不随压力变化,而随温度、组分等变化)?如果是(或者不是),原因是什么?
-
-
@东岳 有点理解了!buoyantPimpleFoam和rhoPimpleFoam确实差不多,我这几天想着拿一个小算例用这两个求解器试一下,感觉很有可能会解出来不一样的结果。目前我的猜测是buoyantPimpleFoam用了rhoThermo,而rhoPimpleFoam(低版本)用了psiThermo,用rhoThermo的话求解压力方程的时候密度是已知的,而用psiThermo的话求解压力方程的时候密度是未知的(或者说 psi*p 这一项 p是未知的),但不知道这样会对求解造成什么影响。
东岳老师太辛苦了,是我辈楷模!
-
@cccrrryyy 在 关于buoyantPimpleFoam的几个问题 中说:
做过将buoyantPimpleFoam修改为一个低马赫数求解器(变密度求解器
前辈您好,请问一下您说的将buoyantPimpleFoam写改为低马赫求解器的工作在哪里可以看到?谢谢