Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. refineMesh + overset 计算带来很大误差。

refineMesh + overset 计算带来很大误差。

已定时 已固定 已锁定 已移动 OpenFOAM
rotation
3 帖子 2 发布者 1.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • P 离线
    P 离线
    Perseus
    写于 最后由 编辑
    #1

    大家好,我想仿真2D均匀流场中放置一个强迫旋转的椭圆,openfoam版本是v2306。

    如果我使用AMI,那么可以得到和其他论文十分接近的结果,涡量图如下所示。
    250992a4-b67c-4249-9783-3b5d9f405b18-image.png

    但是当我使用overset的时候,会出现比较大的偏差,在我对结果进行可视化之后,我发现在我使用局部加密的位置会出现很明显的间断,如下图所示,我觉得这可能是主要的误差来源。
    ef44e5dc-2fea-493b-b999-811e1a6ac061-image.png
    以下是我的网格:
    c3a38ffe-90bb-445b-b287-f2f7d8901bfd-image.png
    在我绘制涡量图时,会更加奇怪:
    6911de39-bf50-40c1-98c8-6bcc1d146a59-image.png

    局部加密用的是openfoam自己的toposet和refineMesh,以下是对应的配置文件

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  v2306                                 |
    |   \\  /    A nd           | Website:  www.openfoam.com                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      refineMeshDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    // Cells to refine; name of cell set
    set refine3;
    
    // Type of coordinate system:
    // - global : coordinate system same for every cell. Usually aligned with
    //   x,y,z axis. Specify in globalCoeffs section below.
    // - patchLocal : coordinate system different for every cell. Specify in
    //   patchLocalCoeffs section below.
    // - fieldBased : uses the list of field names from the directions list for
    //   selecting the directions to cut. Meant to be used with geometricCut, but
    //   can also be used with useHexTopology.
    coordinateSystem global;
    //coordinateSystem patchLocal;
    //coordinateSystem fieldBased;
    
    // .. and its coefficients. x,y in this case. (normal direction is calculated
    // as tan1^tan2)
    globalCoeffs
    {
        tan1 (1 0 0);
        tan2 (0 1 0);
    }
    
    
    // List of directions to refine, if global or patchLocal
    directions
    (
        tan1
        tan2
        normal
    );
    
    // List of directions to refine, if "fieldBased". Keep in mind that these
    // fields must be of type "vectorField", not "volVectorField".
    //directions
    //(
    //    radialDirectionFieldName
    //    angularDirectionFieldName
    //    heightDirectionFieldName
    //);
    
    // Whether to use hex topology. This will
    // - if patchLocal: all cells on selected patch should be hex
    // - split all hexes in 2x2x2 through the middle of edges.
    useHexTopology  true;
    
    // Cut purely geometric (will cut hexes through vertices) or take topology
    // into account. Incompatible with useHexTopology
    geometricCut    false;
    
    // Write meshes from intermediate steps
    writeMesh       false;
    
    // ************************************************************************* //
    
    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  v2006                                 |
    |   \\  /    A nd           | Website:  www.openfoam.com                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      topoSetDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    actions
    (
        {
            name    refine3;
            type    cellSet;
            action  new;
            source  boxToCell;
            min     (-2 -2 -0.5);
            max     (2 2 0.5);
        }
    );
    
    // ************************************************************************* //
    

    我想请问一下如果我使用局部加密网格,那么我有哪些需要注意的地方吗?

    以上,希望各位大佬可以拨冗指点迷津。

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    你用overset,然后不适用refineMesh,会这样么?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    P 1 条回复 最后回复
  • P 离线
    P 离线
    Perseus
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 老师,如果不使用refineMesh的话,结果会好很多,而且和论文中的Cd, Cl指数可以基本对上,但是在overset的边缘处还是会有一点问题。
    648bb924-7f1b-4e8c-a39d-48cc7c40906e-image.png

    我的oversetInterpolation的method使用的是inverseDistance.

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]