大连理工大学 高等数值分析 椭圆方程差分法
- 格式:doc
- 大小:182.00 KB
- 文档页数:2
椭圆型方程的差分方法差分方法是一种数值计算方法,使用近似的差商来表示微分方程。
椭圆型方程是一类常见的偏微分方程,具有重要的数学和物理应用。
在本文中,我们将介绍椭圆型方程的差分方法,并讨论其优点和缺点。
一、椭圆型方程的差分近似L[u]=-∂(p∂u/∂x)/∂x-∂(q∂u/∂y)/∂y+r(x,y)u=f(x,y)其中,L[u]是一个偏微分算子,u(x,y)是未知函数,p(x,y),q(x,y),r(x,y),f(x,y)是已知函数。
椭圆型方程的解通常在一个区域Ω上求解。
差分方法的主要思想是用网格来离散化区域Ω,将连续的偏微分方程转化为离散的代数方程。
对于椭圆型方程,我们可以选择矩形网格,其中Ω可以被划分为N*M个小矩形,并且网格的步长为Δx和Δy。
假设我们要在网格点(xi, yj)处求解未知函数的值uij,其中i和j分别表示网格的行索引和列索引。
我们可以使用中心差分法来近似x和y方向的偏导数,从而得到离散形式的椭圆型方程:L[u] ≈ -(p(xi+1/2, yj)(ui+1,j - ui-1,j)/Δx^2 + p(xi,yj+1/2)(ui,j+1 - ui,j-1)/Δy^2) + q(xi,yj)uij = f(xi,yj)其中,p(xi+1/2, yj)和p(xi, yj+1/2)分别表示在(xi+1/2, yj)和(xi, yj+1/2)处的系数。
可以通过有限差分方式计算出这些系数。
将上述公式在每个网格点(xi, yj)处形成一个方程,从而得到一个线性方程组。
通过求解这个线性方程组,我们可以得到网格点上的未知函数值。
二、椭圆型方程差分方法的优点和缺点差分方法是一种简单有效的数值计算方法,具有以下优点:1.可以处理任意形状的区域Ω:差分方法可以适应不规则网格和复杂区域,因此适用于各种几何形状的椭圆型方程求解。
2.数值稳定性:差分方法可以确保数值解的稳定性,避免数值上的不稳定问题。
3.线性时间复杂度:差分方法的计算复杂度通常是线性的,即解方程的时间随着网格点数的增加而线性增加。
双曲型方程的有限差分法线性双曲型方程定解问题: (a )一阶线性双曲型方程()0=∂∂+∂∂xux a t u (b )一阶常系数线性双曲型方程组0=∂∂+∂∂xt uA u 其中A ,s 阶常数方程方阵,u 为未知向量函数。
(c )二阶线性双曲型方程(波动方程)()022=⎪⎭⎫⎝⎛∂∂∂∂-∂∂x u x a x t u()x a 为非负函数(d )二维,三维空间变量的波动方程0222222=⎪⎪⎭⎫⎝⎛∂∂+∂∂-∂∂y u x u t u 022222222=⎪⎪⎭⎫ ⎝⎛∂∂+∂∂+∂∂-∂∂z u y u xu t u §1 波动方程的差分逼近 1.1 波动方程及其特征线性双曲型偏微方程的最简单模型是一维波动方程:(1.1) 22222xu a t u ∂∂=∂∂ 其中0>a 是常数。
(1.1)可表示为:022222=∂∂-∂∂xu a t u ,进一步有0=⎪⎭⎫ ⎝⎛∂∂+∂∂⋅⎪⎭⎫ ⎝⎛∂∂-∂∂u x a t x a t由于xat ∂∂±∂∂当a dt dx ±=时为()t x u ,的全导数(=dtdu dt dx x u t u ⋅∂∂+∂∂x ua t u ∂∂±∂∂=),故由此定出两个方向(1.3) adx dt 1±=解常微分方程(1.3)得到两族直线 (1.4) 1C t a x =⋅+ 和 2C t a x =⋅- 称其为特征。
特征在研究波动方程的各种定解问题时,起着非常重要的作用。
比如,我们可通过特征给出(1.1)的通解。
(行波法、特征线法) 将(1.4)视为),(t x 与),(21C C 之间的变量替换。
由复合函数的微分法则212211C uC u x C C u x C C u x u ∂∂+∂∂=∂∂⋅∂∂+∂∂⋅∂∂=∂∂ x C C u C u C x C C u C u C x u ∂∂⎪⎪⎭⎫ ⎝⎛∂∂+∂∂∂∂+∂∂⎪⎪⎭⎫ ⎝⎛∂∂+∂∂∂∂=∂∂2212121122 222122212212C u C C u C C u C u ∂∂+∂∂∂+∂∂∂+∂∂= 2222122122C uC C u C u ∂∂+∂∂∂+∂∂= 同理可得a t t a t C -=∂∂-=∂∂1,a tC=∂∂2 ⎪⎪⎭⎫⎝⎛∂∂-∂∂=∂∂⋅∂∂+∂∂⋅∂∂=∂∂212211C u C u a t C C u t C C u t utC C u C u a C u t C C u C u a C t u ∂∂⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛∂∂-∂∂⋅∂∂+∂∂⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛∂∂-∂∂⋅∂∂=∂∂2122112122 ⎥⎦⎤⎢⎣⎡∂∂∂-∂∂+⎥⎦⎤⎢⎣⎡∂∂-∂∂∂-=21222222221222C C u C u a C u C C u a ⎥⎦⎤⎢⎣⎡∂∂+∂∂∂-∂∂=22221221222C u C C u C u a 将22x u ∂∂和22tu∂∂代入(1.1)可得: ⎥⎦⎤⎢⎣⎡∂∂+∂∂∂-∂∂22221221222C u C C u C u a ⎥⎦⎤⎢⎣⎡∂∂+∂∂∂+∂∂=22221221222C u C C u C u a 即有0212=∂∂∂C C u求其对2C 的积分得:()11C f C u=∂∂ 其中()1C f 是1C 的任意可微函数。
实验五 椭圆型方程差分解法一、 实验题目:矩形区域Ω上Laplace 方程的Dirichlet 问题⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧===-==∂∂+∂∂====0|4sin |0|)3(|030402222y y x x u xu u y y u y u xu π 4040303030,40≤≤≤≤≤≤≤≤<<<<x x y y y x二、 实验要求:1、建立内点的五点差分格式。
(取h=1)2、建立包括边界点在内的五点差分格式方程组。
3、用逆矩阵法或雅克比迭代迭代法求解方程组。
4、计算结果(保留至小数点后4位)。
5、由计算结果,写出结论。
三、实验步骤1、建立Laplace 方程与边界条件的差分格式(内节点6个,边界点10个)2、建立6个未知量的差分方程组。
41,,1,11,-+-++++=j i j i j i j i ij u u u u u3、建立6个未知量的矩阵方程。
令],,,,,[232221131211u u u u u u u h =,则6个未知量的矩阵方程为g Hu h h =21其中⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---=B I I B I I B H ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----=4114114B 4、利用边界条件编制程序计算内节点处的数值解lm u (3,2,1=l 2,1=m ) 四、实验源代码 #include<stdio.h> #include<math.h> #define e 0.000001 void main(){ int i,j,k,flag=1,sum=0;doublea[5][4]={{0,2,2,0},{0.707,0,0,0},{1,0,0,0},{0.707,0,0,0},{0,0,0,0}}; double b[6],c[6]; while(flag) { sum++; flag=0;k=0;for(i=1;i<=3;i++) for(j=1;j<=2;j++) {b[k]=a[i][j];a[i][j]=(a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1])/4;c[k]=a[i][j];k++;}for(k=0;k<=5;k++)if(fabs(b[k]-c[k])>e)flag=1;}for(k=0;k<=5;k++)printf("%f\n",b[k]);printf("%d",sum);}五、实验结果:.1,63850525.1,u.1[.1,4123]5369.2,.0,53629685h。
第4章 椭圆型方程的有限差分法§ 2 一维差分格式1、用积分插值法导出逼近微分方程的差分格式。
, d / du 、 du 上 , Lu=- (p )+r +qu=f,a<x<b, dx dx dxu(a)= a ,u(b)=如果系数p,q,r 以及右端f 光滑,则可用中矩形公式计算得解:考虑在[a,b ]内任一小区间[x ⑴,x (2)],将上式在此区间上积分得 X ⑵d dU曲 d ;(p(x)d ;)dxW(x ⑴)W(x ⑵)x(2)dU(1) r ——dxxdx x ⑵dU 」 xr dxx (2) x (1) qudx X (2)X (1) qudxX (2)x (1)fdXX ⑵X (1) fdX其中,W(x) p吧特别地,取[X ⑴,X ⑵]为对偶单元[x i 1/2 , x i 1/2 ],则W (x i 1/2)W(x i 1/2)x1/2dUr ——dxxi 1/2 qudxxi 1/ 2xi 1/ 2 fdx 。
Xi 1/ 2-J..将(1.2)改写成—dxW(x)再沿[x i 1/2, x i 1/2]积分,得U i U iX iW(x) dx , Xi 1p(x)矩形公式,得W 1/2a iU i U ih i a iNdx x1 p(x)]xi 1/ 2又qUdxXi 1/ 2h ih i2:d i U i , d ixi 1/ 2 x q(x)dxX1/2x1/2dU , r ——dx.U i 1 U i 1bi "T-2 h i h i 1x 1/2 xr(x)dxxi1/22ih i h i 1x1/ 2 f (x)dxxi 1/2(1.1) (1.2)利用中(1.3)(1.4)(1.5)(1.6)将(1.3) ~ (1.5)代入1.1),即得微分方程的差分格式a iU i U i 1h*h i h i 1)d i U b^Ui21-(h i h i 1) i则逼近阶为O(h 2)。
椭圆方程差分法
1 矩形网上差分方程
考虑二阶椭圆型偏微分方程的第一边值问题
(1.1) ()()()⎪⎩⎪⎨⎧=∈=+++--Γy x y x u y x F Eu Du Cu u u y x yy xx ,,,αG
其中C ,E D ,是常数;0≥E ;()()G C 0,∈=y x F F ;(,)x y α是给定的光滑函数。
假设(5.1)存在光滑的唯一解。
为简单起见,假设G 是矩形区域,其四个边与相应坐标轴平行。
考虑矩形网格:1h 和2h 分别为x 和y 方向的步长,h G 为网格内点节点集合,h Γ为网格边界点集合,=h G h G h Γ。
对于内点()j i y x ,h G ∈用如下的差分方程逼近(1.1) (1.2)
21
,1,12h u u u j i ij j i -++---221,1,2h u u u j i ij j i -++-+1,1,12h u u C j i j i -+-+21,1,2h u u D j i j i -+-+ij Eu =ij F
其中),(j i ij y x F F =。
(1.2)通常称为五点差分格式。
用(1.1)的真解(,)u x y 在网点上的值(,)i j u x y 、1(,)i j u x y -等等分别替换(1.2)中的ij u 、1,i j u -等等,然后在(,)i j x y 点处作Tailor 展开,便知(1.2)逼近(1.1)
的截断误差阶为()
2221h h O +。
方程(1.2)可以改写为
(1.3) j i a ,1-j i u ,1-+j i a ,1+j i u ,1++1,-j i a 1,-j i u +1,+j i a 1,+j i u +j i a ,j i u ,ij F =
对每一内点都可以列出这样一个方程。
遇到边界点时,因为边界点u 的函数值已知,将相应的项挪到右端去。
最后,得到一个以u 的内点近似值为未知数的线性方程组。
这个方程组是稀疏的,并且当1h 和2h 足够小时是对角占优的。
可以证明,五点差分格式关于右端和初值都是稳定的,收敛阶为2212()O h h +。
当G是一个一般的区域,并且边界条件包含法向导数(第二和第三边值条件)时,在边界点建立差分方程是一件颇为令人烦恼的事情。
y
O x。