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. 自由来流下的网框表面流速异常

自由来流下的网框表面流速异常

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

    各位老师好,

    【问题描述】
    本人在使用pimpleFoam模拟固定式网框在自由来流(u=0.5m/s)中的响应。整个流场的计算结果符合预期,可是网框表面处的流速竟然高达1e2量级,明显与现实不符,结果云图如下:(侧视图)
    e59d1920-1831-4e46-922a-23aad7444b8a-image.png
    c0594fbf-9bfc-4ccc-a9b7-beda4decba10-image.png

    【分析】
    网框截面原本比本帖中展示的要更小,起初正方形边长仅分布四个网格,为了排除网格数量对结果的影响,特意扩大了截面,增加边长网格数量。但是现在依然存在这个问题。

    【初始条件设置】
    以下摘抄0文件夹设置:
    p:

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  v2012                                 |
    |   \\  /    A nd           | Website:  www.openfoam.com                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
    	version     2.0;
    	format      ascii;
    	class       volScalarField;
    	location    "0";
    	object      p;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    #include "../varsSettings" //Include global variables
    
    dimensions	[0 2 -2 0 0 0 0];
    
    internalField	uniform	0;
    
    boundaryField
    {
        inlet
        {
            type            zeroGradient;
        }
    
        outlet
        {
            type            fixedValue;
            value           $internalField;
        }
    
        frontAndBack
        {
            type            zeroGradient;
        }
    
        topAndBottom
        {
            type            zeroGradient;
        }
        
        frame
        {
            type            fixedFluxPressure;
        }
    }
    
    
    // ************************************************************************* //
    

    U:

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  v2012                                 |
    |   \\  /    A nd           | Website:  www.openfoam.com                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       volVectorField;
        location    "0";
        object      U;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    #include "../varsSettings" //Include global variables
    
    dimensions	[0 1 -1 0 0 0 0];
    
    internalField	uniform	$flowVelocity;
    
    boundaryField
    {
        inlet
        {
            type		fixedValue;
            value		$internalField;
        }
    
        outlet
        {
            type		inletOutlet;
            inletValue	uniform (0 0 0);
            value		$internalField;
        }
    
        frontAndBack
        {
            type		slip;
            value		uniform (0 0 0);	
        }
    
        topAndBottom
        {
            type		slip;
            value		uniform (0 0 0);
        }
        
        frame
        {
    /*        type            noSlip; */
            type            movingWallVelocity;
            value           uniform (0 0 0);
        }
    }
    
    
    // ************************************************************************* //
    

    pointDisplacement:

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  5                                     |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       pointVectorField;
        object      pointDisplacement;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 1 0 0 0 0 0];
    
    internalField   uniform (0 0 0);
    
    boundaryField
    {
    	inlet
    	{
    		type            fixedValue;
    		value           uniform (0 0 0);
    	}
    
    	outlet
    	{
    		type            fixedValue;
    		value           uniform (0 0 0);
    	}
    	
    	frontAndBack
    	{
    		type            fixedValue;
    		value           uniform (0 0 0);
    	}
    	
    	topAndBottom
    	{
    		type            fixedValue;
    		value           uniform (0 0 0);
    	}
    
    	frame
    	{
    		type            calculated;
    		value           uniform (0 0 0);
    	}
    }
    
    // ************************************************************************* //
    

    【算例设置】
    functionalTest_NoPZRefine1.zip
    生成网格createMesh,
    跑算例runCaseOnly,
    全流程runCase

    希望各位老师能给出建议~@李东岳

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

    这是带动网格的?

    你这个paraview的图片,最好把原始的网格显示出来,把斜线去掉,这样看不清

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

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

    @李东岳 是的老师,这里我为了排错,先把动网格用constraints六自由度都固定住。
    以下附图:
    bf862295-9608-439b-80a8-4468e486b935-image.png
    be39339e-5c0c-4e14-b928-c616471d493c-image.png

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

    你用静网格有问题么

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

    liujmL 1 条回复 最后回复
  • liujmL 离线
    liujmL 离线
    liujm
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 静态网格也是有这个问题的。按理说不应该啊...我再跑跑其他类似的原生算例

    p:

    #include "../varsSettings" //Include global variables
    
    dimensions	[0 2 -2 0 0 0 0];
    
    internalField	uniform	0;
    
    boundaryField
    {
        inlet
        {
            type            zeroGradient;
        }
    
        outlet
        {
            type            fixedValue;
            value           $internalField;
        }
    
        frontAndBack
        {
            type            empty;//zeroGradient;
        }
    
        topAndBottom
        {
            type            zeroGradient;
        }
        
        frame
        {
            type            zeroGradient;//fixedFluxPressure;
        }
    }
    

    U:

    #include "../varsSettings" //Include global variables
    
    dimensions	[0 1 -1 0 0 0 0];
    
    internalField	uniform	$flowVelocity;
    
    boundaryField
    {
        inlet
        {
            type		fixedValue;
            value		$internalField;
        }
    
        outlet
        {
            type		inletOutlet;
            inletValue	uniform (0 0 0);
            value		$internalField;
        }
    
        frontAndBack
        {
            type		empty;//slip;
            //value		uniform (0 0 0);	
        }
    
        topAndBottom
        {
            type		slip;
            value		uniform (0 0 0);
        }
        
        frame
        {
            type            noSlip;//movingWallVelocity;
            //value           uniform (0 0 0);
        }
    }
    

    算例文件 OpenfOAM2012 网格数4w
    functionalTest_NoPZRefine2_2D_staticMesh.zip

    1 条回复 最后回复
  • liujmL 离线
    liujmL 离线
    liujm
    写于 最后由 liujm 编辑
    #6

    有了一些眉目,排除了网格密度不够的因素,确定与网格加密方式有关。

    图1是以前的网格加密方式,这样会导致网框附近速度异常;改为图2的加密方式,便会达到预期,即网框附近速度也约为预设速度。

    而图2只是在图1的基础上,将z方向所有的加密网格都延伸至计算域边界,只要有一级网格不触及边界(如图3的加密方式),都会计算异常。

    目前,还不清楚具体原因。 在这里记录一下,希望看到的大佬能够帮忙解答~

    图1-1 来流方向视图
    c1a90e71-f4c3-43f9-93c0-7583ea0904b3-image.png

    图1-2 侧视图
    694cd6a6-9095-4b14-b2e1-ba3de5fb66ca-image.png

    图2-1 来流方向视图
    e8824dce-fca5-487c-b883-077dc461fb8a-image.png

    图2-2 侧视图
    dfacc179-27b6-4c20-b504-b58a2482640c-image.png

    图3 来流方向视图
    e5f2408a-cbe5-4ac8-931b-0c8c7588d5bc-image.png

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

    用你1楼提供的算例运行,发现在 subsetMesh这一步之后,得到的 frame 边界的 type 是 empty,并且 0 文件里面 U,p 场的 frame 边界的边界条件也变成了 empty。所以,之后的计算你这个 frame 边界都是以 empty 边界条件在运行,结果肯定就完全错了。
    解决办法:在 subsetMesh 这一步之后把0文件里面那些场的边界条件修改过来,改成正确的设置再重新计算。
    跑了几步,结果如下:

    image.png

    image.png

    liujmL 1 条回复 最后回复
  • liujmL 离线
    liujmL 离线
    liujm
    在 中回复了 xpqiu 最后由 liujm 编辑
    #8

    @xpqiu

    十分感谢老师的指点!

    我检查了所有异常算例,发现问题的确都与0文件中的初始设置有关。

    • 在这个算例里,命令subsetMesh -overwrite frameCellSet -patch frame会将frameCellSet网格区域与frame链接,但是由于没有显式划分frame,因此,subsetMesh会默认生成一个empty类型的边界。

    • 六楼的分析存在大问题,没有参考的必要了。

    再次感谢两位老师的指点:146: ~

    1 条回复 最后回复

  • 登录

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