关于max()函数的疑问



  • hey there!
    我想请教一下关于max()函数的机理。
    以下是我的代码

    //----------------------------sensor-------------------------------------//
            volScalarField Uy = mag(U.component(vector::Y));
            volVectorField gradUy = fvc::grad(Uy);
            volScalarField gradUyy = mag(gradUy.component(vector::Y));
            gradUyyN = gradUyy/max(gradUyy);
    
    //        using tensor
            volTensorField gradU0 = fvc::grad(U);
            volScalarField gradU1 = mag(gradU0.component(tensor::YY)); 
            gradUtN = gradU1/max(gradU1);
    //
            volScalarField gradrho = mag(fvc::grad(rho));
            gradrhoN = gradrho/max(gradrho);
    //----------------------------sensor-------------------------------------//
    

    因为要作为检测器使用,我需要将gradrhogradU做无次元化处理,使其的值范围在0-1之间。
    这里我用了两种方法算了gradU的值,结果显示它们是一样的。

    问题:
    gradrhoN具有0-1的值范围。
    然而 gradU的范围却在 下限:一个很小的值10的负20次方左右 ------上限:0.5左右

    下限不为0的倒是可以理解,但是上限为什么不是1?
    max/max!=1???

    谢谢



  • nevermind,用gMax代替max就可以了


登录后回复
 

与 CFD 中国 的连接断开,我们正在尝试重连,请耐心等待