显式差分和隐式差分


1
2
3
4
5
6
求解区域:
边界条件:
初始条件:
内部节点:
A = sparse(nx,nx); for i=2:nx-1 A(i,i-1) = -s; A(i,i ) = (1+2*s); A(i,i+1) = -s; end
边界节点:
A(1 ,1 ) = 1; A(nx,nx) = 1;
载荷项:
rhs = zeros(nx,1); rhs(2:nx-1) = Told(2:nx-1); rhs(1) = Tleft; rhs(nx) = Tright;
稳定性(stability):如果偏微分方程的严格解析解有界,差分格式给出的 解也有界,称该差分格式是稳定的;如果差分格式给出的解是无界的,则 称该差分格式是不稳定的。
稳定性反映了差分格式在计算中控制误差传递的能力
收敛性(convergence):如果当时间和空间步长趋于零时,FDE解趋于PDE
0
s 2 2s s
0
0 0
0
0
0
s 2 2s s
0
0
0 1
内部节点:
for i=2:nx-1 A(i,i-1) = -s; A(i,i ) = (2+2*s); A(i,i+1) = -s; end
边界节点:
A(1 ,1 ) = 1; A(nx,nx) = 1;
1 0
0
0
0 0
s
2 2s
特点:结构简洁,直接求解,求解速度快。
但是,时间步长需满足:
显式差分格式才能得到稳定的数值解,否则,数值解将会不稳定而振荡。
显示差分格式示意图
2. 隐式差分格式:
时间一阶精度 空间二阶精度
隐式有限差分格式
Crank-Nicolson 隐式差分格式
T n1 i
Ti n
t
2(x)2
((Tin11
内部 边界
Crank-Nicolson 隐式差分格式的程序实现
sTi
n1 1
(2
2s)Ti n 1
sTi
n1 1
sTi
n 1
(2
2s)Ti n
sTi
n 1
1
2
3
4
5
6
边界条件:
初始条件:
Ac(n1) Bc(n)
1 0
0
0
0
s
2 2s
s
0
0
0
A
0
s 2 2s s 0 0 s 2 2s s
当dt=1,tau=0.7时,显式差分格式不稳定,结果振荡; 隐式差分格式稳定,结果不精确。
当dt=0.5,tau=0.7时,显式差分格式稳定, 隐式差分格式稳定,结果不精确,两者都不精确。
当dt=0.1,tau=0.7时,显式差分格式稳定; 隐式差分格式稳定;结果都比较精确。
当dt=0.01,tau=0.7时,显式差分格式稳定; 隐式差分格式稳定;结果都相当精确。
解,称该差分格式是收敛的。
如果
lim (U
h 0, t 0
m i, j
,k
um i, j,k
)
0
则称该差分格式是收敛的。
收敛性描述的是当差分网格无限细化时,差分方程的解是否具有无限逼 近偏微分方程的解的能力
Lax等价定理(Lax equivalence theorem):如果逼近一个给定问题的差 分格式是相容的,那么该差分格式的收敛性与稳定性互为充分必要条件。
• 2.时间步长和空间步长的选择受限制。通常要求时间步长 足够小。
隐式差分格式(implicit difference scheme)
特点
G(Y (t),Y (t t)) 0
1. 时间步长和空间步长的选择不受限制;
2. 需要联立解方程组
例子: 1. 显式差分格式:
左端:n+1时刻的值; 右端:n时刻的值。
s
0
0பைடு நூலகம்
0
0 s 2 2s s
0 0
B
0
0
s
2 2s
s
0
0 0
0
s 2 2s s
0 0
0
0
0 1
内部节点: 边界节点:
B= sparse(nx,nx); for i=2:nx-1 B(i,i-1) = s; B(i,i ) = (2-2*s); B(i,i+1) = s; end
B(1 ,1 ) = 1; B(nx,nx) = 1;
相容性是比较容易满足的。在此基础上,如果满足了稳定性条件,差分格式的 收敛性就自动满足。
2.5 有限差分法实例
U=100
U=0
2U 0
j+1 (i-1,j+1) (i,j+1) 2
j (i-1,j)
j-1 (i-1,j-1)
3 h2 0 (hi3,j) h1 h44 (i,j)
(i+1,j+1)
T1n T2n
c(n)
T3n T4n
T5n T6n
例子:牛顿冷却定律:温度高于周围环境的物体向周围媒质传递热量 逐渐冷却时所遵循的规律。当物体表面与周围存在温度差时,单位时 间从单位面积散失的热量与温度差成正比。
Tair
Tcap
一阶常微分方程的数值解 首先对时间和温度进行离散:
dT f (T ,t) dt
j (i-1,j)
j-1 (i-1,j-1)
3
h2 0
(hi3,j)
h1
h44
(i,j)
(i+1,j+1)
1 (i+1,j) (i+1,j-1)
局部节点编号 总体节点编号
i-1
i i+1
U (i 1, j) U (i 1, j) U (i, j 1) U (i, j 1) 4U (i, j) 0
回顾
1. 有限差分法基础 2. 差分格式 3. 差分方程 4. 边界条件的处理 5. 相容性、稳定性和收敛性
回顾
1. 有限差分法的相容性、稳定性和收敛性
相容性:针对差分格式而言,在时间步长和空间步长趋近于零的情况下, 如果差分格式的截断误差(差分格式与原有偏微分方程之差)的模趋近于零, 则该差分格式与原偏微分方程是相容的,或称该差分方程与原偏微分方程 具有相容性。
a(121,106)=-0.25; a(135,134)=-0.25; a(135,120)=-0.25; a(15,14)=-0.25; a(15,30)=-0.25; for i=2:14
a(i,i-1)=-0.25; a(i,i+1)=-0.25; a(i,i+15)=-0.25; end for i=122:134 a(i,i-1)=-0.25; a(i,i+1)=-0.25; a(i,i-15)=-0.25; end for i=1:7 for j=2:14; a(15*i+j,15*i+j-1)=-0.25; a(15*i+j,15*i+j+1)=-0.25; a(15*i+j,15*i+j+15)=-0.25; a(15*i+j,15*i+j-15)=-0.25; end end
1 (i+1,j) (i+1,j-1)
i-1
i i+1
U=0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 U=0
U (i 1, j) U (i 1, j) U (i, j 1) U (i, j 1) 4U (i, j) 0
j+1 (i-1,j+1) (i,j+1) 2
显式与隐式差分格式
主讲人:胡才博 中国科学院大学地球科学学院 中国科学院计算地球动力学重点实验室
显式和隐式:求解问题与时间相关
• 显式差分格式(explicit difference scheme) 差分方法中可逐层逐点分别求解的格式。
• 特点
Y (t t) F (Y (t))
• 1. 不联立解方程;
T1n T2n
c(n)
T3n T4n
T5n T6n
sTi
n1 1
(2
2s)Ti n 1
sTin11
sTi
n 1
(2
2s)Ti n
sTi
n 1
Ac(n1) Bc(n)
A = sparse(nx,nx);
1 0
0
0
0 0
s
2 2s
s
0
0
0
0 s 2 2s s 0 0
A
0
sTin11
(2
2s)Ti n 1
sTi
n1 1
sTi
n 1
(2
2s)Ti n
sTin1
一般差分格式
1/2
Forward-Time Central-Space method Backward -Time Central -Space method Crank-Nicolson 隐式差分格式
一种隐式差分格式的程序实现
0
0
0
0
T n1 1
T n1 2
c ( n 1)
T n1 3
T n1 4
0 0
0
0
0
s 2 2s s
0
0
0
1
T n1 5
T n1 6
1 0
0
0
0 0
s
2 2s
s
0
0
0
0 s 2 2s s
0 0
合集下载

显式算法与隐式算法的区别

显式算法与隐式算法的区别

显式算法与隐式算法的区别-CAL-FENGHAI.-(YICAI)-Company One1显式算法与隐式算法的区别所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。

并不是说显式只能求动力学问题,隐式只能求静力学问题,只是求解策略不通。

显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。

过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。

解题费用非常昂贵。

因此在建模划分网格时要非常注意。

隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就的不到结果。

两者求解问题所耗时间的长短理论上无法比较。

实际应用中一般感觉来说显式耗时多些。

由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。

隐式用来求解和时间无关的静力学问题。

但也不是绝对的。

比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。

另外,隐式也可以求解动力学问题。

这是ansys里面的两种求解方法。

大多数非线性动力学问题一般多是采用显式求解方法,特别是在求解大型结构的瞬时高度非线性问题时,显示求解方法有明显的优越性。

下面先简要对比一下隐式求解法和显示求解法。

动态问题涉及到时间域的数值积分方法问题。

在80年代中期以前,人们基本上采用纽曼法进行时间域的积分。

根据纽曼法,位移、速度和加速度有着如下关系:u(i+1)=u(i)+△t*v(i)[(1—2p)a(i)+2p*a(i+1)] (1)v(i+1)=V(i)+△t[(1-2q)a(i)+2qa(i+1)] (2)上面式子中 u(i+1),u(i)分别为当前时刻和前一时刻的位移,v(i+1)和V(i)为当前时刻和前一时刻的速度,a(i+1)和a(i)为当前时刻和前一时刻的加速度,p和q为两个待定参数,△t为当前时刻与前一时刻的时问差,符号 * 为乘号。

显式与隐式算法区别

显式与隐式算法区别

显式(explicit)和隐式(implicit)这两个词在有限元分析中大家可能经常看到,特别是涉及到动力学分析时。

但其实广义的说他们分别对应着两种不同的算法:显式算法(explicit method)和隐式算法(implicit method)。

所以不论在动力学或者静力学中都有涉及到。

显式算法:不直接求解切线刚度,不进行平衡迭代,计算速度快,时间步长只需要足够小,一般不存在收敛问题,需要的内存也小。

隐式算法:每一增量步都需要对静态方程进行平衡迭代,且每次迭代需要求解大量的线性方程组,这一特点使之占用大量的资源。

但该算法增量步可以很大,至少比显式算法大的多,实际计算中会受到迭代次数及非线性程度的影响我们都知道有限元分析FEA在计算微分方程(differential equations)时,由于计算本身的局限,比如计算机储存的位数有限,以及方程本身的复杂性,计算机运用的是数值算法(numerical algorithm)来逼近真实解的。

有限元分析中数值算法的基础是欧拉法(Euler method),欧拉法又分为forward Euler method 和backward Euler method,这两种方法被简称为显式法(explicit method)和隐式法(implicit method)。

中心差分法:(动力学分析)用有限差分代替位移对时间的求导,将运动方程中的速度与加速度用位移的某种组合来标示,这样就将常微分方程组的求解问题转化为代数方程组的求解问题,并假设在每个小的时间间隔内满足运动方程。

首先我们来看看这两种算法的区别。

显式算法(explicit method )(forward Euler method )考虑常微分方程:初始条件:设为每一步的时间步长, 在Tn 时刻,. (n=0,1,2,3...),在T(n+1)时刻有:所以在显式算法中,T(n+1)时刻的值由T(n)时刻决定,也就是说当前时刻的值由上一时刻的值决定。

所谓显式和隐式

所谓显式和隐式

所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。

并不是说显式只能求动力学问题,隐式只能求静力学问题,只是求解策略不通。

显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。

过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。

解题费用非常昂贵。

因此在建模划分网格时要非常注意。

隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就的不到结果。

两者求解问题所耗时间的长短理论上无法比较。

实际应用中一般感觉来说显式耗时多些。

由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。

隐式用来求解和时间无关的静力学问题。

但也不是绝对的。

比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。

另外,隐式也可以求解动力学问题。

热传导方程的差分格式汇总

热传导方程的差分格式汇总

热传导方程的差分格式汇总1.显式差分格式:显式差分格式是最简单的一种方法,通过将导热方程时间和空间上的导数进行近似,引入差分算子,将方程转化为差分格式。

其中最常见的差分格式有:a. 前向差分法(Forward Difference Method):利用当前节点和其相邻节点的温度值进行计算。

例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+α(u(i+1,j)-2u(i,j)+u(i-1,j))b. 后向差分法(Backward Difference Method):利用当前节点和其相邻节点的温度值进行计算。

例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+α(u(i+1,j+1)-2u(i,j+1)+u(i-1,j+1))c. 中心差分法(Central Difference Method):利用当前和其相邻节点的温度值进行计算。

例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+α(u(i+1,j)-2u(i,j)+u(i-1,j))+β(u(i+1,j)-u(i-1,j))其中α和β是时间和空间步长的比例因子。

2.隐式差分格式:显式差分格式具有较大的稳定性限制。

为了克服这个问题,可以使用隐式差分格式,其中使用下一个时间步长的温度值来求解当前时间步长。

常见的隐式差分格式有:a. C-N差分法(Crank-Nicolson Method):利用前后两个时间步长的温度值进行计算。

例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+0.5α(u(i+1,j+1)-2u(i,j+1)+u(i-1,j+1))+0.5α(u(i+1,j)-2u(i,j)+u(i-1,j))b. 力学模拟法(Finite Element Method):将空间离散化后,通过引入有限元方法,将热传导问题转化为线性方程组,再通过求解线性方程组得到温度分布。

第二章显式隐式格式

第二章显式隐式格式

五、数值天气预报的概念和历 史回顾

numerical weather prediction uses numerical
methods to approximate a set of partially differential equations on discrete grid points in a finite area to predict the weather systems and processes in a finite area for a certain time in the future. In order to numerically integrate the partial differential equations, which govern the atmospheric motions and processes, with time, one needs to start the integration at certain time.
Fi n
收敛到 F ( xi , t n )
稳定性


差分近似的稳定性是指对于任意给定的初值, 当n无限增大时,任意时刻的数值是否有界的 问题。假如数值解是稳定有界的,则相应的数 值格式称为稳定的格式。 计算稳定性的分析方法: 冯纽曼方法(Von-Neumann方法,又称谐 波分析法):通过测试差分格式近似解一个谐 波分量的稳定性,研究差分格式的稳定性。
收敛性convergence
设差分方程的解为 Fi n
微分方程的解为
n i n
F ( xi , t n )
Fi F ( xi , t n )
in 0
则称:差分方程的解

显式求解方法和隐式求解方法对比

显式求解方法和隐式求解方法对比

采用有限元方法开展结构的动力学分析最终归结为求解离散后的常微分方程组tR KU U C U M =++ 。

在时域内求解该方程最常用的方法是直接积分法,而又根据求解过程中是否需要迭代求解线性方程组,将直接积分法分为隐式积分方法和显式积分方法两类。

隐式积分法认为t+Δt时刻系统的状态不仅与t时刻状态有关,且与t+Δt时刻某些量有关。

因此隐式算法是根据t n 及t n-1...时刻体系的物理量值建立关于以t n+1时刻物理量为未知量的线性方程组,通过求解方程组确定t n+1时刻的物理量(常用的方法有线性加速度法、常平均加速度法、Newmark 方法、Wilson-θ法、Houbolt 方法等)。

而显式积分法认为t+Δt时刻系统的状态仅与t时刻状态有关可,因此可由t n 及t n-1...时刻体系的物理量值直接外推t n+1时刻物理量值(如中心差分法),不需要求解线性方程组,实现了时间离散的解耦。

两种算法的比较 :(1)隐式算法隐式算法基于虚功原理,要迭代计算。

隐式算法在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这一过程需要占用相当数量的计算资源、磁盘空间和内存。

理论上在这个算法中的增量步可以很大,但是实际运算中上要受到接触以及摩擦等条件的限制。

随着单元数目的增加,计算时间几乎呈平方次增加。

由于需要矩阵求逆以及精确积分,对内存要求很高。

隐式算法的不利方面就是收敛问题不容易解决,且在开始起皱失稳时,在分叉点处刚度矩阵出现奇异。

(2)显式算法显示算法基于动力学方程,无需迭代,包括动态显式和静态显式算法。

动态显式算法采用动力学方程的中心差分格式,不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,也不存在收敛控制问题。

该算法需要的内存也比隐式算法要少。

数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

它也有一些不利方面。

显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。

偏微分方程的离散化方法4重要知识


u(x x1, y, t) u(x, y, t)

u
u(x, y, t) u(x x2 , y, t)
x x x1
x1
x x x1
x2
2
2
k u
k x x1 2
u(x
x1,
y, t) x1
u( x,
y,
t)
k x x2 2
u(x, y, t) u(x x2 , y, t) x2
(1 2 )Pin
(
Pn i1
Pn i1
)

t x
2
,截断误差:O(t
x2 )
从方程可以看出:如果已知第 n(本步时间)的值 Pin ,就可以求得第 n+1
时刻(下步时间)的值
P n1 i
。因此如初始条件,即
n=0
时各网格的
P
值已给定,
就可以依次求得以后各时间的 P 值。这种差分格式是显式差分格式。在显式差分
re
re 0.14 x 2 y 2
2)、对于各向异性地层,步长: x, y ,其等值供给半径:
re
0.28
Ky Kx
1/ 2
x 2
Kx Ky
1/ 2
1/ 2
y 2
K K
y x
1/ 4
Kx Ky
1/ 4
重点辅导
28
ai,
j
P n1 i 1, j
ei,
j
P n1 i, j
bi,
j
P n1 i 1
di,
j
P n1 i. j 1
fi, j (形成五对
角矩阵)
重点辅导
23

隐式差分方程课件





1 2
时,加权六点格式为Crank-Nicolson隐式格式;
当 1 时,加权六点格式为古典隐式格式。
加权六点格式亦可直接由差商代替导数得到
U n1 m

U
n m
k

1 h2

U 2 n1
xm

(1
)
1 h2

U 2 n
xm
2.3.4 系数依赖于x,t的一维热传导方程的一 个隐式格式的推导
即两边去[1掉高kD于x2 二12阶 2导k 2数Dx4的项,]umn且1 用 [1h12(x21代替)k
Dx2
Dx2

1 2
(1
)2
k
2 Dx4
]umn
,则得差分格式
(1r
2 x
)U
n1 m

[1
(1
)r
2 x
]U
n m
或者 (1
2r
)U
n1 m
0.956 821 703 419 0.000 079
0.915 507 772 134 0.000 151
0.643 146 895 793 0.000 531
0.413 637 929 568 0.000 683
0.171 096 336 778 0.000 564
0.629 273 956 459 0.000 194
r
(U
n m1

U
n m1
)
由于格式(2.44)中包括六个结点,故也可 称为六点格式(如图2.6所示)。
图2.6
m-1,n+1
m,n+1
m+1,n+1

非线性动力学方程的求解方法

非线性动力学方程的求解方法1、概述在工程实际问题中,我们常常面临这样的选择:我们所遇的问题究竟是静力的还是动力的。

静力问题与动力问题,从力学的角度看就是是否考虑与加速度有关的力,而从数学求解方法看则是一个三维边值问题还是一个四维边值-初值问题。

在这个问题的选择上没有固定的原则,一般取决于我们研究者、分析者对工程问题的判断。

一般认为,实际工程大都是处于动力环境之中,因而属于动力问题。

但是,由于时间、经费等方面的原因的限制,我们不可能把所有的问题都按照动力问题的方法来分析。

对于许多具体的问题,与速度和加速度有关的力足够小,但是又影响结构分析结果的,将采用静力假定来模拟这些力。

线性的动力有限元控制方程如式(1-1)所示。

[]}{}]{[}]{[}{R q K q D qM =++ (1-1) 式中[M ][D ][K ]分别为结构的质量、阻尼和刚度矩阵,{R }为荷载列矢量,}{q、}{q 和}{q 分别是加速度、速度和位移列矢量。

式(1-1)的解法大体上可以分为两类:直接积分法和模态叠加法。

直接积分法在对控制方程进行数值积分之前不对方程做任何形式的变换,直接用数值积分的方法在时域上一步一步地对方程进行积分。

模态叠加法是在求解之前对方程进行某种数学变换,使基底降低,或使矩阵的带宽减小,再进行求解。

这两种方法在形式上不同,但是密切相关。

上述每一类求解方法中又有许多具体的解法,每一种解法又有各自的特点。

因此我们在选择一种方法求解一个问题时,要对该方法的收敛性、稳定性、效率、精度和费用等进行一些分析,讨论它对所求问题的有效性,从而使我们能够针对某一特定的问题,选择合适的方法。

直接积分法基于以下两条:(1)不是在求解时间区间内任意时刻t 都满足式(1-1),而是在相隔△t 上的一些离散时刻满足式(1-1)。

(2)对位移、速度和加速度在每一时间区间△t 内变化的形式进行假设,事实上若把式(1-1)看成一个常系数微分方程组,便可以用任何一种有限差分格式通过位移来近似表示速度和加速度,因此不同的差分格式就得到不同的方法。

复习第三章求解导热问题的有限差分法

T1n Tw
n Tm Tw
(n=0,1,2,…)
⑥式
12
第一节 差分格式 将④,⑤,⑥式联立,得完整差分格式:
n n n Ti n1 f Ti ( 1 2 f ) T f T 1 i i 1
⑦式
(n=1,2,…;i=2,3,…,m-1)
Ti 0 T0 (i 2,3,...,m 1)
内容 (1)显式差分格式 1、差分格式 (2)完整隐式差分格式 (3)六点差分格式 (1)内节点法 (2)外节点法
2、直接差分法
1
第一节 差分格式 一 . 概述 1. 差分格式 实际导热问题必然涉及边值条件,在有限差分法 中它们也必须差分化。 因此,我们需要研究的不仅是差分方程本身,而 且是包括全部内部区域和所有边界上的差分方程所组 成的代数方程组。又称为差分格式。 2. 非稳态导热方程的完整的差分格式(步骤)
二. 显式差分格式
Ti n1 Ti n t
a
n n Ti n 2 T T 1 i i 1
( x ) 2
即显式差分方程。 ④式 由②式离散得:Ti 0
T0 (i 2,3,, m 1) ⑤式
11
第一节 差分格式 注意边界节点在初始时刻的温度值应由边界条件来提供。 由③式所示的边界条件在离散区域内表示为给定边 界节点在时刻t=0,1,2,…的温度值,即:
t ( ) 2
(T
n 1 i 1
2Ti
n1
n 1
T
n1 i 1
n 1 i 1
)
t 令f ( 2 ,则: )
Ti Ti
n
f (T
n1 i 1
2Ti
T
)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档