Skip to content

OpenFOAM

OpenFOAM交流区

5.3k 主题 31.4k 帖子
  • multiphaseEulerFoam对相变的计算

    1
    1 帖子
    1k 浏览

    各位老师和学者好,我最近在尝试使用multiphaseEulerFoam来计算水的闪蒸过程。但是遇到了一些问题。对于纯水的两相流动(没有空气),应该是调用ThermalPhaseChangePhaseSystem

    type thermalPhaseChangeMultiphaseSystem; phases (steam water); phaseChange on; steam { type purePhaseModel; diameterModel isothermal; isothermalCoeffs { d0 3e-3; p0 1e5; } residualAlpha 1e-3; } water { type purePhaseModel; diameterModel constant; constantCoeffs { d 1e-4; } residualAlpha 1e-3; }

    在此基础上,后续的换热模型选用了RanzMarshall,但是我发现根本不会发生闪蒸(我在能量方程里对water相直接补充了热量,保证了温度上升)

    in EEqns.H

    forAll(fluid.anisothermalPhases(), anisothermalPhasei) { phaseModel& phase = fluid.anisothermalPhases()[anisothermalPhasei]; const volScalarField& alpha = phase; tmp<volScalarField> tRho = phase.rho(); const volScalarField& rho = tRho(); tmp<volVectorField> tU = phase.U(); const volVectorField& U = tU(); volScalarField q = alpha*rho*(U&g)-alpha*rho*(U&g); if(phase.name() == "water") { q[93] = 5.0E8; q[94] = 5.0E8; q[95] = 5.0E8; q[96] = 5.0E8; q[97] = 5.0E8; } ···········

    不会发生相变的原因确定于代码中,对于质量源项的计算有

    ThermalPhaseChangePhaseSystem.C

    // Interfacial mass transfer update { volScalarField& dmdtf(*this->dmdtfs_[pair]); volScalarField& Tf(*this->Tfs_[pair]); const volScalarField Tsat(saturationModelIter()->Tsat(thermo1.p())); const volScalarField L ( volatile_ != "none" ? this->Li(pair, volatile_, dmdtf, Tsat, latentHeatScheme::upwind) : this->L(pair, dmdtf, Tsat, latentHeatScheme::upwind) ); volScalarField H1(this->heatTransferModels_[pair].first()->K(0)); volScalarField H2(this->heatTransferModels_[pair].second()->K(0)); volScalarField dmdtfNew((H1*(Tsat - T1) + H2*(Tsat - T2))/L);

    其中,换热系数H1与2的计算
    RanzMarshall.C

    Foam::tmp<Foam::volScalarField> Foam::heatTransferModels::RanzMarshall::K(const scalar residualAlpha) const { volScalarField Nu(2 + 0.6*sqrt(pair_.Re())*cbrt(pair_.Pr())); return 6 *max(pair_.dispersed(), residualAlpha) *pair_.continuous().thermo().kappa() *Nu /sqr(pair_.dispersed().d()); }

    可以发现,当离散相为水蒸气(初始条件下为0),连续相为水时,输入的残差为0时,

    volScalarField H1(this->heatTransferModels_[pair].first()->K(0)); volScalarField H2(this->heatTransferModels_[pair].second()->K(0));

    这个H1和H2必然为0,因此计算所得到的相变量dmdtfNew也必然为0,无论液体的温度高过饱和温度多少。

    请问有老师碰到过这种情况吗,任何点拨都感激不尽:xinlei:

  • 浸没边界法边界条件报错

    3
    3 帖子
    2k 浏览
    T

    @李东岳 好的,谢谢李老师,我去看一下

  • openfoam中添加湍流激励

    8
    8 帖子
    5k 浏览
    李东岳

    @杨英狄

    pturb=0.39*(密度*湍动能)

    类似这种,可以通过这个实现,不需要复杂的操作

    const volScalarField& k = mesh_.lookupObject<volScalarField>("k");
  • centos平台运行并行setRefinedField及blastFoam报错

    7
    7 帖子
    4k 浏览
    Y

    @李东岳 好的!十分感谢您

  • 1 帖子
    881 浏览
    杨英狄

    大家好,想请教一下各位,如何在求解器中,或者说是在createFields.H中声明湍流相关的场,如湍动能、湍流耗散率等。

    因为目前需要考虑湍流对汽液传质的影响,需要在压力方程中用到湍动能,所以想知道怎样在求解器中声明。

    感谢各位!

  • 5 帖子
    3k 浏览
    R

    好的,李老师,我在回去多调试一下:zoule:

  • Foam-extend 并行计算报错

    7
    7 帖子
    4k 浏览
    T

    @李东岳 好的吧,谢谢李老师!

  • DPMFoam给粒子添加温度等

    4
    4 帖子
    2k 浏览
    vbcwlV

    @upc_ngh 感谢,用的点粒子模型,这样就够了

  • OpenFOAM跨节点并行计算问题

    3
    3 帖子
    2k 浏览
    S

    @李东岳
    感谢东岳老师的分享,我先照着该教程试一试

  • 运行算例出现segmentation fault

    4
    4 帖子
    3k 浏览
    李东岳

    Cp_[cellI]输出一下

  • HPC 节点反馈

    8
    8 帖子
    5k 浏览
    L

    @李东岳
    谢谢李老师
    您的意思是:
    如“大网格”,那OF会自动超线性加速? 无需在提交HPC任务时开超线程?

  • openfoam怎么获得最大温度位置处的速度?

    3
    3 帖子
    2k 浏览

    @李东岳老师,这个是求某个标量场内最值的吧? 我是想先求出最大温度处的位置,然后根据这个位置在求出该位置处的速度

  • 贴个对volSymmTensorField进行操作的代码

    4
    4 帖子
    3k 浏览
    李东岳

    感谢分享!!:146: :146: :146:

  • 【求教】OpenFoam模拟波浪的壁面函数设置

    3
    3 帖子
    2k 浏览
    O

    个人觉得没必要考虑吧

  • twoPhaseMixture类中添加muf()函数报错求助

    4
    4 帖子
    3k 浏览
    R

    @Miss-Zhou_DUT 您好,请问您解决这个问题了嘛

  • 如何获得固体边界上水相部分某一场的数值

    2
    2 帖子
    1k 浏览
    李东岳

    我觉得你可以写个判断语句。对整个边界patch做循环,比如边界上alpha>0.5的就是水箱,然后提取这个压力。

  • cyclicAMI边界

    2
    2 帖子
    1k 浏览
    李东岳

    把你的boundary文件贴一下看看

  • 时间步长对计算结果的影响

    2
    2 帖子
    2k 浏览
    李东岳

    带化学反应的时候存在刚性方程组。所以还不能像是普通流场那样放大时间步。

  • 关于icoReactingMultiphaseInterFoam中的组分方程

    3
    3 帖子
    2k 浏览
    李东岳

    这在以前的openfoam里面是出现过这种问题的。我详细的跟踪过twoPhaseEulerFoam的算法演变。你这个求解器应该是ESI那面的吧?可以问问他们什么时候能把alpha、rho搞进去

  • 2 帖子
    2k 浏览
    李东岳

    这个肯定是没法提说不出口的。咱们要知道,官方开发openfoam40年了。他们对自己的代码/算法非常自信。除非明显的植入错误。他们不会做类似处理。我比较熟悉基金会那面。类似这种需求,做一个统一化的架构整合,属于技术支持,提出来他们会需要你提供fund,然后他们会处理。

    ESI那面我联系不多。不过这种大概率来看。自己整合一个然后提交给他们会比较好。