Skip to content

OpenFOAM

OpenFOAM交流区

4.5k 主题 26.5k 帖子
  • 以读取系数的方式修改湍流模型

    1
    1 帖子
    437 浏览
    F

    请教各位老师~
    ****目标:***希望给雷诺应力增加高阶项来修改湍流模型,高阶项的形式是固定的(标量对称张量)
    ***想法:***因为雷诺应力本身就是对称张量,其中的标量是随时变化的,机器学习生成的。如果用include **.H的方式来修改湍流模型,则每次需要编译,比较耗时,(因为增加项会不断变化)。所以想通过在constant文件夹中以.H形式存储标量表达式,从而在turbulenceProperties中读取文件,以系数的形式修改表达式,由于系数是实时读取的,因此只需要编译一次。.H文件中就是一个标量表达式,命名为zetai.H
    ****问题:****如果仅有zetai.H,内容如下(I1 I2是已经在湍流模型中计算好了的体标量场):
    8b12a85a-ca5c-48ca-8d0a-0e643d6d5861-image.png
    并在湍流模型中读取:
    fb6a553a-b074-470e-97ef-4ccc9cc304ec-image.png
    如何能将zetai中的内容转换为体标量场进行计算?

  • ICEM网格导入openfoam后paraview打不开

    3
    3 帖子
    855 浏览

    @李东岳 谢谢!

  • 关于vof模型的plot问题

    5
    5 帖子
    1k 浏览
    李东岳

    多谢反馈!!

  • 关于旋转圆筒的压力边界条件问题

    1
    1 帖子
    585 浏览

    冒昧打扰各位,我最近正在做一个封闭旋转圆筒半浸没气液两相流动的case,速度边界对于侧面和两端面选择的RotationalWallVelocity,压力边界条件,听从Openfoam官方文件的建议

    In the above example, it can be seen that all the wall boundaries use a boundary condition named fixedFluxPressure. This boundary condition is used for pressure in situations where zeroGradient is generally used, but where body forces such as gravity and surface tension are present in the solution equations. The condition adjusts the gradient accordingly).

    将侧面和两端面设置成fixedFluxPressure固定值为0的格式,结果报错为:Unable to set reference cell for field p,Please supply either pRefCell or pRefPoint。结合问题提示和网上查找解决方案,在fvsolution中的pimple加入参考网格或者参考点的压力值,因此我在pimple的子目录下添加最后两行如下所示:

    PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; }

    结果报错如下:
    98414f11-7705-4f4a-a503-bc89ed313159-image.png
    于是选择第二种解决方法,设置参考点的压力,如下所示:

    PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; pRefPoint (0 0 0); pRefValue 0; }

    结果又是报错,问题如下:
    d88d6776-a2f0-4df3-ba30-a1fb49516c6f-image.png
    谷歌搜索解决方案,很多人说需要设置一个压力场的fixedvalue才可以,我于是尝试分两次将两端面或者侧面的其中一个压力边界条件设置成fixedvalue 0,跑是能跑了,但是0.几秒就发散了,而且本人也觉得这种压力边界条件设置方法很不合理且不符合实际情况(明明都是封闭区域的墙啊)。实在找不到可能的解决措施了,麻烦各位指教一下,谢谢啦。

  • OpenFOAM 模型编译资料求助

    6
    6 帖子
    1k 浏览
    李东岳

    啊 我以为 @Zhoujq 老铁太忙了 也没好意思问 妥了 !

  • 两相流模型库朗数问题(二)

    3
    3 帖子
    887 浏览

    @bestucan 好的,我去按照这个思路研究研究,非常感谢!

  • openfoam数据处理

    5
    5 帖子
    1k 浏览

    @bestucan 谢谢老师:146:

  • interFoam求解器计算出的摩擦阻力被低估

    7
    7 帖子
    2k 浏览

    @cresendo 嗯呐,回头试试,你把湍流粘度比调大之后,nut的边界条件就可以不使用粗糙度边界条件了吧?我现在觉得DTCHull的nut边界条件使用粗糙度边界条件可能是为了在一定程度上修正粘性阻力被低估的问题......:chouchou:

  • 自定义Foam找不到求助

    10
    10 帖子
    2k 浏览
    T

    @tens 感谢您的指导,加入求解器名字之后报错解决了,非常感谢 :huahua: :huahua:

  • 并行计算报错 “an error occurred in MPI_init_thread”

    2
    2 帖子
    611 浏览
    S

    并且我发现就算我没有最终安装of8,只执行之前的sudo apt update一系列命令,也会出现该问题。。。

  • 约束器constrain的实现

    1
    1 帖子
    522 浏览

    在约束器Foam::fvConstraints::constrain的定义中有:

    (这里以输入为eqn的定义为例)

    template<class Type> bool Foam::fvConstraints::constrain(fvMatrix<Type>& eqn) const { checkApplied(); const PtrListDictionary<fvConstraint>& constraintList(*this); bool constrained = false; forAll(constraintList, i) { const fvConstraint& constraint = constraintList[i];//对象constraint源于类fvConstraint if (constraint.constrainsField(eqn.psi().name())) { constrainedFields_[i].insert(eqn.psi().name()); if (debug) { Info<< "Applying constraint " << constraint.name() << " to field " << eqn.psi().name() << endl; } constrained =//这里调用了对象constraint的constrain方法 constraint.constrain(eqn, eqn.psi().name()) || constrained; } } return constrained; }

    注意到,其中constrain方法所引用的是对象constraint,而对象constraint​源于​类fvConstraint​。但是,我目前在类fvConstraint​没有找到关于​constrain方法的定义,
    实际上,我对整个代码进行了搜索遍历,寻找包含两个输入对象的constrain方法,与类fvConstraint有关的,仅有fvConstraint头文件中定义的​​fvConstraintM.H​。
    但是其如何被类fvConstraint​继承无法看得出来,因为该类没有父类。为因此想请教一下大家这个方法的定义及其由来,以及其是如何在代码里实现的。​

  • olaFOAM中不规则波造波文件设置问题?

    2
    2 帖子
    762 浏览
    L

    @guohuiqun
    大致步骤:

    random waves 都用波谱描述。谱很多,所以先确定用什么谱 确定后,找描述谱的数学函数 这样就可根句函数写code算谱值,或用现成的
    最后算出各个对应(从小到大)频率的谱值,频率和谱值换算成periods and heights 就输入到你上面那文件里了
    (要写个小code是因为,你例子中是3个,但如要300个,用计算器就不现实了)

    只知些皮毛,以上不保证正确。。。还请有经验的老师给你建议或你纠正以上不正确的地方

  • CPU超线程关闭

    11
    11 帖子
    5k 浏览
    袁宝强

    @袁宝强 windows为了平衡负载,开启的线程数和实际调用的线程并不一致。

  • 2 帖子
    811 浏览
    T

    用的什么求解器呢,一般在creatFields文件里面创建一个变量,让他自动输出,然后令这个变量等于你要输出的量

  • codedfixedvalue设置问题

    2
    2 帖子
    798 浏览
    李东岳

    你看的是哪里的差异,你看下进口的patch的值?

  • 关于重叠网格的疑问

    14
    14 帖子
    5k 浏览
    Y

    @秋山结月 背景网格使用sanppy加密部分区域好像真的会发散,而且p_rgh的求解矩阵也会变为对称,不加密是非对称的,请问您最终怎么解决的这个问题

  • 关于两相流模型中的库朗数取值问题

    5
    5 帖子
    1k 浏览

    @yingdong 明白了,谢谢老师。

  • 求并行生成网格以及划分网格的方法

    9
    9 帖子
    2k 浏览
    T

    @李东岳 在 求并行生成网格以及划分网格的方法 中说:

    @number44

    那scotch和metis可以并行decompose吗?

    不能。

    不过我想到一个曲线救国的方案就是用snappyHexMesh生成网格。这个可以并行。只不过仅仅进行refineMesh处理而已。应该也可以。

    如果这样的话,分别在各processor去refineMesh,reconstructPar会报错吧

  • simpleFoam质量流出口出现奇点

    4
    4 帖子
    1k 浏览
    李子橙

    问题解决了,之前是没发现 flowRateOutletVelocity ,把 flowRateInletVelocity 换成 flowRateOutletVelocity 即可:mianmo:

  • 关于C++ Source Code Guide的提问

    3
    3 帖子
    855 浏览
    T

    @bestucan 非常感谢:huahua: