buoyantPimpleFoam相关问题
-
@李东岳 老师,算法文字部分我看懂了,然后我去看源代码,icoFoam文件夹下面主要有icoFoam.C和creatFields.H俩文件,我只看了icoFoam.C文件,有几个疑问,都在PISO循环部分。
红框①
您展示的关键代码没有这行代码,感觉像是定义HbyA,constrain啥意思呀?括号里U,P有啥作用?
红框②
我看您在无痛N-S方程里面提到过phiHbyA=
,明显phiHbyA不等于HbyA,但您在笔记中又提到了“同时需要注意,在组建phiHbyA的时候,可以通过fvc::flux(HbyA)函数调用不同的离散格式”,意思是fvc::div(phiHbyA)= 了?因为您又提到了“可以把HbyA理解为速度中间量”,不然图片中间while语句部分的fvc::div(phiHbyA)和您文章中的方程(26)就对不上了。如果真是这样的话,红框②中fvc::flux(HbyA)代表啥呀?fvc::interpolate(rAU)是插值到面上对吗? fvc::ddtCorr(U, phi)在笔记中没有搜到。红框③和④
这俩语句作用是啥?
红框⑤
我感觉这两行代码是在PISO循环到最后一步时,计算通量的嘛?
红框⑥
我感觉是在计算速度?
红框⑦
我感觉是在更新速度?
-
@李东岳 老师,我看完icoFoam之后,花了一个周末又重新研究了下buoyantPimpleFoam,又有一些新的疑问。
问题1
方程(20)、(24)、(26)中
前面的系数应该是 吧?问题2
问题3
前文未出现
和 ,我觉得应该改成 和 比较好理解吧?问题4
问题5
问题6
问题7
2->3->4->5->6->7->2应该就是一个时间步内的PISO循环吧?
问题8
步骤5中,方程(10)中只更新
为 ,不更新 为 吗?问题9
您在笔记中提到的phiHbyA=
,我总觉得这里不对,我觉得应该是phiHbyA= 。因为在不可压+瞬态这篇算法里面,您说fvc::div(phiHbyA)表示的是 ,不然就感觉对不上了。问题10
pEqn.H文件中
const volScalarField psip0(psi*p)
,这句代码里面的psip0
和psi
啥意思呀?p
我知道是压力。因为后面出现了很多语句都有psi
,不知道的话影响读代码了。问题11
-
@李东岳 东子老师,下面这两张截图是来自可压+瞬态算法,其中:
psi*correction(fvm::ddt(p_rgh))
对应红框1fvc::ddt(rho)
对应红框2那么
fvc::div(phi)
对应方程(39)哪一项呢?您在可压+稳态算法中提到,可压求解器中通量phi定义为 ,那代入fvc::div(phi)
这句代码中,不应该就是 吗?但方程(39)中跟它很像的只有红框3,只是把 替换成了 ?这样替换的原因是啥呀?fvm::laplacian(rhorAUf, p_rgh)
我猜是对应红框4,那红框5是被省略了还是合并了?
48/91