变分理论与数值分析方法教案(第三章变分原理与有限元方法)蔡中义变分理论与数值分析方法1第三章变分原理与有限元方法泛函的极值函数可以通过求解相应的Euler方程(微分方程的边值问题)来获得,另一方面,也可以通过求解泛函的极值函数获得相应微分方程的解。这就是说,求解微分方程边值问题等价于求解相应泛函极值问题,这种相关性通常叫做变分原理。把这一原理应用于各类物理问题就构成了各种物理问题的变分原理,变分原理是以积分形式表达的物理定律,这种积分形式的泛函常常代表能量,习惯上也把微分方程边值问题转化为泛函极值问题的求解方法叫做能量法,如力学中的昀小势能原理、虚功原理等。实践告诉我们,微分方程边值问题的求解往往比较困难,而从泛函变分求微分方程近似解常常容易些,可以采用Ritz方法、有限元法等。这种方法的关键问题是要找到以所给微分方程为其Euler方程的泛函,这一泛函如何构造?本章主要介绍典型的微分方程、偏微分方程的变分原理,并通过微分方程的有限元求来说明有限元方法的基本思想。§3.1预备知识为了叙述方便,先介绍几个基本概念。§3.1.1函数的内积【定义】定义域在上的连续函数)(Pu、)(Pv(P)乘积在上的积分dPvPuvu)()(,(3.1.1-1)称为函数)(Pu,)(Pv在区域上的内积。若0,vu,称u与v正交。由(3.1.1-1)式可以看出,两个函数的内积是一个实数,它由积分值所确定。从内积的定义可以得到内积的如下性质:设为)(Pu、)(Pv、)(1Pu、)(2Pu是定义域在上的连续函数,、是任意实数,则①对称性:uvvu,,②线性:vuvuvuu,,),(2121③非负性:0,uu④0)(0,Puuu,P证①uvdPuPvdPvPuvu,)()()()(,②vuvudPvPudPvPudPvPuPuvuu,,)()()()()()]()([),(21212121③0)(,2dPuuu④若0)(Pu,P,则0)(2dPu。第三章变分原理与有限元方法2若2,()0uuuPd,则应有0)(Pu,P。否则,必有一点*P,在该点0*)(Pu。因)(Pu在上连续,所以必存在*P的某个领域G,在该邻域上0)(Pu,从而22,()()0GuuuPduPdG这与假设矛盾。例1xucos,xv定义在],0[上,求vu,解2cossin)sin(cos,0000xxdxxxxdxxvu§3.1.2算子1.算子的概念[1]【定义】给定两个集合M,D。若M中的每一个元素u(Mu)对应于D中的一个元素)(uL(DuL)(),则称L为算子,即DML:。集合M称为算子L的定义域,集合D称为算子L的值域。算子L是将空间M转变为空间D的一种变换,M与D可以相同也可以不同。例[14]微分算子设M为二阶连续可微函数空间],[2baC,对于任意的Mxy)()()()(')(')('')()()(])()([)(xyxqxyxpxyxpxyxqdxxdyxpdxdyL其中)(xp,)(xq为已知函数。若D为],[ba上连续函数空间],[baC,则M中的每一个元素y(yM),对应于D中的一个元素)(uL(DuL)()。L就是一个微分算子,记DML:为)(])([xqdxdxpdxdL如果给定],[)(baCxf,则()()Lyfx是算子方程。例积分算子对于任意的Mxy)((],[:2baLM)badtxytxKyT)(),()(其中,),(txK是矩形域],[],[baba中的二元连续函数。T就是一个积分算子。如果给定],[)(2baLxf,则)()(),()(xfdtxytxKyTba即为算子方程()Tyf。变分理论与数值分析方法3本课程只涉及微分算子,一般情况下,提到的算子都是指微分算子。例微分方程的边值问题可以写成微分算子方程的形式,如),(),(2222yxpuyxfyuxu(3.1.2-1)该微分方程的解),(yxu在区域内满足(3.1.2-1)的第一式,在边界上满足(3.1.2-1)的第二式。这意味着)(),(2Cyxu,且在边界上等于),(yxp。记算子(Laplace算子)2222yx则(3.1.2-1)写成算子方程fu,Mu其中微分算子的定义域M是所有在区域二阶可微、在边界上等于),(yxp的函数的集合,即:)},(),(),(,),({:2yxpuCyxuyxuM一般情况下,微分方程可写成算子方程的形式:fuL)(,Mu由于)(uL是上的函数,可以定义与任意函数v的内积为vduLvuL)(),(2.线性算子【定义】若M是一个线性集合,对于任何Mvu,和任意实常数,,算子L具有如下性质)()()(vLuLvuL则称算子L为线性算子(linearoperator)。线性微分算子相对应的方程为线性微分方程。微分、积分运算是线性运算。因此,许多微分方程和积分方程都是线性算子方程。例1证明在线性集合],[101xxC上给定的算子dxdL()()为线性算子解对于任意实数,及Mvu,有)()()()(vLuLdxdvdxduvudxdvuL因此,L在M上是一个线性算子。3.对称算子[1]【定义】M是一个线性集合,L是M中的线性算子。若对于任何Mvu,,有)(,),(vLuvuL则称算子L为对称算子例2[1]设M是由],[)(102xxCxu组成的线性集合,且满足齐次边界条件0)(0xu,0)(1xu。),(yx为的边界第三章变分原理与有限元方法4证明算子22dxdL()()是对称算子解事实上,L是线性算子。对每一对Mvu,构造内积并进行积分101010'')'(''),(xxxxxxdxvuvuvdxuvuL由于Mv,0)(0xv,0)(1xv,于是边界项0)()(')()(')'(110010xvxuxvxuvuxx从而10(),''(),,()xxLuvuvdxLvuuLv因此,L在M上是一个对称算子。4.正定算子(正算子)【定义】若L算子是对称算子,对于任何Mu,恒有(),0Luu而且只有当0u时上式为0,则称算子L为正定算子(positiveoperator)例3例2中已经证明算子22dxdL()()是对称算子,现证明其为正定算子解由于对任意Mvu,有10''),(xxdxvuvuL成立。取vu,于是0'),(102xxdxuuuL当0),(uuL时,有0'102xxdxu因)('xu在],[10xx上连续,从而推知0)('xu,即)(xu在],[10xx上是常数。由于Mu,0)(0xu,0)(1xu,于是()0ux,],[10xxx故L在M上是一个正定算子。§3.1.3对称正定算子方程的变分原理对于一个正定算子方程,一定有一个与之等价的泛函极小值问题。【定理】设L是对称正算子,若算子方程()Luf,Mu(3.1.3-1)存在解0uu,则0u所满足的充分必要条件是泛函[](),2,JuLuufu(3.1.3-2)变分理论与数值分析方法5在0uu处取极小值。定理中的泛函[]Ju,一般称为算子方程的能量泛函。证明先证明必要性:若0uu是算子方程(3.1.3-2)的解,则有0()0Luf(3.1.3-3)对于M中任意的0uu,应有0000[][](),2,JuJuLuufu因为L是对称正算子,根据内积的性质,上式可以展开00000000000[](),(),(),(),2,2,(),2,(),2(),2,[](),2(),JuLuuLuLuLfufLuufuLLufJuLLuf(3.1.3-4)由于0()0Luf,故0[][](),JuJuL注意到L是正算子定义,所以当为非零函数时(),0L,仅当0时(),0L,即(),0L因此有0[][]JuJu且等号当且仅当0uu时才成立。这说明泛函][uJ在0uu时取极小值。再证明充分性:因为当0uu时,泛函][uJ取极小值,从而0J,即[(),2,](),(),2,0JLuufuLuuLuufu注:(),()[()]{[()]()}{[()]()}(),(),LuuLuudLuudLuuLuudLuuLuudLuuLuu,,fufudfudfu(微分、积分与变分次序可以互换)(00),(),(uLuL)第三章变分原理与有限元方法6注意到算子L是对称的,有2(),2,2(),JLuufuLufu由00uuJ,有0(),0Lufu即为0[()]0Lufud(3.1.3-5)由于u的任意性,因此有0()0Luf即0u是方程(3.1.3-2)的解。定理证毕。该定理说明算子方程()Luf与其变分方程[]((),2,)0JuLuufu是等价的,变分方程是积分表达式,当采用变分法求解对称正定算子方程式(3.1.3-1)时,都是以变分方程作为出发点的。泛函公式(3.1.3-2)也可写成:1[](),,2JuLuufu(3.1.3-6)该式与(3.1.3-2)完全等价,泛函中增加了系数1/2,不影响泛函的极值性质,主要是为了保证有关公式推导的简洁性。§3.2线性微分方程边值问题等价的变分问题考虑二阶微分方程()[()]()()()ddyLypxqxyxfxdxdx(3.2-1)§3.2.1齐次边界条件微分方程边值问题00001111()[()]()()()'()()0'()()0ddyLypxqxyxfxdxdxyxyxyxyx(3.2-2)其中,①)('xp、)(xq和)(xf都属于01[,]Cxx,②0)(xp,()0qx,③0,0,1,1是非负的常数,且02020,02121,又当00,01时,变分理论与数值分析方法702120。二阶微分算子为DML:,其中201{()()[,]MyxyxCxx(二阶连续可微),且满足0000'()()0yxyx,1111'()()0yxyx}显然,对任意的()yxM,()zxM,利用分部积分法(利用等式:[()'()]()[()'()()]()'()'()ddpxyxzxpxyxzxpxyxzxdxdx),有10111000100100011101(),{[()'()]()()}()[()'()()]()'()'()()()()[()'()'()()()()]()()()()()()xxxxxxxxxxdLyzpxyxqxyxzxdxdxpxyxzxpxyxzxdxqxyxzxdxpxyxzxqxyxzxdxpxyxzxpxyxzx上式的右端是关于()yx及()zx的实对称式,因此有(),(),,()LyzLzyyLz即L是对称算子。又令()()yxzx,得10222201001101(),[()'()()()]