对于显式与隐式有限元的理解
显式算法和隐式算法,有时也称为显式解法和隐式解法,是计算力学中常见的两个概念。一、两种算法的比较
1、显式算法
基于动力学方程,因此无需迭代;而静态隐式算法基于虚功原理,一般需要迭代计算。显式算法,最大优点是有较好的稳定性。
动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法、Newmark法和wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。因此需要的内存也比隐式算法要少。并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥,因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。
静态显式法基于率形式的平衡方程组与Euler向前差分法,不需要迭代求解。由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。为了减少相关误差,必须每步使用很小的增量。
2、隐式算法
隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这以过程需要占用相当数量的计算资源、磁盘空间和内存。该算法中的增量步可以比较大,至少可以比显式算法大得多,但是实际运算中上要受到迭代次数及非线性程度的限制,需要取一个合理值。
二、求解时间
使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元的尺寸成反比,应用隐式方法,经验表明对于许多问题的计算成本大致与自由度数目的平方成正比,因此如果网格是相对均匀的,随着模型尺寸的增长,显式方法表明比隐式方法更加节省计算成本。
三、两种方法的应用范围
a)在求解动力学问题时,将方程在空间上采用有限元法(或其他方法)进行离散后,变为常微分方程组F=M(u)+C(u)+K(u)。求解这种方程的其中两种方法为,中心差分法和Newmark法。采用中心差分法解决动力学问题被称为显式算法,采用Newmark法解决动力学问题被称为隐式算法。
b)在求解动力学问题时,离散元法(也有其他方法)主要有两种思想:动态松弛法(向后时步迭代),静态松弛法(每一步要平衡)。动态松弛法是显式算法,静态松弛法是隐式算法。其中冲压成型就是动态松弛法的主要例子。
c)在求解静力学问题时,有时候将其看作动力学问题来处理而采用动态松弛法,这是显式算法。Flac就是主要例子。
四、总结:
1)求解线性静力学问题,虽然求解线性方程组,但是没有时步的关系,所以不应将其看作隐式算法。
2)求解非线性静力学问题,虽然求解过程需要迭代,或者是增量法,但是没有明显的时步问题,所以不应将其看作隐式算法。
3)静态松弛法,可以认为是将动力学问题看作静力学问题来解决,每一步达到静力平衡,需要数值阻尼。
4)动态松弛法,可以认为是将静力学问题或者动力学问题,分为时步动力学问题,采用向后时步迭代的思想计算。对于解决静力学问题时,需要人工阻尼。
来源:CAE技术联盟
学习一下 按照计算每一时刻动力反应是否需要求解线性方程组,可将直接积分法分为隐式积分方法和显式积分方法两类。
隐式积分法是根据当前时刻及前几时刻体系的动力反应值建立以下一时刻动力反应值为未知量的线性方程组,通过求解方程组确定下一时刻动力反应。隐式方法的研究和应用由来已久,常用的方法有线性加速度法、常平均加速度法、Newmark方法、Wilson-θ法、Houbolt方法等。
显式积分法可由当前时刻及前几时刻的体系动力反应值直接外推下一时刻的动力反应值,不需要求解线性方程组,实现了时间离散的解耦。解方程组一般占整个有限元求解程序耗时的70%左右,因此,这一解耦技术对计算量的节省是可观的。
隐式方法大部分是无条件稳定的,显式方法为条件稳定。显式方法的稳定性可以按满足精度要求的空间步距确定满足数值积分稳定性要求的时问步距来实现。显式方法受条件稳定的限制,时间积分步长将取得较小,但计算经验表明,对于一些自由度数巨大且介质呈非线性的问题,显式法比隐式法所需的计算量要小得多。
因此,随着所考虑问题复杂性的增加,显式积分法同益得到重视。
页:
[1]