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. 如何对每一个时间步下每个网格的数据(H2的反应速率)进行累加,并输出。

如何对每一个时间步下每个网格的数据(H2的反应速率)进行累加,并输出。

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

    各位前辈好,我现在需要计算H2的反应速率,我在 createFields.H 中进行了如下定义:

    PtrList<volScalarField> ROP_(Y.size());
    forAll(Y, i)
    {
        const word RRname = "ROP." + Y[i].name();
        ROP_.set
        (
            i,
            new volScalarField
            (
                IOobject
                (
                    RRname,
                    runTime.timeName(),
                    mesh,
                    IOobject::NO_READ,
                    IOobject::AUTO_WRITE
                ),
                mesh,
                dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
            )
        );    
    }
    

    随后我在 YEqn.H 中定义了ROP如何进行计算:

    forAll(Y, i)
    {
        ROP_[i].field() = -(reaction->R(Y[i])()).source()/mesh.V();
    }
    

    他这样就输出了所有组分的一个反应速率,但是目前我仅仅想得到氢气的反应速率,并输出H2在每一个时间步上所有网格下数据的一个累加值,对此,我在 AMRreactingLMFoam.H 中这样写:

    // ------------------------------------------------------------------------- //
        fileName myFile = "THRR.dat";
        //OFstream myStream("THRR.dat");
        std:: ofstream myStream(myFile.c_str(), ios_base::app);
    // ------------------------------------------------------------------------- //
        fileName File = "ROP.H2.dat";
        //OFstream myStream("THRR.dat");
        std:: ofstream Stream(File.c_str(), ios_base::app);
    

    THRR是之前输出的总热释放率,在EEqn.H 中它是这样定义的:

    // for THRR recording:
        THRR = 0.0;
        forAll(dQ, cellI)
        {
            THRR += dQ[cellI];
        }
    

    目前我遇到的主要是两个问题:

    1.如何单独输出H2的反应速率,当我直接输出ROP.H2时显示H2没有定义

    2.对每个时间步下所有网格的H2反应速率进行累加并输出应该如何写代码?

    希望能得到大家的解答,谢谢!

    1 条回复 最后回复

  • 登录

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