显式(explicit)和隐式(implicit)这两个词在有限元分析中大家可能经常看到,特别是涉及到动力学分析时
但其实广义的说他们分别对应着两种不同的算法:显式算法(explicit method)和隐式算法(implicit method)
所以不论在动力学或者静力学中都有涉及到
显式算法:不直接求解切线刚度,不进行平衡迭代,计算速度快,时间步长只需要足够小,一般不存在收敛问题,需要的内存也小
隐式算法:每一增量步都需要对静态方程进行平衡迭代,且每次迭代需要求解大量的线性方程组,这一特点使之占用大量的资源
但该算法增量步可以很大,至少比显式算法大的多,实际计算中会受到迭代次数及非线性程度的影响我们都知道有限元分析 FEA 在计算微分方程(differential equations)时,由于计算本身的局限,比如计算机储存的位数有限,以及方程本身的复杂性,计算机运用的是数值算法(numerical algorithm)来逼近真实解的
有限元分析中数值算法的基础是欧拉法(Euler method),欧拉法又分为 forwardEuler method和 backward Eulermethod,这两种方法被简称为显式法(explicit method)和隐式法(implicit method)
中心差分法:(动力学分析)用有限差分代替位移对时间的求导,将运动方程中的速度与加速度用位移的某种组合来标示,这样就将常微分方程组的求解问题转化为代数方程组的求解问题,并假设在每个小的时间间隔内满足运动方程
首先我们来看看这两种算法的区别
显式算法(explicit method)(forwardEuler method)考虑常微分方程:初始条件:设 为每一步的时间步长, 在 Tn 时刻,时刻有:
(n=0,1,2,3
),在 T(n+1)所以在显式算法中,T(n+1)时刻的值