As one of the methods of structural analysis, the direct stiffness method, also known as the matrix stiffness method, is particularly suited for computer-automated analysis of complex structures including the statically indeterminate type. It is a matrix method that makes use of the members' stiffness relations for computing member forces and displacements in structures. The direct stiffness method is the most common implementation of the finite element method (FEM). In applying the method, the system must be modeled as a set of simpler, idealized elements interconnected at the nodes. The material stiffness properties of these elements are then, through matrix mathematics, compiled into a single matrix equation which governs the behaviour of the entire idealized structure. The structure’s unknown displacements and forces can then be determined by solving this equation. The direct stiffness method forms the basis for most commercial and free source finite element software.
The direct stiffness method originated in the field of aerospace. Researchers looked at various approaches for analysis of complex airplane frames. These included elasticity theory, energy principles in structural mechanics, flexibility method and matrix stiffness method. It was through analysis of these methods that the direct stiffness method emerged as an efficient method ideally suited for computer implementation.
Between 1934 and 1938 A. R. Collar and W. J. Duncan published the first papers with the representation and terminology for matrix systems that are used today. Aeroelastic research continued through World War II but publication restrictions from 1938 to 1947 make this work difficult to trace. The second major breakthrough in matrix structural analysis occurred through 1954 and 1955 when professor John H. Argyris systemized the concept of assembling elemental components of a structure into a system of equations. Finally, on Nov. 6 1959, M. J. Turner, head of Boeing’s Structural Dynamics Unit, published a paper outlining the direct stiffness method as an efficient model for computer implementation .
A typical member stiffness relation has the following general form:
where
m = member number m.
Qm
km
qm
Qom
qm=0
If
qm
Qm
See also: Stiffness matrix.
For a system with many members interconnected at points called nodes, the members' stiffness relations such as Eq.(1) can be integrated by making use of the following observations:
qm
Qm
where
R
K
km
r
Ro
Qom
The system stiffness matrix K is square since the vectors R and r have the same size. In addition, it is symmetric because
km
r=K-1(R-Ro) (3)
Subsequently, the members' characteristic forces may be found from Eq.(1) where
qm
It is common to have Eq.(1) in a form where
qm
Qom
K
Ro
km
Qom
The advantages and disadvantages of the matrix stiffness method are compared and discussed in the flexibility method article.
The first step when using the direct stiffness method is to identify the individual elements which make up the structure.
Once the elements are identified, the structure is disconnected at the nodes, the points which connect the different elements together.
Each element is then analyzed individually to develop member stiffness equations. The forces and displacements are related through the element stiffness matrix which depends on the geometry and properties of the element.
A truss element can only transmit forces in compression or tension. This means that in two dimensions, each node has two degrees of freedom (DOF): horizontal and vertical displacement. The resulting equation contains a four by four stiffness matrix.
\begin{bmatrix} fx1\\ fy1\\ fx2\\ fy2\\ \end{bmatrix} = \begin{bmatrix} k11&k12&k13&k14\\ k21&k22&k23&k24\\ k31&k32&k33&k34\\ k41&k42&k43&k44\\ \end{bmatrix} \begin{bmatrix} ux1\\ uy1\\ ux2\\ uy2\\ \end{bmatrix}
A frame element is able to withstand bending moments in addition to compression and tension. This results in three degrees of freedom: horizontal displacement, vertical displacement and in-plane rotation. The stiffness matrix in this case is six by six.
\begin{bmatrix} fx1\\ fy1\\ mz1\\ fx2\\ fy2\\ mz2\\ \end{bmatrix} = \begin{bmatrix} k11&k12&k13&k14&k15&k16\\ k21&k22&k23&k24&k25&k26\\ k31&k32&k33&k34&k35&k36\\ k41&k42&k43&k44&k45&k46\\ k51&k52&k53&k54&k55&k56\\ k61&k62&k63&k64&k65&k66\\ \end{bmatrix} \begin{bmatrix} ux1\\ uy1\\ \thetaz1\\ ux2\\ uy2\\ \thetaz2\\ \end{bmatrix}
Other elements such as plates and shells can also be incorporated into the direct stiffness method and similar equations must be developed.
Once the individual element stiffness relations have been developed they must be assembled into the original structure. The first step in this process is to convert the stiffness relations for the individual elements into a global system for the entire structure. In the case of a truss element, the global form of the stiffness method depends on the angle of the element with respect to the global coordinate system (This system is usually the traditional Cartesian coordinate system).
\begin{bmatrix} fx1\\ fy1\\ fx2\\ fy2\\ \end{bmatrix} =
EA | |
L |
\begin{bmatrix} c2&sc&-c2&-sc\\ sc&s2&-sc&-s2\\ -c2&-sc&c2&sc\\ -sc&-s2&sc&s2\\ \end{bmatrix} \begin{bmatrix} ux1\\ uy1\\ ux2\\ uy2\\ \end{bmatrix} \begin{array}{r} s=\sin\beta\\ c=\cos\beta\\ \end{array}
\begin{bmatrix} fx1\\ fy1\ \hline fx2\\ fy2\end{bmatrix} =
EA | |
L |
\left[ \begin{array}{cc|cc} cxcx&cxcy&-cxcx&-cxcy\\ cycx&cycy&-cycx&-cycy\\ \hline -cxcx&-cxcy&cxcx&cxcy\\ -cycx&-cycy&cycx&cycy\\ \end{array} \right] \begin{bmatrix} ux1\\ uy1\ \hline ux2\\ uy2\end{bmatrix}
where
cx
cy
After developing the element stiffness matrix in the global coordinate system, they must be merged into a single “master” or “global” stiffness matrix. When merging these matrices together there are two rules that must be followed: compatibility of displacements and force equilibrium at each node. These rules are upheld by relating the element nodal displacements to the global nodal displacements.
The global displacement and force vectors each contain one entry for each degree of freedom in the structure. The element stiffness matrices are merged by augmenting or expanding each matrix in conformation to the global displacement and load vectors.
k(1)=
EA | |
L |
\begin{bmatrix} 1&0&-1&0\\ 0&0&0&0\\ -1&0&1&0\\ 0&0&0&0\\ \end{bmatrix} → K(1)=
EA | |
L |
\begin{bmatrix} 1&0&-1&0&0&0\\ 0&0&0&0&0&0\\ -1&0&1&0&0&0\\ 0&0&0&0&0&0\\ 0&0&0&0&0&0\\ 0&0&0&0&0&0\\ \end{bmatrix}
Finally, the global stiffness matrix is constructed by adding the individual expanded element matrices together.
Once the global stiffness matrix, displacement vector, and force vector have been constructed, the system can be expressed as a single matrix equation.
For each degree of freedom in the structure, either the displacement or the force is known.
After inserting the known value for each degree of freedom, the master stiffness equation is complete and ready to be evaluated. There are several different methods available for evaluating a matrix equation including but not limited to Cholesky decomposition and the brute force evaluation of systems of equations. If a structure isn’t properly restrained, the application of a force will cause it to move rigidly and additional support conditions must be added.
The method described in this section is meant as an overview of the direct stiffness method. Additional sources should be consulted for more details on the process as well as the assumptions about material properties inherent in the process.
The direct stiffness method was developed specifically to effectively and easily implement into computer software to evaluate complicated structures that contain a large number of elements. Today, nearly every finite element solver available is based on the direct stiffness method. While each program utilizes the same process, many have been streamlined to reduce computation time and reduce the required memory. In order to achieve this, shortcuts have been developed.
One of the largest areas to utilize the direct stiffness method is the field of structural analysis where this method has been incorporated into modeling software. The software allows users to model a structure and, after the user defines the material properties of the elements, the program automatically generates element and global stiffness relationships. When various loading conditions are applied the software evaluates the structure and generates the deflections for the user.