质量源项添加问题,参数rho无效
-
@dzw05
您好!我将求解器改为了rhoPimpleFoam,病增加了相关的文件,如0文件中的T、alphat文件和constant中的热力学属性thermophysicalProperties文件,流体为水
之后根据已有算例和错误提示补全了fvSchemes中的divSchemes,
进行了计算,出现了单位问题:
--> FOAM FATAL ERROR:****
[e[1 -1 -3 0 0 0 0] ] + [convection(((phi|interpolate(rho))+meshPhi),p)[0 2 -3 0 0 0 0] ] From function void Foam::checkMethod(const Foam::fvMatrix<Type>&, const Foam::DimensionedField<Type, Foam::volMesh>&, const char*) [with Type = double] in file /home/zhangry/zhangry/OpenFOAM/OpenFOAM-7/src/finiteVolume/lnInclude/fvMatrix.C at line 1291.
FOAM aborting
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
这让我有些疑惑,因为我并没有动相关源文件,从单位差别上看后项缺少了一个kg/m3的rho密度单位,请问该怎么修正这一错误呢
-
最近也在做添加质量源项的事情, 搜索到了该帖子, 看到
张RP Oct 10, 2019, 8:31 PM , 似乎作者rhoPimpleFoam里面采用scalarSemiImplicitySource添加源项获得了合理的结果.
根据
《dzw05 OPENFOAM教授 Oct 10, 2019, 3:32 PM》的回复, 因为pimpleFoam是不可压缩求解器, 所以没有rho.
所以不能用massSource { type scalarSemiImplicitSource; timeStart 0.2; ... injectionRateSuSp { rho (); H2O (); } }
我不太理解为什么 rhoPimpleFoam里面可以使用这种添加的方法. 因为我查看rhoPimpleFoam里面没有类似于
fvScalarMatrix rhoEqn ( fvm::ddt(rho) + fvc::div(phi) == parcels.Srho(rho) + surfaceFilm.Srho() + fvOptions(rho) ); rhoEqn.solve();
显式地求解continuity equation.
而是采用压力柏松方程, 所以, 我不确定在rhoPimpleFoam里, 采用scalarSemiImplicitySource给rho添加源项是否合理?
希望有人看到能指教一下, 谢谢