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 乘子而存在。