显式差分和隐式差分
显式算法与隐式算法的区别

显式算法与隐式算法的区别-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为当前时刻与前一时刻的时问差,符号 * 为乘号。
热传导方程的差分格式汇总

热传导方程的差分格式汇总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
则称:差分方程的解
显式算法和隐式算法的介绍与比较

求解时间比较
使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小 单元的尺寸成反比;分析中最消耗CPU的一项就是单元的处理。由于 CPU时间与积分的个数成正比,采用简化积分的单元便可极大地节省数 据存储量和运算次数,进而提高运算效率。但单点积分容易出现零能 模型且应力结果精确度与积分点相关。
(5)
U t t
Ut
Utt
[(1 2
)Ut Utt ]t2
(6)
将(5)(6)代入(1)中,得:
KˆUtt Rˆtt
其中:
Kˆ
1
t 2
M
t
C
K
(有效刚度矩阵)
Rˆtt
Rtt
1
M
[ t
2
Ut
1 t
Ut
(1 2
1)Ut ]
C[ t
U
t
(
1)Ut
( 2
1)tUt ](有效载荷矢量)
可以看出,解当前 Utt,需要用到当前时刻 的 Rtt ,因此为隐式算法,需要用迭代实现。
特点:
当参数 0.5 , 0.25(0.5 )2 时,Newmark法是无 条件稳定的,即 t 的大小不影响数值的稳定性。 此时时间步长的选择主要根据解的精度确定。
显式算法
总结
动态显式算法采用动力学方程的一些差分格式,不用直接求解切线 刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小, 一般不存在收敛性问题。因此需要的内存也比隐式算法要少。并且数值 计算过程可以很容易地进行并行计算,程序编制也相对简单。
LS-DYNA中中心差分法的步长控制
1D杆、梁单元:
显示算法和隐式算法单点积分算法和全积分算法

先说说显示算法和隐式算法:这是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为当前时刻与前一时刻的时问差,符号* 为乘号。
由式(1)和式(2)可知,在纽曼法中任一时刻的位移、速度、加速度都相互关联,这就使得运动方程的求解变成一系列相互关联的非线性方程的求解,这个求解过程必须通过迭代和求解联立方程组才能实现。
这就是通常所说的隐式求解法。
隐式求解法可能遇到两个问题。
一是迭代过程不一定收敛,二是联立方程组可能出现病态而无确定的解。
隐式求解法最大的优点是它具有无条件稳定性,即时间步长可以任意大。
如果采用中心差分法来进行动态问题的时域积分,则有如下位移、速度和加速度关系式:u(i+1)=2u(i)-u(i-1)+a(i)(△t)^2 (3)v(i+1)=[u(i+1)-u(i-1)]/2(△t) (4)式中u(i-1),为i-1时刻的位移。
由式(3)可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻的位移求解无需迭代过程。
另外,只要将运动过程中的质量矩阵和阻尼矩阵对角化,前一时刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式求解法。
显式求解方法和隐式求解方法对比

采用有限元方法开展结构的动力学分析最终归结为求解离散后的常微分方程组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)显式算法显示算法基于动力学方程,无需迭代,包括动态显式和静态显式算法。
动态显式算法采用动力学方程的中心差分格式,不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,也不存在收敛控制问题。
该算法需要的内存也比隐式算法要少。
数值计算过程可以很容易地进行并行计算,程序编制也相对简单。
它也有一些不利方面。
显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。
显示积分和隐式积分法

显示积分和隐式积分法这是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)=2u(i)-u(i-1)+a(i)(△t)^2(3)v(i+1)=[u (i+1)-u(i-1)]/2(△t)(4)式中u(i-1),为i-1时刻的位移。
由式(3)可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻的位移求解无需迭代过程。
另外,只要将运动过程中的质量矩阵和阻尼矩阵对角化,前一时刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式求解法。
显式求解法的优点是它既没有收敛性问题,也不需要求解联立方程组,其缺点是时间步长受到数值积分稳定性的限制,不能超过系统的临界时间步长。
隐式求解法不考虑惯性效应[c]和[m]。
对于线性问题,无条件稳定,可以用大的时间步。
对于非线性问题,通过一系列线性逼近(newton-raphson)来求解;要求转置非线性刚度矩阵[k],收敛时候需要小的时间步,对于高度非线性问题无法保证收敛。
因此,隐式求解一般用于线性分析和非线性结构静动力分析,包括结构固有频率和振型计算。
ansys使用的newmark时间积分法即为隐式求解法。
显式算法与隐式算法的区别

显式算法与隐式算法得区别1、显式算法最大优点就是有较好得稳定性。
动态显式算法采用动力学方程得一些差分格式(如广泛使用得中心差分法、线性加速度法、Newmark法与wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取得足够小,一般不存在收敛性问题。
因此需要得内存也比隐式算法要少。
并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。
但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥。
因而往往采用减缩积分方法,容易激发沙漏模式,影响应力与应变得计算精度。
静态显式法基于率形式得平衡方程组与Euler向前差分法,不需要迭代求解。
由于平衡方程式仅在率形式上得到满足,所以得出得结果会慢慢偏离正确值。
为了减少相关误差,必须每步使用很小得增量。
2、隐式算法隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型得线性方程组,这以过程需要占用相当数量得计算资源、磁盘空间与内存。
该算法中得增量步可以比较大,至少可以比显式算法大得多,但就是实际运算中上要受到迭代次数及非线性程度得限制,需要取一个合理值。
3、求解时间t使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元得尺寸成反比;应用隐式方法,经验表明对于许多问题得计算成本大致与自由度数目得平方成正比;因此如果网格就是相对均匀得,随着模型尺寸得增长,显式方法表明比隐式方法更加节省计算成本。
所谓显式与隐式,就是指求解方法得不同,即数学上得出发点不一样。
并不就是说显式只能求动力学问题,隐式只能求静力学问题,只就是求解策略不通。
显式求解就是对时间进行差分,不存在迭代与收敛问题,最小时间步取决于最小单元得尺寸。
过多与过小得时间步往往导致求解时间非常漫长,但总能给出一个计算结果。
解题费用非常昂贵。
因此在建模划分网格时要非常注意。
隐式求解与时间无关,采用得就是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。
期权定价的有限差分法

第9章期权定价的有限差分法【本章精粹】期权定价最终归结为一个二阶偏微分方程,而有限差分方法是计算偏微分方程的有效工具。
因此,本章介绍3种常见的有限差分方法,并且给出了相关程序,让读者了解有限差分方法计算的基本原理,熟悉用显式法和隐式法计算欧式看涨期权价格。
9.1 有限差分计算方法的基本原理偏微分方程在金融工程中占有重要位置,著名的Black-Scholes 方程就是以二阶偏微分方程形式给出的。
偏微分方程为求解复杂的金融衍生工具价格提供了有力手段,但是偏微分方程通常没有解析解,因此用数值计算方法求解衍生工具价格就成为金融工程的一项基本功。
求解金融衍生工具价格与求解通常偏微分方程的区别主要在于一般偏微分方程是给定初值求解终值,而衍生品定价问题是给定终值求初值,属于倒向随机偏微分方程求解。
有限差分方法的核心思想是对导数进行离散化,把偏微分方程转化为差分方程,然后利用迭代法求解。
根据对偏导数离散方法的不同,有限差分方法可分为显式差分法、隐式差分法和内含差分法,下面分别进行介绍。
假设,i j f 表示在i 时刻股票价格为第j 价位的期权价格,对f 一阶导数进行如下差分:,1,i j i j f f fS S+-∂=∂∆ (9-1) 1,,i j i j f f ft t+-∂=∂∆ (9-2) 式(9-1)、式(9-2)的差分方法称为显式差分法。
也可以对一阶导数做如下差分:,,1i j i j f f fS S--∂=∂∆ (9-3) ,1,i j i j f f ft t --∂=∂∆ (9-4) 式(9-3)、式(9-4)的差分方法称为隐式差分法。
也可以做如下差分:,1,12i j i j f f fS S+--∂=∂∆ (9-5) 1,1,2i j i j f f ft t +--∂=∂∆ (9-6) 式(9-5)、式(9-6)的差分方法称为内含差分法。
对二阶微分方程,用如下方法进行差分:2,1,,,12/i j i j i j i j f f f f f S S S S +---⎛⎫∂=-∆ ⎪∂∆∆⎝⎭ (9-7) 整理得:2,1,1,222i j i j i j f f f fS S +-+-∂=∂∆以上就是偏微分方程的常见离散方法。
一维热传导方程的差分法

一维热传导方程的差分法一维热传导方程是描述材料内部温度分布随时间变化的数学模型。
它在许多实际工程问题中起着重要的作用,比如热传导、材料加工、建筑设计等。
差分法是一种用于数值求解偏微分方程的常用方法,其原理是将偏微分方程中的导数项用差分近似代替,然后将求解区域划分为离散点,最终得到一个代数方程组。
本文将介绍一维热传导方程的差分法求解过程。
一维热传导方程可以写成如下形式:\[\frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2}\]\(u(x, t)\)表示材料内部温度分布,\(x\)是空间坐标,\(t\)是时间,\(\alpha\)是热扩散系数。
为了使用差分法求解该方程,我们需要对空间和时间进行离散化。
假设求解区域为\(0 \leq x \leq L\),时间区间为\(0 \leq t \leq T\),将空间和时间分别划分成\(N_x\)和\(N_t\)个小区间,步长分别为\(\Delta x = \frac{L}{N_x}\)和\(\Delta t = \frac{T}{N_t}\)。
接下来,我们将使用显式差分格式对一维热传导方程进行离散化。
我们定义离散点\(u_i^n = u(i\Delta x, n\Delta t)\),用\(u_i^n\)表示时间\(n\)、空间\(i\)处的温度。
那么热传导方程可以用差分格式表示为:\[\frac{u_i^{n+1} - u_i^n}{\Delta t} = \alpha \frac{u_{i+1}^n - 2u_i^n +u_{i-1}^n}{\Delta x^2}\]为了进行数值求解,我们需要给定初始条件和边界条件。
初始条件可以表示为:\[u_i^0 = f(i\Delta x)\]边界条件可以是温度固定或热传导定律,比如:\[u_0^n = g_1(t), u_{N_x}^n = g_2(t)\]或者\[\frac{\partial u}{\partial x}(0, t) = 0, \frac{\partial u}{\partial x}(L, t) = 0\]接下来,我们可以通过迭代计算离散点的温度值来求解一维热传导方程。
数值计算方法解决二维热传导方程问题研究

数值计算方法解决二维热传导方程问题研究概述:热传导方程是描述物体中温度分布随时间演化的常见方程之一。
解决热传导方程的问题在工程、科学及实际应用中具有重要的意义。
然而,解析解往往难以得到,因此我们需要借助数值计算方法来求解这类问题。
本文将研究使用数值计算方法解决二维热传导方程问题,并介绍常用的数值方法及其应用。
引言:热传导方程是描述物体中温度分布的偏微分方程,通常形式为:∂u/∂t =α(∂^2u/∂x^2 + ∂^2u/∂y^2),其中u(x, y, t)表示温度分布,α为热扩散系数。
本文将研究如何使用数值计算方法求解该方程的初始值问题。
数值方法介绍:1. 空间离散化在二维情况下,我们将区域划分为网格点,并对温度进行离散化。
常用的方法有有限差分法和有限元法。
有限差分法将二维空间离散化为矩形网格,根据差分近似导数并代入热传导方程,得到离散的方程组。
有限元法则通过将区域分解为多个小区域,利用试探函数对温度进行表示,在每个小区域内代入试探函数并求解线性方程组来得到温度分布。
2. 时间离散化对时间进行离散化也是求解二维热传导方程的重要步骤。
常用的方法有显式方法和隐式方法。
显式方法使用差分公式来逐步推进时间,从而求解温度在每个时间步长上的值。
隐式方法则利用迭代算法来求解线性方程组,通过反复迭代使得解逼近真实解。
数值方法应用与优缺点分析:1. 有限差分法有限差分法是最常用的数值方法之一,简单易于实现。
它将二维空间划分为网格点,并利用中心差分公式来近似偏导数。
在时间方向上,显式差分方法使用向前差分公式,而隐式差分方法则使用向后差分公式。
有限差分法的优点是计算效率高,在稳定性和精度上具有较好的表现,但对于非线性问题的处理稍显困难。
2. 有限元法有限元法是一种更为复杂的数值计算方法,对于复杂的边界条件和几何形状具有较好的适应性。
它将区域分解为小区域,并在每个小区域内引入试探函数。
通过求解线性方程组,可以得到温度的离散解。
显示动力学与隐式动力学区别

显示动力学与隐式动力学区别显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。
过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。
解题费用非常昂贵。
因此在建模划分网格时要非常注意。
隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就的不到结果。
两者求解问题所耗时间的长短理论上无法比较。
实际应用中一般感觉来说显式耗时多些。
由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。
隐式用来求解和时间无关的静力学问题。
但也不是绝对的。
比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。
另外,隐式也可以求解动力学问题。
1、显式算法基于动力学方程,因此无需迭代;而静态隐式算法基于虚功原理,一般需要迭代计算2、显式算法最大优点是有较好的稳定性。
动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法、Newmark法和wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。
因此需要的内存也比隐式算法要少。
并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。
但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。
静态显式法基于率形式的平衡方程组与Euler向前差分法,不需要迭代求解。
由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。
为了减少相关误差,必须每步使用很小的增量。
3、隐式算法隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这个过程需要占用相当数量的计算资源、磁盘空间和内存。
一维热传导方程的差分法

一维热传导方程的差分法1. 引言1.1 简介一维热传导方程是描述物体内部热分布随时间变化的数学模型,广泛应用于工程领域中的热传导问题。
而差分法是求解偏微分方程的一种常用数值求解方法,通过将连续空间离散化为离散节点,时间离散化为不同时间步长,将偏微分方程转化为代数方程组进行求解。
在一维热传导方程的求解中,差分法可以分为显式差分法和隐式差分法两种主要方法。
显式差分法根据当前时刻的温度值和相邻节点的温度值计算下一个时刻各节点的温度值,而隐式差分法则需要求解一个代数方程组来更新温度值。
通过稳定性分析可以确定差分法的条件和参数选择,保证数值解的收敛性和准确性。
本文将从一维热传导方程的基本概念出发,介绍差分法的基本原理以及显式、隐式差分法的求解过程,最后对稳定性进行分析和讨论。
通过对差分法的研究,可以更好地理解和应用于解决实际工艺过程中的热传导问题,提高问题求解的效率和准确性。
【简介】1.2 研究背景热传导是物体内部热量传递的一种方式,其在工程、材料学、气象学等领域有着广泛的应用。
而研究热传导方程的数值解法,对于模拟和预测各种实际问题中的热传导过程具有重要意义。
研究背景部分主要介绍了一维热传导方程的差分法。
研究一维热传导方程的差分法是研究热传导过程的重要方法之一,它通过将物体划分成若干个小区间,并在每个小区间内利用差分格式逼近偏微分方程,从而得到离散的数值解。
差分法基本原理部分将介绍差分法的基本原理,包括离散化、边界条件的处理等内容。
显式差分法和隐式差分法部分将详细介绍这两种经典的差分格式及其数值求解过程。
稳定性分析部分将讨论差分法的稳定性问题,这是保证数值解的准确性和可靠性的重要因素。
通过对一维热传导方程的差分法进行研究,可以更深入地了解热传导过程的数值模拟方法,并为实际工程中的热传导问题提供有效的数值解法。
在未来的研究中,我们可以进一步探索更高维度热传导方程的差分法,以及将差分法与其他数值方法相结合,提高数值求解的效率和精度。
隐式与显式动力学的区别-弹性动力学有限元基本解法

1.1. 弹性动力学有限元基本解法 结构系统的通用运动学方程为: tR KU U C U M =++ (1) 求解该动力学振动响应主要有三类方法:(1)时域法(2)频域法(3)响应谱法时域法又可分为:(1)直接积分法,(2)模态叠加法。
直接积分法又可分为中心差分法(显式),Wilson θ(隐式)法以及Newmark (隐式)法等。
本文介绍中心差分法(显式)与Newmark (隐式)法。
1 中心差分法(显式)假定0,1t ,2t ,…,n t 时刻的节点位移,速度与加速度均为已知,现求解)(t t t n ∆+时刻的 结构响应。
中心差分法对加速度,速度的导数采用中心差分代替,即为:)2(12t t t t t tU U U tU ∆+∆-+-∆=)(21t t t t tU U tU ∆-∆+-∆= (2)将(2)式代入(1)式后整理得到 tt t R U M ˆˆ=∆+ (3) 式(3)中CtM tM∆+∆=211ˆ2t t t tt U C tM tU M tK R R ∆-∆-∆-∆--=)211()2(ˆ22分别称为有效质量矩阵,有效载荷矢量。
R ,M ,C ,K 为结构载荷,质量,阻尼,刚度矩阵。
求解线性方程组(3),即可获得t t ∆+时刻的节点位移向量t t U ∆+,将t t U ∆+代回几何方程与物理方程,可得t t ∆+时刻的单元应力和应变。
中心差分法在求解t t ∆+瞬时的位移t t U ∆+时,只需t t ∆+时刻以前的状态变量t U 和t t U ∆-,然后计算出有效质量矩阵M ˆ,有效载荷矢量tR ˆ,即可求出t t U ∆+,故称此解法为显式算法。
中心差分法,在开始计算时,需要仔细处理。
t =0时,要计算t U ∆,需要知道t U ∆-的值。
因此应该有一个起始技术,因而该算法不是自动起步的。
由于0U ,0U ,0U 是已知的,由t =0时的(2)式可知:202U t U t U U t ∆+∆-=∆- 中心差分法中时间步长t ∆的选择涉及两个方面的约束:数值算法的稳定性和计算时间。
隐式求解与显式求解

大多数非线性动力学问题一般多是采用显式求解方法,特别是在求解大型结构的瞬时高度非线性问题时,显示求解方法有明显的优越性。
下面先简要对比一下隐式求解法和显示求解法。
动态问题涉及到时间域的数值积分方法问题。
在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 为当前时刻与前一时刻的时问差,符号* 为乘号。
由式(1)和式(2)可知,在纽曼法中任一时刻的位移、速度、加速度都相互关联,这就使得运动方程的求解变成一系列相互关联的非线性方程的求解,这个求解过程必须通过迭代和求解联立方程组才能实现。
这就是通常所说的隐式求解法。
隐式求解法可能遇到两个问题。
一是迭代过程不一定收敛,二是联立方程组可能出现病态而无确定的解。
隐式求解法最大的优点是它具有无条件稳定性,即时间步长可以任意大。
如果采用中心差分法来进行动态问题的时域积分,则有如下位移、速度和加速度关系式:u(i+1)=2u(i)-u(i-1)+a(i)(△t)^2 (3)v (i+1)=[u (i+1)-u (i-1)]/2(△t) (4)式中u(i-1),为i -1时刻的位移。
由式(3)可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻的位移求解无需迭代过程。
另外,只要将运动过程中的质量矩阵和阻尼矩阵对角化,前一时刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式求解法。
显式求解法的优点是它既没有收敛性问题,也不需要求解联立方程组,其缺点是时间步长受到数值积分稳定性的限制,不能超过系统的临界时间步长。
热传导方程的数值求解

热传导方程的数值求解热传导方程是描述热传导现象的一种常见偏微分方程。
它在物理学、工程学以及其他领域中都有广泛的应用。
在本文中,我们将讨论热传导方程的数值求解方法。
通过数值求解,我们可以得到方程的近似解,从而更好地理解和分析热传导过程。
热传导方程的一般形式可以写作:$\frac{\partial u}{\partial t} = \alpha \nabla^2 u$其中,$u$是温度分布随时间和空间变化的函数,$\alpha$是热扩散系数。
上式表示了温度分布随时间变化的速率与温度分布的曲率之间的关系。
要求解这个方程,并得到温度分布随时间变化的近似解,我们可以使用一些常见的数值方法。
其中,有限差分法是最常见的一种方法。
有限差分法是将求解区域离散化,将连续的空间和时间分割成有限的小区域。
通过在这些小区域上近似描述方程,我们可以用差分方程代替原方程,进而得到方程的数值解。
对于热传导方程,我们可以将时间和空间分割成一系列网格点。
在每个网格点上,我们可以用温度的数值逼近代替温度的连续函数值。
这样,我们可以得到在每个时间步长和空间步长上的温度逼近。
通过迭代计算,我们可以得到整个时间和空间范围内的温度近似解。
在具体的计算过程中,我们可以采用显式差分法或隐式差分法。
显式差分法是一种较为简单的方法,它根据当前时间步的温度逼近来计算下一个时间步的温度逼近。
然而,显式差分法需要满足一定的稳定性条件。
在一些情况下,显式差分法可能会导致数值解不稳定和发散。
为了克服这些限制,我们可以使用隐式差分法。
隐式差分法通过在时间步迭代过程中使用未知的时间步温度逼近,可以得到更加稳定的数值解。
然而,隐式差分法的计算复杂度较高,需要求解一个线性方程组。
除了有限差分法之外,还有其他的数值方法可以用于求解热传导方程。
例如,有限元法、辛方法等。
每种方法都有其优缺点和适用范围。
根据具体的问题和计算需求,选择适合的数值方法是至关重要的。
在实际求解过程中,还需要注意数值参数的选择。
显式与隐式算法区别

显式与隐式算法区别显式(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)时刻决定,也就是说当前时刻的值由上⼀时刻的值决定。
第五讲——显式差分和隐式差分(5)

G(Y (t ), Y (t t )) 0
例子:
1. 显式差分格式:
左端:n+1时刻的值; 右端:n时刻的值。
特点:结构简洁,直接求解,求解速度快。
但是,时间步长需满足:
显式差分格式才能得到稳定的数值解,否则,数值解将会不稳定而振荡。
显示差分格式示意图
2. 隐式差分格式:
时间一阶精度 空间二阶精度
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s T i n 1 1 ( 2 2 s ) T i n 1 s T i n 1 1 s T i n 1 ( 2 2 s ) T i n s T i n 1
1
2
3
4
5
6
边界条件:
初始条件:
Ac(n1) Bc(n)
1 0
0
0
0
s
2 2s
s
0
0
0 s 2 2s s 0
A
0
0
s 2 2s s
0
0
0
0
c (n1)
T T
n 1
n 2
1 1
T T
n 3
n 4
1 1
0 0 0 0
0 s 2 2s s
0
0
0 1
T T
n 5
n 6
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
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
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 ) 4 U ( i , j ) 0
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 ) 4 U ( i , j ) 0
j+1 (i-1,j+1) (i,j+1) 2
Tj1Tj tf(Tj,tj)
Tj1Tj- tTj=T( j 1- t)
Tj
T(0 1-
t
)j
现在改用向后差分形式进行近似,得到隐式差分格式:
显式差分格式
dT dt ttj
Tj Tj1O(t) t
Tj Tj1tf(Tj,tj)
f (T ,t) T
Tj Tj1(1t)1
隐式差分格式
Tj
T0(1
t
Cui, 2013
Cui, 2013
Cui, 2013
Cui, 2013
总结:
1、有限差分方法给出的数值解的精度取决于所用的差分形式(向 前、向后、中心)。
2、偏微分方程的显式有限差分格式通常是有条件稳定的,为了保 证得到精确的数值解,最关键的是需要根据稳定性条件选取正确的 空间和时间步长。
载荷项:
rhs = zeros(nx,1); rhs(2:nx-1) = Told(2:nx-1); rhs(1) = Tleft; rhs(nx) = Tright;
内部 边界
Crank-Nicolson 隐式差分格式的程序实现
s T i n 1 1 ( 2 2 s ) T i n 1 s T i n 1 1 s T i n 1 ( 2 2 s ) T i n s T i n 1
1 1
1 0
0
0
0 0
s
2 2s
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
T T
n 1
n 2
c (n )
T T
n 3
n 4
T T
n 5
n 6
s T i n 1 1 ( 2 2 s ) T i n 1 s T i n 1 1 s T i n 1 ( 2 2 s ) T i n s T i n 1
B(1 ,1 ) = 1; B(nx,nx) = 1;
T T
n 1
n 2
c (n )
T T
n 3
n 4
T T
n 5
n 6
例子:牛顿冷却定律:温度高于周围环境的物体向周围媒质传递热量 逐渐冷却时所遵循的规律。当物体表面与周围存在温度差时,单位时 间从单位面积散失的热量与温度差成正比。
稳定性(stability):如果偏微分方程的严格解析解有界,差分格式给出的 解也有界,称该差分格式是稳定的;如果差分格式给出的解是无界的,则 称该差分格式是不稳定的。
稳定性反映了差分格式在计算中控制误差传递的能力
收敛性(convergence):如果当时间和空间步长趋于零时,FDE解趋于PDE
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
b=a^(-1); c=zeros(135,1); for i=121:135
c(i,1)=25;end d=b*c; s=zeros(11,17); for i=2:16
s(11,i)=100; end for i=1:9 for j=1:15; s(i+1,j+1)=d(15*(i-1)+j,1); end end
一种隐式差分格式的程序实现
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;
隐式差分格式(implicit difference scheme)
特点
G (Y(t),Y(t t))0
1. 时间步长和空间步长的选择不受限制;
2. 需要联立解方程组
例子: 1. 显式差分格式:
左端:n+1时刻的值; 右端:n时刻的值。
特点:结构简洁,直接求解,求解速度快。
但是,时间步长需满足:
显式差分格式才能得到稳定的数值解,否则,数值解将会不稳定而振荡。
显示差分格式示意图
2. 隐式差分格式:
时间一阶精度 空间二阶精度
隐式有限差分格式
Crank-Nicolson 隐式差分格式
T in 1 tT in 2 ( x )2(( T i n 1 1 2 T in 1 T i n 1 1 ) ( T i n 1 2 T in T i n 1 ))
a(i,i)=1; end; for i=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 for i=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(1,16)=-0.25; a(121,122)=-0.25;
解,称该差分格式是收敛的。
如果
h l0i,m t 0(Uim ,j,kuim ,j,k)0
则称该差分格式是收敛的。
收敛性描述的是当差分网格无限细化时,差分方程的解是否具有无限逼 近偏微分方程的解的能力
Lax等价定理(Lax equivalence theorem):如果逼近一个给定问题的差 分格式是相容的,那么该差分格式的收敛性与稳定性互为充分必要条件。
subplot(1,2,1),mesh(s) axis([0,17,0,11,0,100]) subplot(1,2,2),contour(s,32)
11
10
100
9
80
8
60
7
40
6
20
5
4 0
10
3
15
5
2 10
5 00
1