基本概念
有限元计算微分方程由于计算机本身的从存储限制及方程的复杂性,采用数值方法来逼近真实解。有限元算法基础——欧拉法、拉格朗日算法,以欧拉法为例,主要分为forward Euler Method及backward Euler Method
Forward Euler Method——显示算法,也即Explicit Method。
Backward Euler Method——隐式算法,也即Implicit Method。文章来源:https://www.toymoban.com/news/detail-670404.html
算法区别
1.概述
- 在显式算法中, T ( n + 1 ) T(n+1) T(n+1)时刻的值由 T ( n ) T(n) T(n)时刻决定,也就是说当前时刻的值由上一时刻的值决定。
- 1、求解常微分方程:
d
y
d
t
=
f
(
t
,
y
)
\frac{dy}{dt}=f(t,y)
dtdy=f(t,y)
2、初始条件: y ( t 0 ) = y 0 y(t_0)=y_0 y(t0)=y0
3、设 h h h为每一步的时间步长,在tn时刻: t n = t 0 + n h t_n=t_0+nh tn=t0+nh
4、 T ( n + 1 ) T(n+1) T(n+1)时刻数值: y n + 1 = y n + h f ( t n , y n ) y_{n+1}=y_n+hf(t_n,y_n) yn+1=yn+hf(tn,yn) - 在隐式算法中, T ( n + 1 ) T(n+1) T(n+1)时刻的值不仅由 T ( n ) T(n) T(n)时刻决定,还由当前时刻 T ( n + 1 ) T(n+1) T(n+1)决定;也就是说当前时刻的值由上一时刻和当前时刻的值共同决定;隐式算法往往需要求解二次方程。
- 1、求解常微分方程:
d
y
d
t
=
f
(
t
,
y
)
\frac{dy}{dt}=f(t,y)
dtdy=f(t,y)
2、初始条件: y ( t 0 ) = y 0 y(t_0)=y_0 y(t0)=y0
3、设 h h h为每一步的时间步长,在tn时刻: t n = t 0 + n h t_n=t_0+nh tn=t0+nh
4、 T ( n + 1 ) T(n+1) T(n+1)时刻数值: y n + 1 = y n + h f ( t n + 1 , y n + 1 ) y_{n+1}=y_n+hf(t_{n+1},y_{n+1}) yn+1=yn+hf(tn+1,yn+1)
2.收敛性
- 显示算法不存在收敛性的问题(因为不进行收敛计算),每个时刻的值由上一时刻所确定,但当时间步取得较大时,就会脱离真实值。
- 隐式算法是无条件收敛的,在隐式算法中,在求解二次方程的同时,会通过牛顿法对每一步进行迭代收敛,直至收敛到指定的偏差。
3.时间步长的依赖性
显示算法的准确性严重依赖于计算时间步长,要想获得比较准确的结果,时间步需要非常小,但是显式算法是绝对收敛的,对时间步长要求不高。文章来源地址https://www.toymoban.com/news/detail-670404.html
4.计算效率
- 显示动力学由于是间接求得位移 x x x的,要取得足够的精度,需要取很短的时间步长,所以需要进行很多步计算,但每一步计算需要的时间很短。
- 隐式动力学由于直接求得位移 x x x,所以不存在收敛性问题,但由于动力学分析往往涉及非线性(几何非线性、材料非线性等),可能每一步都要进行刚度的求逆,非常耗时,但时间步长相对显示算法可以取得很大。
5.适用范围
- 显式算法:一般用于作用时间短,非线性程度高的动力学分析、准静态分析。如爆炸、碰撞、跌落及倒塌等。
- 隐式算法:一般用于作用时间较长、非线性程度不高的动力学、静力学分析及准静态分析。
到了这里,关于显式算法与隐式算法区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!