不可压缩流体 Navier-Stokes 方程的几种形式
Contents
在文献中会经常看到各种不同形式的 Navier-Stokes 方程,本文梳理了一些文献中常见的不可压缩流体 Navier-Stoke 方程标记形式,希望能帮助各位 Foamer 加深对 Navier-Stokes 方程的理解。
预先知识
先来看看张量运算中的一些标记方法。
微分符号的欧拉表示法
欧拉表示法用下标表示偏微分符号,如
$$ \begin{equation} \partial_t \mathbf u \equiv \frac{\partial \mathbf u}{\partial t} \end{equation} $$
求和的下标表示法
下标表示法又称爱因斯坦标记法,同一个下标符号出现两次,则表示这项为求和,如:
$$ \begin{equation} a_i b_i \equiv \sum_{i=1}^{3}{a_i b_i} = a_1 b_1+a_2 b_2+a_3 b_3 \end{equation} $$
又如
$$ \begin{equation} \frac{\partial u_i}{\partial x_i} \equiv \sum_{i=1}^{3} \frac{\partial u_i}{\partial x_i} = \frac{\partial u_1}{\partial x_1}+\frac{\partial u_2}{\partial x_2}+\frac{\partial u_3}{\partial x_3} \end{equation} $$
再比如常见的动量方程中的对流项
$$ \begin{equation} \frac{\partial (u_i u_j)}{\partial x_j} \equiv \sum_{j=1}^{3} \frac{\partial (u_i u_j)}{\partial x_j} = \frac{\partial (u_i u_1)}{\partial x_1}+\frac{\partial (u_i u_2)}{\partial x_2}+\frac{\partial (u_i u_3)}{\partial x_3}, \qquad i=1,2,3 \end{equation} $$
对于不可压缩流体,根据连续性方程($\partial u_j / \partial x_j = 0$),则动量方程的对流项还可以写为
$$ \begin{equation} \frac{\partial (u_i u_j)}{\partial x_j} = u_j \frac{\partial u_i}{\partial x_j} \equiv u_1 \frac{\partial u_i}{\partial x_1}+u_2\frac{\partial u_i}{\partial x_2}+u_3\frac{\partial u_i}{\partial x_3} , \qquad i=1,2,3 \end{equation} $$
张量运算的矢量表示法
矢量表示法是张量运算中的标记方法,也是 OpenFOAM 用的表示方法,用粗体表示矢量。通常结合微分运算符号出现,如:
$$ \begin{equation} \nabla \cdot \mathbf u \equiv \frac{\partial u_1}{\partial x_1}+\frac{\partial u_2}{\partial x_2}+\frac{\partial u_3}{\partial x_3} \end{equation} $$
再如动量方程中的对流项,OpenFOAM 中常见的形式如下:
$$ \begin{equation} \nabla \cdot (\mathbf u \otimes \mathbf u) \equiv \left[ \begin{aligned} \sum_{j=1}^{3} \frac{\partial (u_1 u_j)}{\partial x_j} \newline \sum_{j=1}^{3} \frac{\partial (u_2 u_j)}{\partial x_j} \newline \sum_{j=1}^{3} \frac{\partial (u_3 u_j)}{\partial x_j} \end{aligned} \right] = \left[ \begin{aligned} \frac{\partial (u_1 u_1)}{\partial x_1}+\frac{\partial (u_1 u_2)}{\partial x_2}+\frac{\partial (u_1 u_3)}{\partial x_3} \newline \frac{\partial (u_2 u_1)}{\partial x_1}+\frac{\partial (u_2 u_2)}{\partial x_2}+\frac{\partial (u_2 u_3)}{\partial x_3} \newline \frac{\partial (u_3 u_1)}{\partial x_1}+\frac{\partial (u_3 u_2)}{\partial x_2}+\frac{\partial (u_3 u_3)}{\partial x_3} \end{aligned} \right] \end{equation} $$
上式中的 $\mathbf u \otimes \mathbf u$ 表示张量积,通常简写为 $\mathbf u \mathbf u$。
对不可压缩流体,对流项还可以表示为:
$$ \begin{equation} \nabla \cdot (\mathbf u \mathbf u) = (\mathbf u \cdot \nabla)\mathbf u \equiv \left[ \begin{aligned} u_1\frac{\partial u_1}{\partial x_1}+u_2\frac{\partial u_1}{\partial x_2}+u_3\frac{\partial u_1}{\partial x_3} \newline u_1\frac{\partial u_2}{\partial x_1}+u_2\frac{\partial u_2}{\partial x_2}+u_3\frac{\partial u_2}{\partial x_3} \newline u_1\frac{\partial u_3}{\partial x_1}+u_2\frac{\partial u_3}{\partial x_2}+u_3\frac{\partial u_3}{\partial x_3} \end{aligned} \right] \end{equation} $$
这种形式中,$(\mathbf u \cdot \nabla)$ 是一个微分算子,定义如下
$$ \begin{equation} (\mathbf u \cdot \nabla) \equiv \left( u_1\frac{\partial}{\partial x_1}+u_2\frac{\partial}{\partial x_2}+u_3\frac{\partial}{\partial x_3} \right) \end{equation} $$
注意
微分算子 $(\mathbf u \cdot \nabla)$ 单独存在没有意义,必须作用在其他场量上才有意义。
张量运算符的缩写表示
张量运算符用其对应的英文单词缩写表示,如
$$ \begin{equation} \operatorname{grad}\phi \equiv \nabla \phi \end{equation} $$
$$ \begin{equation} \operatorname{div}\mathbf u \equiv \nabla \cdot \mathbf u \end{equation} $$
$$ \begin{equation} \operatorname{div}\operatorname{grad}\phi \equiv \nabla \cdot (\nabla \phi) = \nabla^2\phi = \Delta \phi \end{equation} $$
$$ \begin{equation} \operatorname{curl}\mathbf u \equiv \nabla \times \mathbf u \end{equation} $$
不可压缩 Navier-Stokes 方程
在了解一些微分及张量运算的表示方法后,我们再来看不可压缩流体中 Navier-Stokes 方程的几种形式。
下标表示
连续性方程
$$ \begin{equation} \frac{\partial u_i}{\partial x_i} = 0 \end{equation} $$
动量方程
$$ \begin{equation} \frac{\partial u_i}{\partial t} + \frac{\partial (u_i u_j)}{\partial x_j} = - \frac{1}{\rho} \frac{\partial p}{\partial x_i} + \frac{\partial}{\partial x_j}\left[\nu \left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i}\right)\right] \end{equation} $$
或
$$ \begin{equation} \frac{\partial u_i}{\partial t} + u_j \frac{\partial u_i}{\partial x_j} = - \frac{1}{\rho} \frac{\partial p}{\partial x_i} + \frac{\partial}{\partial x_j}\left[\nu \left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i}\right)\right] \end{equation} $$
矢量表示
连续性方程
$$ \begin{equation} \nabla \cdot \mathbf u = 0 \end{equation} $$
动量方程
$$ \begin{equation} \frac{\partial \mathbf u}{\partial t} + \nabla \cdot (\mathbf u \mathbf u) = -\frac{1}{\rho}\nabla p + \nabla \cdot \left\lbrace\nu \left[ \nabla \mathbf u + (\nabla \mathbf u)^T \right] \right\rbrace \end{equation} $$
或
$$ \begin{equation} \frac{\partial \mathbf u}{\partial t} + (\mathbf u \cdot \nabla) \mathbf u = -\frac{1}{\rho}\nabla p + \nabla \cdot \left\lbrace\nu \left[ \nabla \mathbf u + (\nabla \mathbf u)^T \right] \right\rbrace \end{equation} $$
缩写表示
连续性方程
$$ \begin{equation} \operatorname{div} \mathbf u = 0 \end{equation} $$
动量方程
$$ \begin{equation} \frac{\partial \mathbf u}{\partial t} + \operatorname{div} (\mathbf u \mathbf u) = -\frac{1}{\rho} \operatorname{grad} p + \operatorname{div} \left\lbrace\nu\left[\operatorname{grad}\mathbf u + (\operatorname{grad}\mathbf u)^T\right]\right\rbrace \end{equation} $$
或
$$ \begin{equation} \frac{\partial \mathbf u}{\partial t} + (\mathbf u \cdot \operatorname{grad} )\mathbf u = -\frac{1}{\rho} \operatorname{grad} p + \operatorname{div} \left\lbrace\nu\left[\operatorname{grad}\mathbf u + (\operatorname{grad}\mathbf u)^T\right]\right\rbrace \end{equation} $$
简化形式
若运动粘度 $\nu$ 为常量,则粘性项可以被简化,以矢量表示法为例
$$ \begin{equation} \nabla \cdot \left\lbrace\nu \left[ \nabla \mathbf u + (\nabla \mathbf u)^T \right] \right\rbrace = \nu \nabla \cdot \left[ \nabla \mathbf u + (\nabla \mathbf u)^T\right] \end{equation} $$
对于不可压流体,有
$$ \begin{equation} \nabla \cdot (\nabla \mathbf u)^T = \nabla (\nabla \cdot \mathbf u) = 0 \end{equation} $$
粘性项进一步简化为
$$ \begin{equation} \nu \nabla \cdot \left[ \nabla \mathbf u + (\nabla \mathbf u)^T\right] = \nu \nabla^2 \mathbf u \end{equation} $$
于是有另一种形式的 Navier-Stokes 方程
$$ \begin{equation} \frac{\partial \mathbf u}{\partial t} + (\mathbf u \cdot \nabla) \mathbf u = -\frac{1}{\rho}\nabla p + \nu \nabla^2 \mathbf u \end{equation} $$
实际上对于高雷诺数问题,RANS 或 LES方程中 $\nu$ 应该为 $\nu_{\mathit{eff}} = \nu + \nu_t$ 。其中的 $\nu_t$ 不是常量,因此不能对粘性项做上述简化。OpenFOAM 将粘性项看作有效雷诺应力的散度($\nabla \cdot \mathbf R_{\mathit{eff}}$)求解,具体可参考这篇文章。
其他
Navier-Stokes 方程更一般的形式为柯西动量方程,其形式如下:
$$ \begin{equation} \frac{D \mathbf{u}}{D t} = \frac{1}{\rho} \nabla \cdot \boldsymbol{\sigma} \end{equation} $$
其中左端项为速度的物质导数
$$ \begin{equation} \frac{D \mathbf u}{D t} = \frac{\partial \mathbf u}{\partial t} + (\mathbf u \cdot \nabla) \mathbf u \end{equation} $$
$\boldsymbol \sigma$ 为柯西张量,包含压力和剪切应力,可写作
$$ \boldsymbol \sigma = -p \mathbf I + \boldsymbol \tau $$
这里的 $\mathbf I$ 是单位张量,$\boldsymbol \tau$ 为剪切应力张量。
对于不同类型的流体, $\boldsymbol \tau$ 的表达形式不同,柯西动量方程可以化为其他的公式。如对不可压牛顿流体,其与速度的应变张量(strain rate tensor)成线性关系
$$ \begin{equation} \boldsymbol \tau = 2 \mu \mathbf S = \mu \left[\nabla \mathbf u + (\nabla \mathbf u)^T\right] \end{equation} $$
其中,$\mathbf S$ 为速度梯度分解出的对称张量,其定义可参考这篇文章。
代入柯西动量方程并展开,得到不可压缩流体的动量方程
$$ \begin{equation} \begin{aligned} \frac{\partial \mathbf u}{\partial t} + (\mathbf u \cdot \nabla) \mathbf u &= \frac{1}{\rho} \nabla \cdot \left\lbrace -p \mathbf I + \mu \left[\nabla \mathbf u + (\nabla \mathbf u)^T\right]\right\rbrace \newline & = - \frac{1}{\rho}\nabla p + \nabla \cdot \left\lbrace \nu \left[\nabla \mathbf u + (\nabla \mathbf u)^T\right]\right\rbrace \end{aligned} \end{equation} $$