Group Details Private

OpenFOAM讲师

被批准进入本群组,则表示群组成员较为理解OpenFOAM的算法和编程。OpenFOAM教授、副教授、讲师岗位授予比例不超过OpenFOAM总徽章中的10%,30%,60%。

  • RE: 压力基求解器在OpenFOAM中的植入问题

    @东岳 对。但是如果用总压,计算中任何微小的误差都会带来计算的不准确。比如出口是给定的100000,进口是计算出来的,但算成了100009或者100011,这时候压力梯度就不正确了。
    其实就是数值计算中,在计算两个量之间的差的时候,如果这两个量本身数值很大,但它们的差别相对于其绝对值来说又非常小(比如10001-10000),这时候一般应该是避免直接去做这两个量的差。处理方法是找一个标定的数值,计算这两个量的绝对值减去标定值后的差别。假设标定值为10000,那么就是计算1-0,而不是10001-10000。印象中这个是数值方法里面一个普适的东西,还是说现在的数值计算精度已经足够高所以不用考虑这个了?:chouchou:

    posted in OpenFOAM
  • RE: 压力基求解器在OpenFOAM中的植入问题

    @东岳 恩恩,我的理解是这样,对于涉及到重力的物理问题,将压力处理成p_rgh加上静压是普适的。类似的,从数值角度讲,对于任何一个问题(即使不涉及重力),只要求解过程是基于压力的,那么将压力处理成一个很大的常量和一个相对很小的量的和,也是普适的。这个点我记得在很多CFD的书中都有提及,因为动量方程的源项是压力梯度,只有压力梯度计算准确了速度才会准确。
    我以前用FLUENT,FLUENT会让设置一个所谓的operating pressure。我一般都是将其设置为1个大气压,然后在出口处设置压力为0。FLUENT实际计算的是总压减去operating pressure,是一个比较小的量。同样的算例(低马赫数流动,密度有变化,不涉及重力)我在openfoam里面就需要直接将出口的压力设置为1个大气压。或者极端一点,如果我的问题压力很高(比如10个大气压),那么在FLUENT里面我可以将operating pressure设置为10个大气压,然后出口压力依然为0。但在openfoam里面我必须要把出口的压力直接设置为10个大气压。这个压力数值上太大了,任何一个小的误差都会导致错误的速度,不容易算准吧。

    posted in OpenFOAM
  • RE: 压力基求解器在OpenFOAM中的植入问题

    @东岳 东岳老师,p_rgh这个我也注意到了。比如燃烧求解器fireFoam,它的总压有三个部分,p = p_rgh + rho*gh + pRef。如果设置重力加速度为0,那么p = p_rgh + pRef。在fireFoam的tutorial算例里面,也确实能看到pRef被设置为一个很大的值(1个大气压)。问题是,为什么不是所有的可压缩/燃烧求解器都这样处理?我看到用p_rgh的好像更多的是与多相流相关的求解器。

    posted in OpenFOAM
  • 压力基求解器在OpenFOAM中的植入问题

    最近突然想到一点。对于基于压力的求解过程(包括可压和不可压),由于绝对压力本身数值很大,一般会采取将其拆解为一个很大的常量和真正求解的小量的和。否则压力梯度很难计算准确。
    在不可压求解器中,这是一个很自然的处理,因为不可压问题本身也需要一个标定压力(比如1个大气压)。
    对于可压的问题来说,以可压缩求解器rhoPimpleFoam甚至燃烧求解器reactingFoam为例,它们都是直接求解了绝对压力(并且等于热力学压力)。这样处理虽然物理上没有问题,但数值上是否会造成由于压力数值很大而带来梯度计算不精确的问题呢?我个人的观点是,尽管是可压问题,但如果是压力基的求解器,也应该可以把压力处理成一个很大的定常量和很小的量的求和,这样应该更准确吧?

    posted in OpenFOAM
  • RE: LES初始速度场设置和壁面函数设置

    原则上讲,初始条件不应该对最终结果有很大影响。从实际操作来讲,一个是LES本身是瞬态的,需要一定的时间达到稳态,初始条件会影响达到稳态所需要的时间,更接近最终结果的初始场自然会更快的到达稳态;另外一个是LES本身计算起来有时候容易不稳定,一个更接近最终结果的初始值有利于一定程度上抑制这种不稳定。从这个角度讲,初始场的设置最好是参考文献,再加上你自己的物理直觉。目的就是挑选一个尽可能接近最终结果的初始场。从科研兴趣的角度讲嘛,你完全可以两个都试一下,得到一个自己的结论。
    yplus小于1不需要设置壁面函数。我自己做过一些壁面函数的粗略分析,现在基本上是用nutUSpaldingWallFunction,但我不做精细的管内流动,所以yplus很少做到1这么小。壁面函数建议参考这个

    posted in OpenFOAM
  • RE: Favre平均后处理的疑惑

    我的理解,对于可压缩流来说,求解的变量都是Favre平均量(密度除外,密度是时均密度)。所以,UPrime2Mean得到的也是基于Favre平均的脉动量,因为对于求解器来说它并不知道时均或者Favre平均,你让它算什么它就算什么。我看你贴出来的图的纵轴用的是两撇,这个一般就是Favre平均之后的脉动,因为一般时均后的脉动用一撇表示。

    从这个角度讲,如果实验提供了Favre平均的相关统计量,我认为直接用模拟的结果去比对是没有问题的。如果实验只提供了时均的相关统计量,直接用模拟的结果去比对严格来讲不太正确。这里我也还没完全搞明白,看看有没有人来讨论了。

    posted in OpenFOAM
  • RE: 计算中断后可以根据已输出结果继续计算吗?

    继续计算不存在任何问题。看你的startFrom那里用的是什么,如果是latestTime,那直接继续运行就可以。如果是startTime,那按你说的改一下startTime的数值也可以。

    posted in OpenFOAM
  • RE: OpenFOAM有方法能够使一部分网格不参与计算吗?

    所以说你这个做的应该不是这个体积力的东西,是另外一种了。有什么参考文献可以分享一下么?我很好奇别的处理是什么样子的:chouchou:

    posted in OpenFOAM
  • RE: OpenFOAM有方法能够使一部分网格不参与计算吗?

    @Samuel-Tu 沉浸边界法流体域和固体域都计算吧?我记得它的核心思想就是把固体域也囊括到流体域的计算里面,通过修改计算域的控制方程(类似于NS方程的一个东西?),是的计算域内某一部分的表征是固体某一部分的表征是流体。如果你是想让计算域中其中一部分不参与计算,那和普通的只计算流体域不计算固体域(固体域作为流场边界)的区别是什么呢?挺好奇的。

    posted in OpenFOAM
  • RE: 运行pisoFoam求解器时出现如下问题

    那应该是类似于我猜想的原因了,比如说密度,VOF里面某个cell的密度是两个相密度根据体积分数的加权平均,在交界处如果还用压强除以密度来处理的话无法涵盖这种变化。我有空也看看你说的p_rgh的问题哈。

    posted in OpenFOAM