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. 使用CodeFixedValue对非均匀速度场的编写

使用CodeFixedValue对非均匀速度场的编写

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

    大家好!我最近参考杨易老师2017年关于中性风场自保持的文献中的设置和KOmegaSST模型来用CodeFixedValue对inlet的U,k,OMEGA进行了编写,大概类似于中性大气环境湍流动能的自保持。 (https://cfd-china.com/topic/6231/中性大气环境湍流动能的自保持-附有算例下载)但是我在decomposePar进行并行运算时候出现问题,看看有没有大佬能帮忙解决。下面附带我u,k,omega的代码,看看是不是代码问题还是其他的地方有问题。谢谢!:135:
    decomposePar中出现的问题time=0时候

    -> FOAM Warning : 
        From const Foam::HashTable<Foam::List<int> >& Foam::polyBoundaryMesh::groupPatchIDs() const
        in file meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C at line 510
        Removed patchGroup 'symmetry' which clashes with patch 2 of the same name.
    
    
    --> FOAM FATAL IO ERROR: (openfoam-2012)
    Cannot find patchField entry for symmetry
    
    file: /home/user3/SHUKK/monixuexi/313_RANS_lianxi/0/k.boundaryField at line 25 to 64.
    
        From void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh]
        in file /home/user3/OpenFOAM/OpenFOAM-v2012/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 172.
    
    FOAM exiting
    
    

    k

    /*--------------------------------*- 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;
        object      k;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 2 -2 0 0 0 0];
    
    internalField   uniform 1;
    
    boundaryField
    {
        inlet
        {
            type            codedFixedValue;
            value           uniform 0.1; //default value
            name            kinlet; //name of new BC type
            code
            #{
                const fvPatch& boundaryPatch = this->patch();
                
                scalarField& vf = *this; 
                forAll(vf, i)
                { 
                    scalar z = boundaryPatch.Cf()[i].y();
    
                    scalar D1 = -1.515;
                    scalar D2 = 7.463;
                    scalar alpha = 0.25;
                    vf[i] = sqrt(D1*pow(z, alpha) + D2);
                }
            #};
        }
    
        upperwall
        {
            type            symmetry;
        }
    
        lowerwall
        {
            type            kqRWallFunction;
            value           uniform 0.375;
        }
    
        outlet
        {
            type            zeroGradient;
        }
    
        building
        {
          type            kqRWallFunction;
          value           uniform 0.375;  
    
        }
    }
    
    // ************************************************************************* //
    

    U

    
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 1 -1 0 0 0 0];
    
    internalField   uniform (0 0 0);
    
    boundaryField
    {
        inlet
        {
            type            codedFixedValue;
            value           uniform (0 0 0); //default value
            name            uinlet; //name of new BC type
            code
            #{
                const fvPatch& boundaryPatch = this->patch();
                
                vectorField& vf = *this; 
                forAll(vf, i)
                { 
                    scalar z = boundaryPatch.Cf()[i].y();
                    //scalar uStar = 0.511;
                    //scalar z0 = 2.25e-4;
                    //scalar kappa = 0.42;
                    //vf[i].x() = uStar/kappa*log((z + z0)/z0);
                    //vf[i].y() = 0.0; 
                    //vf[i].z() = 0.0; 
    
                    scalar ur = 11.0;
                    scalar alpha = 0.25;
                    scalar zr = 0.40;
                    vf[i].x() = ur*pow(z/zr, alpha);
                    vf[i].y() = 0.0; 
                    vf[i].z() = 0.0; 
                }
                operator==(vf)
            #};
        }
    
        outlet
        {
            type            zeroGradient;
        }
    
        upperWall
        {
            type            symmetry;
        }
    
        lowerWall
        {
            type            noSlip;
        }
    
        symmetry
        {
            type            symmetry;
        }
    
        building
        {  
            type          fixedValue; 
            value         uniform (0 0 0);
        }
    }
    
    // ************************************************************************* //
    

    omega

    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 0 -1 0 0 0 0];
    
    internalField   uniform 1;
    
    boundaryField
    {
       inlet
        {
            type            codedFixedValue;
            value           uniform 0.1; //default value
            name            omegainlet; //name of new BC type
            code
            #{
                const fvPatch& boundaryPatch = this->patch();
                
                scalarField& vf = *this; 
                forAll(vf, i)
                { 
                    scalar z = boundaryPatch.Cf()[i].y();
    
                    //scalar uStar = 0.511;
                    //scalar z0 = 2.25e-4;
                    //scalar kappa = 0.4;
                    //scalar C1 = -0.17;
                    //scalar C2 = 1.62;
                    //scalar Cmu = 0.42;
                    //vf[i] = uStar/(z +z0)/kappa/sqrt(Cmu);
    
                    scalar ur = 11.0;
                    scalar alpha = 0.25;
                    scalar Cmu = 0.08;
                    scalar zr = 0.4;
                    scalar u = ur*pow(z/zr, alpha);
                    vf[i] = (alpha/sqrt(Cmu))*u/z;
                }
            #};
    
        outlet
        {
            type            zeroGradient;
        }
    
        upperWall
        {
            type            symmetry;
        }
    
        lowerWall
        {
            type            omegaWallFunction;
            value           $internalField;
        }
    
        symmetry
        {
            type            symmetry;
        }
    
        building
        {
            type            omegaWallFunction;
            value           $internalField;
        }
    }
    
    // ********************************************************************* //
    
    W 1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #2

    我那个算例好像没有添加symmetry类型。这个是你自己加的么。

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

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

    @李东岳 对的,我是看杨易老师依照2017年的文献来设置的实操文献里面,计算域的左右和顶部都是symmetry,还有按照杨易老师设置无法保证自保持。 :135: f3f1ae1c-0d9c-407a-b6dc-1bab494475f3-_72()ML{XXP2SHNW}2SQ$Q4.png

    李东岳李 1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    在 中回复了 SHUKK 最后由 编辑
    #4

    @SHUKK 这个里面有算例,你直接下载,allrun就可以

    https://www.cfd-china.com/topic/6231/中性大气环境湍流动能的自保持-附有算例下载/24

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

    S 2 条回复 最后回复
  • S 离线
    S 离线
    SHUKK
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 好的,谢谢李老师!我去试试,看看有没有问题。:chouchou:

    1 条回复 最后回复
  • S 离线
    S 离线
    SHUKK
    在 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 李老师,我刚刚试了最新的算例。发现还是有这个问题,我也检查了我边界是不是没有一一对应的问题。:136:

    1 条回复 最后回复
  • W 离线
    W 离线
    wangfei9088 大神
    在 中回复了 SHUKK 最后由 编辑
    #7

    @SHUKK 在 使用CodeFixedValue对非均匀速度场的编写 中说:

    Removed patchGroup 'symmetry' which clashes with patch 2 of the same name.

    看这意思是patch名和type名重名了呀,看下面这个。。。

    @SHUKK 在 使用CodeFixedValue对非均匀速度场的编写 中说:

    symmetry
    {
        type            symmetry;
    }
    
    S 1 条回复 最后回复
  • S 离线
    S 离线
    SHUKK
    在 中回复了 wangfei9088 最后由 编辑
    #8

    @wangfei9088 这个以前用LES我没留意到,我现在就发现是我k里面忘记加左右壁面的,我重新做一个网格看看:146:

    1 条回复 最后回复
  • S 离线
    S 离线
    SHUKK
    写于 最后由 编辑
    #9

    按照李东岳老师的case修改即可完成本项工作。:huahua:

    1 条回复 最后回复

  • 登录

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