质量源项添加问题,参数rho无效
-
有个问题请教,我想使用pimpleFoam计算动网格算例,想在某个区域添加一个质量源,但在设置过程中遇到了问题,参考了reactingParcelFoam/filter算例中fvOptions质量源的设置条件:
但是我要计算的是incompressible不可压缩单相流,所以我去掉了
最后设置如下:
运行算例
1.请问该如何解决?谢谢大家~
-
不可压缩单相里面没有rho这个变量,所以你目前的质量源项无效。
-
@dzw05 请问,我需要自己在控制方程中加入rho嘛,还是可以用可压的单向流的控制方程来替代,然后增加fvOptions(rho)吗?谢谢~
-
@张RP 建议用可压缩求解器。
-
@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 你看看压力文件,即0/p文件,应该是压力的量纲写错了。
-
@dzw05 确实是我p单位设置错了,这部分问题解决了,谢谢!
-
@dzw05 刚看你资料,咱俩是不是视频过啊,2017年的时候
-
@东岳 哈哈,当时东岳老师还在国外。东岳现在哪高就?有机会去拜访您。
-
@dzw05 半无业状态.. 琢磨是不是要跟胖猫去美国待5年呢,行啊,来,迎接D总大驾
-
最近也在做添加质量源项的事情, 搜索到了该帖子, 看到
张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添加源项是否合理?
希望有人看到能指教一下, 谢谢
-
@kdfluxit rhoPimpleFoam里有 include "rhoEqn"这段代码,也就是显式求解rho方程。你再仔细看看。
-
@dzw05
不好意思, 刚仔细看了一遍看到了, 谢谢!