关于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 另一个不需要?