MENU

Calculus of Variations:变分问题的直接方法

• October 5, 2019 • Read: 6774 • Knowledge,变分法

直接法与间接法的区分

变分法是将PDE描述的边值问题转化为泛函取极值问题的一种方法。变分方法中又可以分为直接方法与间接方法。但是,非常困惑的一点就是直接法与间接法怎样区别?对于这个问题,必须要先搞清楚的是谁是研究的对象?变分问题研究的是泛函取得极值的条件,而PDE描述的是一个边值问题,我们知道他们两者是可以相互转化的,这意味着,它们都是对同一个物理现象(问题)进行的描述,只不过采取的数学形式不同,一个是微分形式,一个是积分形式。之间的关系简单表示为这个图。

泛函分析

依据这个关系的示意,可以明白法的是,客观存在物理问题才是我们研究的本质,泛函与PDE都只是为了反映物理场性质的一种手段。对物理场问题而言,当我们直接通过变分原理(原理就是指一些普遍成立结论,如最小势能原理等等)直接建立得到问题对应的泛函,此时是要确定出这个泛函的极值,这种不经过PDE形式而直接对问题进行泛函极值确定的方法就称为变分法的直接方法,即Rayleigh-Ritz法。间接法一般指基于加权残余法而建立的泛函(Galerkin法是加权残余法的一种形式之一),间接体现在对于物理问题先建立PDE形式来描述,为了获得PDE的解答,通过构造对应的泛函,然后对泛函的极值进行求解,所得到的函数就是PDE的解,这也是为什么称之为变分间接方法的原因。

直接法Rayleigh-Ritz法

变分法的直接方法也称为Ritz法,这个方法是对泛函直接进行极值的求解。这一方法的理解有两个层面,第一个层面是如何理解由物理问题直接构造出泛函表达?第二层是如何求解泛函的极值(这里指的是近似解)?

建立物理问题的泛函形式

这里也是让人很困惑的一点,因为它的推导过程与间接法的Galerkin法很相似,容易让人感到困惑,混淆这两种方法。直接法中,对于物理问题的描述通过变分原理来完成,这样会直接构件出一个积分表达式(泛函)。慢着!如果是这样表述的,那么变分原理是什么?这个问题必须要先搞清楚。

如果直接从比较枯燥变分运算来将这个问题,基本和没说一样,因为并不能搞清楚我们研究问题的前后逻辑。这里举一个具体例子,在连续介质力学中,对于弹性物体的受力来说,最小势能原理想必一定经常听说,许多有关于力学限元法的书中,都是依据这一个原理来建立最终有限元方程的,这个最小势能原理是变分原理的一种。试想一下,弹性理论中,要进行求解,必须依据物理、几何、平衡微分方程,按照位移求解,结合边界条件才能进行,而且最终的方程组是关于位移的二阶偏微分,实际中如果对方程这样进行消元操作,是一件很麻烦的事情,而直接法提供了一种十分便捷的途径,将问题转化为了求泛函极值问题。如果这样来看,一个问题会让人很值得去想,就是难道只有力学中的最小势能原理吗?如果是其他物理问题,还具有这样的原理吗?让人欣慰的是,最小势能原理描述的本质意义不局限于力学领域,在温度场、渗流场、静电场理论中,都会存在相同的原理,只不过这些领域中好像不存在“势能”的概念,因此也就不叫最小势能原理了,但是问题的本质并没有因此发生变化。那么从更为广泛的角度去寻求这些“原理”的意义就显得很有价值了。因为数学上的描述能够反映出量与量之间最本质的关系。

之前的学习,已经明白了什么样的PDE会存在对应的泛函。这里学习如何去构造出,看看他们的数学描述是什么,如果说这种规律很普遍成立,那么我们就把它称为“变分原理”,在实际应用时直接利用它,可以避免PDE的构建,直接可以进行泛函极值的求解,极大地简化求解过程。

按照如下几个步骤,并结合变分运算来进行泛函的构造:

  1. 在原PDE两侧乘以应变量的变分$\delta u$,然后两侧同时在定义域上积分。
  2. 三维空间中应用高斯-散度定理,二维空间中应用格林公式,一维问题应用分部积分法。
  3. 第二步会产生在边界处的积分,在这里用给出的边界条件来替换
  4. 将变分符号提取到积分符号外面。

这里以泊松方程为例。PDE形式如下:

$$ \frac{\partial ^2 u}{\partial x^2} + \frac{\partial ^2 u}{\partial y ^ 2} = -f(x, y) $$

进行第一步的处理后,得到:

$$ \iint\delta u [-\frac{\partial ^2 u}{\partial x ^ 2} - \frac{\partial ^2 u}{\partial y ^2} - f(x, y)] \mathrm{d}x \mathrm{d}y\\ =-\iint\delta u (\frac{\partial ^ 2 u}{\partial x ^ 2} + \frac{\partial ^2 u}{\partial y ^2})\mathrm{d}x \mathrm{d}y - \iint \delta u f \mathrm{d}x \mathrm{d}y $$

对前一项进行分部积分,具体为

$$ \iint \delta u \frac{\partial ^ 2 u}{\partial x^2} \mathrm{d}x \mathrm{d}y\\ = \int[\int \delta u \frac{\partial ^ 2 u}{\partial x^2} \mathrm{d}x]\mathrm{d}y\\ = \int[\delta u \frac{\partial u}{\partial x}|_{bc} - \int \frac{\partial \delta u}{\partial x} \frac{\partial u}{\partial x} \mathrm{d}x]\mathrm{d}y \\ = \int\delta u \frac{\partial u}{\partial x}|_{bc} \mathrm{d}y - \iint \frac{\partial \delta u}{\partial x} \frac{\partial u}{\partial x} \mathrm{d}x \mathrm{d}y $$

对于$y$的偏导数依然按照上述进行处理,得到:

$$ 原式=\iint (\frac{\partial \delta u}{\partial x} \frac{\partial u}{\partial x} + \frac{\partial \delta u}{\partial y} \frac{\partial u}{\partial y}) \mathrm{d}x \mathrm{d}y - \int\delta u \frac{\partial u}{\partial y}|_{bc}\mathrm{d}x - \int \delta u \frac{\partial u}{\partial x}|_{bc} \mathrm{d}y - \iint \delta u f \mathrm{d}x \mathrm{d}y $$

由于分部积分的操作,会产生在边界上的积分项,如$\int \delta u \frac{\partial u}{\partial x} |_{bc}\mathrm{d}y$和$\int\delta u \frac{\partial u}{\partial y}|_{bc} \mathrm{d}x$这连个就是因为分部积分所产生的边界上的积分。对于边界条件的引入,这里假设该泊松方程均为齐次条件,那么对于第一类条件而言,由于函数在边界上为0(齐次的要求嘛),那么积分自然为0;第二类边界条件为齐次,边界上导数项为0,所以积分也为0。那么就可以得到:

$$ \iint(\frac{\partial u}{\partial x} \frac{\partial }{\partial x} \delta u + \frac{\partial u}{\partial y}\frac{\partial}{\partial y} \delta u - \delta u f) \mathrm{d}x\mathrm{d}y $$

然后,将变分符号提取到积分外面,这里特别要注意的是,变分的运算法则!

$$ 原式=\frac{\delta}{2}\iint (\frac{\partial ^2 u}{\partial x ^ 2} + \frac{\partial ^ 2 u}{\partial y^2} - 2 u f )\mathrm{d}x \mathrm{d}y $$

上述这个式子就是一个变分,那么它所对应的泛函就为

$$ I[u(\cdot)]=\frac{1}{2}\iint (\frac{\partial ^2 u}{\partial x ^ 2} + \frac{\partial ^ 2 u}{\partial y^2} - 2 u f )\mathrm{d}x \mathrm{d}y $$

这个泛函就是泊松方程对应的等效泛函,而泊松方程不仅仅在弹性力学理论中,在稳态的温度场、稳态的渗流场都存在,所以,最小势能原理它的存在不仅仅局限在弹性力学范畴。只要针对PDE的类型,直接采用其构件泛函,这就称为变分法的直接方法,或者说是Rayleigh-Ritz法。

到这一步也只是完成了泛函的构件,但是变分问题研究的是函数极值的问题,如何确定处泛函的极值可能更为重要,上述只是利用变分原理构件出了泛函,Ritz法是一种近似法,通过对场函数利用基函数线性组合的方式来替代精确解,然后依据泛函取极值的条件,即泛函的变分为0,从而得到解答。

确定泛函的极值问题

Ritz在确定泛函极值时,假设了一个近似解$\hat u$,并且这个近似解是通过多项式基函数构造而得的,形式如下:

$$ \hat u = \sum_{n = 1} ^ N a_n u_n + u_0 $$

$u_0$的设置是为满足非齐次的边界条件,而$u_n$项用于满足齐次边界条件,近似解的设置必须在边界上严格满足才行。$N$的数值我们自己可以确定,当然是越大其越精确,但是计算量也会增大。此时,把近似解带入到泛函表达式中,由于泛函要取到极值的条件是,泛函的变分为0。所以对于进行变分运算(类似于求一阶导),注意求导是对近似解中未知的系数$a_n$,有几个系数,就有几个偏导数。

Last Modified: January 6, 2020
Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment

2 Comments
  1. zy zy

    请问假如有第三边界条件第一步该怎么办?是不是还要对第三边界条件也加上去?

    1. @zy我习惯先对方称进行离散,这时候默认是处于齐次边界条件下的。边界条件在离散后,可以采用置1法或者乘大数法进行添加,只需要修改下得到的系数矩阵和右侧的b向量即可。