如何隐式离散应变率张量
-
请教大家一个问题。
如果将雷诺应力按如下方式分解
$$
\boldsymbol{\tau}^{m}=\nu_{t}^{L} \mathbf{S}+\left(\boldsymbol{\tau}-\boldsymbol{\tau}^{L}\right)+\operatorname{tr}(\boldsymbol{\tau})
$$
其中$\nu_{t}^{L}$可以理解为湍流涡黏系数(但有所不同)。$\mathbf{S}=\frac{1}{2}\left[\nabla \mathbf{U}+(\mathbf{\nabla} \mathbf{U})^{T}\right]$是应变率张量(strain-rate tensor)。
如果要求$\mathbf{S}$隐式离散,在OpenFOAM中应该如何实现?(The strain rate tensor $\mathbf{S}$ is treated implicitly in the modified flow solver.)我个人的理解:
以不可压缩流动为例,OpenFOAM-7中对应的雷诺应力计算方式为:template<class BasicTurbulenceModel> Foam::tmp<Foam::fvVectorMatrix> Foam::linearViscousStress<BasicTurbulenceModel>::divDevRhoReff ( volVectorField& U ) const { return ( - fvc::div((this->alpha_*this->rho_*this->nuEff())*dev2(T(fvc::grad(U)))) - fvm::laplacian(this->alpha_*this->rho_*this->nuEff(), U) ); }
因此,只有$\nabla \mathbf{U}$是隐式离散,而$(\mathbf{\nabla} \mathbf{U})^{T}$其实是显式离散的。并且也没有直接使用$\mathbf{S}$,相当于是把 $2\mathbf{S}$ 做了分解。
如果要对$\mathbf{S}$进行隐式离散,是不是应使用
fvm::div()
?
$\nu_{t}^{L} \mathbf{S}$ 应该如何表示 ?