显式算法与隐式算法区别

您所在的位置:网站首页 显式方法求解准静态问题 显式算法与隐式算法区别

显式算法与隐式算法区别

2024-07-12 02:07| 来源: 网络整理| 查看: 265

基本概念

        有限元计算微分方程由于计算机本身的从存储限制及方程的复杂性,采用数值方法来逼近真实解。有限元算法基础——欧拉法、拉格朗日算法,以欧拉法为例,主要分为forward Euler Method及backward Euler Method     Forward Euler Method——显示算法,也即Explicit Method。     Backward Euler Method——隐式算法,也即Implicit Method。

算法区别 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.时间步长的依赖性

        显示算法的准确性严重依赖于计算时间步长,要想获得比较准确的结果,时间步需要非常小,但是显式算法是绝对收敛的,对时间步长要求不高。

4.计算效率 显示动力学由于是间接求得位移 x x x的,要取得足够的精度,需要取很短的时间步长,所以需要进行很多步计算,但每一步计算需要的时间很短。隐式动力学由于直接求得位移 x x x,所以不存在收敛性问题,但由于动力学分析往往涉及非线性(几何非线性、材料非线性等),可能每一步都要进行刚度的求逆,非常耗时,但时间步长相对显示算法可以取得很大。 5.适用范围 显式算法:一般用于作用时间短,非线性程度高的动力学分析、准静态分析。如爆炸、碰撞、跌落及倒塌等。隐式算法:一般用于作用时间较长、非线性程度不高的动力学、静力学分析及准静态分析。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3