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. OpenFOAM火焰面模型的超声速修正

OpenFOAM火焰面模型的超声速修正

已定时 已固定 已锁定 已移动 OpenFOAM
3 帖子 2 发布者 2.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 在线
    S 在线
    ShaneHEEE
    写于2021年7月2日 11:37 最后由 编辑
    #1

    大家好,最近在做火焰面模型的超声速修正,采用的方法是添加能量方程隐式求解温

    度,修正基于flameletFoam ,参考了FPVCentralFoam:火焰面模型的超声速修正,其

    中一种方法是只查询火焰面表中的组分质量分数,然后添加能量方程,通过能量方

    程隐式求解温度,这个应该就是通过求解能量方程得到焓分布,再通过调用

    thermo.correct();隐式求解温度。考虑到flameletFoam中的chemkinReader使用的是显焓

    形式,我选取的还是显焓形成的能量方程(跟reactingFoam的形式一样,区别只是反

    应源项不同),其他修改的部分参考了FPVCentralFoam
    https://github.com/weixian001/FPVCentralFoam-v3.0.1

    EEqn:

    {
       volScalarField& he=thermo.he();
       volScalarField& dq=thermo.dq();
    
        fvScalarMatrix EEqn 
        (
            fvm::ddt(rho, he) + fvm::div(phi, he)
          + fvc::ddt(rho, K) + fvc::div(phi, K)
          + (
                he.name() == "e"
              ? fvc::div
                (
                    fvc::absolute(phi/fvc::interpolate(rho), U),
                    p,
                    "div(phiv,p)"
                )
              : -dpdt
            )
          - fvm::laplacian(turbulence->alphaEff(), he)
        ==
           dq
    
        );
    
        EEqn.relax();
    
        //fvOptions.constrain(EEqn);
    
        EEqn.solve();
    
        //fvOptions.correct(he);
    
        // Calculate thermodynamic Properties, calculate T and other parameters
        thermo.correct();
    
    }
    

    通过导入非燃烧火焰面数据计算冷态混合时得到的结果不对(燃烧解更不对)。我

    注意到flamletFoam的前处理通过温度与各个组分的质量分数得到显焓:

    void Foam::canteraReader::calculateEnthalpy()
    {
    Info << "calculate sensible Enthalpy" << endl;
    scalar pstd = 1e5;
    label labelT(tableNames_["T"]);
    List<scalar> he(singleData_[labelT].size(), 0.0);
    for (int i=0;i<singleData_[labelT].size();i++)
    {
    for (int j=0; j<thermo.composition().species().size();j++)
    {
    label k = composition.species()[tableNames_[j]];
    he[i] += singleData_[j][i] * composition.Hs(k, pstd, singleData_[labelT][i]);
    }
    }
    singleData_.append(he);
    }

    其中

    he[i] += singleData_[j][i] * composition.Hs(k, pstd, singleData_[labelT][i]);
    

    表示的是 h(T)=ΣYihi(T), i表示第i个组分,Y表示质量分数

    由于火焰面模型不涉及化学反应,并且组分质量分数是通过查表得到的,我怀疑现

    在通过求解添加的能量方程得到的显焓不是 h(T)=ΣYihi(T)这个形式

    想请教下OpenFOAM自带的reactingFOAM求解能量方程得到的显焓也是这样的形式

    吗?还是他也是通过 mixture_ = this->cellMixture(celli);

    质量分数加权得到 mixture 的值,这样得到 h(T)=ΣYihi(T)。

    S 1 条回复 最后回复 2021年7月2日 11:41
  • S 在线
    S 在线
    ShaneHEEE
    在 2021年7月2日 11:41 中回复了 ShaneHEEE 最后由 编辑
    #2

    如果有人做过火焰面模型的超声速修正的话,可以加我微信18434360045,我想有偿请教下:xinxin2:

    浪 1 条回复 最后回复 2021年7月2日 13:10
  • 浪 离线
    浪 离线
    浪迹天大
    在 2021年7月2日 13:10 中回复了 ShaneHEEE 最后由 编辑
    #3

    @shaneheee 这一块我涉及挺多的,希望可以帮到你

    OpenFOAM 学习交流:https://openfoam.top

    1 条回复 最后回复
2021年7月2日 11:37

1/3

2021年7月2日 11:37

2021年7月2日 13:10
  • 登录

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