Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. reactingTwoPhaseEulerFoam添加空化模型

reactingTwoPhaseEulerFoam添加空化模型

已定时 已固定 已锁定 已移动 OpenFOAM
2 帖子 2 发布者 1.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 冠 离线
    冠 离线
    冠竹
    写于 最后由 编辑
    #1

    各位大佬,我尝试在reactingTwoPhaseEulerFoam中添加空化模型,参考的是
    www.tfd.chalmers.se/~hani/kurser/OS_CFD_2017/SuryaKaundinyaOruganti/Final_presentation_Surya_Oruganti.pdf
    中的方式,但是在修改phaseChangeModel.C文件时产生了报错。
    报错如下
    0979155c-344d-4cdb-a9d3-449726064a30-图片.png
    这部分我的代码与参考资料中给的一致:

    namespace Foam
    {
        defineTypeNameAndDebug(phaseChangeModel, 0);
        defineRunTimeSelectionTable(phaseChangeModel, components);
    }
    
    // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
    
    Foam::phaseChangeModel::phaseChangeModel
    (
        const word& type,
        const dictionary& interfaceDict,
        const phaseModel& phase1,
        const phaseModel& phase2
    
    )
    :
        interfaceDict_(interfaceDict),
        phase1_(phase1),
        phase2_(phase2),
        phaseChangeModelCoeffs_(interfaceDict.optionalSubDict(type + "Coeffs")),
        pSat_("pSat", dimPressure, interfaceDict.lookup("pSat"))
    
    {}
    
    
    // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
    
    Foam::Pair<Foam::tmp<Foam::volScalarField>>
    Foam::phaseChangeModel::vDotAlphal() const
    {
    
        volScalarField alphalCoeff(1.0/phase1_.rho() - phase1_*(1.0/phase1_.rho() - 1.0/phase2_.rho()));
        Pair<tmp<volScalarField>> mDotAlphal = this->mDotAlphal();
    
        return Pair<tmp<volScalarField>>
        (
            alphalCoeff*mDotAlphal[0],
            alphalCoeff*mDotAlphal[1]
        );
    }
    
    Foam::Pair<Foam::tmp<Foam::volScalarField>>
    Foam::phaseChangeModel::vDotP() const
    {
        dimensionedScalar pCoeff(1.0/phase1_.rho() - 1.0/phase2_.rho());
        Pair<tmp<volScalarField>> mDotP = this->mDotP();
    
        return Pair<tmp<volScalarField>>(pCoeff*mDotP[0], pCoeff*mDotP[1]);
    }
    
    

    这种问题是什么原因导致的呢?我刚开始接触这种模型编译,不太懂

    OpenFOAM 入门级小学生

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    openfoam这面要注意版本问题。你这个链接里面我看起码是2017年之前的文章。然后你用的openfoam2206。这里面版本不对。按照之前的弄,100%会有问题。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]