codedFixedValue境界条件

投稿日時: 2018/11/18 S Nakagawa
OpenFOAM で,任意の分布をもつ境界条件を与える方法 codedFixedValue の使い方についてメモします.。

例えば,pitzDaily例題の入口において,高さ y 方向に線形の速度分布を与える場合,下記のように設定する。


    inlet
    {
        type            codedFixedValue;
        value           uniform (0 0 0);
        redirectType    velocityProfileInlet;   

        code
        #{
            const fvPatch& boundaryPatch = patch(); 
            const vectorField& Cf = boundaryPatch.Cf(); 

            vectorField& field = *this; 
            //scalar min = 0.501;  
            //scalar max = 0.751; 

            scalar yMin = 0;
            scalar uMin = 0;
            scalar yMax = 0.02;
            scalar uMax = 10;
            scalar yRange = yMax - yMin;
            scalar uRange = uMax - uMin;

            forAll(Cf, faceI)
            {
               // linear u profile
               scalar u = uMin + uRange * (Cf[faceI].y()-yMin) / yRange;
               field[faceI] = vector(u, 0, 0);
            }
        #};
    }

下記のサイトを参考にしました。
https://sourceflux.de/blog/the-codedfixedvalue-boundary-condition/