Skip to content
  • 0 赞同
    1 帖子
    27 浏览
    R

    各位老师们好,目前我在OpenFOAM-v1912中尝试把一个压力基的拉格朗日两相反应求解器(基于coalChemstryFoam)耦合进detonationFoam(密度基)中。目前编译没有问题,可以顺利通过,但是在测试算例时运行会报错(使用的是NS_Sutherland模型):

    === Start Sensible Enthalpy Transport ==== --> FOAM FATAL ERROR: incompatible fields for operation [rhoE] - [h] From function void Foam::checkMethod(const Foam::fvMatrix<Type>&, const Foam::fvMatrix<Type>&, const char*) [with Type = double] in file /share/home/zhoufan/OpenFOAM/OpenFOAM-v1912/src/finiteVolume/lnInclude/fvMatrix.C at line 1337. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 void Foam::checkMethod<double>(Foam::fvMatrix<double> const&, Foam::fvMatrix<double> const&, char const*) at ??:? #3 Foam::tmp<Foam::fvMatrix<double> > Foam::operator-<double>(Foam::tmp<Foam::fvMatrix<double> > const&, Foam::tmp<Foam::fvMatrix<double> > const&) at ??:? #4 ? at ??:? #5 __libc_start_main in /lib64/libc.so.6 #6 ? at ??:? Aborted (core dumped)

    这里显示动量方程和组分方程求解都没有问题,在求解能量方程时遇到了赋值不统一的问题。
    这是原本detonationFoam中rhoEEqn的代码:

    surfaceScalarField sigmaDotU ( "sigmaDotU", ( fvc::interpolate(muEff)*mesh.magSf()*fvc::snGrad(U) + fvc::dotInterpolate(mesh.Sf(), tauMC) ) & fvc::interpolate(U) ); solve ( fvm::ddt(rhoE) + fvc::div(rhoEPhi) - fvc::div(sigmaDotU) == reaction->Qdot() ); e = rhoE/rho - 0.5*magSqr(U); e.correctBoundaryConditions(); thermo.correct(); rhoE.boundaryFieldRef() == rho.boundaryField()*(e.boundaryField()+0.5*magSqr(U.boundaryField())); solve ( fvm::ddt(rho, e) - fvc::ddt(rho, e) + thermophysicalTransport->divq(e) ); thermo.correct(); rhoE = rho*(e + 0.5*magSqr(U)); p.ref() = rho()/psi(); p.correctBoundaryConditions(); rho.boundaryFieldRef() == psi.boundaryField()*p.boundaryField(); Info<< "min/max(p) = "<< min(p).value() << ", " << max(p).value() << endl; Info<< "min/max(T) = "<< min(T).value() << ", " << max(T).value() << endl;

    这是我修改添加颗粒源项之后的代码:

    clock_t t_begin_h = std::clock(); Info << "=== Start Sensible Enthalpy Transport ====" << endl; auto dt = runTime.deltaT(); surfaceScalarField sigmaDotU ( "sigmaDotU", ( fvc::interpolate(muEff)*mesh.magSf()*fvc::snGrad(U) + fvc::dotInterpolate(mesh.Sf(), tauMC) ) & fvc::interpolate(U) ); solve ( fvm::ddt(rhoE) + fvc::div(rhoEPhi) - fvc::div(sigmaDotU) - fvm::laplacian(turbulence->mut()/Prt + turbulence->alpha(), e) == combustion->Qdot() + AlParcels.Sh(e) + radiation->Sh(thermo, e) ); e = rhoE/rho - 0.5*magSqr(U); e.correctBoundaryConditions(); thermo.correct(); rhoE.boundaryFieldRef() == rho.boundaryField()*(e.boundaryField()+0.5*magSqr(U.boundaryField())); solve ( fvm::ddt(rho, e) - fvc::ddt(rho, e) ); thermo.correct(); radiation->correct(); //add by vv rhoE = rho*(e + 0.5*magSqr(U)); p.ref() = rho()/psi(); p.correctBoundaryConditions(); rho.boundaryFieldRef() == psi.boundaryField()*p.boundaryField(); Info<< "min/max(p) = "<< min(p).value() << ", " << max(p).value() << endl; Info<< "min/max(T) = "<< min(T).value() << ", " << max(T).value() << endl; clock_t t_end_h = std::clock(); double elapsed_secs_h = double(t_end_h - t_begin_h) / CLOCKS_PER_SEC; Info << "=== Sensible Enthalpy Transport [Done]: " << elapsed_secs_h << " s ====\n" << endl;

    想请教一下大家有没有什么更改的建议。

  • 请教贴:k-epsilon湍流模型问题

    OpenFOAM
    2
    0 赞同
    2 帖子
    92 浏览
    李东岳

    its really hard to debug according to these information.

  • 0 赞同
    9 帖子
    5k 浏览
    A

    @lwjetmann 在 极低雷诺数下,PIMPLE迭代初始残差保持为1,降不下来 中说:

    @李东岳 感觉这个问题挺有意义的,肯定可以从原理上说清楚为啥发散。给的是一个极大的单块网格平动(入口速度零,零法向压力梯度;出口压力零,零速度梯度),一直调不出来就放弃了,可能雷诺数低到某个程度,就不能靠放大计算域来使边界条件匹配了。

    祝李老师上课愉快!

    老哥,这个问题最后解决了吗

  • 0 赞同
    4 帖子
    181 浏览
    李东岳

    我推了一下,好像是这个$\nabla\cdot(\nabla\cdot(\bfU\bfU'))$,你验证下?

  • 0 赞同
    3 帖子
    92 浏览
    N

    @李东岳 在 一个大的stl文件包含小的stl文件画网格问题 中说:

    你最好把外面的大的stl弄个洞出来。shm画网格的时候,如果你的外面的stl是封闭的。就识别不到里面小的stl

    也就是搞一个patch?是嘛?谢谢

  • 0 赞同
    3 帖子
    126 浏览
    L

    @李东岳 感谢指点

  • 0 赞同
    4 帖子
    139 浏览
    李东岳

    https://cfd-china.com/topic/8018/免费帮助debug算例 你看看

  • 0 赞同
    7 帖子
    215 浏览
    C

    如果只是对背景网格进行加密,可以采用topoSet和refinmesh进行加密,也不难

  • 200万网格并行算力测试(OpenFOAM版本)

    OpenFOAM
    235
    0 赞同
    235 帖子
    1m 浏览
    2

    @2019201300 又测试了个9950X,双通道6000
    系统:Win虚拟机
    OpenFOAM版本:OpenFOAM-v2212
    16 226.64
    12 171.33
    8 181.91
    4 224.62
    2 286.78
    1 490.17

  • 大深宽比微通道结构网格绘制

    Meshy
    2
    0 赞同
    2 帖子
    162 浏览
    李东岳

    这种没法搞,注定就是深宽比很大

  • DES涡耗散不足

    OpenFOAM
    7
    0 赞同
    7 帖子
    299 浏览
    A

    @李东岳 好,谢谢东岳老师。我问了下,主要原因可能是网格太粗和二维

  • 0 赞同
    14 帖子
    5k 浏览
    J

    @lizhisongsjtu 大佬nb 成功解决问题!不然不知道要被卡多久

  • 求教Fluent求解前设置

    Fluent
    9
    0 赞同
    9 帖子
    1k 浏览
    L

    @南旅 好的,感谢指导

  • 求教,组分比例分配

    Fluent
    3
    0 赞同
    3 帖子
    441 浏览
    L

    @xuqiming 好的,感谢指导

  • snappy加边界层

    Meshy
    4
    0 赞同
    4 帖子
    122 浏览
    李东岳

    这个基本没有一针见血的办法,shm生成边界层已经是老大难了

  • 相变时的界面受力

    OpenFOAM
    1
    0 赞同
    1 帖子
    53 浏览
    X

    我想请问一下老师们,我做的是一个自由气液界面的受力分析,如果界面存在蒸发冷凝的相变会不会引起界面受力的变化?

  • 0 赞同
    3 帖子
    377 浏览

    是做巷道通风仿真么,带条缝的附壁风筒?

  • 0 赞同
    32 帖子
    32k 浏览
    李东岳
    # output particle properties dump dmp all custom/vtk 5000 post/liggghts_init_*.vtk id type x y z vx vy vz fx fy fz omegax omegay omegaz radius ERROR: Invalid dump style (/home/dyfluid/CFDEM/LIGGGHTS/src/output.cpp:589)

    这个看起来是后处理输出什么变量导致的
    # output particle properties

  • 0 赞同
    9 帖子
    5k 浏览
    K

    @qihumeng 可以试试瞬态模拟 主流场稳态后 设置瞬态模拟 并将U、k等稳态量的迭代残差设置为1,即在后续瞬态模拟中不迭代,然后用瞬态的方式模拟颗粒物 直到场内的颗粒物数量稳定?
    我也在尝试稳态模拟dpm 但是发现总是进来多少出去多少 场内留存粒子数为0 ,并且因此没有颗粒物的位置文件夹及函数结果文件,如果采用瞬态则可以正常使用paraView中会出现对应的拉格朗日场

    image.png

  • OpenFOAM libtorch tutorial step by step

    OpenFOAM
    84
    0 赞同
    84 帖子
    100k 浏览
    李东岳

    是的,一个整体平均值约束。

    增加神经元看看能不能把GPU拉上100%