Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    关于CreateTurbulenceFieldsLES疑问

    OpenFOAM
    2
    2
    412
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • benqing
      benqing last edited by

      想计算LES下的耗散率,搜到cfdonline的一个程序CreateTurbulenceFieldsLES,是这个createTurbulenceFieldsLES2.zip ,这个是cfdonline链接,里面对于耗散率的计算非常简单,贴下代码

      volScalarField epsilon
      (
      IOobject
      (
      	"epsilon",
       	runTime.timeName(),
       	mesh,IOobject::NO_READ,
       	IOobject::NO_WRITE
       ),
       turbulence->epsilon()
       );
      

      对于这个不是很理解,箭头应该是指针吧,但是我不能很好的找到计算公式,貌似是采用的层流下的计算方式,因为在这个程序另一个文件createFields.H下有这么一处代码:

          singlePhaseTransportModel laminarTransport(U, phi);
      
          autoPtr<incompressible::turbulenceModel> turbulence
          (
              incompressible::turbulenceModel::New(U, phi, laminarTransport)
          );
      

      然后我找了下层流laminar.C下计算的方法

      tmp<volScalarField> laminar::epsilon() const
      {
          return tmp<volScalarField>
          (
              new volScalarField
              (
                  IOobject
                  (
                      "epsilon",
                      runTime_.timeName(),
                      mesh_,
                      IOobject::NO_READ,
                      IOobject::NO_WRITE
                  ),
                  mesh_,
                  dimensionedScalar
                  (
                      "epsilon", sqr(U_.dimensions())/dimTime, 0.0
                  )
              )
          );
      }
      

      两个具体问题,我找的laminar.C这个是不是计算epsilon的公式,第二个问题层流下计算耗散率epsilon的公式为什么是这样的,按照定义应该是下图这样的,Eij就是指耗散率,应该是脉动速度的乘积,希望得到解答,谢谢!
      8545ee27-f883-41aa-8142-3a38baddc552-image.png

      1 Reply Last reply Reply Quote
      • bestucan
        bestucan 版主 副教授 last edited by

        箭头是对指针的成员的引用,找到这个类的定义:turbulenceModel.H

        epsilon()函数声明在205行,是个虚函数,所以在 turbulenceModel.C 里没有定义,而是在使用其作为模板创建新类的时候再各自定义

        在上面那个窗口里搜 epsilon() 函数:
        Screenshot from 2020-09-15 16-37-07.png

        看你的情况是用的哪种定义,其实里面 epsilon() 函数定义大差不差,
        你用的 LES,咋找上层流的了,你找的那个确实是层流的对于 epsilon() 的一个实现,在我发的那个图片里也有

        脉动速度都用上了,那应该不是层流了,速度分成脉动速度和平均速度这就是用了湍流模型了

        滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

        异步沟通方式(《posting style》from wiki)(下载后打开):
        https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
        提问的智慧(github在gitee的镜像):
        https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md

        1 Reply Last reply Reply Quote
        • First post
          Last post

        CFD中文网 | 东岳流体 | 京ICP备15017992号-2