Skip to content
  • 0 赞同
    2 帖子
    4k 浏览
    bestucanB

    https://www.cfd-online.com/Forums/openfoam-meshing/133850-snappyhexmesh-problems.html

  • 0 赞同
    1 帖子
    2k 浏览

    我模拟的对象是反应堆内的稳态流动传热,由于堆芯内组件数量庞大,精细建模复杂,因此采用多孔介质模型对堆芯区域进行简化。

    为了验证这种等效的合理性和误差,我先对单个组件栅元进行多孔介质简化,并将多孔介质模拟结果与未简化的模型结果对比验证多孔介质模型的合理性。

    单个组件栅元的截面图如下:
    图片1.png

    其二维轴对称模型如下图:
    f510f5de-0d5e-4389-b577-ad2d3defe29c-image.png

    模拟结果
    (1)未采用多孔介质模型
    我用了二维轴对称模型来模拟,设置固体流体内热源,入口质量流量和出口压力边界条件,流体和固体分别加载体积热源P1和P2(W/m3),流体和固体的导热系数均为常数,得到的稳态温度场和压损分布如下:
    bca065f1-7cc4-4385-8113-d7e0acd6d23e-image.png
    流体出口温度700℃,固体由于带内热源温度高于流体,固体最高温度为799℃,固体平均温度为756℃,组件压损为2400Pa

    (2)采用多孔介质模型模拟
    由于固体带内热源,流固存在较大温差,采用非热平衡模型
    根据栅元几何结构指定:孔隙率γ=0.1 ,界面换热系数hfs=5000W/M2K(与未采用多孔介质模型算得的换热系数一致),界面面积密度Afs=6.71m-1

    通过流速-压力实验关系确定粘性损失项系数和惯性损失项系数,只考虑x方向的流动损失,y方向系数放大100倍

    别给多孔介质流体和多孔介质固体设置了内热源,分别为P1×孔隙率和P2×(1-孔隙率),初始化后检查内热源加载总量无误;流体固体的热导率输入值和上个模型一致

    得到的模拟结果:
    af1efa10-a95f-4e49-a69c-63b4b4357ca0-image.png
    采用多孔介质非热平衡模型模拟得到的流体温度是正确的,压损也是正确的,但固体温度分布明显不对,固体域温度热点仅为725℃,平均温度为711℃,均远小于实际模型算得的固体温度值。

    我自己的猜测:
    多孔介质模型将单组件变为流固均匀介质后,不能模拟固体区域沿导热路径带来的固体温升?刚好我这个栅元模型中固体由于导热产生的温升非常高,如果是这样,说明多孔介质非热平衡模型不适用于我所研究的问题,因为简化后会显著低估固体温度热点。

    请问我的理解是正确的么

  • 0 赞同
    5 帖子
    7k 浏览
    zzkluckZ

    说一点我的看法,不一定对,仅供参考:

    non-orthogonality

    dca809a8-9cd5-4f74-9329-6d8459966264-image.png

    non-orthogonality由snappyHexMeshDict.meshQualityControls.maxNonOrtho直接控制,你的snappyHexMeshDict里这个值是45,这个值一般不需要控制的这么小,65是更常见的配置值。

    另外,你的snappyHexMeshDict里,relaxed.maxNonOrtho给的是75,这个值通常是和maxNonOrtho = 65相配合的。如果你真的要把maxNonOrtho设为45,按逻辑来说relaxed.maxNonOrtho也应该相应的减少一点。

    网格纵横比

    这里截取你的背景网格配置:

    vertices ( (-340 -302 -3) // Slightly smaller than the STL model bounds (332 -302 -3) (332 341 -3) (-340 341 -3) (-340 -302 95) // Slightly larger than the STL model bounds (332 -302 95) (332 341 95) (-340 341 95) ); blocks ( hex (0 1 2 3 4 5 6 7) (100 100 100) simpleGrading (1 1 1) // Adjust mesh density as needed );

    如上面B老师所说,你网格的大纵横比就是这里导致的。如果不是有意要在Z方向上做加密的话没必要这么分块,我口算一下,大概(70 65 10)就可以。

    castellate

    从上面可以看到,你背景网格的量级是100 * 100 * 100 = 1,000,000;而你SHM的maxGlobalCells给了2,000,000。这看起来不太对,这几乎没给SHM进一步细分的空间,从结果来看也是这样,网格划分的不够细。

    另外,截取一段level的配置:

    features ( { file "building.eMesh"; level 3; } ...... ); refinementSurfaces { building { level (3 4); } ...... }

    我理解features的level应该不低于Surface的。

    胡乱写了一些个人看法,希望能有所帮助。

  • 0 赞同
    2 帖子
    3k 浏览
    李东岳

    请参考无痛苦ns方程笔记的这一节:R、sigma、prime2Mean、以及雷诺应力相关量

  • 在fluent中设置周期边界条件出现报错

    Fluent
    3
    0 赞同
    3 帖子
    5k 浏览
    D

    好的谢谢,我试试看

  • 0 赞同
    11 帖子
    12k 浏览
    Z

    @tens 多谢老师!!

  • 0 赞同
    26 帖子
    38k 浏览

    @King_RVM 你好,使用starCCM绘制网格,然后导入到openFoam里面跑算例,计算结果会出现质量不好的情况么?请教一下~

  • 0 赞同
    3 帖子
    4k 浏览
    2

    感谢东岳老师,我尝试着改小了,问题得到了部分解决。

  • 真够崩溃的

    CFD彩虹条
    2
    0 赞同
    2 帖子
    4k 浏览
    李东岳

    查了查,应该是脚上韧带撕裂,

  • multiphaseEuler中湍流模型

    OpenFOAM
    2
    0 赞同
    2 帖子
    3k 浏览
    Z

    @henry-zhou 多给你一个选择,如果算les,直接改simulationType就可以

  • starccm+中速度的导数场函数表达

    Algorithm
    2
    0 赞同
    2 帖子
    4k 浏览
    G

    曲线救国:建一个矢量场函数grad($$Velocity[0]),再去用这玩意儿的第2个分量..

  • 0 赞同
    2 帖子
    5k 浏览
    siboS

    最近还在写自己的solver,但是感觉并没有用到封装这类C++的高级应用,还是当年fortran风格的写公式。。。可能还是初期吧~

  • fluent meshing命名问题

    Fluent
    3
    0 赞同
    3 帖子
    5k 浏览

    @fan820 不太清楚,可能是我把某个插件误删了吧,我现在用r2画网格,用r1进行模拟,r2不能同时开两个窗口

  • 0 赞同
    1 帖子
    2k 浏览
    T

    我这边需要仿真一个构件在烘箱中逐渐被加热的过程,结构非常简单,就是一个构件周围用壁面包裹,其截面如下图所示。
    IGBT fixture-温度2.jpg
    四周壁面设定为固定温度358K,初始温度为293K。由于工作中计算资源有限,且目前只需要定性得到构件各部位升温的快慢情况,因此仿真时只打开了能量方程,上图就是仿真至380秒左右时的状态。

    然后在仿真中,初始的时间步长是0.001s,因为太小了导致仿真进度比较慢,而且能量方程的残差一直保持在10e-7级别,我这边通过不断地放大时间步长,至380s时时间步长为0.1s,至400s左右时时间步长改为1s。在这个过程中,我发现每次增大时间步长,监测点的温升曲线斜率都会变小,也就是说温升变慢了,比如下图就是时间步长由0.1s改为1s时,监测点温升情况的变化:
    IGBT fixture-温升.jpg

    在我更改时间步长的过程中,方程的残差均保持在10e-7级别,那么我想知道,温升速率为什么会因为时间步长的增加而变小呢?是不是因为网格不够精细造成的,因为为了快速出结果,网格确实比较粗糙,还是说还有其他可能的因素?谢谢大家了

  • 数值模拟UDF,污染物吸收源项

    Fluent
    2
    0 赞同
    2 帖子
    4k 浏览
    bestucanB

    很久之前写过。具体忘了。但 return 返回的才是source

    ds[eqn]是在定义源的表达式是ax还是ax+b,udf 手册里有对ds[eqn]的详细解释。

    是 return absorption_rate ?我记得之前写的好像是这样的套路:ds[eqn]=0 然后 retrun source

    可以找udf手册对比着写

  • 比冲?

    Algorithm
    2
    0 赞同
    2 帖子
    4k 浏览
    H

    @liujuncfd 这恐怕不行吧,比冲是推力除以单位时间消耗燃料的质量(或重量)。

  • 0 赞同
    1 帖子
    2k 浏览
    H

    c7a27198-c865-41aa-bc5f-ce28c85f32d3-1728486466827.jpg

    请教各位大佬专家,立方体里边,挖掉一个圆柱体,对圆柱顶面进行切割,上半部分为流体入口边界,请问又什么好的网格划分思路吗?

    单纯立方体里挖一个圆柱能够实现,但中间多切了一条线,不知道怎么操作比较好。

    另外,有没有好的网格划分方面的教程资料推荐?

    恳请大佬们指点。

  • 0 赞同
    3 帖子
    5k 浏览
    F

    @黄昏晓为谁破 好的感谢前辈回复

  • simpleFoam质量流出口出现奇点

    OpenFOAM
    4
    0 赞同
    4 帖子
    6k 浏览
    李子橙

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

  • 一段hello world 代码

    CFD彩虹条
    3
    0 赞同
    3 帖子
    6k 浏览
    李东岳

    @wwzhao
    :big_mouth: :big_mouth: :big_mouth: