是不是因为u取值的问题,能不能先拟合出符合实验数据的u,k,z0这三个关键参数,用这些拟合的参数来给openfoam算风廓线;
第二个问题也许是因为实验风廓线不是完美的对数廓线,导致不同参考高度和速度算出的风廓线不一样。
另外,我之前给ABL廓线的时候是用了codedFixedValue边界条件自己编了一段廓线生成代码给k、w和e用,你可以参考一下(我的环境是2.4.x):
    xMin
    {
        type            codedFixedValue;
        value           $internalField; //default value
        redirectType    kAtm; //name of new BC type
        code
        #{
            const fvPatch& inletPatch = this->patch();
            scalarField& vf = *this; 
            forAll(vf, i)
            { 
                scalar z = inletPatch.Cf()[i].z();
                scalar z_Ground = 8;
                scalar Cmu = 0.11;
                scalar uStar = 0.618;
                scalar z0 = 0.03;
                scalar C1 = -0.1693041080673375; // C1和C2根据实验数据的k拟合得到
                scalar C2 = 3.668086709040146;
                vf[i] = sqr(uStar)/sqrt(Cmu) * sqrt(C1*log((z - z_Ground + z0)/z0) + C2);
            }
        #};
    }
w和e的边界条件代码同理
