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. SHM尖锐直角边界层添加

SHM尖锐直角边界层添加

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

    最近在使用OF计算环形浮体的自衰减,采用k-omega SST模型,网格基于SHM离散,但是边角处的边界层始终贴合不上,请大神支支招。

    具体问题如下:

    • 边界贴合质量:尝试通过提升stl质量(SW和犀牛加密)/增加surfaceFeatureExtractDict-includedAngle/提升snappyHexMeshDict-features和refinementSurfaces level均没能很好地将边角贴合地很好。远看质量还行,但是边角网格质量细看却很差,请问有何提升方法
      9233d116-0d02-44a8-be50-0ec206baf398-image.png
      11f020db-9678-4f48-b4c0-ba248a6bafdb-image.png
      aa304558-3147-4c8e-aedc-82ccc15fc9f3-image.png

    • 基于k-omega SST计算的yplus在1000左右,首层边界层设置为1.75mm,发现是在内环面拐角处边界层未添加上,尝试好多办法均无法添加,大家有没有添加的办法

    /*--------------------------------*- 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      snappyHexMeshDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    castellatedMesh true;
    snap true;
    addLayers true;
    
    geometry
    {
        WECMiddle.stl
        {
            type triSurfaceMesh;
            name WECMiddle; 
            regions 
            {
                OBJECT // Defined in .stl file
                {
                   name WECMiddle;
                }
            }
        }
    
        WECMiddleWaveElevationRefineZone
        {
            type searchableBox;
            min (-17.5 -17.5 -1.25);
            max (17.5 17.5 11.25);
        }
    
        WECMiddleCornerRefineZone1
        {
            type searchableCone;
            point1 (0 0 -1.5);
            radius1 12.75;
            innerRadius1 7.25;
            point2 (0 0 -1);
            radius2 12.75;
            innerRadius2 7.25;
        }
    
        WECMiddleCornerRefineZone2
        {
            type searchableCone;
            point1 (0 0 11);
            radius1 12.75;
            innerRadius1 7.25;
            point2 (0 0 11.5);
            radius2 12.75;
            innerRadius2 7.25;
        }
    };
    
    castellatedMeshControls
    {
        maxLocalCells 200000000;
        maxGlobalCells 300000000;
        minRefinementCells 20;
        nCellsBetweenLevels 3;
        maxLoadUnbalance 0.1;
        allowFreeStandingZoneFaces true;
        resolveFeatureAngle 30;
        features
        (
            {
                file "WECMiddle.eMesh";
                level 5;
            }
        );
        refinementSurfaces
        {
            WECMiddle
            {
                level (3 3); // 1.25/2/2^3 0.0781
                patchInfo
                {
                    type wall;
                }
                regions
                {
                    WECMiddle
                    {
                        level (3 3);
                        patchInfo
                        {
                            type wall;
                        }
                    }
                }
            }
        }
        refinementRegions
        {
            WECMiddleWaveElevationRefineZone
            {
                mode inside;
                levels ((2 2));
            }
    
            WECMiddleCornerRefineZone1
            {
                mode inside;
                levels ((4 4));
            }
    
            WECMiddleCornerRefineZone2
            {
                mode inside;
                levels ((4 4));
            }
        }
        locationInMesh (0 0 0); // Generate meshes outside the body
    }
    
    snapControls
    {
        tolerance 2;
        implicitFeatureSnap false;
        explicitFeatureSnap true;
        multiRegionFeatureSnap true;
        detectNearSurfacesSnap true;
        nSmoothPatch 5;
        nSolveIter 300;
        nRelaxIter 8;
        nFeatureSnapIter 10;
        nSmoothInternal 5;
        nFaceSplitInterval 5;
    }
    
    addLayersControls
    {
        layers
        {
            WECMiddle
            {
                nSurfaceLayers 15;
            }
        }
        relativeSizes false;
        //thickness 0.1;
        firstLayerThickness 0.00175;
        //finalLayerThickness 0.1;
        expansionRatio 1.25;
        featureAngle 360;
        slipFeatureAngle 0;
        nGrow 0;
        nBufferCellsNoExtrude 0;
        minMedialAxisAngle 90;
        maxFaceThicknessRatio 0.5;
        maxThicknessToMedialRatio 0.3;
        minThickness 1e-06;
        nLayerIter 60;
        nRelaxIter 5;
        nSmoothSurfaceNormals 10;
        nSmoothNormals 3;
        nSmoothThickness 10;
        nRelaxedIter 20;
        nMedialAxisIter 10;
    }
    
    meshQualityControls
    {
        minVol 1e-20;
        minTetQuality 1e-20;
        minArea 1e-20;
        minTwist 0.05;
        minDeterminant 1e-06;
        minFaceWeight 0.02;
        minVolRatio 0.01;
        minTriangleTwist -1;
        minFlatness 0.5;
        maxNonOrtho 70;
        maxBoundarySkewness 20;
        maxInternalSkewness 4;
        maxConcave 80;
        nSmoothScale 4;
        errorReduction 0.75;
        relaxed
        {
            minVol 1e-30;
            minTetQuality 1e-30;
            minArea 1e-30;
            minTwist 0.001;
            minDeterminant 1e-06;
            minFaceWeight 1e-06;
            minVolRatio 0.01;
            minTriangleTwist -1;
            minFlatness 0.5;
            maxNonOrtho 75;
            maxBoundarySkewness 20;
            maxInternalSkewness 8;
            maxConcave 80;
            nSmoothScale 4;
            errorReduction 0.75;
        }
    }
    
    mergeTolerance 1e-08;
    
    debug 0;
    
    
    // ************************************************************************* //
    
    

    0c226a44-cff3-4a33-b829-95d6e30cc44c-image.png
    0d39797e-119a-4667-9247-3ff0e1b36a55-image.png
    36021323-1e69-4075-8dcd-73a4f553df2b-image.png

    • 首层边界层目前为1.75mm是调试很多次后得到的最小厚度,但仍然不满足要求,请问大家有没有进一步降低的方法

    先谢谢各位了:baobao:

    1 条回复 最后回复
  • H 离线
    H 离线
    hachikoi
    写于 最后由 编辑
    #2

    环形浮体的边角周围做了加了处理,之前以为是过渡不均匀造成的,但改善效果不明显
    浮体外半径12.5m,内半径7.5m 高度12.5m 向上提升5m做自衰减

    1 条回复 最后回复
  • X 离线
    X 离线
    xpqiu 超神
    写于 最后由 编辑
    #3

    meshQualityControls 部分把 relaxed 里面的质量控制参数再放宽一些。然后 nRelaxedIter 设置为 0。

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hachikoi
    在 中回复了 xpqiu 最后由 hachikoi 编辑
    #4

    @xpqiu 感谢大佬回复,问题已解决 请问大佬有遇到过多重overset计算错误的问题吗

    1 条回复 最后回复

  • 登录

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