数学物理方程--有限差分法
有限差分法

有限差分法finite difference method用差分代替微分,是有限差分法的基本出发点。
是一种微分方程和积分微分方程数值解的方法。
把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。
然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。
如何根据问题的特点将定解区域作网格剖分;如何把原微分方程离散化为差分方程组以及如何解此代数方程组。
此外为了保证计算过程的可行和计算结果的正确,还需从理论上分析差分方程组的性态,包括解的唯一性、存在性和差分格式的相容性、收敛性和稳定性。
对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。
另外,一个差分格式是否有用,最终要看差分方程的精确解能否任意逼近微分方程的解,这就是收敛性的概念。
此外,还有一个重要的概念必须考虑,即差分格式的稳定性。
因为差分格式的计算过程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值,直到与初始值有关。
前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以控制的,就认为格式是稳定的。
只有在这种情形,差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解。
最常用的方法是数值微分法,比如用差商代替微商等。
另一方法叫积分插值法,因为在实际问题中得出的微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。
此外还可以用待定系数法构造一些精度较高的差分格式。
龙格库塔龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。
有限差分法的基本原理

f (x) ≈
2h
中心二阶差商
′′
f (x+h)−2f (x)+f (x−h)
f (x) ≈
h2
O(h) O(h)
2
O(h )
2
O(h )
其中,h表示网格间距,O(hn)表示截断误差与hn成正比。可以看出,中心差商比前向或后向差商具有更高的精度。
误差分析
有限差分法求得的数值解与真实解之间存在误差,这些误差主要来源于以下几个方面:
常用差分格式
有限差分法中最重要的步骤是构造合适的差分格式来近似微分项。根据泰勒展开式,可以得到以下常用的一阶和二阶差分格式:
差分格式
表达式
截断误差
前向一阶差商
′
f (x+h)−f (x)
f (x) ≈
h
后向一阶差商
′
f (x)−f (x−h)
f (x) ≈
h
中心一阶差商
′
f (x+h)−f (x−h)
截断误差:由于使用有限项级数来近似无穷级数而产生的误差; 舍入误差:由于计算机对小数进行四舍五入而产生的误差;
离散误差:由于对连续区域进行离散化而产生的误差; 稳定性误差:由于数值格式的稳定性不足而导致误差的累积或放大。
为了减小误差,一般可以采取以下措施:
选择更高阶或更精确的差分格式; 减小网格间距或时间步长; 选择合适的初始条件和边界条件; 选择稳定且收敛的数值格式。
+
。 2
h)
为了验证上述方法的正确性,我们取M = 10, N = 100,则原问题可以写为如下形式:
则该问题对应的递推关系式为:
⎧ut (x, t) − uxx (x, t) = 0,
有限差分法推导

有限差分法推导【最新版】目录1.有限差分法的基本概念2.有限差分法的推导方法3.有限差分法的应用实例4.有限差分法的优缺点正文一、有限差分法的基本概念有限差分法是一种数值计算方法,主要应用于求解偏微分方程的初值问题。
它是通过将连续的函数值用有限个离散点上的函数值来代替,从而将偏微分方程转化为关于这些离散点上的代数方程组。
这种方法可以有效地降低问题的复杂度,使得求解过程更加简便。
二、有限差分法的推导方法有限差分法的推导过程主要包括以下几个步骤:1.对边界条件进行离散处理,将边界上的函数值用有限个离散点上的函数值来代替。
2.对偏微分方程进行离散处理,将偏微分方程转化为关于这些离散点上的代数方程组。
3.求解代数方程组,得到离散点上的函数值。
4.通过插值方法,将离散点上的函数值还原为连续函数。
三、有限差分法的应用实例有限差分法广泛应用于各种物理、工程和数学问题中,例如求解热传导方程、波动方程和亥姆霍兹方程等。
下面以求解一维热传导方程为例,展示有限差分法的应用过程。
假设我们要求解如下的热传导方程:u/t = k * ^2u/x^2x = [0, 1]t = [0, T]边界条件:u(0, t) = f(t), u(1, t) = 0初始条件:u(x, 0) = 0我们可以通过以下步骤应用有限差分法:1.对边界条件进行离散处理,将边界上的函数值用有限个离散点上的函数值来代替。
2.对偏微分方程进行离散处理,将偏微分方程转化为关于这些离散点上的代数方程组。
3.求解代数方程组,得到离散点上的函数值。
4.通过插值方法,将离散点上的函数值还原为连续函数。
四、有限差分法的优缺点有限差分法具有以下优点:1.适用范围广泛,可以应用于各种偏微分方程的初值问题。
2.推导过程相对简单,容易理解和实现。
3.计算精度较高,可以通过增加离散点数来提高精度。
然而,有限差分法也存在以下缺点:1.计算量较大,需要处理大量的代数方程组。
2.对于某些问题,可能需要进行特殊的处理,例如处理不稳定的代数方程组。
有限差分法PPT课件

1
有限差分方法是一种微分方法,广泛用于计算机求解偏微分方程 。
为求解由偏微分方程定解问题所构造的数学模型,有限差分法 是将定解区域(场区)离散化为网格离散节点的集合。并以各离 散点上函数的差商来近似该点的偏导数,使待求的偏微分方程定 解问题转化为一组相应的差分方程。根据差分方程组解出各离散 点处的待求函数值——离散解。
Q c hc (T Ta )
Qr (T4Ta4)
代 入
C pz T t kz 2 T 2 h c T 2T 4 2 h c T a 2T a 4
上 式Leabharlann 边界条件: x=0m ,x=1m, y=1m ; q=0 w/m2
y=1m
; T=300 K
12
(2)利用matlab中的pdetool工具箱,首先绘出空间区域,并以0.1m为 步长对其进行网格划分。 (3)输入已知的参数并设定边界条件
2
建立控制方程及定解条件
确定节点(区域离散化)
建立节点物理量的代数方程
设立迭代初值
求解代数方程组 否
收敛? 是
解的分析
改进初场
3
1. 建立控制方程及定解条件
根据实际问题建立偏微分方程,同时给出边界条件。
2. 区域离散化
理论上可以通过任意的网格划分把求解区域划分成许多求解区域,以网格 线的交点作为需要确定的物理量的空间位置。实际应用中根据边界的形状采用 最简单、最有规律,和边界拟合程度最佳的方法来分割。
建立节点物理量的离散方程节点类型内节点边界节点泰勒级数展开法热平衡法泰勒级数展开法热平衡法热平衡法多运用于非均分网格划分下离散方程的建立其物理概念清晰推导过程简洁我们以二维稳态无内热源矩形均分下的温度场为例先用泰勒级数展开法对内节点由ab两个式子即可推出一阶导数和二阶导数的差分一般取中心差分更为精确一阶导数的中心差分
第4章_有限差分法.弹性力学

y xy
0
0
2 1 [(5 7 ) ( 6 8 )] xy 0 4h 2
可见,用差分法解平面 问题,共有两大任务:
一、建立差分方程 将(1-6~8)代入双调和 方程
4 4 4 2 2 2 4 0 4 x x y y
在结点3,x=x0-h, 在结点1, x=x0+h,代入(b) 得:
h2 2 f f f3 f 0 h 2 x 0 2 x 0
h2 2 f f f1 f 0 h 2 x 0 2 x 0
A A
B
(2 5)
从图易看出,式(2-3)右 边的积分式表示A与B之间的x方 向的面力之和;式(2-4)右边 的积分式表示A与B之间的y方向 的面力之和;式(2-5)右边的 积分式表示A与B之间的面力对 于B点的矩。
至此,我们解决了怎样 计算边界上各结点
, , x y
的值的问题。 至于边界外一行虚结点处 的值,则可用边界上
差分公式(1-1)及(1-3)是以相隔2h的两 结点处的函数值来表示中间结点处的一阶导数 值,可称为中点导数公式。 以相邻三结点处的函数值来表示一个端点 处的一阶导数值,可称为端点导数公式。 应当指出:中点导数公式与端点导数公式 相比,精度较高。因为前者反映了结点两边的 函数变化,而后者却只反映了结点一边的函数 变化。因此,我们总是尽可能应用前者,而只 有在无法应用前者时才不得不应用后者。
将式(b),(c)代入,整理得:
B B B A ( x B x A ) ( y B y A ) ( y B y ) p x d s ( x x B ) p y d s (d ) y A A x A A A , , , 为已知, 由式(d)及式(c)可见,设
有限差分法解拉普拉斯方程python

有限差分法解拉普拉斯方程python一、引言拉普拉斯方程是一个重要的偏微分方程,它在数学、物理、工程等领域都有广泛的应用。
有限差分法是一种常用的数值求解方法,可以有效地解决拉普拉斯方程。
本文将介绍如何使用Python语言实现有限差分法求解拉普拉斯方程。
二、数学模型拉普拉斯方程可以表示为:∇²u = 0其中,u为未知函数,∇²表示Laplace算子。
在二维情况下,可以将该方程写成:∂²u/∂x² + ∂²u/∂y² = 0三、有限差分法有限差分法是一种常用的数值求解方法,在此不再赘述其原理和推导过程。
对于二维情况下的拉普拉斯方程,我们可以采用五点差分公式进行离散化处理:(u(i+1,j) - 2*u(i,j) + u(i-1,j))/Δx² + (u(i,j+1) - 2*u(i,j) + u(i,j-1))/Δy² = 0其中,Δx和Δy分别表示网格间距。
将上式变形可得:u(i,j) = (u(i+1,j) + u(i-1,j))*Δy² + (u(i,j+1) + u(i,j-1))*Δx² / (2*(Δx² + Δy²))四、Python实现在Python中,我们可以使用numpy库来处理数组和矩阵运算,使用matplotlib库来进行可视化。
首先,我们需要定义网格大小和间距:import numpy as npnx = 101 # 网格点数ny = 101dx = 2/(nx-1) # x方向间距dy = 2/(ny-1) # y方向间距接着,我们需要定义初始条件和边界条件:p = np.zeros((ny, nx)) # 初始条件# 边界条件p[:,0] = 0 # 左边界p[:,-1] = y # 右边界p[0,:] = p[1,:] # 下边界p[-1,:] = p[-2,:] # 上边界其中,左右边界分别为零和y的值,上下边界采用一阶差分法进行处理。
有限差分公式

有限差分公式
有限差分是微分方程解的近似值的一种表示方法,通常用数学表达式
f(x+b)-f(x+a)来表示。
如果将有限差分除以b-a,则可以得到差商。
在微分方程数值解的有限差分方法中,特别是处理边界值问题时,有限差分导数的逼近起着关键的作用。
有限差分通常考虑三种形式:正向差分、反向差分和中心差分。
正向差分是f(x+h)-f(x),反向差分是f(x)-f(x-h),中心差分是f(x+h)-f(x-h)。
当h取为1时,正向差分除以h近似于导数。
在数值方法中,有限差分法是一种常用的数值解法,它用差商代替微分方程中的偏导数,从而得到相应的差分方程。
通过解这个差分方程,可以得到微分方程解的近似值。
以上内容仅供参考,如需更多信息,建议查阅数学类书籍或咨询数学专业人士。
欧拉梁方程有限差分

欧拉梁方程有限差分欧拉梁方程是物理学和工程学中最基本的物理模型之一,可以用来解释许多现象,比如传播、振动、热传导等等。
这一方程也是日常生活中最普遍的物理模型,比如人们会在摆动秋千或滑板时用到它。
欧拉梁方程有限差分法是一种用来求解欧拉梁方程的数值求解方法,它利用近似的微分方程来把欧拉梁方程的复杂的数学模型简化成数值的形式。
有限差分法是一种有效的、简单的和快速的数值求解方法,它可以在不花费太多时间和金钱的情况下解决复杂的算法问题。
欧拉梁方程的有限差分法主要由以下几个步骤组成:首先,将欧拉梁方程写成一个多元微分方程;然后,采用有限差分法将其转化成离散形式;最后,利用特定的算法解决离散形式的多元微分方程。
这样,就可以得到所有欧拉梁方程的解,而不需要计算原始的欧拉梁方程。
有限差分法的优势在于可以快速准确的解决欧拉梁方程,而且也可以用于计算实际问题。
有限差分法可以给出精确度较高的结果,而且它可以在不耗费太多计算时间的情况下解决绝大部分欧拉梁方程问题。
有限差分法也可以用来求解不可解析的方程,这样可以节省大量的计算时间。
有限差分法对于计算欧拉梁方程提供了一种简单高效的方法,可以用来解决复杂的物理模型问题。
它的算法简单,执行效率高,准确度高,可以用来求解任何复杂的欧拉梁方程问题。
有限差分法的应用还可以延伸到物理学和力学的其他领域,例如地质动力学、流体力学等。
总之,欧拉梁方程有限差分法是一种使用近似的微分方程来求解欧拉梁方程的数值求解方法,可以用来解决欧拉梁方程以及其他物理模型的问题,这种方法具有简单高效、计算时间少、准确等特点,也可以用来求解不可解析的方程,因此有限差分法对于计算欧拉梁方程具有重要的应用价值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学物理方程--有限差分法-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN数学物理方法课程报告题目:声波有限差分法数值模拟学生姓名:xxx学号:xxx学院:地球科学与技术学院专业班级:xxxx教师:xxx2016年 4月12日声波有限差分法数值模拟Xxx(地球科学与技术学院研15级 学号:xxx )摘要:数值模拟是最常用的正演模拟的方法。
它通过给出的结构模型和物理参数,模拟地震波的传播轨迹,了解其规律以及过程,然后通过计算来推断观测点的地震记录。
根据求解方法,地震波方程数值解法可分为有限元法、伪谱法、有限差分法。
根据本门课程的要求,并且有限差分法具有内存占用较小,精度较高等优点,本文主要采用这种方法进行模拟。
关键词:数值模拟,声波,有限差分正文1、 引言在勘探过程中,数值模拟的作用很大。
例如:1、采集上,可用于设计或者优化野外观测系统;2、处理上,可以通过数值模拟来检验是否采用了正确的反演方法。
将正演反演不断的逼近,从而使结果更加准确;3、解释上,还可以检测一下解释的资料是否正确。
而有限差分法是数值模拟最常用的方法,本文利用有限差分法,通过对声波进行正演模拟,来了解其在地下的传播规律及特点。
2、二维各向同性介质声波方程数值模拟使用规则网格差分对二阶方程进行求解。
具体过程:在x 方向上,关于0x 对称分布的2N 个网格节点的坐标分别为x q x N ∆-0,x q x N ∆--10,……,x q x ∆-10,x q x ∆+10,……x q x N ∆+-10,x q x N ∆+0。
其 中,x ∆表示节点间的最小间距;i q 表示任意正整数。
2N 个网格节点所对应的函数值已知,分别为()x q x f N ∆-0,()x q x f N ∆--10,……,()x q x f ∆-10, ()x q x f ∆+10……,()x q x f N ∆+-10,()x q x f N ∆+0。
利用Taylor 级数展开求解()x f 在点0x 处的一阶导数近似值。
()()()()()()()()()()()()()[]120220220100!21!21+∆+∆++∆+∆+=∆+N i N N i i i i x q O x f x q N x f x q x f x q x f x q x f()()()()()()()()()()()()()[]120220220100!21!21+∆+∆++∆+∆-=∆-N i N N i i i i x q O x f x q N x f x q x f x q x f x q x f其中,i=1,2,…,N将上述两式相加,省略式中的误差项,得到()()()[]()()()()()()()()()()022*********!21!41!21221x f x q N x f x q x f x q x q x f x f x q x f N N i i i i i ∆++∆+∆=∆-+-∆+(1)将相减后得到的式子整理成矩阵形式,有 ()()()()()()()()()()()()()()()()()()()⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡∆-+-∆+∆-+-∆+∆-+-∆+∆=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆⨯⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-x q x f x f x q x f x q x f x f x q x f x q x f x f x q x f x x f x N x f x x f q q q q q q q q q N N N N N N NNN N0002002010010202220420224222422221412122221!21!41!21(2)为了简化矩阵,可以记作⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=N N NNN Nq q q q q q q q q A 242224222214121 ,()()()()()()()()()()⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡∆-+-∆+∆-+-∆+∆-+-∆+∆=x q x f x f x q x f x q x f x f x q x f x q x f x f x q x f x D N N 0002002010010222221同时,构造两个简单矩阵,辅助计算N N I ⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=111 整理的, 1001⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=N E 假设存在1-A ,使得I AA =-1,也可得()I A A T T=-1;即()TA 1-为T A 的逆,得到()I A A TT =-1。
式子两边右乘向量E 就可得()E E A A TT =-1 (3)由式(2)可得()()D A E x f T 10221-= (4)同时,假设()()TN T Tc c c C E A ,,,211 ==-(5)将()N c c c C ,,,21 =带入式(4),得()()()()()()[]x q x f x f x q xf c x x f n n Nn n ∆-+-∆+∆=∑=000120222121(6)整理得 ()()()()()()[]x q x f x q x f c x f c x fx n n Nn n ∆-+∆++=∆∑=00100022可结合式(3)和式(5),可得到矩阵计算式:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡00121222214424122221 N N N N N N N c c c q q q q q q q q q(7)∑=-=Ni i c c 102当i q 的值确定后,可根据式(7)来求解n c 的值,从而计算出()()01x f 的值。
利用式(7)可以求得对称任意节点间距的一阶导数差分系数。
其中,当i q 取值为),2,1(N n n =,则式(7)可表示为()()⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡00121212121222444222N N NN c c c N N N (8)此时,所求得的()N n c n ,,2,1 =就是等节点间距的一阶导数的规则网格不同差分精度的差分系数(表1所示)。
二维声波方程的形式可表示为:()22222221zux u t u v p ∂∂+∂∂=∂∂ (9)时间导数采用2阶,空间导数采用2N 阶近似,即()())(2)(222t t u t u t t u tut ∆-+-∆+=∂∂∆()()()()()[]x n x u x n x u c x u c x x ux Nn n ∆-+∆++=∂∂∆∑=001000222带入式(9)中,可得到在固定网格下,差分格式为 ()()()()[]()()()[]⎭⎬⎫⎩⎨⎧∆-+∆++⎪⎪⎭⎫⎝⎛∆∆+⎭⎬⎫⎩⎨⎧∆-+∆++⎪⎪⎭⎫ ⎝⎛∆∆+∆--=∆+∑∑==Nn n p Nn n p z n z u z n z u a z u a z t v x n x u x n x u a x u a x t v t t u t u t t u 102102)(2)((10)3、模型测试:震源选取:正演模拟过程中采用雷克子波作为震源子波,雷克子波的表达式为Source (it) =((1-2π f m (t-t0)2 )e-2π fm (t-t0)2模型建立:建立了一个两层介质模拟,其上层纵波速度为v=2000m/s,下层纵波速度为v=3000m/s。
模型大小为200×200,空间采样间隔为dx=dz=10m。
采用30Hz的雷克子波作为震源子波,震源位于模型(70,100)处,时间采样间隔为1ms。
结果分析:it=50 it=100 it=150it=200 it=250 it=300it=350 it=400图2 不同时刻波场快照图中可以看出,在未遇到界面前,地震波在均匀介质中的波前面一个圆。
当遇到地层界面之后,在界面处发生了反射、透射和折射现象。
沿测线方向的地震记录如图2所示。
记录中存在两条直线状的同相轴和两条近似双曲线的同相轴。
由于直达波的时距曲线是直线,因此两条直线同相轴对应直达波;由于反射波的时距曲线是近似双曲线,因此近似双曲线同相轴对应的是反射波。
参考文献[1] 刘庆敏,高阶差分数值模拟方法研究与应用,中国石油大学(华东)硕士论文,2004年9月[2] 孙成禹、李振春,地震波动力学基础,石油工业出版社,2011年4月[3] 王元名,数学物理方程与特殊函数,高等教育出版社,2012年12月。