显式算法和隐式算法 显式算法和隐式算法,有时也称为显式解法和隐式解法,是计算力学中常见的两个概念,但是它们并没有普遍认可的定义,下面只是我的一些理解。先看看一般对两种方法的理解和比较, ============================================================= 显式算法 隐式算法 ------------------------------------------------------------- (01)适用问题 动力学(动态) 静力学(静态) (02)阻尼 人工阻尼 数值阻尼 ------------------------------------------------------------- (03)每步求解方法 矩阵乘法 线性方程组 (04)大矩阵(总刚) 否 是 (05)数据存贮量 小 大 (06)每步计算速度 快 慢 (07)迭代收敛性 无 有 (08)确定解 有确定解 可能是病态无确定解 ------------------------------------------------------------- (09)时步稳定性 有条件 无条件 (10)时间步 小 大 (11)计算精度 低 高 ============================================================= (01)是明显不对的,只是对两种方法的初级理解,(02)也是同样。下面要详细讨论这两点。 (03)是每一步求解的方法,(04)(05)(06)(07)(08)是由(03)所决定的,它们不是两种方法的基本特点。同样,(09)是时间步选择的方法,(10)(11)是由(09)所决定的。 通过(03)(09)可以得到两种方法的计算特点,显式算法是每一步求解为矩阵乘法,时间步选择为条件稳定;隐式算法是每一步求解为线性方程组求解,时间步选择为无条件稳定。 下面主要分析两种方法的应用范围。0 a)在求解动力学问题时,将方程在空间上采用有限元法(或其他方法)进行离散后,变为常微分方程组[M]{..u}+[C]{.u}+[K]{u}={f}。求解这种方程的其中两种方法为,中心差分法和Newmark法。采用中心差分法解决动力学问题被称为显式算法,采用Newmark法解决动力学问题被称为隐式算法。 b)在求解动力学问题时,离散元法(也有其他方法)主要有两种思想:动态松弛法(向后时步迭代),静态松弛法(每一步要平衡)。动态松弛法是显式算法,静态松弛法是隐式算法。其中冲压成型就是动态松弛法的主要例子。 c)在求解静力学问题时,有时候将其看作动力学问题来处理而采用动态松弛法,这是显式算法。Flac就是主要例子。 最后总结, ============================================================= 显式算法 隐式算法 ---------------------------------------------------------...