buoyantPimpleFoam相关问题
-
@李东岳 我按步骤顺序来说我看到的有啥不一样哈,为了方便比较,我就用截图的方式了。
步骤1
#include "rhoEqn.H"来求解
of8中buoyantPimpleFoam.C头文件并没有和它类似的
步骤2
组建速度方程在buoyantPimpleFoam.C文件中也没有找到,反而是在该文件夹下的UEqn.H文件里面找打了
步骤3
用thermo.correct()更新
,用rho = thermo.rho()更新
前者我是在EEqn.H中找到的,这是个啥文件呀?后者我是在pEqn.H里面找到的。
步骤4
用
fvScalarMatrix p_rghDDtEqn ( psi*correction(fvm::ddt(p_rgh)) + fvc::ddt(rho) + fvc::div(phi) - fvm::laplacian(rhorAUf, p_rgh) );
组建压力柏松方程,我在pEqn.H文件中找到了一个类似的,但长得不一样
步骤5
用
phi += p_rghEqn.flux()
来更新速度,我在pEqn.H文件中找到了一个类似的,但长得不一样
步骤6
我在pEqn.H文件中找到了密度更新
步骤7
我在pEqn.H文件中找到了判断连续性误差
为啥会分散到这么多文件中呀?除了您展示的关键代码,其他部分例如
if (correctPhi) { divrhoU = new volScalarField ( "divrhoU", fvc::div(fvc::absolute(phi, rho, U)) ); } if (LTS) { #include "setRDeltaT.H" } else { #include "compressibleCourantNo.H" #include "setDeltaT.H" } 确实看的一脸懵圈,心态处于将崩不崩的边缘
-
@李东岳 东子老师,我今天花了一整天的时间仔仔细细的看完了icoFoam(CFD: 不可压 + 瞬态)的算法,在看源代码之前有几个疑问。
问题1
问题2
无痛苦N-S笔记方程(5.138)我有点疑问,从红框部分接着计算,
分子部分
所以最后的结果应该为
所以分母系数应该是2吧?问题3
问题4
问题5
问题6
方程(22)中,
,
方程(29)处
,您是想表达迭代两步之后就收敛了,所以 ?问题7
问题8
-
@李东岳 老师,算法文字部分我看懂了,然后我去看源代码,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循环到最后一步时,计算通量的嘛?
红框⑥
我感觉是在计算速度?
红框⑦
我感觉是在更新速度?
-
从微信推送过来看的哈哈哈,东岳老师真的很耐心,楼主也非常细致! 超级棒
38/82