Stokes方程组与Lagrange乘子法
在前文中介绍了泛函语境下的 Lagrange 乘子法,接下来将它应用中不可压流的 Stokes 方程组中。
1. Stokes 方程组
1.1 原始方程组
不可压缩蠕动流满足如下的方程组
\[ \begin{aligned} -\Delta u + \nabla p &= f\\ \nabla \cdot u &= 0\\ u|_{\partial \Omega} &= 0 \end{aligned} \]
其中\(\Omega\)是有界区域,为了后续的讨论,我们定义如下空间
\[ \begin{aligned} V &= [H_0^1(\Omega)]^n \\ Z &= \{v \in V | \nabla \cdot v = 0\}\\ \widetilde{L}^2(\Omega) &= \{q \in L^2(\Omega)| \int_{\Omega} q = 0\} \end{aligned} \]
1.2 虚功原理
将 Stokes 方程组转化为如下的变分形式(物理上也称为虚功原理):
(A1) find \(u \in Z\) s.t. \[ \begin{align} (\nabla u,\nabla v) &= (f,v) \,\, &\forall v \in Z \end{align} \]
根据空间的不同,也可以写成如下几种形式
(A2) find \(u \in Z, p \in \widetilde{L}^2\) s.t. \[ \begin{align} (\nabla u,\nabla v) - (p, \nabla \cdot v) &= (f,v) \,\, &\forall v \in V \\ \end{align} \]
(A3) find \(u \in V, p \in \widetilde{L}^2\) s.t. \[ \begin{align} (\nabla u,\nabla v) - (p, \nabla \cdot v) &= (f,v) \,\, &\forall v \in V \\ (\nabla \cdot u,q) &= 0 \,\, &\forall q \in \widetilde{L}^2 \end{align} \]
1.3 最小作用量原理
Stokes 方程组也可以写成如下泛函的极小值问题(物理上也称为最小作用量原理)
(B) find \(u \in Z\) s.t. \[ \begin{align} J(u) = \min_{v \in Z} J(v) \end{align} \] where \[ J(v) = \frac12 (\nabla v,\nabla v) - (f,v) \]
2. 等价性证明
本文不证明这两类形式和原始方程组的等价性,而是证明这两类变分形式之间的等价性。 重点关注的是不含有压强的(A1)和(B),和含有压强的(A2)(A3)之间:压强项如何消失,又如何产生。
2.1 (A2)=(A3)
(A2)和(A3)的等价性是显然的:要么直接限制\(u \in Z \subset V\)满足不可压条件,要么通过检验函数 \(q\)来保证\(u \in V\)仍然满足不可压条件:
\[ (\nabla \cdot u,q) = 0 \,\, \forall q \in \widetilde{L}^2 \]
2.2 (A1)=(B)
这两个形式都不含有压强项,相互的等价性证明也是容易的。
如果\(u\in Z\)满足(A1)的方程
\[ (\nabla u,\nabla v) = (f,v) \,\, \forall v \in Z \]
则任取扰动\(v \in Z\),\(t>0\),定义\(g(t)=J(u+t v)\),关于\(t\)求导,注意到\(v \in Z\)意味着\(\nabla \cdot v=0\)
\[ \begin{aligned} g(t)&=J(u+t v) = \frac12(\nabla u,\nabla u) + t(\nabla u,\nabla v) + t^2 (\nabla v,\nabla v) - (f,u)- t(f,v)\\ &= J(u) + t(\nabla u,\nabla v) + t^2 (\nabla v,\nabla v)- t(f,v)\\ \frac{d g}{d t}|_{t = 0} &= (\nabla u,\nabla v) - (f,v) = 0 \end{aligned} \]
从而\(J(u)\)在\(u\)处至少是一个驻点,容易验证\(J\)是下凸的:
\[ \begin{aligned} &t J(u) + (1-t) J(v) - J(v+(t(u-v)))\\ =& \frac{t}2 (\nabla u,\nabla u)-t(f,u) + \frac{1-t}2 (\nabla v,\nabla v) - (1-t)(f,v)\\ &- \frac12 (\nabla (v+t(u-v)),\nabla (v+t(u-v))) + (f,v+t(u-v))\\ =& \frac{t-t^2}2 (\nabla u,\nabla u) + \frac{(1-t)-(1-t)^2}2 (\nabla v,\nabla v) - (1-t)t(\nabla u,\nabla v)\\ =& \frac{t-t^2}2 \left\{\Vert \nabla u\Vert^2 + \Vert \nabla v\Vert^2 - 2(\nabla u,\nabla v) \right\} \ge 0 \end{aligned} \]
因此\(J\)在\(u\)取到最小值。
反过来如果\(u \in Z\)取到\(J\)的最小值,也应该有
\[ (\nabla u,\nabla v) = (f,v) \,\, \forall v \in Z \]
因此(A1)与(B)等价。
2.3 (A2)=(B)
首先,(A2)=(A3)推出(A1)是显然的,因此(A2)可以推出(B)。
反过来,从(B)推出(A2)就必然要引入压强,也就是压强作为 Lagrange 乘子被引入!
为了应用前文中的 Lagrange 乘子法,我们需要定义相关的算子,并验证它们满足需要的条件。
准备
取 Hilbert 空间\(H=V,M=\widetilde{L}^2\),定义泛函\(J: H \to R\)
\[ J(v) = \frac12 (\nabla v,\nabla v) - (f,v) \]
显然\(J(u)\)是下凸的泛函,容易验证\(J\)是可微的,并且明确一下\(\nabla J(u) \in H^*\)的具体形式,取\(v \in H\)满足\(\Vert v \Vert = 1\),\(t \ge 0\),
\[ \begin{aligned} J(u+tv) &= J(u) + t(\nabla u,\nabla v)+ \frac{t^2}2 (\nabla v,\nabla v) - t(f,v)\\ &= J(u) + (\nabla u, t \nabla v) - (f,t v) + o(t)\\ &= J(u) + \langle \nabla J(u), t \nabla v\rangle + o(t) \end{aligned} \]
因此
\[ \nabla J(v) = (\nabla v, \nabla (\cdot))-(f,\cdot) \in H^* \]
上述记号的含义为: \(\nabla J(v)\)作用到 \(w\in H\)上
\[ \langle \nabla J(v),w\rangle = (\nabla v, \nabla w)-(f,w) \in R \]
然后明确\(T:H=[H_0^1]^n \to M^*\)和\(T^*: M=\widetilde{L}^2 \to H^*\)的定义并验证它们的性质。 定义\(T:H \to M^*\),对于\(v \in H\),\(Tv \in M^*\)满足
\[ \langle Tv,q \rangle = (\nabla \cdot v,q), \,\forall q \in M \]
显然我们需要的限制子空间\(Z=Ker\,T\)。 定义\(T^*:M\to H^*\),对于\(q\in M\),\(T^* q \in H^*\)满足
\[ \langle T^*q, v\rangle = -(\nabla q,v), \,\forall v \in H \]
验证一下它们确实是共轭的,这里分部积分没有边界项,
\[ \langle Tv,q\rangle = (\nabla \cdot v,q) = -(v,\nabla q) = \langle T^*q,v \rangle \]
\(T^*\)需要满足的条件即 Poincare 不等式:
\[ \Vert T^*q \Vert_{H^{-1}} = \Vert \nabla q \Vert_{H^{-1}} \ge C \Vert q \Vert_{L^2},\, \forall q \in L_0^2 \]
因此满足命题需要的所有条件。
应用 Lagrange 乘子法
基于前文的泛函中的 Lagrange 乘子法的命题,可知最优化问题
\[ J(u) = \min_{v\in Z} J(v) = \min_{v \in Ker\,T} J(v) \]
等价于存在\(u\in H\),\(p \in M\),使得
\[ \nabla J(u) = T^* p \]
并且\(p\)如果存在,也是唯一的。这里的最优化问题即(B)。
我们把 \(T^* p = \nabla J(u) \in H^*\) 这个式子具体化:作用到测试函数\(v \in H\),得到
\[ \begin{aligned} \langle T^* p,v\rangle &= \langle T v,p\rangle = (\nabla\cdot v,p)\\ \langle \nabla J(u),v\rangle &= (\nabla u, \nabla v)-(f,v)\\ \end{aligned} \]
因此有
\[ \begin{aligned} (\nabla u, \nabla v)-(f,v) = \langle \nabla J(u),v\rangle &= \langle T^* p,v\rangle = \langle T v,p\rangle = (\nabla\cdot v,p) \end{aligned} \]
利用 Lagrange 乘子法相关的命题,我们从(B)推出了(A3)
\[ (\nabla u,\nabla v) - (p,\nabla \cdot v) = (f,v) ,\,\forall v \in H=Z \]
得证(A1)、(A2)、(A3)和(B)都是等价的,并且明确了在 Stokes 方程组中\(p\)确实是作为 Lagrange 乘子而存在。