icoFoam中压力泊松方程的求解
-
压力泊松方程的离散问题
of中构建的压力泊松方程似乎是这样的形式:
$\nabla\cdot(\frac{1}{a_P}\nabla p)=\nabla\cdot(HbyA)$
(icoFoam解析中的式27、33)按我的理解,对上面的方程似乎应该写成下面这种离散形式?
fvm::laplacian(rAU, p) == fvc::div(HbyA)
为什么实际上icoFoam使用了phiHbyA作为中间变量呢?
phiHybA的问题:
phiHybA是一个surfaceScalarField 对象,即面上标量场;随后求解器执行了对这个面上标量的散度:
fvc::div(phiHbyA)
为什么可以对一个面上标量计算散度呢?是否div函数在对surfaceScalarField作用的时候采用了不同的方式?我查了div的代码,确实看到div对surfaceScalarField似乎有不同的处理,但是我没看懂。请问这是否有关系呢?
期待各位大佬指点
-
@AppleKiller 我更新后告诉你
-
@李东岳 在 icoFoam中压力泊松方程的求解 中说:
@AppleKiller 我更新后告诉你
好的,老师,我看了看源代码,感觉
fvc::div(phiHbyA)
和fvc::div(HbyA)
没什么区别(可能我理解不深,没找到其他的区别),phiHbyA就是$HbyA_f\cdot\pmb{S}_f$,如果说为什么OpenFOAM使用fvc::div(phiHbyA),我觉得使用这个省掉了一些计算(HbyA插值到面 + 和$\pmb{S}_f$做点积的计算) -
@李东岳 在 icoFoam中压力泊松方程的求解 中说:
更新到了5.9.1节
李老师,您写的关于icoFoam的解析 http://dyfluid.com/icoFoam.html 不见了,我想学习下您关于icoFoam的解析,请问在哪可以看呢?
-
-