质量源项添加问题,参数rho无效



  • 有个问题请教,我想使用pimpleFoam计算动网格算例,想在某个区域添加一个质量源,但在设置过程中遇到了问题,参考了reactingParcelFoam/filter算例中fvOptions质量源的设置条件:
    2c8aacd9-aa73-4f11-a460-fa762b23ef2f-image.png

    但是我要计算的是incompressible不可压缩单相流,所以我去掉了
    ba6ab663-d5ca-482b-abe2-54470ccf087b-image.png
    最后设置如下:
    88c91503-2cd7-45a6-9588-5c8fcd9822c0-image.png
    运行算例
    fb8a0d34-f1f3-4ec3-b34e-0932c80a2f67-image.png

    1.请问该如何解决?谢谢大家~


  • 教授

    不可压缩单相里面没有rho这个变量,所以你目前的质量源项无效。



  • @dzw05 请问,我需要自己在控制方程中加入rho嘛,还是可以用可压的单向流的控制方程来替代,然后增加fvOptions(rho)吗?谢谢~


  • 教授

    @张RP 建议用可压缩求解器。



  • @dzw05
    您好!我将求解器改为了rhoPimpleFoam,病增加了相关的文件,如0文件中的T、alphat文件和constant中的热力学属性thermophysicalProperties文件,流体为水
    65716a4d-a503-4f3f-9361-e047fcb5ed3c-image.png

    之后根据已有算例和错误提示补全了fvSchemes中的divSchemes,

    5a1db42c-1f54-4741-87ce-ecfa021fa481-image.png

    进行了计算,出现了单位问题:

    --> 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年的时候 :jingya:


  • 教授

    @东岳 哈哈,当时东岳老师还在国外。东岳现在哪高就?有机会去拜访您。


  • 管理员

    @dzw05 半无业状态.. 琢磨是不是要跟胖猫去美国待5年呢,行啊,来,迎接D总大驾

    :high: :high:



  • 最近也在做添加质量源项的事情, 搜索到了该帖子, 看到
    张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
    不好意思, 刚仔细看了一遍看到了, 谢谢!


Log in to reply
 


CFD中文网 | 东岳流体学术 | 东岳流体商业 | 吉ICP备20003622号-1