buoyantPimpleFoam相关问题
-
@李东岳 老师,我看完icoFoam之后,花了一个周末又重新研究了下buoyantPimpleFoam,又有一些新的疑问。
问题1
方程(20)、(24)、(26)中$U_{p}^{t}$前面的系数应该是$\rho_{p}^{\ast}/\Delta t$吧?
问题2
这一部分应该是速度方程吧?
问题3
前文未出现$U_{f}^{\ast \ast}$和$p^{\ast}$,我觉得应该改成$U_{p}^{'}$和$p_{rgh,f}^{'}$比较好理解吧?
问题4
这里应该是(37)吧?
问题5
红框这俩符号应该是一个物理量吧?
问题6
红框部分应该是$p_{rgh}^{\ast}$吧?
问题7
2->3->4->5->6->7->2应该就是一个时间步内的PISO循环吧?
问题8
步骤5中,方程(10)中只更新$U_{f}^{t}$为$U_{f}^{\ast \ast}$,不更新$\rho_{f}^{t}$为$\rho_{f}^{\ast \ast}$吗?
问题9
您在笔记中提到的phiHbyA=$ \sum U_{f} \cdot S_{f}$,我总觉得这里不对,我觉得应该是phiHbyA=$\sum HbyA_{f} \cdot S_{f}$。因为在不可压+瞬态这篇算法里面,您说fvc::div(phiHbyA)表示的是$\bigtriangledown \cdot HbyA^{t+\Delta t}$,不然就感觉对不上了。
问题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定义为$\rho U \cdot S_{f}$,那代入fvc::div(phi)
这句代码中,不应该就是$\rho U \cdot S_{f}$吗?但方程(39)中跟它很像的只有红框3,只是把$U$替换成了$HbyA$?这样替换的原因是啥呀?fvm::laplacian(rhorAUf, p_rgh)
我猜是对应红框4,那红框5是被省略了还是合并了?我发现,我用of8版本,压力泊松方程和您给的不一样,出现了phiHbyA,这也是我在上一个问题问您的。
-
@李东岳 东子老师,我把可压+瞬态算法全部看完了,代码也看完了,打算用它来模拟储热过程。我在of8里面找到了buoyantPimpleFoa下面的hotRoom案例,感觉和我想要的储热过程很相似,所以我就把floor设置成了低温水入口,ceiling设置成了高温水出口,具体的设置参数是这样的:
0文件夹下有5个文件,其中:
nutdimensions [0 2 -1 0 0 0 0]; internalField uniform 1e-6; boundaryField { floor { type nutkWallFunction; value uniform 0; } ceiling { type nutkWallFunction; value uniform 0; } fixedWalls { type nutkWallFunction; value uniform 0; } }
p
dimensions [1 -1 -2 0 0 0 0]; internalField uniform 1e5; boundaryField { floor { type zeroGradient; } ceiling { type fixedValue; value uniform 0; } fixedWalls { type zeroGradient; } }
p_rgh
dimensions [1 -1 -2 0 0 0 0]; internalField uniform 0; boundaryField { floor { type zeroGradient; } ceiling { type zeroGradient; } fixedWalls { type zeroGradient; } }
T
dimensions [0 0 0 1 0 0 0]; internalField uniform 363; boundaryField { floor { type fixedValue; value nonuniform 283; } ceiling { type zeroGradient; } fixedWalls { type zeroGradient; } }
U
dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { floor { type fixedValue; value uniform(0 0.1 0); } ceiling { type zeroGradient; } fixedWalls { type noSlip; } }
constant文件夹下面修改了momentum Transport,pRef和thermophysicalProperties:
momentum TransportsimulationType laminar;
pRef
dimensions [1 -1 -2 0 0 0 0]; value 1e5;
thermophysicalProperties
thermoType { type heRhoThermo; mixture pureMixture; transport const; thermo hConst; equationOfState Boussinesq; specie specie; energy sensibleEnthalpy; } pRef 100000; mixture { specie { molWeight 18; } equationOfState { rho0 1000; T0 273; beta 3e-05; } thermodynamics { Cp 4182; Hf 0; } transport { mu 1e-03; Pr 7; } }
system文件夹下就修改了fvSolution文件,增加了pRefCell,pRefPoint,pRefValue:
PIMPLE { momentumPredictor yes; nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefPoint 0; pRefValue 0; }
做完上述修改之后,输入buoyantPimpleFoa,报错了:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 --> FOAM FATAL IO ERROR: keyword version is undefined in dictionary "/home/dyfluid/OpenFOAM/dyfluid-11/run/hotRoom/constant/polyMesh/points" file: /home/dyfluid/OpenFOAM/dyfluid-11/run/hotRoom/constant/polyMesh/points from line 10 to line 13. From function const Foam::entry& Foam::dictionary::lookupEntry(const Foam::word&, bool, bool) const in file db/dictionary/dictionary.C at line 799. FOAM exiting
我觉得可能是边界条件没设置好,检查再三感觉也没啥问题,麻烦您抽空看看,谢谢您!