OpenFOAM不可压求解器pimpleFoam研究(一)粘度实现

32 篇文章 30 订阅
9 篇文章 4 订阅

OpenFOAM提供了几个单相的不可压求解器:icoFoam(瞬态,层流)、simpleFoam(稳态,湍流)、pisoFoam(瞬态,湍流)和pimpleFoam(瞬态,湍流)。这几个求解器的不同之处主要在于其使用的算法不一样,主要有SIMPLE和PISO两种。icoFoam和simpleFoam的解析在李东岳的网站里能找到,写得十分详细。pisoFoam算是icoFoam的进阶版,可以处理湍流的情况,使用湍流模型。而pimpleFoam是PISO和SIMPLE算法的一个结合,为瞬态处理器,也能处理湍流。

icoFoam(下左图)和pimpleFoam(下右图)的动量方程在形式上有一些不一样。

1. pim用tmp<fvVectorMatrix> 来定义动量方程的矩阵类型,而ico则是直接用fvVectorMatrix。tmp是一个包装类,详细的介绍可以在OpenFOAM中的tmp类_寒冰彻骨的博客-CSDN博客看到。简单来说,tmp不是必须的,但在场量数据(fields)十分大的时候,tmp可以帮助处理场量空间,减少峰值内存,从而提高程序的计算效率。

2. pimpleFoam中多了MRF.DDt(U)这一项是关于旋转坐标系(滑移网格)下用于修正时间项的科里奥利力。详细介绍在MRF.DDt(U)---MRF模型简介_寒冰彻骨的博客-CSDN博客_mrf模型也可以看到。

3. fvOptions(U)是动量方程的源项。目前可以添加体积力、多孔介质等多种性质的源项。

4. 粘度项turbulence->divDevReff(U)。这个是pimpleFoam用来处理湍流(有效粘度)的。在icoFoam中,粘度项是层流粘度,不考虑湍流带来的湍流粘度的影响。当雷诺数较大时,icoFoam计算就不适用了。pimple的粘度项的介绍可以看turbulence-&gtdivDevReff(U)代码解读_寒冰彻骨的博客-CSDN博客

在transportPropertiesDict文件里我们可以设置粘度nu的大小,但是在pimpleFoam的源码中找不到nu的创建代码(icoFoam的是可以在createFields.H里找到的)。我想这个应该在某个头文件里被定义好了,所以查看singlePhaseTransportModel.H:

就是说,这个类它在构造的时候,会自动读取transportPropertiesDict文件,并读取nu作为粘度。在pim的createFields里:

新建一个类laminarTransport(U,phi),在新建的时候会读取文件里的nu并作为其privateData。

所以,如果在pimpleFoam里想引用nu的话,需要改成laminarTransrpot.nu()。而且在类型上,icoFoam里nu是一个dimensionedScalar,但是在pimpleFoam里是一个volScalarField,创建时要注意区分,如:

volScalarField nu
(
    IOobject
    (
        "nu",
        runTime.timeName(),
        mesh,
        IOobject::NO_READ,
        IOobject::NO_WRITE
    ),
    laminarTransport.nu()
);

这样,nu就会是一个新建的层流粘度场,供后续使用。

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
OpenFOAM是一个开源的计算流体力学软件,提供了多种湍流求解和相应的案例。下面为你简要介绍一些常用的湍流求解和相应的案例。 1. k-epsilon模型:k-epsilon模型是一种经典的湍流模型,适用于各种流动情况。其求解OpenFOAM中被命名为"turbulent"。案例包括湍流管流、湍流圆柱绕流等。 2. k-omega SST模型:k-omega SST模型是一种较新的湍流模型,结合了k-epsilon模型和k-omega模型的优点,适用于各种流动情况,特别是适用于近壁流动。其求解OpenFOAM中被命名为"RAS"。案例包括湍流平板边界层、湍流马赫数的圆锥绕流等。 3. Spalart-Allmaras模型:Spalart-Allmaras模型是一种基于单方程的湍流模型,相比于k-epsilon模型和k-omega模型更简单,计算速度更快。其求解OpenFOAM中被命名为"SpalartAllmaras"。案例包括二维及三维的湍流流动、风力机叶片湍流模拟等。 4. Large Eddy Simulation (LES):LES是一种直接模拟湍流的方法,不依赖于湍流模型,适用于高雷诺数情况。其求解OpenFOAM中被命名为"LES"。案例包括湍流合流、湍流绕流等。 这些求解和案例只是OpenFOAM中湍流求解的一部分,通过OpenFOAM的灵活性和可扩展性,用户能够根据具体问题的需求选择相应的湍流模型和求解,进行湍流模拟和分析。同时,用户也可以根据需要开发自己的湍流模型和求解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kino Chan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值