湍流/亚格子普朗特数 (转载自本人知乎专栏随笔)

作者:印子斐
链接:https://zhuanlan.zhihu.com/p/20727026
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文目前从不可压缩流的标量输运的角度来介绍湍流模型中的普朗特数,可压缩流动并不是我的科研方向。我也都是边用边学,不太严谨。此专栏中均为随笔,都是空余时间随便写写,一般不会细致参考文献和书,也不会包含推导,如果有错或者愿意提供参考出处,请留言。

1.先说雷诺时均模型(RANS)

在可压缩流的湍流模型中,大家常常会见到一个参数,\alpha_t (Eddy diffisivity)。\alpha_t\nu_t的关系就是:

\alpha_t = \nu_t/Pr_t

其中的Pr_t就是所谓的湍流普朗特数了。至于他的来龙去脉,我们慢慢分析。

在湍流模型中,基于boussinesq approximation,雷诺应力u_iu_j可以表示为

u_ju_j = \frac{2}{3}\delta_{ij}k - 2 \nu_t S_{ij}

那在被动标量输运的过程中,对应的量为turbulent heat flux u_jh,至于定义呢,就比较麻烦了,如果是与eddy viscosity \nu_t进行类比,那么就可以用\alpha_t来计算。如果假设heat flux方向与标量梯度方向重合的话,就可以定义为:

u_j h = -\alpha_t \frac{\partial \theta}{\partial x_j}

其中的\alpha_t称为eddy diffusivity,\theta为被输运的标量,可以是温度,可以是流体组分。是不是很简洁明了?但是这是基于heat flux 方向与标量梯度重合的假设,并不完全符合实际。类比一下eddy viscosity model 建模\nu_t和Reynolds Stress Model建模u_iu_j。另一种建模heat flux的方法就是所谓的tensor diffisivity,也就是不再用标量\alpha_t而是用张量。其中的代表有Generalized Gradient Diffusivity Hypnosis,定义为:

u_jh = -D_{ji} \frac{\partial \theta}{\partial x_i}

GGDH更好地表示了标量输运的物理过程,但是与实际物理情况仍然有很大差距,暂不赘述。

目前在雷诺时均模型(RANS)中运用最多的就是eddy viscosity model,比如Spalart Allmaras, k-\omegak-\omega SST, k-\epsilon等,既然用了\nu_t,那么直接用\alpha_t肯定是最方便的,定义一个Pr_t就好了。然而定义这个常数还是颇为曲折的,在对低雷诺数槽道流的DNS模拟中,靠近壁面时Pr_t大约是1.2,靠近槽道中间时大约是0.7。这可出了难题了,于是大家提出了各种各样的Pr_t值,比如比较常用的是0.85和0.9两种值,一般默认为全局一致的标量。Kays and Crawford提出了一个公式,在远离壁面时为0.85,靠近壁面时damp到1.7,并没有什么推导过程,只是为了拟合DNS数据或者data correlation罢了。

当然在雷诺应力模型(RSM/SMC)中,因为雷诺应力本来就六项分别建模了,很自然也可以用GGDH模型,具体要了解的直接google GGDH即可。总之我没用过不知道具体效果。

2.再说说大涡模拟

在大涡模拟中,这就不是湍流普朗特数Pr_t了,而是亚格子普朗特数Pr_{sgs}。这就有点坑了,感觉至今建模都没有很完善。

在各向同性湍流中(Homogeneous Isotropic Turbulence),如果LES的cut-off length(这个的中文翻译是什么?)在惯性子区内的话,如果Smagorinsky常数大约是0.17,那么这个Pr_{sgs}大约就是0.4左右。而在a~priori测试中,某些人(Moin?)又发现这个参数在0.2 ~ 0.5之间。总是也不是一个全局常数。

当然,既然没有一个确定的数值,大家就很欢乐地进行动态计算。如果你知道有个大涡模拟的模型叫做dynamic Smagorinsky model (DSM)的话,那你说不定知道Germano identity.

定义大约是酱(有可能差个符号,改天翻下书看看)。取的是trace-free part

L_{ij} = \widehat{u_ju_j} - \hat{u_i}\hat{u_j}

那相对应地,也可以定义一个给标量输运用

K_i = \widehat{u_i \theta} - \hat{u_i}\hat{\theta}

在DSM中,M_{ij}也对应过来修改成某个X_i,然后Pr_{sgs}就可以计算了

Pr_{sgs} = \frac{K_i X_i}{X_i X_i}

其余的定义包括\alpha_{sgs}也类比一下RANS就可以了。当然,这个参数也是要进行统计平均的。这里又很坑,不能像Smagorinsky constant一样直接把负的都截到0就行了,毕竟Pr_{sgs}趋于0的话有可能使得subgrid Diffusivity特别大导致计算不稳定。

3.CFD软件

很奇怪的一点,在OpenFOAM中,Pr_t竟然是取1。好吧有可能对结果影响不是很大。在Fluent里面好像是个全局常数0.85或者0.9吧,反正传热总是算不准,也不差在这里百分之几了。



登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

1
1