隐式与显示的区别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

显示动力学与隐式动力学求解的区别。

(2011-10-15 15:34:02)

分类:札记

标签:

杂谈

显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。解题费用非常昂贵。因此在建模划分网格时要非常注意。

隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就的不到结果。

两者求解问题所耗时间的长短理论上无法比较。实际应用中一般感觉来说显式耗时多些。由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。隐式用来求解和时间无关的静力学问题。但也不是绝对的。比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。另外,隐式也可以求解动力学问题。

1、显式算法基于动力学方程,因此无需迭代;而静态隐式算法基于虚功原理,一般需要迭代计算

2、显式算法最大优点是有较好的稳定性。

动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法、Newmark法和wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。因此需要的内存也比隐式算法要少。并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。

静态显式法基于率形式的平衡方程组与Euler向前差分法,不需要迭代求解。由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。为了减少相关误差,必须每步使用很小的增量。

3、隐式算法

隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都

需要求解大型的线性方程组,这个过程需要占用相当数量的计算资源、磁盘空间和内存。该算法中的增量步可以比较大,至少可以比显式算法大得多,但是实际运算中上要受到迭代次数及非线性程度的限制,需要取一个合理值。

4、求解时间

使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元的尺寸成反比;

应用隐式方法,经验表明对于许多问题的计算成本大致与自由度数目的平方成正比;因此如果网格是相对均匀的,随着模型尺寸的增长,显式方法表明比隐式方法更加节省计算成本

隐式求解法

将冲压成型过程的计算作为动态问题来处理后,就涉及到时间域的数值积分方法问题。在80年代中期以前,人们基本上使用牛曼法进行时间域的积分。根据牛曼法,位移、速度和加速度有着如下的关系:上面式子中,分别为当前时刻和前一时刻的位移,和为当前时刻和前一时刻的速度,和为当前时刻和前一时刻的加速度,β和γ为两个待定参数。由上式可知,在牛曼法中任一时刻的位移、速度和加速度都相互关联,这就使得运动方程的求解变成一系列相互关联的非线性方程的求解。这个求解过程必须通过迭代和求解联立方程组才能实现。这就是通常所说的隐式求解法。隐式求解法可能遇到两个问题。一是迭代过程不一定收敛;二是联立方程组可能出现病态而无确定的解。隐式求解法的最大优点是它具有无条件稳定性,即时间步长可以任意大。

显式求解法

如果采用中心差分法来进行动态问题的时域积分,则有如下位移、速度和加速度关系:由上式可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻的位移求解无需迭代过程。另外,只要将运动方程中的质量矩阵和阻尼矩阵对角化,前一时刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式求解法。显式求解法的优点是它即没有收敛性问题,也不需求解联立方程组,其缺点是时间步长受到数值积分稳定性的限制,不能超过系统的临界时间步长。由于冲压成型过程具有很强的非线性,从解的精度考虑,时间步长也不能太大,这就在很大程度上弥补了显式求解法的缺陷。

在80年代中期以前显式算法主要用于高速碰撞的仿真计算,效果很好。自80年代后期被越来越广泛地用于冲压成型过程的仿真,目前在这方面的应用效果已超过隐式算法。显式算法在冲压成型过程的仿真中获得成功应用的关键,在于它不像隐式算法那样有解的收敛性问题。

附加说明:

1)求解线性静力学问题,虽然求解线性方程组,但是没有时步的关系,所以不应将其看作隐式算法。

2)求解非线性静力学问题,虽然求解过程需要迭代,或者是增量法,但是没有明显的时步问题,所以不应将其看作隐式算法。

3)静态松弛法,可以认为是将动力学问题看作静力学问题来解决,每一步达到静力平衡,需要数值阻尼。

4)动态松弛法,可以认为是将静力学问题或者动力学问题,分为时步动力学问题,采用向后时步迭代的思想计算。对于解决静力学问题时,需要人工阻尼。

根据我的理解,是这样的:

(1)显式算法包括动态显式和静态显式算法。

动态显式算法的最大优点是有较好的稳定性。动态显式算法采用动力学方程的中心差分格式,不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,也不存在收敛控制问题。该算法需要的内存也比隐式算法要少。数值计算过程可以很容易地进行并行计算,程序编制也相对简单。它也有一些不利方面。显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。动态隐式法还有一个重要特点是:对成形过程的仿真需要使用者正确划分有限元网格和选择质量比例参数、速度和阻尼系数。

静态显式法基于率形式的平衡方程组与Euler前插公式,不需要迭代求解。由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。为了减少相关误差,必须每步使用很小的增量,通常一个仿真过程需要多达几千步。由于不需要迭代,所以这种方法稳定性好,但效率低。

(2)隐式算法

静态算法也是解决金属成形问题的一种方法。在静态隐式算法中,在每一增量步内都需要对静态平衡方程而迭代求解。理论上在这个算法中的增量步可以很大,但是实际运算中上要受到接触以及摩擦等条件的限制。随着单元数目的增加,计算时间几乎呈平方次增加。由于需要矩阵求逆以及精确积分,对内存要求很高。隐式算法的不利方面还有收敛问题不容易得到解决以及当开始起皱失稳时,在分叉点处刚度矩阵出现奇异。

另有一种静态隐式大增量步软件,也属于静态隐式算法,做出了某些改进,如在一些特殊接触条件处理上采用大增量时步,弯曲与拉伸变形的非耦合求解算法,高精度的自适应网格划分等等。这些专用于金属薄板成形的特征有时显得非常有效,但在某些方面不会那么准确。例如,它不能精确模拟接触和脱离接触的过程,无法有效预测起皱失稳。

相关文档
最新文档