wallShearStress 中的一些代码的定义



  • 各位好!
    最近正在使用wallShearStress这个后处理器。
    其中有一些代码并不知道是什么作用,还望各位大神不吝赐教。

    RASModel->devReff()//这一句确实不知道是用来干什么的
    
    
    //下面这几句分别是什么作用呢?
    singlePhaseTransportModel laminarTransport(U, phi);
    
    autoPtr<incompressible::RASModel> RASModel
    (
        incompressible::RASModel::New(U, phi, laminarTransport)
    );
    
    
    //下面的是对所有的patch, 也就是说不仅仅是wall,进行求解?
    forAll(wallShearStress.boundaryField(), patchi)
        {
            wallShearStress.boundaryField()[patchi] =
            (
                -mesh.Sf().boundaryField()[patchi]
                /mesh.magSf().boundaryField()[patchi]
            ) & Reff.boundaryField()[patchi];
        }
    

    非常感谢!



  • 目前知道第一句,就是
    RASModel->devReff() 是//- Return the effective stress tensor including the laminar stress
    那么问题来了,这个wallShearStress 后处理器是否只能适用于incompressible flow?



  • 我看了一下OpenFOAM 4的代码,和这个区别很大,单说下面这些代码

    RASModel->devReff()//这一句确实不知道是用来干什么的
    
    
    //下面这几句分别是什么作用呢?
    singlePhaseTransportModel laminarTransport(U, phi);
    //构造singlePhaseTransportModel类,命名为laminarTransport
    
    autoPtr<incompressible::RASModel> RASModel
    (
        incompressible::RASModel::New(U, phi, laminarTransport)
    );
    //构造autoPtr指针指向不可压缩RASModel模型,命名为RASModel
    
    //下面的是对所有的patch, 也就是说不仅仅是wall,进行求解?
    forAll(wallShearStress.boundaryField(), patchi)
        {
            wallShearStress.boundaryField()[patchi] =
            (
                -mesh.Sf().boundaryField()[patchi]
                /mesh.magSf().boundaryField()[patchi]
            ) & Reff.boundaryField()[patchi];
        }
    }
    //壁面剪切力,既然是壁面,只求解壁面,因此你说的是正确的
    //类似的处理在边界条件和壁面函数上很常见
    

    是的,你这个代码只能用与不可压流,可压缩需要考虑密度。



  • @李东岳
    谢谢东岳大神。

    我看了一下OpenFOAM的代码,它的wallShearStress 可以求解可压流动。
    只是再确认一下您说的最后一句话:“壁面剪切力,既然是壁面,只求解壁面,因此你说的是正确的,类似的处理在边界条件和壁面函数上很常见”
    也就是说虽然求解所有的patch,但是只有wall的边界条件是有意义的。是否是这样呢?


登录后回复
 

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