传统的算法求解过程如下:
for( stage = 0 to n_stages-1 )
{
计算从第0~n_nodes_stages[stage]-1个结点的索引 iS。
利用iS分配当前阶段的刚度矩阵的存储空间。
利用iS组集从0到stage个阶段对应的刚度矩阵。
求解方程组,得到结点位移增量。
将结点唯一增量累加到结点位移数组上。
if( stage 释放刚度矩阵
}
}
传统的算法的不足:
传统算法中每个阶段的求解都需要从之前完成的所有阶段开始至当前阶段的所有阶段包含的结点重新组集刚度矩阵和相关的索引计算。而高层建筑的特点是两个相邻阶段只有少量的耦合结点,因此在计算当前施工阶段时,只需要对当前施工阶段包含的结点进行组集,并对与之相邻的前一个阶段中的耦合结点对应的刚度矩阵的非零元数量和数值进行更新(如图1326所示)。这样就可以充分利用前面的计算结果,避免不必要的重复计算,从而最小化计算量。


图1326 耦合刚度系数位置示意