显示积算和隐式计算的区别,公式描述
- 显式计算
- 基本原理:显式计算是一种基于当前已知状态直接计算下一个时间步状态的方法。在动力学问题中,它主要通过利用已知的加速度和速度来计算位移。
- 时间积分公式:以中心差分法为例,在显式时间积分中,速度和加速度的离散公式如下:
- 速度\(\dot{u}_{n}=\frac{1}{2\Delta t}(u_{n + 1}-u_{n - 1})\)
- 加速度\(\ddot{u}_{n}=\frac{1}{\Delta t^{2}}(u_{n - 1}-2u_{n}+u_{n + 1})\)
- 在有限元动力学方程中的应用:对于有限元动力学平衡方程\(M\ddot{u}+C\dot{u}+Ku = F\),在显式计算中,将加速度公式代入动力学方程,假设在时间步\(n\)时,质量矩阵\(M\)、阻尼矩阵\(C\)、刚度矩阵\(K\)和外力向量\(F\)是已知的,就可以直接求解出下一个时间步\(n + 1\)的位移\(u_{n+1}\)。具体地,由\(M\ddot{u}_{n}+C\dot{u}_{n}+Ku_{n}=F_{n}\),将加速度和速度公式代入可得:
\[\begin{align*}
M\frac{1}{\Delta t^{2}}(u_{n - 1}-2u_{n}+u_{n + 1})&+C\frac{1}{2\Delta t}(u_{n + 1}-u_{n - 1})+Ku_{n}=F_{n}\\
\frac{M}{\Delta t^{2}}u_{n + 1}+\frac{C}{2\Delta t}u_{n + 1}&=F_{n}-Ku_{n}+\frac{2M}{\Delta t^{2}}u_{n}-\frac{M}{\Delta t^{2}}u_{n - 1}+\frac{C}{2\Delta t}u_{n - 1}\\
\left(\frac{M}{\Delta t^{2}}+\frac{C}{2\Delta t}\right)u_{n + 1}&=F_{n}-Ku_{n}+\frac{2M}{\Delta t^{2}}u_{n}-\frac{M}{\Delta t^{2}}u_{n - 1}+\frac{C}{2\Delta t}u_{n - 1}
\end{align*}
\]
特点:
- 显式计算不需要求解大型的线性方程组,计算相对简单直接。
- 它是有条件稳定的,时间步长\(\Delta t\)需要满足Courant - Friedrichs - Lewy(CFL)条件,例如在波传播问题中,\(\Delta t\)要足够小,以保证数值计算的稳定性。
2. 隐式计算
- 基本原理:隐式计算在求解下一个时间步的状态时,需要同时考虑当前时间步和下一个时间步的平衡关系。它通常涉及到求解一个线性或非线性的方程组。
- 时间积分公式:以Newmark - \(\beta\)法为例,它的位移、速度和加速度公式为:
- \(u_{n + 1}=u_{n}+\Delta t\dot{u}_{n}+\frac{\Delta t^{2}}{2}[(1 - 2\beta)\ddot{u}_{n}+2\beta\ddot{u}_{n + 1}]\)
- \(\dot{u}_{n + 1}=\dot{u}_{n}+\Delta t[(1 - \gamma)\ddot{u}_{n}+\gamma\ddot{u}_{n + 1}]\)
- 在有限元动力学方程中的应用:将上述公式代入有限元动力学平衡方程\(M\ddot{u}+C\dot{u}+Ku = F\),得到一个关于\(u_{n + 1}\)的方程组。例如,将位移和速度公式代入后,整理可得:
\[\begin{align*}
M\ddot{u}_{n + 1}+C\left(\dot{u}_{n}+\Delta t[(1 - \gamma)\ddot{u}_{n}+\gamma\ddot{u}_{n + 1}]\right)&+K\left(u_{n}+\Delta t\dot{u}_{n}+\frac{\Delta t^{2}}{2}[(1 - 2\beta)\ddot{u}_{n}+2\beta\ddot{u}_{n + 1}]\right)=F_{n + 1}\\
\left(M + \Delta t\gamma C+\Delta t^{2}\beta K\right)\ddot{u}_{n + 1}&=F_{n + 1}-K\left(u_{n}+\Delta t\dot{u}_{n}+\frac{\Delta t^{2}}{2}[(1 - 2\beta)\ddot{u}_{n}\right]-C\left(\dot{u}_{n}+\Delta t[(1 - \gamma)\ddot{u}_{n}\right]
\end{align*}
\]
然后需要求解这个方程组来得到\(u_{n + 1}\)。
- 特点:
- 隐式计算是无条件稳定的,时间步长\(\Delta t\)的选择相对灵活,在处理低频响应问题等时可以使用较大的时间步长。
- 但是它需要求解大型的线性或非线性方程组,计算成本较高,特别是对于大规模复杂问题,求解方程组可能会消耗大量的计算资源。
浙公网安备 33010602011771号