如何在OpenFoam算例基础上修改调用的物理模型



  • OpenFoam 中tutorial有很多的例子(里面有system、constant和0文件夹),如果直接在算例上面修改自己的模型,我用的是twoPhaseEulerFoam模型,想修改曳力模型的公式,要怎么做???不知哪位大神能指导一下,我把twoPhaseEulerFoam求解器拷贝到了目录下,接下来要怎么做呢??如图0_1468891290942_upload-0091db37-7eda-46fb-824c-1216f05223f5 0_1468891308848_upload-b882cf7c-3f52-4e07-8e8d-798ad92e5bbd



  • 你需要去linux下改动。

    1. 去linux下openfoam里面的interfacialModels下;
    2. 找到SchillerNaumann文件夹;
    3. 更改下面的内容:
    Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::CdRe() const
    {
        volScalarField Re(pair_.Re());
    
        return
            neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))
          + pos(Re - 1000)*0.44*max(Re, residualRe_);
    }
    
    1. 重新编译
    2. 运行


  • 我是用putty远程控制的,楼主的意思我要到我的安装好的OpenFoam/applications/solver/multiphase/twoPhaseEulerFoam/interfacial/dragmodel/schillerNaumann目录下面更改,编译,然后调用,这样的话,我就把源程序中内容修改了,有没有方法我把求解器twoPhaseEulerFoam这个文件夹拷贝到我自己的目录下面更改编译呢??



  • @courage 可以啊。可以把twoPhaseEulerFoam整个文件复制并改名为tfFoam,然后在Make/options里面把bin名字改为tfFoam。 以后就键入tfFoam调用。同时twoPhaserEuelrfFoam保持不变。



  • 多谢楼主了,可以计算了,赞一个!


Log in to reply