《第5章偏微分方程ppt课件.ppt》由会员分享,可在线阅读,更多相关《第5章偏微分方程ppt课件.ppt(43页珍藏版)》请在三一办公上搜索。
1、第五章 偏微分方程,本章内容,5.0 概论,任何一种随空间变化或随时空变化变化的物理现象都需要用偏微分方程描述,大部分物理上重要的偏微分方程是二阶的,它们可以分为,因变量用它们在自变量的许多离散的格点上之值来描述,通过适当的离散化,偏微分方程就化为一大组差分方程。,5.1 椭圆型方程,我们将考虑二维空间(x,y)内的场量 的椭圆型边值问题,方程为,取固定边界条件,即在(x,y)平面内某一根很大的闭合曲线上(为方便起见取为单位正方形)规定了 值,边值问题就是要用方程求出单位正方形内每处的。,空间离散化,首先定义一个网格,覆盖(x,y)平面内的单 位正方形。为方便起见,我们取格子间隔 h(步长)是
2、均匀的,并且在两个方向上相等,使得单位正方形被(N+1)(N+1)个格点覆盖。这些格点 用指标 i,j 编号,其中 i,j=0,1,2,3,.,N。,对每个方向上的二阶微商应用三点差分近似,方程近似为,其中 A 是出现在线性方程组中的矩阵,表示内点上的 值(不包含边界点),非齐次项 B 包含内点上的 S 以及边界上的 值。,上式等价于关于区域的内点上的未知 值的一个线性方程组,写为矩阵形式,可以通过矩阵求逆来获得,一维问题的差分格式,一维椭圆型方程,差分格式为,当点数不太多时,我们可以利用矩阵求逆的方法来求解,具体的为,例子,精确解为,二维问题的差分格式,其中,取特殊的网格 h=1/3,如右图
3、,求差分方程的矩阵形式,差分方程的矩阵形式为,其中,解得,松弛法,首先将上式改写为“解出”i 的形式,以一维问题为例,其差分方程为,当格点取得非常密时,选择矩阵求逆的方法来求解计算量是非常大的,需要寻求一种适用于更高维数的、效率更高的算法。由于对 Laplace 算符的离散近似只包含相邻的点,A为稀疏矩阵,可以用松弛法高效的求解。,Jacobi法的思想就是:先猜测一个初始解 0,然后根据下面的递推关系生成一系列的解,直到收敛为止。,但是这个方法收敛很慢,一个改进的算法是 damped Jacobi 方法,Jacobi法,多次重复这一扫描过程,就可以把 的一个初始猜测“松弛”到正确的解,另外一种
4、不同的迭代格式是Gauss-Seidel 迭代法:先猜测一个初始解 0,然后对格子进行系统的扫描(比如从左到右),相继的把每一点的 换成一个经过改进的值,Gauss-Seidel 迭代法,一个类似于damped Jacobi算法的改进是,这个算法比前面讨论的几种算法都更有效率。,只要 01对应于“超松弛”1则意味“低松弛”,从解的一个良好的猜测出发将会减少所需的迭代次数应当使用松驰因子的最优值,这可以用解析方法来估计,也可以用经验方法来决定。分析表明,松弛参数的最佳选择依赖于格子大小和问题的几何条件。它通常大于1,接近2。最佳值可以由经验方式决定,这只要考察解在头几次迭代中的收敛情况就可以了。
5、,加速收敛的办法,在几次迭代中,把松驰过程集中在网格的一子区域(已知试验解在这个区域中特别不好)中进行,这样就不会在解的已松驰的部分上浪费力量我们总可以先在比较粗的网格上进行计算,它经过少量的计算工作之后就会松驰,然后再把求得的解内插到一个更精细的网格上,用它做进一步迭代的初始猜测。,二维椭圆型方程,将松弛法推广到高维是非常直接的,以二维为例,差分方程为,解出 ij,相应的松弛法格式为,例子,其中,精确解为,椭圆型方程的本征值问题,其中,本征值和本征函数为,差分方程的解为,差分方程为,微分方程问题有无穷多个本征值,而相应的差分方程仅有(N-1)2 个本征值,一般它们逼近微分方程问题中的那些最小
6、的本征值。而物理上具有意义的正是这几个最小的本征值,因此这样的近似求解是有价值的。,5.2 抛物型方程,其中 D 是扩散系数,它可能依赖于空间,而 S 是一个源函数。,在物理学中遇到的典型的抛物型偏微分方程是扩散方程,给定一个初始时刻的 场,我们要求随后某时刻的 场,其演化要服从一定的空间边界条件,例如,在一些界面上规定了温度或热通量。,显式差分法,假定扩散系数 D 不随空间变化,设其为1。空间变量 x 在 0 和 1 之间变化。边界条件是固定边条件,即在区间的两个端点上规定了场的值。不考虑非齐次项,先讨论最简单的一维扩散问题,此时对应的方程可以 写成,将 0,1 区间分割为 N 个均匀的格子
7、,其中格距或空间步长为 h=1/N,并设时间步长为 t。,离散化,用 in 来表示在空间 xi=ih 处、时刻 tn=n t 时的场值,其中 i=0,1,2,.,N,n=0,1,2,.,用三点差分公式近似代替空间的二阶导数,用最简单的一阶差分公式近似代替时间的导 数,于是方程可近似写成如下差分格式,整理得到,上式简化为,令,当时间步长取的很小时,计算比较精确;但是如果试图增大时间步长,则数值解中会出现一个非物理的不稳定性。,出现这一情况的原因是因为我们这里提供的显式差分格式是一个条件稳定格式,只有当满足下式时才是稳定的,这迫使我们不得不再增加迭代的次数或取一个更小的时间步长 t,这将付出很大的
8、代价,特别是这个时间步长比恰当地描述系统演化所需要的自然时间尺度要小得多时,绕过上节显式算法的条件稳定性的一个方法是采用相应的隐式格式。,隐式差分法,获取隐式格式的一个直接的方法是,只需将空间的二阶导数用新时刻上的三点差分公式来近似代替,其它不变,这样我们得到一个修正的迭代格式,引入算符 L,将隐式公式写为,因为未知量 n+1 出现在方程两边,所以我们可以通过解出 n+1 来得到迭代格式,即求解,注意,L 的矩阵形式,这个格式在 t 的最低阶上和显式格式等价,但是这个格式比显式格式要好得多,好在它可以用大的时间步长,这是因为该隐式差分格式是无条件稳定的。,对隐式格式而言,每个时间步的计算都需要
9、将矩阵(1+t L)的逆矩阵作用在 n 上。由于逆矩阵本身与时间无关,我们可以只在计算开始时求它一次,然后在所有时刻都用。,将显式公式,利用算符 L,改进的算法,写为,将隐式公式和显式公式相加,解出得,最后我们需要说明的是,用两个时刻上的三点差分公式的不同组合来近似代替空间二阶导数,还可以得到其它改进的隐式迭代格式,例如,,这个差分格式被称为CrankNicolson方法,是求解含时薛定谔方程的首选。它的精度比前面的直接隐式差分格式好得多(直接隐式差分格式对时间的精度是 O(t),而CrankNicolson差分格式则是 O(t 2))。,含时薛定谔方程,其中 V 是位势函数。,为了方便起见,
10、令=2m=1,将上式写为如下抛物线方程形式,其中 H 算子为,可以证明这个递归关系是幺正的,即保证波函数的模方在全空间的积分不随时间变化,这正是量子力学所要求的。,应用下面的差分格式,5.3 双曲型方程,研究两端固定的弦的振动,假设初始位移 为 1(x)和初始速度 1(x),将二阶导数写为差分形式,当 c1 时,解是不稳定的。,得到波动方程的差分格式,其中,利用初始条件可以先求出两行数值作为公式计算的启动值,设初始位移 为 1(x)和初始速度 1(x),则,显式公式表明,需要两行的已知的数据才能求出下一行的数值,Matlab偏微分方程工具箱简介,MATLAB提供了两种方法解决偏微分方程问题:一个是 pdfpe 函数,可以直接求解一般的偏微分方程另一个是matlab 的偏微分工具箱(PDE toolbox)可以比较规范的求解各种常见的二阶偏微分方程,以椭圆型方程为例,演示偏微分工具箱的用法,平面有界区域 D上的椭圆型偏微分方程边值问题,a、c、f 均为D上的关于(x,y)的已知函数,未知函数为 u(x,y),它的边界条件为三类,(1)Direchlet条件,(2)Neumann条件,(3)混合边条件在边界上部分为Direchlet条件,另外部分为Neumann条件,例子,