1 Introduction

In the fields of aerospace engineering, civil engineering, mechanical engineering and off-shore engineering, many large scale structures are required to be designed or optimized. If a design is based on an optimization process, many structure parameters such as the cross-sections of the elements, the shape of the structure and the supports of the structure will be selected as design variables. The optimum solution is related to these variables, and a change in any of them will cause the variations in displacements as well as stresses. Thus, a finite element analysis (FEA) may be required and a great deal of time has been spent on the numerous repeated analyses. For this reason, structural static reanalysis has been proposed. The purpose of static reanalysis is to evaluate accurately structural responses of the modified structure subjected to a given load by utilizing the existing original information as much as possible so that the computational cost can be greatly reduced (Abu Kassim and Topping 1987). Static reanalysis techniques are very significant for design and optimization of large structures, especially for the case where only a small part of the structure is progressively modified (Terdalkar and Rencis 2006).

To date, many static reanalysis methods have been proposed, especially for the case of the modifications where the supports of the structure keep unchanged. The various reanalysis methods for modifications of a structure with fixed layout can be divided into two categories: direct methods and approximate methods. Direct methods give exact closed-form solutions and are suitable for the modifications where the changes in design variables only affect a relative small part of the structure. The computational costs of these methods are associated with the number of the modified elements, but not with the extent of the change. Most of these methods are based on the Sherman-Morrison-Woodbury formulae (Sherman and Morrison 1949; Woodbury 1950). Various improvements have been made and the readers may refer to Akgün et al. (2001). Approximate methods provide an estimate of the response of the modified structure and they are efficient for the minor modifications to a large part or the whole of the structure. The computational costs are closely related to the number of the modified elements and the extent of the change. The corresponding methods can be classified into four categories: local approximations, global approximations, combined approximations (CA), and preconditioned conjugate gradient (PCG) approximations. For the details of above four methods, we refer the readers to Li and Wu (2007) and Kirsch (2008).

Generally, the structural modifications can be classified into cross-sectional modifications, material modifications, geometrical modifications, layout modifications and support modifications, etc. (Olhoff and Taylor 1983). The reanalysis of the first four modifications have been extensively studied, and some efficient methods have been proposed, for examples, we refer readers to Li and Wu (2007) and Kirsch (2008) and cited therein. Structural supports as the design variables have been brought into wide use (Akesson and Olhoff 1988; Wang and Chen 1996; Takezawa et al. 2006; Tanskanen 2006; Zhu and Zhang 2010; Wang et al. 2004), especially in the field of building construction, aircraft structures and printed circuit boards (Wang et al. 2004). However, the reanalysis methods on support modifications are relatively few. Thus, it is necessary to study the reanalysis method for such modifications. The changes in the supports include the variations of the location, the number, and the type of the support (Olhoff and Taylor 1983). A small change in the supports may influence the structural performance to a great extent, especially in the displacements of the nodes and the natural frequency. Meanwhile, these modifications often lead to the variations of the number of the degrees of freedom (DOFs). Therefore, the reanalysis on the support modifications is a challenging problem.

In this paper, the structural static reanalysis problem for support modifications is studied, and an efficient reanalysis method is presented. The method is based on the introduction of the modified master stiffness matrices (Wu et al. 2008) and the rank-one decomposition of the corresponding incremental stiffness matrix. The sparse Cholesky rank-one update/downdate algorithm (Davis and Hager 1999, 2001; Davis 2006) is finally employed to calculate the displacements vector with a little cost and the corresponding stresses can then be achieved.

2 Problem formulation

Structural static reanalysis for modification of supports can be stated as follows. Given an initial design, the displacement vector y 0 can be obtained by solving the following equations

$$ \mathbf{K}_0 \mathbf{y}_0 =\mathbf{R}_0 $$
(1)

where R 0R n denotes the load vector, K 0R n×n is the modified master stiffness matrix (Wu et al. 2008) which is symmetric and positive definite (SPD) and n is the number of all node displacements. The introduction of the modified master stiffness matrix enables us to retain the original order of the general stiffness matrix, and the specified boundary conditions on the displacements are printed as a part of the solution. From the initial analysis, the sparse Cholesky factorization (Davis 2006) of K 0 has already been known

$$ \mathbf{K}_0 =\mathbf{L}_0 \mathbf{L}_0^\mathrm{T} $$
(2)

where L 0 is a lower triangular matrix, and \(\mathbf {L}_0^\mathrm{T} \) represents the transpose of L 0.

Assume a modification of supports occurs, the corresponding modified master stiffness equations is

$$ \mathbf{Ky}=\mathbf{R} $$
(3)

where RR n is the modified load vector and KR n×n is also SPD. The purpose of static reanalysis is to solve (3) by utilizing the original information as much as possible so that the computational cost can be significantly reduced. Once the displacement vector y is obtained, the stresses can be readily determined by utilizing the explicit stress-displacement relations.

Note that, due to the introduction of the modified master stiffness matrices, the order of the modified master stiffness matrix K for the modified structure is equal to that of the modified master stiffness matrix K 0 for the initial structure. This overcomes a difficult problem, i.e., the variation of the numbers of DOFs resulting from the modification of supports.

3 The proposed method for static reanalysis with modification of supports

In this section, the rank-one decomposition of increment of modified master stiffness matrix due to modification of supports is constructed. The sparse Cholesky rank-one update/downdate algorithm (Davis and Hager 1999, 2001; Davis 2006) is then used to solve the corresponding static reanalysis problems.

3.1 The definition of the modified master stiffness matrix

The modified master stiffness matrix is introduced by Wu et al. (2008). The advantage of using the modified master stiffness matrix is that its order keeps unchanged when the displacement boundary conditions are modified since the order of this matrix is only associated with the number of the nodes, but not with the number of the supports. Therefore, for a change in supports, the order of the modified master stiffness matrix keeps unchanged.

Consider the structure as shown in Fig. 1, the elasticity modulus of material is E = 2 × 1011 P a, the cross-sectional area of all the elements is 1×10−3 m 2, four nodes are located at the vertices of a 2m × 2m square. The modified master stiffness matrix for the structure is

$$\begin{array}{@{}rcl@{}}\mathbf{K}_0 =10^8\times \left[ {{\begin{array}{*{20}c} {1.000000} \; & 0 \; & 0 \; & 0 \; & 0 \; & 0 \; & 0 \; & 0 \; \\ 0 \; & {1.000000} \; & 0 \; & 0 \; & 0 \; & 0 \; & 0 \; & 0 \; \\ 0 \; & 0 \; & {1.353553} \; & {0.353553} \; & 0 \; & 0 \; & 0 \; & 0 \; \\ 0 \; & 0 \; & {0.353553} \; & {1.353553} \; & 0 \; & 0 \; & 0 \; & {-1.000000} \; \\ 0 \; & 0 \; & 0 \; & 0 \; & {1.000000} \; & 0 \; & 0 \; & 0 \; \\ 0 \; & 0 \; & 0 \; & 0 \; & 0 \; & {1.000000} \; & 0 \; & 0 \; \\ 0 \; & 0 \; & 0 \; & 0 \; & 0 \; & 0 \; & {\mathrm{ }1.353553} \; & {-0.353553} \; \\ 0 \; & 0 \; & 0 \; & {-1.000000} \; & 0 \; & 0 \; & {-0.353553} \; & {1.353553} \; \\ \end{array} }} \right] \end{array} $$

Note that the 1st, 2nd, 5th, and 6th diagonal elements can be specified to any positive numbers. In general, a number of the same order of magnitude as that of the diagonal elements of K0 can be prescribed in order to not enlarge the condition number of the coefficient matrix (Wu et al. 2008). If the diagonal entries of K0 have sharp fluctuations, the average value of these elements will be selected. In this example, 108 is used. The locations of the inserted rows and columns depend on the serial numbers of constraint nodes only. Since the newly added diagonal components are positive, K 0 is a SPD matrix. In addition, the corresponding load vector should also be modified, see Wu et al. (2008) for details.

Fig. 1
figure 1

A truss structure

3.2 Decomposing of the modified master stiffness matrix into sum of a series of rank-one matrices

Note that each of the modified master stiffness matrices K 0 and K can be decomposed into a series of rank-one matrices (Liu et al. 2012). The truss structure in Section 3.1 is employed to illustrate the decomposition. The modified master stiffness matrix K 0 can be decomposed into sum of nine rank-one matrices:

$$\mathbf{K}_0 =\sum\limits_{i=1}^9 {\Tilde{\mathbf{{u}}}_i \Tilde{\mathbf{{u}}}_i^{\mathrm{T}} } $$

where

$${\begin{array}{*{20}c} {{} \Tilde{\mathbf{{u}}}_1 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 0 \hfill & {-1} \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_2 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & {-0.594603} \hfill & {0.594603} \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_3 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 0 \hfill & {-0.594603} \hfill & {-0.594603} \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_4 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 0 \hfill & 0 \hfill & {-1} \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 1 \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_5 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & {-1} \hfill & 0 \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_6 =10^4\times \left[ {{\begin{array}{*{20}c} 1 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_7 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 1 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_8 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 1 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ \end{array} }} \right]^{\mathrm{T}},} \\ {{}\Tilde{\mathbf{{u}}}_9 =10^4\times \left[ {{\begin{array}{*{20}c} 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill & 1 \hfill & 0 \hfill & 0 \hfill \\ \end{array} }} \right]^{\mathrm{T}}.} \\ \end{array} } $$

3.3 The sparse Cholesky rank-one update/downdate algorithm

Let AR n×n be a sparse and SPD matrix. Given the sparse Cholesky factorization \(\mathbf {A}=\mathbf {L}_{\mathrm {A}} \mathbf {L}_{\mathrm {A}}^{\mathrm {T}} \). Supposing A ̄ is also SPD and is formed by a symmetric rank-one modification of matrix A, i.e.,

$$\Bar{\mathbf{{A}}}=\mathbf{A}+\eta \mathbf{ww}^{\mathrm{T}}\quad \left( {\eta \in R, \eta \ne 0} \right) $$

where wR n is a column vector. The algorithm for modifying the Cholesky factorization of a matrix following a rank-one update was given by Gill et al. (1974). This algorithm, however, did not explore the sparseness of matrix.

The algorithm mentioned above was studied in a deep-going way by making full use of the sparsity of the matrix (Davis and Hager 1999, 2001; Davis 2006), and the corresponding optimal sparse techniques for updating the factorization after adding a series of rank-one matrices to A or deleting a series of rank-one matrices from A were presented. The method was named as the sparse Cholesky rank-one update/downdate algorithm (Davis 2006). It is based on an analysis and manipulation of the underlying graph structure, and the computational cost is proportional to the number of entries in L A that change (Davis 2006). For details of this algorithm, we refer readers to Davis (2006). For an exact reanalysis algorithm based on the sparse Cholesky factorization for a crack growth modeling, we refer readers to Pais et al. (2012).

3.4 The proposed method

3.4.1 The case of adding some supports

A model of space truss structure is taken as an example to illustrate our method for the modification of adding some supports. For the initial structure in Fig. 2, a support is added at node 9, as showed in Fig. 3. The orientation of the support can be arbitrary. Assume P is the transformation matrix from the local coordinate system for describing the support to the global coordinate system, i.e.,

$$ \mathbf{P}=\left[ {{\begin{array}{*{20}c} {\cos \alpha_1 } \; & {\cos \alpha_2 } \; & {\cos \alpha_3 } \; \\ {\cos \beta_1 } \; & {\cos \beta_2 } \; & {\cos \beta_3 } \; \\ {\cos \gamma_1 } \; & {\cos \gamma_2 } \; & {\cos \gamma_3 } \; \\ \end{array} }} \right] $$
(4)

where α i ,β i ,γ i (i=1,2,3) denote the inclined angles between the local coordinate axes and the global coordinate ones, respectively; and the corresponding details are given in Table 1.

Fig. 2
figure 2

A model of space truss structure

Fig. 3
figure 3

The modified model of space truss structure

Table 1 The inclined angles between the local coordinate axes and the global coordinate ones

Suppose the orientation of the added support at node 9 is the same as the orientation of z L -axis of the local coordinate system. Six truss elements, i.e., the elements connected by nodes 5 and 9, nodes 9 and 10, nodes 9 and 11, nodes 9 and 12, nodes 9 and 13, nodes 9 and 14, are related to node 9. The element connected by nodes 9 and 12 is employed to illustrate the proposed method. It has been known that the contribution of the element connected by nodes 9 and 12 to the modified master stiffness matrix K 0 for the initial structure is (Liu et al. 2012)

$$ \left[ {\mathbf{K}_{0 \left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]=\mathbf{u}_{9,12} \mathbf{u}_{9,12}^{\mathbf{T}} $$
(5)

where

$$ \mathbf{u}_{9,12} =\sqrt{\frac{EA}{L_{9,12} }}\left[ {{\begin{array}{*{20}c} 0 \; \\ \vdots \; \\ {c_x } \; \\ {c_y } \; \\ {c_z } \; \\ \vdots \; \\ {-c_x } \; \\ {-c_y } \; \\ {-c_z } \; \\ \vdots \; \\ 0 \; \\ \end{array} }} \right]{\begin{array}{*{20}c} \; \\ \; \\ {\leftarrow \text{the}\; 25\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 26\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 27\text{th}\; \text{row}} \; \\ \; \\ {\leftarrow \text{the}\; 34\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 35\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 36\text{th}\; \text{row}} \; \\ \; \\ \; \\ \end{array} } $$
(6)
$$ c_x =\frac{X_{12} -X_9 }{L_{9,12} },\quad c_y =\frac{Y_{12} -Y_9 }{L_{9,12} },\quad c_z =\frac{Z_{12} -Z_9 }{L_{9,12} } $$
(7)
$$ L_{9,12} =\sqrt{\left( {X_{12} -X_9 } \right)^2+\left( {Y_{12} -Y_9 } \right)^2+\left( {Z_{12} -Z_9 } \right)^2} $$
(8)

E represents the elastic modulus of material, A is the element cross-sectional area, L 9,12 denotes the length of truss element, (X 9,Y 9,Z 9) and (X 12,Y 12,Z 12) are the coordinate of nodes 9 and 12 in the global coordinate system.

Replacing global coordinates at node 9 only with the corresponding local coordinates yields the contribution of the element connected by nodes 9 and 12 to the global stiffness matrix in the new coordinate system for the modified structure as follows

$$ {\begin{array}{*{20}c} {\left[ {\Bar{\mathbf{{K}}}_{\left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]=\left[ {{\begin{array}{*{20}c} \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & {\mathbf{P}^{\mathbf{T}}\mathbf{K}_{9,9} \mathbf{P}} \; & \cdots \; & {\mathbf{P}^{\mathbf{T}}\mathbf{K}_{9,12} } \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & {\mathbf{K}_{12,9} \mathbf{P}} \; & \cdots \; & {\mathbf{K}_{12,12} } \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; \\ \end{array} }} \right]{\begin{array}{*{20}c} {\leftarrow \text{the}\; 25\text{th}, 26\text{th}, 27\text{th}\; \text{row}} \\ \\ {\leftarrow \text{the}\; 34\text{th}, 35\text{th}, 36\text{th}\; \text{row}} \\ \end{array} }} \\ {{\kern-4.5pc}{\begin{array}{*{20}c} \uparrow \; \\ {\text{the}\; 25\text{th}, 26\text{th},} \; \\ {27\text{th}\; \text{column}} \; \\ \end{array} } {\begin{array}{*{20}c} \uparrow \; \\ {\text{the}\; 34\text{th}, 35\text{th},} \; \\ {36\text{th}\; \text{column}} \; \\ \end{array} }} \\ \end{array} } $$
(9)

where 0 denotes the zero matrix of order 3 × 3, P is given in (4), K 9,9,K 9,12,K 12,9,K 12,12R 3×3, and

$$ \left[ {{\begin{array}{*{20}c} {\mathbf{K}_{9,9} } \; & {\mathbf{K}_{9,12} } \; \\ {\mathbf{K}_{12,9} } \; & {\mathbf{K}_{12,12} } \; \\ \end{array} }} \right]=\frac{EA}{L_{9,12} }\left[ {{\begin{array}{*{20}c} {c_x^2 } \; & {c_x c_y } \; & {c_x c_z } \; & {-c_x^2 } \; & {-c_x c_y } \; & {-c_x c_z } \; \\ {c_x c_y } \; & {c_y^2 } \; & {c_y c_z } \; & {-c_x c_y } \; & {-c_y^2 } \; & {-c_y c_z } \; \\ {c_x c_z } \; & {c_y c_z } \; & {c_z^2 } \; & {-c_x c_z } \; & {-c_y c_z } \; & {-c_z^2 } \; \\ {-c_x^2 } \; & {-c_x c_y } \; & {-c_x c_z } \; & {c_x^2 } \; & {c_x c_y } \; & {c_x c_z } \; \\ {-c_x c_y } \; & {-c_y^2 } \; & {-c_y c_z } \; & {c_x c_y } \; & {c_y^2 } \; & {c_y c_z } \; \\ {-c_x c_z } \; & {-c_y c_z } \; & {-c_z^2 } \; & {c_x c_z } \; & {c_y c_z } \; & {c_z^2 } \; \\ \end{array} }} \right] $$
(10)

For the meanings of the symbols, we refer readers to (7). The following equation can be readily verified

$$ \left[ {\Bar{\mathbf{{K}}}_{\left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]=\left[ {{\begin{array}{*{20}c} \mathbf{I} \; & \; & \; & \; & \; \\ \; & \ddots \; & \; & \; & \; \\ \; & \; & {\mathbf{P}^{\mathbf{T}}} \; & \; & \; \\ \; & \; & \; & \ddots \; & \; \\ \; & \; & \; & \; & \mathbf{I} \; \\ \end{array} }} \right]\left[ {{\begin{array}{*{20}c} \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & {\mathbf{K}_{9,9} } \; & \cdots \; & {\mathbf{K}_{9,12} } \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & {\mathbf{K}_{12,9} } \; & \cdots \; & {\mathbf{K}_{12,12} } \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; \\ \end{array} }} \right]\left[ {{\begin{array}{*{20}c} \mathbf{I} \; & \; & \; & \; & \; \\ \; & \ddots \; & \; & \; & \; \\ \; & \; & \mathbf{P} \; & \; & \; \\ \; & \; & \; & \ddots \; & \; \\ \; & \; & \; & \; & \mathbf{I} \; \\ \end{array} }} \right] $$
(11)

where I represents the identity matrix of order 3 × 3. Note that

$$ \left[ {{\begin{array}{*{20}c} \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & {\mathbf{K}_{9,9} } \; & \cdots \; & {\mathbf{K}_{9,12} } \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & {\mathbf{K}_{12,9} } \; & \cdots \; & {\mathbf{K}_{12,12} } \; & \cdots \; & \mathbf{0} \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; & \cdots \; & \mathbf{0} \; \\ \end{array} }} \right]=\mathbf{u}_{9,12} \mathbf{u}_{9,12}^{\mathbf{T}} $$
(12)

Substituting (12) into (11), the following equation can be obtained

$$ \Bar{\mathbf{{K}}}_{\left( {9,12} \right)}^{\left( \mathrm{e} \right)} =\Bar{\mathbf{{u}}}_{9,12} \Bar{\mathbf{{u}}}_{9,12}^{\mathbf{T}} $$
(13)

where

$$ \Bar{\mathbf{{u}}}_{9,12} =\left[ {{\begin{array}{*{20}c} \mathbf{I} \; & \; & \; & \; & \; \\ \; & \ddots \; & \; & \; & \; \\ \; & \; & {\mathbf{P}^{\mathbf{T}}} \; & \; & \; \\ \; & \; & \; & \ddots \; & \; \\ \; & \; & \; & \; & \mathbf{I} \; \\ \end{array} }} \right]\mathbf{u}_{9,12} =\sqrt{\frac{EA}{L_{9,12} }}\left[ {{\begin{array}{*{20}c} 0 \; \\ \vdots \; \\ {\Bar{{c}}_x } \; \\ {\Bar{{c}}_y } \; \\ {\Bar{{c}}_z } \; \\ \vdots \; \\ {-c_x } \; \\ {-c_y } \; \\ {-c_z } \; \\ \vdots \; \\ 0 \; \\ \end{array} }} \right]{\begin{array}{*{20}c} \; \\ \; \\ {\leftarrow \text{the}\; 25\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 26\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 27\text{th}\; \text{row}} \; \\ \; \\ {\leftarrow \text{the}\; 34\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 35\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; 36\text{th}\; \text{row}} \; \\ \; \\ \; \\ \end{array} } $$
(14)

and

$$ \left[ {{\begin{array}{*{20}c} {\Bar{{c}}_x } \; \\ {\Bar{{c}}_y } \; \\ {\Bar{{c}}_z } \; \\ \end{array} }} \right]=\mathbf{P}^{\mathbf{T}}\left[ {{\begin{array}{*{20}c} {c_x } \; \\ {c_y } \; \\ {c_z } \; \\ \end{array} }} \right] $$
(15)

Based on (13)–(15), it can be seen that after imposing the support at node 9 in the orientation of z L -axis of the local coordinate system, the contribution of the element connected by nodes 9 and 12 to the modified master stiffness matrix K for the modified structure is

$$ {\begin{array}{*{20}c} {\left[ {\mathbf{K}_{\left( {9,12} \right)}^{\left( e \right)} } \right]=\frac{EA}{L_{9,12} }\left[ {{\begin{array}{*{20}c} 0 \; & \cdots \; & 0 \; & 0 \; & {\mathrm{ }0} \; & \cdots \; & 0 \; & 0 \; & 0 \; & \cdots \; & 0 \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & {\mathrm{ }\vdots } \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ 0 \; & \cdots \; & {\Bar{{c}}_x^2 } \; & {\Bar{{c}}_x \Bar{{c}}_y } \; & {\mathrm{ }0} \; & \cdots \; & {-\Bar{{c}}_x c_x } \; & {-\Bar{{c}}_x c_y } \; & {-\Bar{{c}}_x c_z } \; & \cdots \; & 0 \; \\ 0 \; & \cdots \; & {\Bar{{c}}_x \Bar{{c}}_y } \; & {\Bar{{c}}_y^2 } \; & {\mathrm{ }0} \; & \cdots \; & {-c_x \Bar{{c}}_y } \; & {-\Bar{{c}}_y c_y } \; & {-\Bar{{c}}_y c_z } \; & \cdots \; & 0 \; \\ 0 \; & \cdots \; & 0 \; & 0 \; & {\mathrm{ }0} \; & \cdots \; & 0 \; & 0 \; & 0 \; & \cdots \; & 0 \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & {\mathrm{ }\vdots } \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ 0 \; & \cdots \; & {-\Bar{{c}}_x c_x } \; & {-c_x \Bar{{c}}_y } \; & {\mathrm{ }0} \; & \cdots \; & {c_x^2 } \; & {c_x c_y } \; & {c_x c_z } \; & \cdots \; & 0 \; \\ 0 \; & \cdots \; & {-\Bar{{c}}_x c_y } \; & {-\Bar{{c}}_y c_y } \; & {\mathrm{ }0} \; & \cdots \; & {c_x c_y } \; & {c_y^2 } \; & {c_y c_z } \; & \cdots \; & 0 \; \\ 0 \; & \cdots \; & {-\Bar{{c}}_x c_z } \; & {-\Bar{{c}}_y c_z } \; & {\mathrm{ }0} \; & \cdots \; & {c_x c_z } \; & {c_y c_z } \; & {c_z^2 } \; & \cdots \; & 0 \; \\ \vdots \; & \vdots \; & \vdots \; & \vdots \; & {\mathrm{ }\vdots } \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; & \vdots \; \\ 0 \; & \cdots \; & 0 \; & 0 \; & {\mathrm{ }0} \; & \cdots \; & 0 \; & 0 \; & 0 \; & \cdots \; & 0 \; \\ \end{array} }} \right]{\begin{array}{*{20}c} \; \\ \; \\ {\leftarrow \text{the}\; 25\text{th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{26th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{27th}\; \text{row}} \; \\ \; \\ {\leftarrow \text{the}\; \mathrm{34th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{35th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{36th}\; \text{row}} \; \\ \; \\ \; \\ \end{array} }} \\ {\quad \quad \quad \quad {\begin{array}{*{20}c} \uparrow \; \\ {\text{the}} \; \\ {\mathrm{25th}} \; \\ {\text{column}} \; \\ \end{array} } {\begin{array}{*{20}c} \uparrow \; \\ {\text{the}} \; \\ {\mathrm{26th}} \; \\ {\text{column}} \; \\ \end{array} } {\begin{array}{*{20}c} \uparrow \; \\ {\text{the}} \; \\ {\mathrm{27th}} \; \\ {\text{column}} \; \\ \end{array} }\quad {\begin{array}{*{20}c} \uparrow \; \\ {\text{the}} \; \\ {\mathrm{34th}} \; \\ {\text{column}} \; \\ \end{array} } {\begin{array}{*{20}c} \uparrow \; \\ {\text{the}} \; \\ {\mathrm{35th}} \; \\ {\text{column}} \; \\ \end{array} } {\begin{array}{*{20}c} \uparrow \; \\ {\text{the}} \; \\ {\mathrm{36th}} \; \\ {\text{column}} \; \\ \end{array} }} \\ \end{array} } $$
(16)

The following fact can be readily verified

$$ \left[ {\mathbf{K}_{\left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]=\mathbf{v}_{9,12} \mathbf{v}_{9,12}^{\mathbf{T}} $$
(17)

where

$$ \mathbf{v}_{9,12} =\sqrt{\frac{EA}{L_{9,12} }}\left[ {{\begin{array}{*{20}c} 0 \; \\ \vdots \; \\ {\Bar{{c}}_x } \; \\ {\Bar{{c}}_y } \; \\ 0 \; \\ \vdots \; \\ {-c_x } \; \\ {-c_y } \; \\ {-c_z } \; \\ \vdots \; \\ 0 \; \\ \end{array} }} \right]{\begin{array}{*{20}c} \; \\ \; \\ {\leftarrow \text{the}\; \mathrm{25th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{26th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{27th}\; \text{row}} \; \\ \; \\ {\leftarrow \text{the}\; \mathrm{34th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{35th}\; \text{row}} \; \\ {\leftarrow \text{the}\; \mathrm{36th}\; \text{row}} \; \\ \; \\ \; \\ \end{array} } $$
(18)

The increment of the modified master stiffness matrix is defined as follows

$$ \mathbf{\Delta K}=\mathbf{K}-\mathbf{K}_0 $$
(19)

Utilizing (5) and (17), the contribution of the element connected by nodes 9 and 12 to the incremental matrix ΔK is

$$ \left[ {\Delta \mathbf{K}_{\left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]=\left[ {\mathbf{K}_{\left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]-\left[ {\mathbf{K}_{0 \left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]=\mathbf{v}_{9,12} \mathbf{v}_{9,12}^{\mathbf{T}} -\mathbf{u}_{9,12} \mathbf{u}_{9,12}^{\mathbf{T}} $$
(20)

where u 9,12 and v 9,12 are given in (6) and (18), respectively. In a similar way, the contributions of the truss elements connected by nodes 5 and 9, nodes 9 and 10, nodes 9 and 11, nodes 9 and 13, nodes 9 and 14 to the incremental matrix ΔK are

$$ \left[ {\Delta \mathbf{K}_{\left( {5,9} \right)}^{\left( \mathrm{e} \right)} } \right]=\left[ {\mathbf{K}_{\left( {5,9} \right)}^{\left( \mathrm{e} \right)} } \right]-\left[ {\mathbf{K}_{0\mathrm{ }\left( {5,9} \right)}^{\left( \mathrm{e} \right)} } \right]=\mathbf{v}_{5,9} \mathbf{v}_{5,9}^{\mathbf{T}} -\mathbf{u}_{5,9} \mathbf{u}_{5,9}^{\mathbf{T}} $$
(21)
$$ \left[ {\Delta \mathbf{K}_{\left( {9,10} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\left[ {\mathbf{K}_{\left( {9,10} \right)}^{\left( \mathrm{e} \right)} } \right]-\left[ {\mathbf{K}_{0 \left( {9,10} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\mathbf{v}_{9,10} \mathbf{v}_{9,10}^{\mathbf{T}} -\mathbf{u}_{9,10} \mathbf{u}_{9,10}^{\mathbf{T}} $$
(22)
$$ \left[ {\Delta \mathbf{K}_{\left( {9,11} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\left[ {\mathbf{K}_{\left( {9,11} \right)}^{\left( \mathrm{e} \right)} } \right]-\left[ {\mathbf{K}_{0 \left( {9,11} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\mathbf{v}_{9,11} \mathbf{v}_{9,11}^{\mathbf{T}} -\mathbf{u}_{9,11} \mathbf{u}_{9,11}^{\mathbf{T}} $$
(23)
$$ \left[ {\Delta \mathbf{K}_{\left( {9,13} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\left[ {\mathbf{K}_{\left( {9,13} \right)}^{\left( \mathrm{e} \right)} } \right]-\left[ {\mathbf{K}_{0 \left( {9,13} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\mathbf{v}_{9,13} \mathbf{v}_{9,13}^{\mathbf{T}} -\mathbf{u}_{9,13} \mathbf{u}_{9,13}^{\mathbf{T}} $$
(24)
$$ \left[ {\Delta \mathbf{K}_{\left( {9,14} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\left[ {\mathbf{K}_{\left( {9,14} \right)}^{\left( \mathrm{e} \right)} } \right]-\left[ {\mathbf{K}_{0\mathrm{ }\left( {9,14} \right)}^{\left( \mathrm{e} \right)} } \right]\,=\,\mathbf{v}_{9,14} \mathbf{v}_{9,14}^{\mathbf{T}} -\mathbf{u}_{9,14} \mathbf{u}_{9,14}^{\mathbf{T}} $$
(25)

where the expressions of v 5,9,v 9,10,v 9,11,v 9,13,v 9,14,u 5,9, u 9,10,u 9,11,u 9,13 and u 9,14 are similar to those of v 9,12 and u 9,12. In order to save space, the details are omitted. The incremental matrix ΔK can finally be written in the form

$$\begin{array}{@{}rcl@{}} \Delta \mathbf{K}&\,=\,&\left[ {\Delta \mathbf{K}_{\left( {5,9} \right)}^{\left( \mathrm{e} \right)} } \right]\,+\,\left[ {\Delta \mathbf{K}_{\left( {9,10} \right)}^{\left( \mathrm{e} \right)} } \right]\,+\,\left[ {\Delta \mathbf{K}_{\left( {9,11} \right)}^{\left( \mathrm{e} \right)} } \right]\,+\,\left[ {\Delta \mathbf{K}_{\left( {9,12} \right)}^{\left( \mathrm{e} \right)} } \right]\notag\\ &&+\left[ {\Delta \mathbf{K}_{\left( {9,13} \right)}^{\left( \mathrm{e} \right)} } \right]+\left[ {\Delta \mathbf{K}_{\left( {9,14} \right)}^{\left( \mathrm{e} \right)} } \right]+\left[ {\Delta \mathbf{K}_{27} } \right] \end{array} $$
(26)

where

$$ {\begin{array}{*{20}c} {\left[ {\Delta \mathbf{K}_{27} } \right]=\left[ {{\begin{array}{*{20}c} 0 \hfill & \cdots \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\ \vdots \hfill & \vdots \hfill & \vdots \hfill & \vdots \hfill & \vdots \hfill \\ 0 \hfill & \cdots \hfill & c \hfill & \cdots \hfill & 0 \hfill \\ \vdots \hfill & \vdots \hfill & \vdots \hfill & \vdots \hfill & \vdots \hfill \\ 0 \hfill & \cdots \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\\end{array} }} \right]\leftarrow \mathrm{the}\, 27\mathrm{th}\, \mathrm{row}} \\ {{\kern-21pt}{\begin{array}{*{20}c} \uparrow \hfill \\ {\mathrm{the}\; \mathrm{27th}\; \mathrm{column}} \hfill \\\end{array} }} \\\end{array} } $$
(27)

and c > 0 is a prescribed constant. For the selection of c, see the last paragraph in Section 3.1. The following equation can be verified

$$ \left[ {\Delta \mathbf{K}_{27} } \right]=\mathbf{f}_{27} \mathbf{f}_{27}^{\mathbf{T}} $$
(28)

where

$$ \mathbf{f}_{27} =\left[ {{\begin{array}{*{20}c} 0 \; \\ \vdots \; \\ {\sqrt{c}} \; \\ \vdots \; \\ 0 \; \\ \end{array} }} \right]\leftarrow \text{the}\; 27\text{th}\; \text{row} $$
(29)

Substituting (20)–(25) and (28) into (26) results in

$$\begin{array}{@{}rcl@{}} \Delta \mathbf{K}&=&\mathbf{v}_{5,9} \mathbf{v}_{5,9}^{\mathbf{T}} +\mathbf{v}_{9,10} \mathbf{v}_{9,10}^{\mathbf{T}} +\mathbf{v}_{9,11} \mathbf{v}_{9,11}^{\mathbf{T}} +\mathbf{v}_{9,12} \mathbf{v}_{9,12}^{\mathbf{T}} \notag\\ &&+\mathbf{v}_{9,13} \mathbf{v}_{9,13}^{\mathbf{T}} +\mathbf{v}_{9,14} \mathbf{v}_{9,14}^{\mathbf{T}} +\mathbf{f}_{27} \mathbf{f}_{27}^{\mathbf{T}} \notag\\ &&-\mathbf{u}_{5,9} \mathbf{u}_{5,9}^{\mathbf{T}} -\mathbf{u}_{9,10} \mathbf{u}_{9,10}^{\mathbf{T}} -\mathbf{u}_{9,11} \mathbf{u}_{9,11}^{\mathbf{T}} -\mathbf{u}_{9,12} \mathbf{u}_{9,12}^{\mathbf{T}}\notag\\ &&-\mathbf{u}_{9,13} \mathbf{u}_{9,13}^{\mathbf{T}} -\mathbf{u}_{9,14} \mathbf{u}_{9,14}^{\mathbf{T}} \end{array} $$
(30)

Utilizing (19) and (20) yields

$$\begin{array}{@{}rcl@{}} \mathbf{K}&\,=\,&\mathbf{K}_0 +\mathbf{v}_{5,9} \mathbf{v}_{5,9}^{\mathbf{T}} +\mathbf{v}_{9,10} \mathbf{v}_{9,10}^{\mathbf{T}} +\mathbf{v}_{9,11} \mathbf{v}_{9,11}^{\mathbf{T}} +\mathbf{v}_{9,12} \mathbf{v}_{9,12}^{\mathbf{T}} \notag\\ &&+\mathbf{v}_{9,13} \mathbf{v}_{9,13}^{\mathbf{T}} \,+\,\mathbf{v}_{9,14} \mathbf{v}_{9,14}^{\mathbf{T}} \,+\,\mathbf{f}_{27} \mathbf{f}_{27}^{\mathbf{T}} \,-\,\mathbf{u}_{5,9} \mathbf{u}_{5,9}^{\mathbf{T}} \,-\,\mathbf{u}_{9,10} \mathbf{u}_{9,10}^{\mathbf{T}}\notag\\ && -\mathbf{u}_{9,11} \mathbf{u}_{9,11}^{\mathbf{T}} -\mathbf{u}_{9,12} \mathbf{u}_{9,12}^{\mathbf{T}}\,-\,\mathbf{u}_{9,13} \mathbf{u}_{9,13}^{\mathbf{T}} \,-\,\mathbf{u}_{9,14} \mathbf{u}_{9,14}^{\mathbf{T}}\notag\\ \end{array} $$
(31)

It can be seen that the modified master stiffness matrix K for the modified structure is a low-rank modification of the modified master stiffness matrix K 0 for the initial structure. The sparse Cholesky factorization of K 0 has been computed. Thus, the sparse Cholesky rank-one update/downdate algorithm (Davis 2006) can be used to calculate the factorization of K without directly factoring K. If several supports are added, the process above can repeatedly be carried out, and the sparse Cholesky factorization of K can thus be obtained. Once the factorization of K has been known, the modified master stiffness equations for modified structure can be solved by utilizing the forward and back substitutions, respectively.

3.4.2 The case of deleting some supports

The above truss structures are also taken as an example to illustrate our method for the case of deleting some supports. The initial structure is showed in Fig. 3, and a support at node 9 is removed, as showed in Fig. 2. The orientation of the support can be arbitrary. Assume P is the transformation matrix from the local coordinate system to the global coordinate system, the expression of P is given by (4).

Assume the modified master stiffness matrices for the initial structure and the modified structure are K 0 and K, respectively. Exchanging the positions of K 0 and K in (31) yields

$$\begin{array}{@{}rcl@{}} \mathbf{K}&\,=\,&\mathbf{K}_0 +\mathbf{u}_{5,9} \mathbf{u}_{5,9}^{\mathbf{T}} +\mathbf{u}_{9,10} \mathbf{u}_{9,10}^{\mathbf{T}} +\mathbf{u}_{9,11} \mathbf{u}_{9,11}^{\mathbf{T}} +\mathbf{u}_{9,12} \mathbf{u}_{9,12}^{\mathbf{T}}\notag\\ &&\,+\,\mathbf{u}_{9,13} \mathbf{u}_{9,13}^{\mathbf{T}} +\mathbf{u}_{9,14} \mathbf{u}_{9,14}^{\mathbf{T}} -\mathbf{v}_{5,9} \mathbf{v}_{5,9}^{\mathbf{T}} -\mathbf{v}_{9,10} \mathbf{v}_{9,10}^{\mathbf{T}}\notag\\ &&\,-\,\mathbf{v}_{9,11} \mathbf{v}_{9,11}^{\mathbf{T}} \,-\,\mathbf{v}_{9,12} \mathbf{v}_{9,12}^{\mathbf{T}} \,-\,\mathbf{v}_{9,13} \mathbf{v}_{9,13}^{\mathbf{T}} \,-\,\mathbf{v}_{9,14} \mathbf{v}_{9,14}^{\mathbf{T}} \,-\,\mathbf{f}_{27} \mathbf{f}_{27}^{\mathbf{T}}\notag\\ \end{array} $$
(32)

Based on the equation above, the sparse Cholesky rank-one update/downdate algorithm (Davis 2006) can be used to calculate the factorization of K. If several supports are deleted, the Cholesky factorization of K can be obtained by implementing the above process repeatedly. Once the factorization of K is obtained, the modified master stiffness equations for the modified structure can be solved by utilizing the forward and back substitutions, respectively.

Compared with the initial analysis, the proposed method only requires to increase little memory space. Although the order of the modified master stiffness matrix for initial structure is little larger than that of the corresponding reduced stiffness matrix, it doesn’t need to be stored and only its Cholesky factor is required. Meanwhile, the factor of the modified master stiffness matrix for initial structure is unnecessary and can be removed from the memory. The updated or downdated vectors need to be stored, and little memory is sufficient since their number is very small. Pais et al. (2012) discussed the amount of memory regarding to the direct reanalysis method.

4 Numerical examples

In this section, four examples are presented to illustrate the effectiveness of the proposed method. Examples 1 and 2 are focused on static reanalysis problem with added and deleted some supports whose orientations are the same as the orientations of some axes of the global coordinate system, respectively. Examples 3 and 4 illustrate the cases where some inclined supports are added and deleted, respectively. All the computations are completed on a PC: Pentium 4, quad-core CPU with 2.66 GHz, 4 GB RAM. Davis’s matrix computation package CSparse is used, it is available from www.siam.org/books/fa02. The CSparse is a stand-alone sparse matrix package, it is written in C, and has an interface with Matlab. The algorithms that the CSparse contains are either asympotical optimal or fast in practice. For the details of the CSparse, see Davis (2006).

4.1 The case of adding supports

Consider the tower crane structure as shown in Fig. 4 a. Its bottom is zoomed in and is shown in Fig. 4 b. The height of the tower is 10.97 m, the length of the cargo boom is 37.7724 m. The cross-sections of all beams are 0.1 m × 0.1 m. The elasticity modulus of the material is E=3×1011 P a. The structure has 2920 space beam elements and 2626 nodes. Every node has 6 DOFs except the 4 constrained nodes and the total number of DOFs of the structure is 15732. One node is subjected to a vertical load P=−30000N. To reinforce the structure (modification), one free node is constrained, as shown in Fig. 4 c where ‘ Δ’represents the newly added constrained node, and 6 new support constraints are added. Thus, the modified structure has 5 constrained nodes and 15726 DOFs.

Fig. 4
figure 4

The tower crane structure

Table 2 gives the maximum vertical displacements of the modified structure calculated by the proposed method and the direct analysis method, respectively. Here, direct analysis means that the displacements vector is achieved by calculating the sparse Cholesky factorization of the modified master stiffness matrix for the modified structure directly, and utilizing the forward and back substitutions. It can be observed that, for the six-digit accuracy, the results of the two methods are identical. The computational times for the modified structure are shown in Table 3. It is obvious from Table 3 that the computational time of the proposed method is less than that of the direct analysis method.

Table 2 The maximum vertical displacements calculated by the proposed method and the direct analysis method for the modified tower crane structure in Section 4.1
Table 3 The computational times for the modified tower crane structure in Section 4.1

4.2 The case of deleting supports

The initial structure is the same as the modified tower crane structure in Section 4.1. One constrained nodes marked by ‘ Δ’ is released, and the corresponding 6 support constraints are deleted. The modified structure is identical with the initial structure in Section 4.1. Table 4 presents the maximum vertical displacements of the modified structure calculated by the proposed method and the direct analysis method, respectively. The computational times for the modified structure are listed in Table 5.

Table 4 The maximum vertical displacements calculated by the proposed method and the direct analysis method for the modified tower crane structure in Section 4.2
Table 5 The computational times for the modified tower crane structure Section 4.2

4.3 The case of adding skew supports

The initial structure is the same as the initial tower crane structure in Section 4.1. One inclined support is added, its location is the same as that in Section 4.1. The orientation of the added support is the same as the orientation of axis y L of the local coordinate system. Thus, the modified structure has 5 supporting nodes and 15731 DOFs. The transformation matrix for the newly added support is

\(\mathbf {C}=\left [ {{\begin {array}{*{20}c} 1 & 0 & 0 \\ 0 & {\frac {\sqrt {2}}{2}} & {-\frac {\sqrt {2}}{2}} \\ 0 & {\frac {\sqrt {2}}{2}} & {\frac {\sqrt {2}}{2}} \\ \end {array} }} \right ]\).

Table 6 gives the maximum vertical displacements of the modified structure obtained by the proposed method and the direct analysis method, respectively. The computational times for the modified tower crane structure are displayed in Table 7.

Table 6 The maximum vertical displacements calculated by the proposed method and the direct analysis method for the modified tower crane structure in Section 4.3
Table 7 The computational times for the modified tower crane structure in Section 4.3

4.4 The case of deleting skew supports

The initial structure is the same as the modified tower crane structure in Section 4.3. One inclined constrained node is released, and the modified structure is identical with the initial structure in Section 4.3. Table 8 presents the maximum vertical displacements of the modified structure obtained by the proposed method and the direct analysis method, respectively. The computational times for the tower crane structure are exhibited in Table 9.

Table 8 The maximum vertical displacements calculated by the proposed method and the direct analysis method for the modified tower crane structure in Section 4.4
Table 9 The computational times for the modified tower crane structure in Section 4.4

It can be seen from the above examples that exact results can be obtained by the proposed method, and the computational time is remarkably reduced in comparison with those of the direct analysis method.

5 Conclusions

A direct method for static reanalysis with modifications of supports has been proposed. The modified master stiffness matrices are first introduced. The rank-one decomposition of the corresponding incremental matrix is then constructed. The sparse Cholesky rank-one update/downdate algorithm is finally used to solve such static reanalysis problems. The method can deal with various modifications of supports and the orientations of the corresponding supports are unrestricted. Exact results can be achieved and the computational time is greatly reduced in comparison with the direct analysis method. In addition, the sparse Cholesky factorization of the modified master stiffness matrix for the modified structure has been obtained, it can be chosen as the initial information when the structure is further modified. The further work is to generalize the proposed approach to structural reanalysis problems with topological modifications.