OpenFOAM可变边界条件codedFixedValue

OpenFOAM中可以通过codedFixedValue边界条件来实现空间及时间分部的边界条件
举个栗子,在射流外设置一个线性分布的速度场

AirInlet
    {
        //type            fixedValue;
        //value           uniform (0 0 0.61);
        type        codedFixedValue;
        value       uniform (0 0 6.10);
    
        name    linearVelocity;
        code
        #{
            const vectorField& Cf = patch().Cf();   //center of the patch
            vectorField& field = *this;             //the target velocity field

            const scalar Umax = 6.1;
            const scalar r1 = 0.02;                 //radius of the hot coflow
            const scalar r2 = 0.06;                 //radius of the domain
        
            forAll(Cf, faceI)
            {
                const scalar x = Cf[faceI][0];
                const scalar y = Cf[faceI][1];
                const scalar R = sqrt(x*x+y*y);
                
                if(R>r1){
                    field[faceI] = vector(0,0,Umax*(r2-R)/(r2-r1));
                }
            }
        #};
    }

如需要设置随时间变化的边界条件,可采用如下方法得到OF运行时间

this->db().time().value();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容