如何修改求解器计算速度分量的导数



  • 大家好,我想在of中输出每个时间步下速度分量的导数,比如输出$\frac{\partial U(x)}{\partial x}$ ,$\frac{\partial U(y)}{\partial y}$。如何在求解器里面实现?我找到了标量的写法,速度矢量不知道如何处理。

            volVectorField gradT(fvc::grad(T));
    
            volScalarField gradTx
            (
                IOobject
                (
                    "gradTx",
                    runTime.timeName(),
                    mesh,
                    IOobject::NO_READ,
                    IOobject::AUTO_WRITE
                ),
                gradT.component(vector::X)
            );
    
            runTime.write();
        }
    


  • fvc::grad(U.component(0))



  • @东岳 谢谢东岳大神 :140:



  • @东岳
    李老师,

        if (runTime.outputTime())
        {
            volVectorField gradUx(fvc::grad(U.component(0)));
            volVectorField gradUz(fvc::grad(U.component(2)));
    
            volScalarField dUxdx_add_dUzdz
            (
                IOobject
                (
                    "dUxdx_add_dUzdz",
                    runTime.timeName(),
                    mesh,
                    IOobject::NO_READ,
                    IOobject::AUTO_WRITE
                ),
                gradUx.component(vector::X)+gradUz.component(vector::Z)
            );
    
            runTime.write();
        }
    

    U.component(0)指的是vx,U.component(2)指的是vz
    我想问一下 gradUx.component(vector::X)中的X或者gradUz.component(vector::Z)中的Z分别指的是什么?是否与坐标轴一致?


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2