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 .