公式求助



  • 咨询一下各位前辈,fvc::laplacian(rhoField()nuField(),U)-fvc::grad(p)(1kg/m3),这个(1kg/m3)我应该如何写才能不报错呢:zoule: fvc::laplacian(rhoField()*nuField(),U)-fvc::grad(p)主要是这两边两个量纲不统一所以必须乘以kg/m3。麻烦各位啦


  • 管理员

    你直接改p的单位让他们相符就好了



  • @东岳 ,李老师,这个我改了之后还是会出现量纲不匹配

    --> FOAM FATAL ERROR: 
    [1] LHS and RHS of + have different dimensions
         dimensions : [0 2 -2 0 0 0 0] + [1 -1 -2 0 0 0 0]
    [1] 
    [1] 
    [1]     From function Foam::dimensionSet Foam::operator+(const Foam::dimensionSet&, const Foam::dimensionSet&)
    [1]     in file dimensionSet/dimensionSet.C at line 501.
    [1] 
    FOAM parallel run aborting
    [1] 
    [1] #0  Foam::error::printStack(Foam::Ostream&)
    


  • 其他的公式会出错,这个用的interfoam的求解器p用的prho+rgh,



  • 李老师,我现在想的就是给这个fvc::grad(p) 这一项乘以 (1kg/m3),这样保持其他的公式量纲就都可以不变了,并且得到我要的结果。这个可行吗


  • 管理员

    fvc::grad(p)*dimensionedScalar(dimDensity, 1.0)
    


  • @东岳 李老师我按照这个编译,

    ../cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C: In member function ‘const volVectorField& Foam::forceSubModel::IBDragPerV(const volVectorField&, const volScalarField&) const’:
    ../cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C:572:101: error: no matching function for call to ‘Foam::dimensioned<double>::dimensioned(const Foam::dimensionSet&, double)’
      IBDragPerV_ = fvc::laplacian(rhoField()*nuField(),U)-fvc::grad(p)*dimensionedScalar(dimDensity, 1.0);
    

    这个错误。


  • 管理员

    OpenFOAM里面没有forceSubModel.C这个文件,可能你那个不能这样植入,fvc::grad(p)*dimensionedScalar(dimDensity, 1.0)这一项可以放在UcEqn中



  • @东岳
    好的我试一下,谢谢李老师


Log in to reply
 


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