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. 用rhoReactingFoam对燃烧瞬态过程进行求解

用rhoReactingFoam对燃烧瞬态过程进行求解

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

    最近在做多组分燃烧+流动的计算,发现有人提到在每个时间步里,先算流动再算化学反应,且化学反应的时间步长一般要小于流动的时间步长(我理解为controlDict中的deltaT),但是我在rhoReactingFoam的源码中并没有发现这样一个分开计算的过程,有两个问题望大佬解惑。

    1. rhoReactingFoam在计算瞬态问题时的实际计算过程是怎么样的?

    2. 如果化学反应的时间步长和流动的时间步长不一致,那么化学反应的时间步长该如何控制?(在chemFoam的源码中有提到过dtChem这个变量,但没看懂具体是如何来的)

    附OpenFOAM-6的rhoReactingFoam.C如下。

    #include "fvCFD.H"
    #include "rhoReactionThermo.H"
    #include "CombustionModel.H"
    #include "turbulentFluidThermoModel.H"
    #include "multivariateScheme.H"
    #include "pimpleControl.H"
    #include "pressureControl.H"
    #include "fvOptions.H"
    #include "localEulerDdtScheme.H"
    #include "fvcSmooth.H"
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    int main(int argc, char *argv[])
    {
        #include "postProcess.H"
    
        #include "setRootCaseLists.H"
        #include "createTime.H"
        #include "createMesh.H"
        #include "createControl.H"
        #include "initContinuityErrs.H"
        #include "createFields.H"
        #include "createFieldRefs.H"
        #include "createRhoUfIfPresent.H"
        #include "createTimeControls.H"
    
        turbulence->validate();
    
        if (!LTS)
        {
            #include "compressibleCourantNo.H"
            #include "setInitialDeltaT.H"
        }
    
        // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
        Info<< "\nStarting time loop\n" << endl;
    
        while (runTime.run())
        {
            #include "readTimeControls.H"
    
            if (LTS)
            {
                #include "setRDeltaT.H"
            }
            else
            {
                #include "compressibleCourantNo.H"
                #include "setDeltaT.H"
            }
    
            runTime++;
    
            Info<< "Time = " << runTime.timeName() << nl << endl;
    
            #include "rhoEqn.H"
    
            // --- Pressure-velocity PIMPLE corrector loop
            while (pimple.loop())
            {
                #include "UEqn.H"
                #include "YEqn.H"
                #include "EEqn.H"
    
                // --- Pressure corrector loop
                while (pimple.correct())
                {
                    if (pimple.consistent())
                    {
                        #include "../../../compressible/rhoPimpleFoam/pcEqn.H"
                    }
                    else
                    {
                        #include "../../../compressible/rhoPimpleFoam/pEqn.H"
                    }
                }
    
                if (pimple.turbCorr())
                {
                    turbulence->correct();
                }
            }
    
            rho = thermo.rho();
    
            runTime.write();
    
            Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
                << "  ClockTime = " << runTime.elapsedClockTime() << " s"
                << nl << endl;
        }
    
        Info<< "End\n" << endl;
    
        return 0;
    }
    
    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #2

    你看一下chemistrySolver那面的欧拉隐性以及ode求解器,那面的solve函数可以更新化学反应的时间步

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

    M 1 条回复 最后回复
  • M 离线
    M 离线
    myheart
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 谢谢李老师,我研究研究。

    1 条回复 最后回复
  • Y 离线
    Y 离线
    yuky
    写于 最后由 编辑
    #4

    请问您是做气气燃烧还是气液燃烧的呀

    M 1 条回复 最后回复
  • M 离线
    M 离线
    myheart
    在 中回复了 yuky 最后由 编辑
    #5

    @yuky您好气气燃烧。
    据我已有的知识来说,除了雾化液滴,其余的大体积液体应该得先蒸发变为气态才能参与燃烧。(不一定对)

    Y 1 条回复 最后回复
  • Y 离线
    Y 离线
    yuky
    在 中回复了 myheart 最后由 编辑
    #6

    @myheart 好的好的,十分感谢,我再去研究一下

    1 条回复 最后回复

  • 登录

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