美文网首页
自适应网格加密算例解析

自适应网格加密算例解析

作者: charryzzz | 来源:发表于2021-02-25 10:28 被阅读0次

这周分享的自适应网格加密算例视频深受大家的喜爱,许多OpenFOAMer纷纷在后台留言表示感(qiu)兴(suan)趣(li)
经过一番查找,在Holzmann-cfd[1]上发现了算例,今天小编就和大家一起学习OpenFOAM中的自适应加密网格的设置方法

在本算例中,针对自适应网格加密的设置是在
constant/dynamicMeshDict
目录下实现,具体设置为

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh   dynamicRefineFvMesh;

dynamicRefineFvMeshCoeffs
{
// 指定应执行网格加密的频率,可以认为该值越大,加密程度越高
    refineInterval  1;

// 指定OF网格细化所依据的物理量。可以是标量或向量,如果使用矢量,则将利用该场的矢量幅度。只能指定一个对象进行网格细化。
    field           S;

// 加密所依据物理量的下界
    lowerRefineLevel 0.1;

// 加密所依据物理量的上界
    upperRefineLevel 1;

// 如果网格的加密值低于此阈值,则不会加密
    unrefineLevel   0.005;

// 加密网格与粗网格之间的缓冲层数,指定在进行下一级别的细化(或粗化)之前,网格必须保持多少层网格大小,典型范围是1-4
    nBufferLayers   1;

// 网格加密的最大层数
    maxRefinement   2;

// 最大的网格数量,避免网格总数过于巨大导致内存爆炸
    maxCells        400000;

// 需要校正的通量字段列表。 对于指定的通量场和相应的速度场。通过对速度进行插值,重新计算在面上更新的通量。对不需要重新插值的surfaceScalarFields上使用“ none”
    correctFluxes
    (
        (phi none)
        (nHatf none)
        (rhoPhi none)
        (ghf none)
    );

// 将网格加密的level输出为一个volScalarField
    dumpLevel       true;
}

// ************************************************************************* //

本算例中,加密依据的标量是S,在初始条件中可以发现S是一个具有fixed value边界条件的无源标量

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  6.x                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      S;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 0 0 0 0 0 0];

internalField   uniform 0;

boundaryField
{

    inlet
    {
        type            codedFixedValue;
        value           uniform 0;

        name            inletBC;

        code
        #{
            const vectorField& faceCenter = this->patch().Cf();

            scalarField values(faceCenter.size(), scalar(0));

            forAll(faceCenter, f)
            {
                const point faceCenterPoint = faceCenter[f];

                if (faceCenterPoint.y() > -0.0025 && faceCenterPoint.y() < 0.0025)
                {
                    values[f] = scalar(1);
                }
            }

            operator==(values);
        #};
    }
......

S的输运设置是在
system/controlDict

functions
{

    scalar
    {
        libs            ( "libsolverFunctionObjects.so" );
        type            scalarTransport;
        field           S;
        schemesField    S;
        resetOnStartup  false;
    }
}

  1. Holzmann-cfd: https://holzmann-cfd.com/community/training-cases/adaptive-mesh-refinement

相关文章

  • 自适应网格加密算例解析

    这周分享的自适应网格加密算例视频深受大家的喜爱,许多OpenFOAMer纷纷在后台留言表示感(qiu)兴(suan...

  • 20170929

    20170929 9:00 11:50 2:20 今天起晚了 激波结构算例,网格改为100×2,80,000步之后...

  • 2019-04-10响应式布局和自适应布局

    响应式布局和自适应布局详解 布局等于流动网格布局,而自适应布局等于使用固定分割点来进行布局。 自适应布局给了你更多...

  • Flex布局-实例

    一、基本网格布局 最简单的网格布局,就是平均分布。 HTML代码如下: CSS代码如下: 二、左边固定,右边自适应...

  • 什么是响应式

    响应式 布局等于流动网格布局,而自适应布局等于使用固定分割点来进行布局。 自适应布局给了你更多设计的空间,因为你只...

  • css网格背景

    利用background-image里的liner-gradient属性可以实现一些简单的css网格背景,能自适应...

  • OpenFOAM中网格局部加密

    为了降低整体的网格数量,同时保证局部高Re数区域的精确求解,我们往往需要对网格的局部进行加密。Google了很久也...

  • 宽度自适应的n种方法

    以 左边div固定宽度,右边自适应 为例,整理了下自适应的几种方法: 1. float浮动 && margin-l...

  • logstash 解析 nginx 日志

    配置 nginx 日志样例 解析结果 配置样例 样例一

  • OC-数据解析XML(sax)(一)

    OC-数据解析XML(sax)(一) 为什么进行解析 用于公司内部数据交互,加密 解析的方法: (1)XML解析 ...

网友评论

      本文标题:自适应网格加密算例解析

      本文链接:https://www.haomeiwen.com/subject/xnomtltx.html