pimple算法的个人理解,其思想与使用时参数设置问题
-
看了Tobi写的pimple使用时的参数设置对比,还有些疑问想提出来跟大家讨论,我就想到什么就写什么啦,先说以下这几个关键字吧~
nOuterCorrctors (50)
nCorrectors (2)
nNonOrthogonalCorrectors (0)
turbOnFinalIterOnly (ture)1.在controlDict设置了基于Co数自动调节时间步长后,一般来说,调解后的时间步进的长度delta_t都要小于设置的delta_T,这时候是在每个delta_t中都要跑一遍nOuterCorrectors(50)和nCorrectors (2)对不?
如果是,我在用DES模型算case,发现自动调节的时间步长非常小,既然如此,我干吗不用piso算法自己手动调节时间步长呢?2.一般而言,如何给定nOuterCorrctors 的值呢?Tobi给出了几个例子的对比,表示最后出现了非定常残差收敛曲线的样子,就认定给的值可以了么?我不知道大家是怎么给的,如何给定值并判断在每个时间步delta_t中定常收敛呢?
3.turbOnFinalIterOnly默认为true,意义是在最后一次进行湍流修正,Tobi的解释是:
For high turbulent flow you should add turbOnFinalIterOnly = false to your PIMPLE control
这句话怎么理解?什么叫high turbulent flow??4.理论上说,RANS模型只能用在simpleFoam中才对,所以双时间步对使用URANS模型的意义非同一般,pimple的思想就是想搞一个定常的小时间步继而使用RANS模型;这让我想到热力学中平衡态的定义,在无限小的时间尺度下,系统内外势差很小,此时可以测得我想要的比如温度之类的量了。那么好,这又与第一条结论相同,我干吗不自己搞一个时间步很小的piso来算呢?
理解可能有偏差,目前就想到这些,还请大家指教~
-
一般而言,如何给定
nOuterCorrctors
的值呢?Tobi给出了几个例子的对比,表示最后出现了非定常残差收敛曲线的样子,就认定给的值可以了么?我不知道大家是怎么给的,如何给定值并判断在每个时间步delta_t中定常收敛呢?nOuterCorrctors
无所谓,如果你已经控制好pimple
的残差,他会知道收敛为止。比如你设定200,可能35就收敛了。turbOnFinalIterOnly
这句话怎么理解?什么叫high turbulent flow??湍流变量方程不属于压力速度耦合方程之内,因此可以在速度压力求解之后求解一边湍流方程就可以。
我干吗不自己搞一个时间步很小的piso来算呢?
pimple
和piso
个人认为是个帮派,不同应用倾向于不同的算法,我做多相流不是pimple
的粉丝,有些传热的人比较喜欢pimple
,所以我只用piso
,为了更好地保证相方程的传输。你那个残差图坐标做好调节成log..
-
调解后的时间步进的长度delta_t都要小于设置的delta_T
调节后的时间步大小取决于
controlDict
中的maxCo
值,maxCo
的默认值为1。代码见src/finiteVolume/cfdTools/general/include/createTimeControls.H
以及
src/finiteVolume/cfdTools/general/include/readTimeControls.H
。在每个delta_t中都要跑一遍nOuterCorrectors(50)和nCorrectors (2)对不?
没错。
干吗不用piso算法自己手动调节时间步长
可以通过增大
maxCo
来增大自动调节的时间步长,据说PIMPLE算法的Co数可以达到10以上,不过对于用DES或LES计算的湍流问题另当别论。如何给定nOuterCorrctors 的值呢?
这个只能靠经验了,不过一般肯定用不着50。
这句话怎么理解?什么叫high turbulent flow??
当
simulationType
设置为RAS或LES时,求解的是考虑湍流粘度($\nu_t$)影响的RANS/LES方程,而湍流粘度取决于求解湍流输运方程后得到的各湍流系数。turbOnFinalIterOnly
为false代表每个PIMPLE循环内求解多次湍流输运方程,每次PIMPLE循环求解RANS/LES方程时的湍流系数都用的是上个PIMPLE循环内得到的湍流系数。turbOnFinalIterOnly
为true则代表每个PIMPLE循环内只求解一次湍流输运方程,每次PIMPLE循环求解RANS/LES方程时的湍流系数都用的是上个时间步得到的湍流系数。高雷诺数流动为了精确得到速度压力场,需要每个PIMPLE循环内都求解多次湍流输运方程。