预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共61页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第二章有限差分法第二章有限差分法1.地球内部介质,不仅存在纵向非均匀结构(一维地球模型), 也存在横向非均匀结构(不同块体、断层系统); 2.几何模型也呈现出相当的复杂性; 3.另外,边界条件和初始条件对于不同问题具有特殊性。对于存在复杂介质和几何、特殊边界条件和初始条件的实际地质问题, 一般不存在解析解,需要近似的数值求解方法。 有限差分方法是地球物理方法中最常见的一种。 有限差分法以变量离散取值后对应的函数值来近似微分方程中独立变量的连续取值。 我们放弃了微分方程中独立变量可以取连续值的特征,而关注独立变量离散取值后对应的函数值。 有限差分法的具体操作分为两个部分: (1)用差分代替微分方程中的微分,将连续变化的变量离散化,从而得到差分方程组的数学形式; (2)求解差分方程组。有限差分法的主要内容网格剖分就是研究区域和边界的离散化 1.矩形分割 2.三角形分割 3.极网格分割对地球物理问题的连续求解区域通过网格划分离散为空间上得一系列网格点,接下来需要利用一定的差分格式对偏微分方程组中的导数用差商进行近似,从而将偏微分方程组离散化为差分方程组。2.3差分格式式中的O(x)项表示忽略掉的所有项中的最大项的量级是Δx,也就是说,忽略掉这些项带来的误差中的最大项和Δx成正比。(1)式减去(2)式,得到:(1) 定解问题的有限差分解法 1.离散 x=ih,y=jh,i=0,±1,±2,….±n,h:步长(正方形的边长) 2.根据泰勒级数建立差商格式:对于一维情况:在x处的一阶导数可以用 差分格式的另一种推导为了寻求更精确的差分格式,我们引入两个待定常数,由泰勒展开,构造如下关系式(1)一个例子:一个例子:(1)第一类边界条件(b)线性插值法 先判断x方向的边界节点1和y方向的边界节点2哪一个更靠近0点。(c)双向插值法(2)第二类和第三类边界条件图中O与R重合2.4差分方程例子:对流方程(双曲型)的初值问题利用(15)和(17)式,得到:(22)式加上初始条件(14)的离散形式用Taylor级数展开给出差分形式,用相应的差分形式逼近批未能微分方程(组),可以得到不同的差分格式,这一过程等价于用差商来近似微商得到相应的差分格式。 例子:牛顿冷却定律:温度高于周围环境的物体向周围媒质传递热量 逐渐冷却时所遵循的规律。当物体表面与周围存在温度差时,单位时 间从单位面积散失的热量与温度差成正比。利用该差分格式,我们可以计算任一时间和函数f的温度,但是随着计算的进行,误差O(dt)将会不断积累。差分方程因此:差分方程结果振荡但是收敛, 前期结果不准确结果收敛, 误差逐渐缩小结果振荡,不收敛,计算结果错误差分格式的性质分析差分格式的性质分析差分格式的性质分析收敛性(convergence):如果当时间和空间步长趋于零时,FDE解趋于PDE解,称该差分格式是收敛的。 如果 则称该差分格式是收敛的。 对连续形式的偏微分方程进行有限差分离散时,差分格式对最终计算结果有重要影响。收敛性表示当差分网格无限细化时,差分方程的解是否具有无限逼近偏微分方程的解的能力。收敛性的判断决定了一个差分格式能否被用来离散偏微分方程,不收敛的差分格式无疑是无法得到偏微分方程的真实解的。 利用向前差分,得到以下差分格式:很重要的一点:相容性是差分格式的性质,它将差分格式和原始的偏微分方程联系在一起。稳定性和收敛性则是差分格式给出的数值解的性质。 一般来讲,分析稳定性和相容性比较容易,证明收敛性有时是很困难的数学问题。 Lax等价定理(Laxequivalencetheorem):如果逼近一个给定问题的差分格式是相容的,那么该差分格式的收敛性与稳定性互为充分必要条件。 该定理表明,对于一个具有相容性的差分格式,它的收敛性与稳定性是等价的。如果格式不稳定,则也不收敛。由于判断差分格式的收敛性相对比较困难,该定理提供了通过判断差分格式稳定性来确定收敛性的方法。因此,一般不再讨论收敛性问题,而是讨论差分格式的稳定性。 该定理将收敛性与相容性和稳定性联系在一起,是很有用的一个定理。组建A和B矩阵,求解线性方程组得到X%Matlab2D clear; clc; figure('color','w'); a=zeros(135,135); fori=1:135 a(i,i)=1; end; fori=1:7 a(15*i+1,15*i+2)=-0.25; a(15*i+1,15*i+16)=-0.25; a(15*i+1,15*i-14)=-0.25; end fori=1:7 a(15*i+15,15*i+14)=-0.25; a(15*i+15,15*i+30)=-0.25; a(15*i+15,15*i)=-0.25; End a(1,2)=-0.25; a