Skip to content

OpenFOAM

OpenFOAM交流区

4.5k Topics 26.5k Posts
  • 42 Posts
    9k Views
    李东岳

    @Caijinjin 如果可以提供下述信息:CPU型号、节点数、操作系统、价格这些参数(如果不方便公开,可以发我邮箱),我可以远程给你向日葵看一下。另外,你们为什么换IB交换机?我看你们去年6月份买的集群,这半年一直没用么

  • 并行计算浮点报错

    2
    2 Posts
    413 Views
    李东岳

    @洱聿 在 并行计算浮点报错 中说:

    单核可以运算。并行运算到某个时间步库朗数突然增大

    类似这种问题。有的时候会发生。很难debug。这个一般来自于矩阵求解器,你可以试试换一下,比如GAMG换成PCG。但不保证解决

  • 使用A100和V100GPU运行RapidCFD

    13
    13 Posts
    2k Views
    李东岳

    @gtian 是否可以测试下200万网格的效果?https://www.cfd-china.com/topic/3988/200万网格并行算力测试-openfoam版本

  • 4 Posts
    1k Views
    李东岳

    @TStones 在 使用paraview时出现segmentation fault错误 中说:

    这个等于是子系统自身的原因造成的问题吗?

    是的。类似linux远程+x也会有这个问题。

  • 1 Posts
    262 Views
    L

    怎样输出与一个patch发生碰撞的颗粒的速度,位置信息

  • multiphaseEulerFoam对相变的计算

    1
    1 Posts
    286 Views

    各位老师和学者好,我最近在尝试使用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 Posts
    479 Views
    T

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

  • openfoam中添加湍流激励

    8
    8 Posts
    1k Views
    李东岳

    @杨英狄

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

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

    const volScalarField& k = mesh_.lookupObject<volScalarField>("k");
  • 7 Posts
    837 Views
    Y

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

  • 1 Posts
    258 Views

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

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

    感谢各位!

  • 5 Posts
    801 Views
    R

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

  • Foam-extend 并行计算报错

    7
    7 Posts
    878 Views
    T

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

  • DPMFoam给粒子添加温度等

    4
    4 Posts
    595 Views
    vbcwlV

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

  • OpenFOAM跨节点并行计算问题

    3
    3 Posts
    582 Views
    S

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

  • 运行算例出现segmentation fault

    4
    4 Posts
    566 Views
    李东岳

    Cp_[cellI]输出一下

  • HPC 节点反馈

    8
    8 Posts
    1k Views
    L

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

  • 3 Posts
    601 Views

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

  • 4 Posts
    664 Views
    李东岳

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

  • 3 Posts
    594 Views
    O

    个人觉得没必要考虑吧

  • 4 Posts
    1k Views
    R

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