纳维-斯托克斯方程 (Navier-Stokes equations ),是一组描述液体 、空气 等流体 的運動的偏微分方程 。该方程以法國物理學家克劳德-路易·纳维 和愛爾蘭物理學家乔治·斯托克斯 的名字命名。
纳维尔-斯托克斯方程描述了牛頓流體 在运动过程中需要满足的動量 和質量守恆 性质。在纳维-斯托克斯方程的一些应用中,会将该方程与状态方程 一同列出,以說明流體壓強 、溫度 和密度 三者之間的關係。[ 1]
纳维-斯托克斯方程是将牛顿第二定律 应用到流体动力学 之后得到的结果。与欧拉方程 不同,纳维-斯托克斯方程考虑了流体的粘性 。它假设流体在运动过程中,其所受的应力 是正比于速度梯度 的扩散 黏性力和压力的总和。因此,纳维-斯托克斯方程可以描述有黏性流体的运动;而欧拉方程仅能描述无粘性流 的运动。在流体黏性为零时,纳维-斯托克斯方程退化為歐拉方程。
纳维-斯托克斯方程的应用十分广泛。它可以用于模拟天气 、洋流 、管道中的水流、星系 中恒星的运动、翼型 周围的气流,也可以用于设计飞行器和车辆、研究血液循环、设计电站、分析污染效应等等。如果将纳维尔-斯托克斯方程與馬克士威方程組 聯立,还可以研究磁流體力學 。
纳维-斯托克斯方程难以求解。实用上,也只有最简单的情况才能用这种方法获得已知解。这些情况通常涉及稳定态(流场不随时间变化)的非紊流 ,其中流体的粘滞系数 很大或者其速度很小(低雷诺数 )。对于更复杂的情形,例如厄尔尼诺 这样的全球性气象系统或机翼 的升力 ,現時僅能借助计算机求出纳维-斯托克斯方程的數值解 。这个科学领域称为计算流体力学 。
虽然紊流 是日常经验中就可以遇到的,但这类非线性问题 在理論上极难求解,仍未能證明三維空間 中是否總存在光滑解 ,甚至有界解 。此問題稱為納維-斯托克斯存在性與光滑性 。克雷数学学院 于2000年5月21日列入七大未解難題 ,懸賞一百萬美元 ,奖励找到數學證明 或反例 的任何人。[ 2] [ 3]
性质
非线性
纳维-斯托克斯方程的一般形式是非线性 的偏微分方程 ,所以在大多数实际情况下仍是如此。[ 4] [ 5] 在特定情况,如一维流和斯托克斯流 (又稱蠕动流)下,方程可以简化为线性方程组。非线性項的出現,令大部分问题變得很难,甚至無法求解。另一方面,方程組能描述湍流 ,而非線性正是湍流出現的重要因素。
方程式中的非线性項是对流 加速(与点速度变化相关联的加速度),因此,任何对流,无论湍流与否,都会涉及非线性。有對流但仍為層流 (而非湍流)的例子如下:考慮黏性液體(如油),流經一個細小並逐漸收窄的噴嘴 。此種流,不論能否確切解出,通常都能透徹研究、理解。[ 6]
湍流
湍流是时变的混沌 行为,这种行为常见于许多流体流动中。人们普遍认为,湍流的成因,是整個流體的慣性 :时變加速度與对流加速度疊加,以產生亂流告終。因此惯性影响很小的流体,往往是层流(雷诺数 量化了流所受惯性的大小)。虽然不完全确定,但一般相信纳维-斯托克斯方程能够合理地描述湍流。[ 7]
纳维-斯托克斯方程关于湍流的数值解是非常难得到的,而且由于湍流之中,有多個显著不同的混合长度 尺度,若要得到穩定解,所需要的分辨率要極度精细,於是计算或直接數值模擬 的时间長得不可行。若试圖用解层流的方法来解决湍流问题,通常会得到时间不稳定的解,而不能适当收敛。为了解决这个问题,計算流體力學 中,實際模擬湍流的程序,多採用雷諾平均納維-斯托克斯方程 (RANS)等时间平均方程,再辅以各湍流模型,如Spalart-Allmaras 、k –ω 、k –ε 、SST ,以添加另外的方程。另一种數值解法是大涡模拟 (LES)。这种方法比RANS方法,佔用更多計算时间 和記憶體空間 ,但效果較好,因为LES明确解出較大的湍流尺度。
适用性
連同其他方程(如质量守恒定律 )和良好的边界条件 一併考慮時,纳维-斯托克斯方程似乎是流体运动的精确模型;甚至湍流(平均而言)也符合实际观察结果。
纳维-斯托克斯方程假定所研究的流体連續 (无限可分,而不是由粒子组成),且不具相對論 流速。在非常小的尺度或极端条件下,由离散分子组成的真实流体,与由纳维-斯托克斯方程描繪的连续流体,将产生不同的结果。例如,大梯度流的流體內層,有毛细现象 。[ 8] 對於大克努森數 的问题,用统计力学的波茲曼方程式 可能更適合[ 9] ,甚至要用分子动力学 或其他混合方法[ 10] 。
另一个限制是方程的复杂性。要刻劃一般常見的流体類,有行之有效的公式,但對於較罕見的類別,應用纳维-斯托克斯方程時,往往会得到非常复杂的描述,甚至是未解難題。出于这个原因,这些方程通常用于描述牛顿流体。研究这种液体是“简单”的,因为粘度模型最终被线性 化;真正描述其他类型流体(如血液)的普遍模型,截至2012年还不存在。[ 11]
基本假设
在解释纳维-斯托克斯方程的细节之前,首先对流体的性质作几个假设。第一个假设是流体是连续的。这强调其内部沒有空隙,例如,汽水中有氣泡,便不屬此例;同樣,包含雾状粒子的氣體亦不屬此例。另一个必要的假设是,所有涉及到的场,即压强 、速度 、密度 、温度 等,全部都可微 。
该方程从质量守恆 、动量守恆 、能量守恆 等基本原理导出。推導過程中,經常考虑一个有限的任意体积,称为控制体积 ,並對其應用这些原理。该有限体积记为
Ω
{\displaystyle \Omega }
,而其表面 记为
∂
Ω
{\displaystyle \partial \Omega }
。该控制体积可以在空间中固定,也可能随着流体运动。这会导致一些特殊的结果,見下文。
随質导数
运动流体的属性变化,譬如大气 风速的变化,可以有两种不同的方法来测量:风速仪 可以固定在气象站上,也可以隨气象气球飄動。第一种情况下,风速仪测量的速度,是所有运动的粒子经过一个固定点的速度;而第二种情况下,仪器测量的數值,是其随着流体运动时,速度的变化。同样的论证对于密度、温度等物理量的测量也是成立的。因此,当作微分时必须区分两种情况。第一种情况称为空间导数 或者欧拉导数 。第二种情况称为實質導數 或拉格朗日导数 。
随質导数定义为算子 :
D
D
t
(
⋆
)
=
∂
(
⋆
)
∂
t
+
(
v
⋅
∇
)
(
⋆
)
{\displaystyle {\frac {\mathrm {D} }{\mathrm {D} t}}(\star )={\frac {\partial (\star )}{\partial t}}+(\mathbf {v} \cdot \nabla )(\star )}
其中
v
{\displaystyle \mathbf {v} }
是流体的速度。方程右边的第一项是普通的欧拉导数(也就是在静止参照系中的导数),而第二项表示由于流体的运动带来的变化。这个效应称为移流 。
L 在一个控制体积
Ω
{\displaystyle \Omega }
上守恆,可用以下积分式表示:
d
d
t
∫
Ω
L
d
Ω
=
0.
{\displaystyle {\frac {\mathrm {d} }{\mathrm {d} t}}\int _{\Omega }\mathbf {L} \,\mathrm {d} \Omega =0.}
設Ω共动(隨流體移動),則它随着时间而改变,所以不能将时间导数和积分简单的交换,但有:
0
=
d
d
t
∫
Ω
L
d
Ω
=
∫
Ω
∂
∂
t
L
d
Ω
+
∫
∂
Ω
L
(
v
⋅
n
d
∂
Ω
)
=
∫
Ω
[
∂
∂
t
L
+
∇
⋅
(
L
v
)
]
d
Ω
.
{\displaystyle 0={\frac {\mathrm {d} }{\mathrm {d} t}}\int _{\Omega }\mathbf {L} \,\mathrm {d} \Omega =\int _{\Omega }{\frac {\partial }{\partial t}}\mathbf {L} \,\mathrm {d} \Omega +\int _{\partial \Omega }\mathbf {L} \left(\mathbf {v} \cdot \mathbf {n} \,\mathrm {d} \partial \Omega \right)=\int _{\Omega }\left[{\frac {\partial }{\partial t}}\mathbf {L} +\nabla \cdot \left(\mathbf {L} \mathbf {v} \right)\right]\mathrm {d} \Omega .}
因为这个表达式对于所有
Ω
{\displaystyle \Omega }
成立,它可以简化为:
D
D
t
L
+
(
∇
⋅
v
)
L
=
∂
∂
t
L
+
∇
⋅
(
v
L
)
=
0
{\displaystyle {\frac {\mathrm {D} }{\mathrm {D} t}}\mathbf {L} +\left(\nabla \cdot \mathbf {v} \right)\mathbf {L} ={\frac {\partial }{\partial t}}\mathbf {L} +\nabla \cdot \left(\mathbf {v} \mathbf {L} \right)=0}
(第一個等號用到隨質導數的定義,以及對
∇
⋅
(
v
L
)
{\displaystyle \nabla \cdot \left(\mathbf {v} \mathbf {L} \right)}
用到導數的積法則 )对于不是密度的量(因而它不必在空间中积分),
D
D
t
{\displaystyle {\frac {\mathrm {D} }{\mathrm {D} t}}}
给出了正确的共动时间导数。
守恒定律
在上式中,依次取
L
{\displaystyle \mathbf {L} }
為下列各守恒量:
并且用状态定律 配合一些假设(比如假设流体为理想气体等),将各物理量写成由各守恒量表示的形式,就能推導出NS方程。
连续性方程
质量的守恒写作:
∂
ρ
∂
t
+
∇
⋅
(
ρ
v
)
=
0
{\displaystyle {\frac {\partial \rho }{\partial t}}+\nabla \cdot (\rho \mathbf {v} )=0}
其中
ρ
{\displaystyle \rho }
是流体的密度。
在不可压缩流体 的情况,
ρ
{\displaystyle \rho }
是常數,不取決於时间或位置,於是方程简化为:
∇
⋅
v
=
0
{\displaystyle \nabla \cdot \mathbf {v} =0}
动量守恒
动量守恒写作:
∂
∂
t
(
ρ
v
)
+
∇
⋅
(
ρ
v
⊗
v
)
=
∑
ρ
f
,
{\displaystyle {\frac {\partial }{\partial t}}\left(\rho \mathbf {v} \right)+\nabla \cdot (\rho \mathbf {v} \otimes \mathbf {v} )=\sum \rho \mathbf {f} ,}
注意
v
⊗
v
{\displaystyle \mathbf {v} \otimes \mathbf {v} }
是一个张量 ,
⊗
{\displaystyle \otimes }
代表张量积 。
可以进一步简化,利用连续性方程,上式變成:
ρ
D
v
D
t
=
∑
ρ
f
,
{\displaystyle \rho {\frac {D\mathbf {v} }{Dt}}=\sum \rho \mathbf {f} ,}
可以认出这就是通常牛頓第二定律
m
a
=
F
{\displaystyle m\mathbf {a} =\mathbf {F} }
。
方程组
一般形式
方程组的形式
纳维-斯托克斯方程的一般形式是:
ρ
D
v
D
t
=
∇
⋅
P
+
ρ
f
{\displaystyle \rho {\frac {\mathrm {D} \mathbf {v} }{\mathrm {D} t}}=\nabla \cdot \mathbb {P} +\rho \mathbf {f} }
关于动量守恒。张量
P
{\displaystyle \mathbb {P} }
代表施加在一个流体粒子上的表面力(应力张量 )。除非流体是由象旋涡这样的旋转自由度组成,
P
{\displaystyle \mathbb {P} }
是一个对称张量。一般来讲,我们有如下形式:
P
=
(
σ
x
x
τ
x
y
τ
x
z
τ
y
x
σ
y
y
τ
y
z
τ
z
x
τ
z
y
σ
z
z
)
=
−
(
p
0
0
0
p
0
0
0
p
)
+
(
σ
x
x
+
p
τ
x
y
τ
x
z
τ
y
x
σ
y
y
+
p
τ
y
z
τ
z
x
τ
z
y
σ
z
z
+
p
)
{\displaystyle \mathbb {P} ={\begin{pmatrix}\sigma _{xx}&\tau _{xy}&\tau _{xz}\\\tau _{yx}&\sigma _{yy}&\tau _{yz}\\\tau _{zx}&\tau _{zy}&\sigma _{zz}\end{pmatrix}}=-{\begin{pmatrix}p&0&0\\0&p&0\\0&0&p\end{pmatrix}}+{\begin{pmatrix}\sigma _{xx}+p&\tau _{xy}&\tau _{xz}\\\tau _{yx}&\sigma _{yy}+p&\tau _{yz}\\\tau _{zx}&\tau _{zy}&\sigma _{zz}+p\end{pmatrix}}}
其中
σ
{\displaystyle \sigma }
是法向约束,而
τ
{\displaystyle \tau }
是切向约束。
迹
σ
x
x
+
σ
y
y
+
σ
z
z
{\displaystyle \sigma _{xx}+\sigma _{yy}+\sigma _{zz}}
在流体处于平衡态时为0。这等价于流体粒子上的法向力的积分为0。
我们再加上连续性方程:
D
ρ
D
t
+
ρ
∇
⋅
v
=
0
{\displaystyle {\frac {\mathrm {D} \rho }{\mathrm {D} t}}+\rho \nabla \cdot \mathbf {v} =0}
对于处于平衡 的液体,
P
{\displaystyle \mathbb {P} }
的迹是3p 。
其中
p 是压强
最后,我们得到:
ρ
D
v
D
t
=
−
∇
p
+
∇
⋅
T
+
ρ
f
{\displaystyle \rho {\frac {\mathrm {D} \mathbf {v} }{\mathrm {D} t}}=-\nabla p+\nabla \cdot \mathbb {T} +\rho \mathbf {f} }
其中
T
{\displaystyle \mathbb {T} }
是
P
{\displaystyle \mathbb {P} }
的非对角线部分。
闭合问题
这些方程是不完整的,对具有不同物理性质的流体的可以有不同的解。要对它们进行完备化,必须对
P
{\displaystyle \mathbb {P} }
的形式作一些假设。例如在理想流体 的情况
τ
{\displaystyle \tau }
分量为0。用于完备方程组的方程是状态方程 。
再如,压强 可以主要是密度 和温度 的函数。
要求解的变量是速度的各个分量,流体密度,静压力,和温度 。流场假定为可微 并连续 ,使得这些平衡得以用偏微分方程表达。这些方程可以转化为涡度 和流函数 这些次变量的威尔金森方程组。解依赖于流体的性质(例如粘滞度 、比热 、和热导率 ),并且依赖于所研究的区域的边界条件。
P
{\displaystyle \mathbb {P} }
的分量是流体的一个无穷小 元上面的约束。它们代表垂直和剪切约束。
P
{\displaystyle \mathbb {P} }
是对称 的,除非存在非零的自旋密度 。
所谓非牛顿流体 就是其中该张量没有特殊性质使得方程的特殊解出现的流体
特殊形式
这些是问题的特定的常见简化,有时解是已知的。
牛顿流体
在牛顿流体中,如下假设成立:
τ
i
j
=
μ
(
∂
v
i
∂
x
j
+
∂
v
j
∂
x
i
−
2
3
δ
i
j
∇
⋅
v
)
{\displaystyle \tau _{ij}=\mu \left({\frac {\partial v_{i}}{\partial x_{j}}}+{\frac {\partial v_{j}}{\partial x_{i}}}-{\frac {2}{3}}\delta _{ij}\nabla \cdot \mathbf {v} \right)}
其中
μ
{\displaystyle \mu }
是液体的粘滞度 。
ρ
(
∂
v
∂
t
+
∇
v
v
)
=
ρ
f
−
∇
p
+
μ
(
Δ
v
+
1
3
∇
(
∇
⋅
v
)
)
{\displaystyle \rho \left({\frac {\partial \mathbf {v} }{\partial t}}+\nabla _{\mathbf {v} }\mathbf {v} \right)=\rho \mathbf {f} -\nabla p+\mu \left(\Delta \mathbf {v} +{\frac {1}{3}}\nabla \left(\nabla \cdot \mathbf {v} \right)\right)}
ρ
(
∂
v
i
∂
t
+
v
j
∂
v
i
∂
x
j
)
=
ρ
f
i
−
∂
p
∂
x
i
+
μ
(
∂
2
v
i
∂
x
j
∂
x
j
+
1
3
∂
2
v
j
∂
x
i
∂
x
j
)
{\displaystyle \rho \left({\frac {\partial v_{i}}{\partial t}}+v_{j}{\frac {\partial v_{i}}{\partial x_{j}}}\right)=\rho f_{i}-{\frac {\partial p}{\partial x_{i}}}+\mu \left({\frac {\partial ^{2}v_{i}}{\partial x_{j}\partial x_{j}}}+{\frac {1}{3}}{\frac {\partial ^{2}v_{j}}{\partial x_{i}\partial x_{j}}}\right)}
其中为简化书写,对脚标使用了爱因斯坦求和约定 。
不采用简化书写的完整形式非常繁琐,分别为:
动量守恒:
ρ
⋅
(
∂
u
∂
t
+
u
∂
u
∂
x
+
v
∂
u
∂
y
+
w
∂
u
∂
z
)
=
k
x
−
∂
p
∂
x
+
∂
∂
x
[
μ
⋅
(
2
⋅
∂
u
∂
x
−
2
3
⋅
(
∇
⋅
v
→
)
)
]
+
∂
∂
y
[
μ
⋅
(
∂
u
∂
y
+
∂
v
∂
x
)
]
+
∂
∂
z
[
μ
⋅
(
∂
w
∂
x
+
∂
u
∂
z
)
]
{\displaystyle \rho \cdot \left({\partial u \over \partial t}+u{\partial u \over \partial x}+v{\partial u \over \partial y}+w{\partial u \over \partial z}\right)=k_{x}-{\partial p \over \partial x}+{\partial \over \partial x}\left[\mu \cdot \left(2\cdot {\partial u \over \partial x}-{\frac {2}{3}}\cdot (\nabla \cdot {\vec {v}})\right)\right]+{\partial \over \partial y}\left[\mu \cdot \left({\partial u \over \partial y}+{\partial v \over \partial x}\right)\right]+{\partial \over \partial z}\left[\mu \cdot \left({\partial w \over \partial x}+{\partial u \over \partial z}\right)\right]}
ρ
⋅
(
∂
v
∂
t
+
u
∂
v
∂
x
+
v
∂
v
∂
y
+
w
∂
v
∂
z
)
=
k
y
−
∂
p
∂
y
+
∂
∂
y
[
μ
⋅
(
2
⋅
∂
v
∂
y
−
2
3
⋅
(
∇
⋅
v
→
)
)
]
+
∂
∂
z
[
μ
⋅
(
∂
v
∂
z
+
∂
w
∂
y
)
]
+
∂
∂
x
[
μ
⋅
(
∂
u
∂
y
+
∂
v
∂
x
)
]
{\displaystyle \rho \cdot \left({\partial v \over \partial t}+u{\partial v \over \partial x}+v{\partial v \over \partial y}+w{\partial v \over \partial z}\right)=k_{y}-{\partial p \over \partial y}+{\partial \over \partial y}\left[\mu \cdot \left(2\cdot {\partial v \over \partial y}-{\frac {2}{3}}\cdot (\nabla \cdot {\vec {v}})\right)\right]+{\partial \over \partial z}\left[\mu \cdot \left({\partial v \over \partial z}+{\partial w \over \partial y}\right)\right]+{\partial \over \partial x}\left[\mu \cdot \left({\partial u \over \partial y}+{\partial v \over \partial x}\right)\right]}
ρ
⋅
(
∂
w
∂
t
+
u
∂
w
∂
x
+
v
∂
w
∂
y
+
w
∂
w
∂
z
)
=
k
z
−
∂
p
∂
z
+
∂
∂
z
[
μ
⋅
(
2
⋅
∂
w
∂
z
−
2
3
⋅
(
∇
⋅
v
→
)
)
]
+
∂
∂
x
[
μ
⋅
(
∂
w
∂
x
+
∂
u
∂
z
)
]
+
∂
∂
y
[
μ
⋅
(
∂
v
∂
z
+
∂
w
∂
y
)
]
{\displaystyle \rho \cdot \left({\partial w \over \partial t}+u{\partial w \over \partial x}+v{\partial w \over \partial y}+w{\partial w \over \partial z}\right)=k_{z}-{\partial p \over \partial z}+{\partial \over \partial z}\left[\mu \cdot \left(2\cdot {\partial w \over \partial z}-{\frac {2}{3}}\cdot (\nabla \cdot {\vec {v}})\right)\right]+{\partial \over \partial x}\left[\mu \cdot \left({\partial w \over \partial x}+{\partial u \over \partial z}\right)\right]+{\partial \over \partial y}\left[\mu \cdot \left({\partial v \over \partial z}+{\partial w \over \partial y}\right)\right]}
质量守恒:
∂
ρ
∂
t
+
∂
(
ρ
⋅
u
)
∂
x
+
∂
(
ρ
⋅
v
)
∂
y
+
∂
(
ρ
⋅
w
)
∂
z
=
0
{\displaystyle {\partial \rho \over \partial t}+{\partial (\rho \cdot u) \over \partial x}+{\partial (\rho \cdot v) \over \partial y}+{\partial (\rho \cdot w) \over \partial z}=0}
因为密度 是一个未知数,我们需要另一个方程。
能量守恒:
ρ
(
∂
e
∂
t
+
u
∂
e
∂
x
+
v
∂
e
∂
y
+
w
∂
e
∂
z
)
=
(
∂
∂
x
(
λ
⋅
∂
T
∂
x
)
+
∂
∂
y
(
λ
⋅
∂
T
∂
y
)
+
∂
∂
z
(
λ
⋅
∂
T
∂
z
)
)
−
p
⋅
(
∇
⋅
v
→
)
+
k
→
⋅
v
→
+
ρ
⋅
q
˙
s
+
μ
⋅
Φ
{\displaystyle \rho \left({\partial e \over \partial t}+u{\partial e \over \partial x}+v{\partial e \over \partial y}+w{\partial e \over \partial z}\right)=\left({\partial \over \partial x}\left(\lambda \cdot {\partial T \over \partial x}\right)+{\partial \over \partial y}\left(\lambda \cdot {\partial T \over \partial y}\right)+{\partial \over \partial z}\left(\lambda \cdot {\partial T \over \partial z}\right)\right)-p\cdot \left(\nabla \cdot {\vec {v}}\right)+{\vec {k}}\cdot {\vec {v}}+\rho \cdot {\dot {q}}_{s}+\mu \cdot \Phi }
其中:
Φ
=
2
⋅
[
(
∂
u
∂
x
)
2
+
(
∂
v
∂
y
)
2
+
(
∂
w
∂
z
)
2
]
+
(
∂
v
∂
x
+
∂
u
∂
y
)
2
+
(
∂
w
∂
y
+
∂
v
∂
z
)
2
+
(
∂
u
∂
z
+
∂
w
∂
x
)
2
−
2
3
⋅
(
∂
u
∂
x
+
∂
v
∂
y
+
∂
w
∂
z
)
2
{\displaystyle \Phi =2\cdot \left[\left({\partial u \over \partial x}\right)^{2}+\left({\partial v \over \partial y}\right)^{2}+\left({\partial w \over \partial z}\right)^{2}\right]+\left({\partial v \over \partial x}+{\partial u \over \partial y}\right)^{2}+\left({\partial w \over \partial y}+{\partial v \over \partial z}\right)^{2}+\left({\partial u \over \partial z}+{\partial w \over \partial x}\right)^{2}-{\frac {2}{3}}\cdot \left({\partial u \over \partial x}+{\partial v \over \partial y}+{\partial w \over \partial z}\right)^{2}}
假设一个理想气体 :
e
=
c
p
⋅
T
−
p
ρ
{\displaystyle e=c_{p}\cdot T-{\frac {p}{\rho }}}
上面是一共6个方程6个未知数的系统。(u,v,w,T,e以及
ρ
{\displaystyle \rho }
)。
宾汉(Bingham)流体
在宾汉流体中,我们有稍微不同的假设:
τ
i
j
=
τ
0
+
μ
∂
v
i
∂
x
j
,
∂
v
i
∂
x
j
>
0
{\displaystyle \tau _{ij}=\tau _{0}+\mu {\frac {\partial v_{i}}{\partial x_{j}}},\;{\frac {\partial v_{i}}{\partial x_{j}}}>0}
那些流体在开始流动之前能够承受一定的剪切。牙膏 是一个例子。
幂律流体
这是一种理想化的流体 ,其剪切应力 ,
τ
{\displaystyle \tau }
,由下式给出
τ
=
K
(
∂
u
∂
y
)
n
{\displaystyle \tau =K\left({\frac {\partial u}{\partial y}}\right)^{n}}
该形式对于模拟各种一般流体有用。
不可壓缩流體
其纳维-斯托克斯方程(Navier-Stoke equation)分为動量守恆 公式
ρ
(
∂
v
∂
t
⏟
非 稳 态
加 速
+
(
v
⋅
∇
)
v
⏟
对 流
加 速
)
⏞
=
−
∇
p
⏟
压 強
梯 度
+
μ
∇
2
v
⏟
粘 滞 力
+
f
⏟
其 他 力
{\displaystyle \quad \overbrace {\rho {\Big (}\underbrace {\frac {\partial \mathbf {v} }{\partial t}} _{\begin{smallmatrix}{\text{非 稳 态}}\\{\text{加 速}}\end{smallmatrix}}+\underbrace {(\mathbf {v} \cdot \nabla )\mathbf {v} } _{\begin{smallmatrix}{\text{对 流}}\\{\text{加 速}}\end{smallmatrix}}{\Big )}} =\underbrace {-\nabla p} _{\begin{smallmatrix}{\text{压 強}}\\{\text{梯 度}}\end{smallmatrix}}+\underbrace {\mu \nabla ^{2}\mathbf {v} } _{\text{粘 滞 力}}+\underbrace {\mathbf {f} } _{\begin{smallmatrix}{\text{其 他 力}}\end{smallmatrix}}}
和質量守恆 公式
∇
⋅
v
=
0
{\displaystyle \nabla \cdot \mathbf {v} =0}
。
其中,對不可壓縮牛頓流體來說,只有對流項(convective terms)為非線性形式。對流加速度(convective acceleration)來自於流體流動隨空間之變化所產生的速度改變,例如:當流體通過一個漸縮噴嘴(convergent nozzle)時,流體產生加速之情況。由於此項的存在,對於暫態運動中的流體來說,其流場速度變化不再單是時間的函數,亦與空間有關。
另外一個重要的觀察重點,在於黏滯力(viscosity)在流場中的以流體速度作拉普拉斯運算來表現。這暗示了在牛頓流體中,黏滯力為動量擴散(diffusion of momentum),與熱擴散方程式非常類似。
e
i
j
=
1
2
(
∂
u
i
∂
x
j
+
∂
u
j
∂
x
i
)
{\displaystyle e_{ij}={\frac {1}{2}}\left({\frac {\partial u_{i}}{\partial x_{j}}}+{\frac {\partial u_{j}}{\partial x_{i}}}\right)}
;
Δ
=
e
i
i
{\displaystyle \Delta =e_{ii}}
是散度 ,
δ
i
j
{\displaystyle \delta _{ij}}
是克罗内克记号 。
若
μ
{\displaystyle \mu }
在整个流体上均匀,动量方程简化为
ρ
D
u
i
D
t
=
ρ
f
i
−
∂
p
∂
x
i
+
μ
(
∂
2
u
i
∂
x
j
∂
x
j
+
1
3
∂
Δ
∂
x
i
)
{\displaystyle \rho {\frac {Du_{i}}{Dt}}=\rho f_{i}-{\frac {\partial p}{\partial x_{i}}}+\mu \left({\frac {\partial ^{2}u_{i}}{\partial x_{j}\partial x_{j}}}+{\frac {1}{3}}{\frac {\partial \Delta }{\partial x_{i}}}\right)}
(若
μ
=
0
{\displaystyle \mu =0}
这个方程称为欧拉方程 ;那里的重点是可压缩流 和冲击波 )。
如果现在再有
ρ
{\displaystyle \rho }
为常数,我们得到如下系统:
ρ
(
∂
v
x
∂
t
+
v
x
∂
v
x
∂
x
+
v
y
∂
v
x
∂
y
+
v
z
∂
v
x
∂
z
)
=
μ
[
∂
2
v
x
∂
x
2
+
∂
2
v
x
∂
y
2
+
∂
2
v
x
∂
z
2
]
−
∂
p
∂
x
+
ρ
g
x
{\displaystyle \rho \left({\partial v_{x} \over \partial t}+v_{x}{\partial v_{x} \over \partial x}+v_{y}{\partial v_{x} \over \partial y}+v_{z}{\partial v_{x} \over \partial z}\right)=\mu \left[{\partial ^{2}v_{x} \over \partial x^{2}}+{\partial ^{2}v_{x} \over \partial y^{2}}+{\partial ^{2}v_{x} \over \partial z^{2}}\right]-{\partial p \over \partial x}+\rho g_{x}}
ρ
(
∂
v
y
∂
t
+
v
x
∂
v
y
∂
x
+
v
y
∂
v
y
∂
y
+
v
z
∂
v
y
∂
z
)
=
μ
[
∂
2
v
y
∂
x
2
+
∂
2
v
y
∂
y
2
+
∂
2
v
y
∂
z
2
]
−
∂
p
∂
y
+
ρ
g
y
{\displaystyle \rho \left({\partial v_{y} \over \partial t}+v_{x}{\partial v_{y} \over \partial x}+v_{y}{\partial v_{y} \over \partial y}+v_{z}{\partial v_{y} \over \partial z}\right)=\mu \left[{\partial ^{2}v_{y} \over \partial x^{2}}+{\partial ^{2}v_{y} \over \partial y^{2}}+{\partial ^{2}v_{y} \over \partial z^{2}}\right]-{\partial p \over \partial y}+\rho g_{y}}
ρ
(
∂
v
z
∂
t
+
v
x
∂
v
z
∂
x
+
v
y
∂
v
z
∂
y
+
v
z
∂
v
z
∂
z
)
=
μ
[
∂
2
v
z
∂
x
2
+
∂
2
v
z
∂
y
2
+
∂
2
v
z
∂
z
2
]
−
∂
p
∂
z
+
ρ
g
z
{\displaystyle \rho \left({\partial v_{z} \over \partial t}+v_{x}{\partial v_{z} \over \partial x}+v_{y}{\partial v_{z} \over \partial y}+v_{z}{\partial v_{z} \over \partial z}\right)=\mu \left[{\partial ^{2}v_{z} \over \partial x^{2}}+{\partial ^{2}v_{z} \over \partial y^{2}}+{\partial ^{2}v_{z} \over \partial z^{2}}\right]-{\partial p \over \partial z}+\rho g_{z}}
连续性方程(假设不可压缩性):
∂
v
x
∂
x
+
∂
v
y
∂
y
+
∂
v
z
∂
z
=
0
{\displaystyle {\partial v_{x} \over \partial x}+{\partial v_{y} \over \partial y}+{\partial v_{z} \over \partial z}=0}
N-S方程的简化版本。采用《不可压缩流 》,Ronald Panton所著第二版
注意纳维-斯托克斯方程仅可近似描述液体流,而且在非常小的尺度或极端条件下,由离散的分子和其他物质(例如悬浮粒子和溶解的气体)的混合体组成的真实流体,会产生和纳维-斯托克斯方程所描述的连续并且齐性的液体不同的结果。依赖于问题的纳森数,统计力学可能是一个更合适的方法。但是,纳维-斯托克斯方程对于很大范围的实际问题是有效的,只要记住他们的缺陷是天生的就可以了。
程式模擬
參考MIT18086_NAVIERSTOKES
[ 12]
function mit18086_navierstokes
%MIT18086_NAVIERSTOKES
% Solves the incompressible Navier-Stokes equations in a
% rectangular domain with prescribed velocities along the
% boundary. The solution method is finite differencing on
% a staggered grid with implicit diffusion and a Chorin
% projection method for the pressure.
% Visualization is done by a colormap-isoline plot for
% pressure and normalized quiver and streamline plot for
% the velocity field.
% The standard setup solves a lid driven cavity problem.
% 07/2007 by Benjamin Seibold
% http://www-math.mit.edu/~seibold/
% Feel free to modify for teaching and learning.
%-----------------------------------------------------------------------
Re = 1e2 ; % Reynolds number
dt = 1e-2 ; % time step
tf = 4e-0 ; % final time
lx = 1 ; % width of box
ly = 1 ; % height of box
nx = 90 ; % number of x-gridpoints
ny = 90 ; % number of y-gridpoints
nsteps = 10 ; % number of steps with graphic output
%-----------------------------------------------------------------------
nt = ceil ( tf / dt ); dt = tf / nt ;
x = linspace ( 0 , lx , nx + 1 ); hx = lx / nx ;
y = linspace ( 0 , ly , ny + 1 ); hy = ly / ny ;
[ X , Y ] = meshgrid ( y , x );
%-----------------------------------------------------------------------
% initial conditions
U = zeros ( nx - 1 , ny ); V = zeros ( nx , ny - 1 );
% boundary conditions
uN = x * 0 + 1 ; vN = avg ( x ) * 0 ;
uS = x * 0 ; vS = avg ( x ) * 0 ;
uW = avg ( y ) * 0 ; vW = y * 0 ;
uE = avg ( y ) * 0 ; vE = y * 0 ;
%-----------------------------------------------------------------------
Ubc = dt / Re * ([ 2 * uS ( 2 : end - 1 ) ' zeros ( nx - 1 , ny - 2 ) 2 * uN ( 2 : end - 1 ) ' ] / hx ^2 + ...
[ uW ; zeros ( nx - 3 , ny ); uE ] / hy ^2 );
Vbc = dt / Re * ([ vS ' zeros ( nx , ny - 3 ) vN ' ] / hx ^2 + ...
[ 2 * vW ( 2 : end - 1 ); zeros ( nx - 2 , ny - 1 ); 2 * vE ( 2 : end - 1 )] / hy ^2 );
fprintf ( 'initialization' )
Lp = kron ( speye ( ny ), K1 ( nx , hx , 1 )) + kron ( K1 ( ny , hy , 1 ), speye ( nx ));
Lp ( 1 , 1 ) = 3 / 2 * Lp ( 1 , 1 );
perp = symamd ( Lp ); Rp = chol ( Lp ( perp , perp )); Rpt = Rp ' ;
Lu = speye (( nx - 1 ) * ny ) + dt / Re * ( kron ( speye ( ny ), K1 ( nx - 1 , hx , 2 )) + ...
kron ( K1 ( ny , hy , 3 ), speye ( nx - 1 )));
peru = symamd ( Lu ); Ru = chol ( Lu ( peru , peru )); Rut = Ru ' ;
Lv = speye ( nx * ( ny - 1 )) + dt / Re * ( kron ( speye ( ny - 1 ), K1 ( nx , hx , 3 )) + ...
kron ( K1 ( ny - 1 , hy , 2 ), speye ( nx )));
perv = symamd ( Lv ); Rv = chol ( Lv ( perv , perv )); Rvt = Rv ' ;
Lq = kron ( speye ( ny - 1 ), K1 ( nx - 1 , hx , 2 )) + kron ( K1 ( ny - 1 , hy , 2 ), speye ( nx - 1 ));
perq = symamd ( Lq ); Rq = chol ( Lq ( perq , perq )); Rqt = Rq ' ;
fprintf ( ', time loop\n--20%%--40%%--60%%--80%%-100%%\n' )
for k = 1 : nt
% treat nonlinear terms
gamma = min ( 1.2 * dt * max ( max ( max ( abs ( U ))) / hx , max ( max ( abs ( V ))) / hy ), 1 );
Ue = [ uW ; U ; uE ]; Ue = [ 2 * uS '- Ue (:, 1 ) Ue 2 * uN '- Ue (:, end )];
Ve = [ vS ' V vN ' ]; Ve = [ 2 * vW - Ve ( 1 ,:); Ve ; 2 * vE - Ve ( end ,:)];
Ua = avg ( Ue ' ) ' ; Ud = diff ( Ue ' ) '/ 2 ;
Va = avg ( Ve ); Vd = diff ( Ve ) / 2 ;
UVx = diff ( Ua .* Va - gamma * abs ( Ua ) .* Vd ) / hx ;
UVy = diff (( Ua .* Va - gamma * Ud .* abs ( Va )) ' ) '/ hy ;
Ua = avg ( Ue (:, 2 : end - 1 )); Ud = diff ( Ue (:, 2 : end - 1 )) / 2 ;
Va = avg ( Ve ( 2 : end - 1 ,:) ' ) ' ; Vd = diff ( Ve ( 2 : end - 1 ,:) ' ) '/ 2 ;
U2x = diff ( Ua .^ 2 - gamma * abs ( Ua ) .* Ud ) / hx ;
V2y = diff (( Va .^ 2 - gamma * abs ( Va ) .* Vd ) ' ) '/ hy ;
U = U - dt * ( UVy ( 2 : end - 1 ,:) + U2x );
V = V - dt * ( UVx (:, 2 : end - 1 ) + V2y );
% implicit viscosity
rhs = reshape ( U + Ubc ,[], 1 );
u ( peru ) = Ru \ ( Rut \ rhs ( peru ));
U = reshape ( u , nx - 1 , ny );
rhs = reshape ( V + Vbc ,[], 1 );
v ( perv ) = Rv \ ( Rvt \ rhs ( perv ));
V = reshape ( v , nx , ny - 1 );
% pressure correction
rhs = reshape ( diff ([ uW ; U ; uE ]) / hx + diff ([ vS ' V vN ' ] ' ) '/ hy ,[], 1 );
p ( perp ) = - Rp \ ( Rpt \ rhs ( perp ));
P = reshape ( p , nx , ny );
U = U - diff ( P ) / hx ;
V = V - diff ( P ' ) '/ hy ;
% visualization
if floor ( 25 * k / nt ) > floor ( 25 * ( k - 1 ) / nt ), fprintf ( '.' ), end
if k == 1 | floor ( nsteps * k / nt ) > floor ( nsteps * ( k - 1 ) / nt )
% stream function
rhs = reshape ( diff ( U ' ) '/ hy - diff ( V ) / hx ,[], 1 );
q ( perq ) = Rq \ ( Rqt \ rhs ( perq ));
Q = zeros ( nx + 1 , ny + 1 );
Q ( 2 : end - 1 , 2 : end - 1 ) = reshape ( q , nx - 1 , ny - 1 );
clf , contourf ( avg ( x ), avg ( y ), P ' , 20 , 'w-' ), hold on
contour ( x , y , Q ' , 20 , 'k-' );
Ue = [ uS ' avg ([ uW ; U ; uE ] ' ) ' uN ' ];
Ve = [ vW ; avg ([ vS ' V vN ' ]); vE ];
Len = sqrt ( Ue .^ 2 + Ve .^ 2 + eps );
quiver ( x , y ,( Ue ./ Len ) ' ,( Ve ./ Len ) ' , .4 , 'k-' )
hold off , axis equal , axis ([ 0 lx 0 ly ])
p = sort ( p ); caxis ( p ([ 8 end - 7 ]))
title ( sprintf ( 'Re = %0.1g t = %0.2g' , Re , k * dt ))
drawnow
end
end
fprintf ( '\n' )
%=======================================================================
function B = avg ( A,k)
if nargin < 2 , k = 1 ; end
if size ( A , 1 ) == 1 , A = A ' ; end
if k < 2 , B = ( A ( 2 : end ,:) + A ( 1 : end - 1 ,:)) / 2 ; else , B = avg ( A , k - 1 ); end
if size ( A , 2 ) == 1 , B = B ' ; end
function A = K1 ( n,h,a11)
% a11: Neumann=1, Dirichlet=2, Dirichlet mid=3;
A = spdiags ([ - 1 a11 0 ; ones ( n - 2 , 1 ) * [ - 1 2 - 1 ]; 0 a11 - 1 ], - 1 : 1 , n , n ) '/ h ^2 ;
模擬結果
執行MATLAB 即可觀察4秒的模擬結果
参看
参考文献
^ McLean, Doug. Continuum Fluid Mechanics and the Navier-Stokes Equations . Understanding Aerodynamics: Arguing from the Real Physics. John Wiley & Sons. 2012: 13–78 (英语) . The main relationships comprising the NS equations are the basic conservation laws for mass, momentum, and energy. To have a complete equation set we also need an equation of state relating temperature, pressure, and density...
^ Millennium Prize Problems—Navier–Stokes Equation , claymath.org, Clay Mathematics Institute, March 27, 2017 [2017-04-02 ] , (原始内容存档 于2015-12-22) (英语)
^ Fefferman, Charles L. Existence and smoothness of the Navier–Stokes equation (PDF) . claymath.org. Clay Mathematics Institute. [2017-04-02 ] . (原始内容 (PDF) 存档于2015-04-15) (英语) .
^ Fluid Mechanics(Schaum's Series), M. Potter, D.C. Wiggert, Schaum's Outlines, McGraw-Hill (USA), 2008, ISBN 978-0-07-148781-8
^ Vectors, Tensors, and the basic Equations of Fluid Mechanics, R. Aris, Dover Publications, 1989, ISBN (10) 0-486-66110-5
^ Parker, C. B. McGraw Hill Encyclopaedia of Physics 2nd. 1994. ISBN 0-07-051400-3 (英语) .
^ Encyclopaedia of Physics (2nd Edition), R.G. Lerner, G.L. Trigg, VHC publishers, 1991, ISBN (Verlagsgesellschaft) 3-527-26954-1, ISBN(VHC Inc.)0-89573-752-3
^ Gorban, A.N.; Karlin, I. V. Beyond Navier–Stokes equations: capillarity of ideal gas . Contemporary Physics (Review article). 2016, 58 (1): 70–90. Bibcode:2017ConPh..58...70G . S2CID 55317543 . arXiv:1702.00831 . doi:10.1080/00107514.2016.1256123 .
^ Cercignani, C. The Boltzmann equation and fluid dynamics. Friedlander, S.; Serre, D. (编). Handbook of mathematical fluid dynamics 1 . Amsterdam: North-Holland. 2002: 1–70. ISBN 978-0444503305 (英语) .
^ Nie, X.B.; Chen, S.Y.; Robbins, M.O. A continuum and molecular dynamics hybrid method for micro-and nano-fluid flow . Journal of Fluid Mechanics (Research article). 2004, 500 : 55–64 [2021-10-12 ] . Bibcode:2004JFM...500...55N . doi:10.1017/S0022112003007225 . (原始内容存档 于2018-08-09) (英语) .
^ Öttinger, H.C. Stochastic processes in polymeric fluids. Berlin, Heidelberg: Springer Science & Business Media. 2012. ISBN 9783540583530 . doi:10.1007/978-3-642-58290-5 (英语) .
^ Chen, Weijia; Chen, JC. Combined compact difference method for solving the incompressible Navier-Stokes equations . International Journal for Numerical Methods in Fluids. 2011-06-06, 68 (10). ISSN 0271-2091 . doi:10.1002/fld.2602 .
Inge L. Rhyming Dynamique des fluides , 1991 PPUR.
Polyanin A.D., Kutepov A.M., Vyazmin A.V., Kazenin D.A., Hydrodynamics, Mass and Heat Transfer in Chemical Engineering , Taylor & Francis, London, 2002. ISBN 0-415-27237-8 .
外部链接