OpenFOAM怎么加载重力场?



  • 我在用simplefoam求解的时候,想要考虑一下重力的影响,该怎么加入重力场呢?



  • 在你的createField.H里面加上:

    #include "readGravitationalAcceleration.H"
    #include "readhRef.H"
    #include "gh.H"
    

    在你的UEqn.H里面加上

    MRF.correctBoundaryVelocity(U);
    
        tmp<fvVectorMatrix> tUEqn
        (
            fvm::div(phi, U)
          + MRF.DDt(U)
          + turbulence->divDevReff(U)
         ==
            fvOptions(U)
        );
        fvVectorMatrix& UEqn = tUEqn.ref();
    
        UEqn.relax();
    
        fvOptions.constrain(UEqn);
    
        //if (simple.momentumPredictor())
        {
            solve(UEqn == -fvc::grad(p) + gh);
    
            fvOptions.correct(U);
        }
    

    试试...简单一个想法,没验证过,buoyantSimpleFoam里面不是有重力么?
    http://dyfluid.com/buoyantPimpleFoam.html



  • 这个连续性方程不修改吗?



  • 请问在fvOptions字典中,SIMPLE内没有提到关键字momentumPredictor,是不是表示默认设置了momentumPredictor yes;啊?也就是说上面提到的if (simple.momentumPredictor())默认是执行的?

    SIMPLE
    {
        nNonOrthogonalCorrectors 0;
        pRefCell        0;
        pRefValue       0;
    }
    

  • 管理员

    不写的话默认是yes


Log in to reply
 


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