A. 初始化
1) 若方程为非齐次,按照方程(4)和(5)将外载荷函数转化为变量,形成相应的齐次方程的质量矩阵 M ˜ ,阻尼矩阵 C ˜ 和刚度矩阵 K ˜ ;
2) 给出初始位移和速度
z 0 = [ x ˜ 0 T x ˜ ˙ 0 T ] T ;
3) 选取合适的步长h和分步数N (N = 2m),并计算分步长 h N = h / 2 m 以及常量矩阵
A 1 = M ˜ − 1 K ˜ , A 2 = M ˜ − 1 C ˜ , A 3 = ( M ˜ + h N 2 C ˜ + h N 2 12 K ˜ ) − 1 M ˜ ;
4) 计算增量矩阵
S ( h N ) = h N [ − h N 2 A 1 + h N 2 12 A 3 ( A 2 A 1 + h N 2 A 1 2 ) I − h N 2 A 2 − h N 2 12 A 3 ( A 1 − A 2 2 − h N 2 A 1 A 2 ) − A 1 + h N 2 A 3 ( A 2 A 1 + h N 2 A 1 2 ) − A 2 − h N 2 A 3 ( A 1 − A 2 2 − h N 2 A 1 A 2 ) ] ;
5) 更新增量矩阵
for ( i = 0 ; i < m ; i + + ) S ( h N ) = 2 S ( h N ) + S ( h N ) × S ( h N ) ;
6) 计算高精度Jacobi矩阵AH
A H ( h ) = I + S ( h N ) 。
B. 递推过程
1) 计算第k + 1步的位移和速度
z k + 1 = A H ( h ) z k , z k = [ x ˜ k x ˜ ˙ k ] ;
2) 计算第k + 1步的加速度
x ˜ ¨ k + 1 = − A 1 x ˜ k + 1 − A 2 x ˜ ˙ k + 1 .