icoFoam的一些细节问题
-
参考choi的论文,其引用Majumdar的文章表明"the resulting converged solution is relaxation factor dependent". 具体原理,还需研究。
我刚看了Yu bo的Discussion on momentum interpolation method for collocated grids of incompressible flow. Numerical Heat Transfer: Part B: Fundamentals,他也是说相关的。他们引用的Majumdar和Miller的文章。确认下?
Anyway,多研究研究,看看choi原理是怎么实现的。Choi那个论文很短。Yo bo师从陶院士?不一般啊。
-
@李东岳
我觉得关键点在于进行当前时间步Rhie-chow动量插值时上一时间步界面速度$\mathbf{U}_{f}^{n}$的计算,如果没有ddtcorr()
,$\mathbf{U}_{f}^{n}$只是简单通过相邻单元基于动量方程系数矩阵主对角元素加权平均得到,如果加了修正项,那么$\mathbf{U}_{f}^{n}$使用的就是上一时间步里基于动量插值得到的结果,所以在phiHbyA
的计算里需要修正界面的体积通量,下面的代码是EulerDdtScheme.C
527~545行(OpenFOAM 2.4.0)中的一部分fluxFieldType phiCorr ( phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) );
- (mesh().Sf() & fvc::interpolate(U.oldTime()))
用于消去计算HbyA
时加上的体中心处的旧值。修正的原因是即便体中心处的速度场满足连续方程,基于动量方程系数矩阵主对角元素加权平均往面中心插值,时间步长越小,越倾向于简单算术平均,再加上非结构不规则网格等因素,很难再保证插值后的面速度场仍然保持0散度条件。
个人浅见,欢迎批评指正。 -