关于passive scalar受湍流作用的疑问?



  • 最近在把passive scalar项写进simpleFoam来算一个标量场。但是对于湍流对这个标量场的影响有一点疑问。

    首先是标量场的方程,参考scalarTransportFoam方程如下:

                fvm::ddt(T)
              + fvm::div(phi, T)
              - fvm::laplacian(DTt, T)
             ==
                fvOptions(T)
    

    然后在creatFields.H 里面定义湍流对其影响。公式参考如下
    D = D_{molecular} + \frac{\nu_t}{Sc_t}

    代码如下:

    Info<< "Reading diffusivity DT\n" << endl;
    
    dimensionedScalar DT
    (
        transportProperties.lookup("DT")
    );
    
    Info<< "Reading turbulent Schmidt number\n" << endl;
    
    dimensionedScalar Sct
    (
        transportProperties.lookup("Sct")
    );
    
    volScalarField DTt
    (
        IOobject
        (
            "DTt",
            runTime.timeName(),
            mesh,
            IOobject::NO_READ,
            IOobject::NO_WRITE
        ),
        nut/Sct + DT,
        nut.boundaryField().types()
    );
    

    这里面Sct是Schmidt number, DT是 标量场的diffusivity
    这也是目前我正在用的solver
    但是网络还有另一种改法,不需要知道标量场的diffusivity,取而代之的是需要知道Prt 和Pr
    标量方程改成如下:

    volScalarField kappaEff
    (
        "kappaEff",
        turbulence->nu()/Pr + turbulence->nut()/Prt
    );
    
    fvScalarMatrix DTEqn
    (
        //fvm::ddt(DT)
      fvm::div(phi, DT)
      - fvm::laplacian(kappaEff, DT)
      ==
      fvOptions(TS) 
    );
    

    DTEqn.relax();
    DTEqn.solve();

    请问这两种有什么区别?为什么一个需要标量场的diffusivity 另一个不需要?



  • 我懂了。 这里的diffusivity= nu()/Pr 对吧



  • @chpjz0391 什么方向?溶质传输?还是RTD?



  • @chpjz0391 嗯 是的 。 其实是一样的 换汤不换药