Library homepage

  • school Campus Bookshelves
  • menu_book Bookshelves
  • perm_media Learning Objects
  • login Login
  • how_to_reg Request Instructor Account
  • hub Instructor Commons
  • Download Page (PDF)
  • Download Full Book (PDF)
  • Periodic Table
  • Physics Constants
  • Scientific Calculator
  • Reference & Cite
  • Tools expand_more
  • Readability

selected template will load here

This action is not available.

Engineering LibreTexts

5.3: Finite Element Analysis

  • Last updated
  • Save as PDF
  • Page ID 44547

  • David Roylance
  • Massachusetts Institute of Technology via MIT OpenCourseWare

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

\( \newcommand{\Span}{\mathrm{span}}\)

\( \newcommand{\id}{\mathrm{id}}\)

\( \newcommand{\kernel}{\mathrm{null}\,}\)

\( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\)

\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\)

\( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

\( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vectorC}[1]{\textbf{#1}} \)

\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

Introduction

Finite element analysis (FEA) has become commonplace in recent years, and is now the basis of a multibillion dollar per year industry. Numerical solutions to even very complicated stress problems can now be obtained routinely using FEA, and the method is so important that even introductory treatments of Mechanics of Materials – such as these modules – should outline its principal features.

In spite of the great power of FEA, the disadvantages of computer solutions must be kept in mind when using this and similar methods: they do not necessarily reveal how the stresses are influenced by important problem variables such as materials properties and geometrical features, and errors in input data can produce wildly incorrect results that may be overlooked by the analyst. Perhaps the most important function of theoretical modeling is that of sharpening the designer’s intuition; users of finite element codes should plan their strategy toward this end, supplementing the computer simulation with as much closed-form and experimental analysis as possible.

Finite element codes are less complicated than many of the word processing and spreadsheet packages found on modern microcomputers. Nevertheless, they are complex enough that most users do not find it effective to program their own code. A number of prewritten commercial codes are available, representing a broad price range and compatible with machines from microcomputers to supercomputers(C.A. Brebbia, ed., Finite Element Systems, A Handbook, Springer-Verlag, Berlin, 1982.). However, users with specialized needs should not necessarily shy away from code development, and may find the code sources available in such texts as that by Zienkiewicz(O.C. Zienkiewicz and R.L. Taylor, The Finite Element Method, McGraw-Hill Co., London, 1989.) to be a useful starting point. Most finite element software is written in Fortran, but some newer codes such as felt are in C or other more modern programming languages.

In practice, a finite element analysis usually consists of three principal steps:

1. Preprocessing: The user constructs a model of the part to be analyzed in which the geometry is divided into a number of discrete subregions, or "elements," connected at discrete points called "nodes." Certain of these nodes will have fixed displacements, and others will have prescribed loads. These models can be extremely time consuming to prepare, and commercial codes vie with one another to have the most user-friendly graphical "pre-processor" to assist in this rather tedious chore. Some of these preprocessors can overlay a mesh on a preexisting CAD file, so that finite element analysis can be done conveniently as part of the computerized drafting-and-design process.

2. Analysis: The dataset prepared by the preprocessor is used as input to the finite element code itself, which constructs and solves a system of linear or nonlinear algebraic equations

\(K_{ij} u_j = f_i\)

where \(u\) and \(f\) are the displacements and externally applied forces at the nodal points. The formation of the \(K\) matrix is dependent on the type of problem being attacked, and this module will outline the approach for truss and linear elastic stress analyses. Commercial codes may have very large element libraries, with elements appropriate to a wide range of problem types. One of FEA's principal advantages is that many problem types can be addressed with the same code, merely by specifying the appropriate element types from the library.

3. Postprocessing: In the earlier days of finite element analysis, the user would pore through reams of numbers generated by the code, listing displacements and stresses at discrete positions within the model. It is easy to miss important trends and hot spots this way, and modern codes use graphical displays to assist in visualizing the results. A typical postprocessor display overlays colored contours representing stress levels on the model, showing a full-field picture similar to that of photoelastic or moire experimental results

The operation of a specific code is usually detailed in the documentation accompanying the software, and vendors of the more expensive codes will often offer workshops or training sessions as well to help users learn the intricacies of code operation. One problem users may have even after this training is that the code tends to be a "black box" whose inner workings are not understood. In this module we will outline the principles underlying most current finite element stress analysis codes, limiting the discussion to linear elastic analysis for now. Understanding this theory helps dissipate the black-box syndrome, and also serves to summarize the analytical foundations of solid mechanics.

Matrix analysis of trusses

Pin-jointed trusses, discussed more fully in Module 5, provide a good way to introduce FEA concepts. The static analysis of trusses can be carried out exactly, and the equations of even complicated trusses can be assembled in a matrix form amenable to numerical solution. This approach, sometimes called “matrix analysis,” provided the foundation of early FEA development.

Matrix analysis of trusses operates by considering the stiffness of each truss element one at a time, and then using these stiffnesses to determine the forces that are set up in the truss elements by the displacements of the joints, usually called "nodes" in finite element analysis. Then noting that the sum of the forces contributed by each element to a node must equal the force that is externally applied to that node, we can assemble a sequence of linear algebraic equations in which the nodal displacements are the unknowns and the applied nodal forces are known quantities. These equations are conveniently written in matrix form, which gives the method its name:

\(\begin{bmatrix} K_{11} & K_{12} & \cdots & K_{1n} \\ K_{21} & K_{22} & \cdots & K_{2n} \\ \cdots & \cdots & \cdots & \cdots \\ K_{n1} & K_{n2} & \cdots & K_{nn} \end{bmatrix} \left \{ \begin{array} {c} u_1 \\ u_2 \\ \cdots \\ u_n \end{array} \right \} = \left \{ \begin{array} {c} f_1 \\ f_2 \\ \cdots \\ f_n \end{array} \right \}\)

Here \(u_i\) and \(f_j\) indicate the deflection at the ith node and the force at the \(j^{th}\) node (these would actually be vector quantities, with subcomponents along each coordinate axis). The \(K_{ij}\) coefficient array is called the global stiffness matrix, with the \(ij\) component being physically the influence of the \(j^{th}\) displacement on the \(i^{th}\) force. The matrix equations can be abbreviated as

\[K_{ij} u_j = f_i \text{ or } Ku = f\]

using either subscripts or boldface to indicate vector and matrix quantities. Either the force externally applied or the displacement is known at the outset for each node, and it is impossible to specify simultaneously both an arbitrary displacement and a force on a given node. These prescribed nodal forces and displacements are the boundary conditions of the problem. It is the task of analysis to determine the forces that accompany the imposed displacements, and the displacements at the nodes where known external forces are applied.

Stiffness matrix for a single truss element

As a first step in developing a set of matrix equations that describe truss systems, we need a relationship between the forces and displacements at each end of a single truss element. Consider such an element in the \(x - y\) plane as shown in Figure 1, attached to nodes numbered \(i\) and \(j\) and inclined at an angle \(\theta\) from the horizontal.

截屏2021-03-11 下午2.02.05.png

Considering the elongation vector \(\delta\) to be resolved in directions along and transverse to the element, the elongation in the truss element can be written in terms of the differences in the displacements of its end points:

where \(u\) and \(v\) are the horizontal and vertical components of the deflections, respectively. (The displacements at node \(i\) drawn in Figure 1 are negative.) This relation can be written in matrix form as:

\(\delta = \begin{bmatrix} -c & -s & c & s \end{bmatrix} \left \{ \begin{array} {c} u_i \\ v_i \\ u_j \\ v_j \end{array} \right \}\)

Here \(c = \cos \theta\) and \(s = \sin \theta\).

The axial force \(P\) that accompanies the elongation \(\delta\) is given by Hooke’s law for linear elastic bodies as \(P = (AE/L) \delta\). The horizontal and vertical nodal forces are shown in Figure 2; these can be written in terms of the total axial force as:

截屏2021-03-11 下午2.12.40.png

\(\left \{ \begin{array} {c} f_{xi} \\ f_{yi} \\ f_{xj} \\ f_{yj} \end{array} \right \} = \left \{ \begin{array} {c} -c \\ -s \\ c \\ s \end{array} \right \} P = \left \{ \begin{array} {c} -c \\ -s \\ c \\ s \end{array} \right \} \dfrac{AE}{L} \delta\)

\(= \left \{ \begin{array} {c} -c \\ -s \\ c \\ s \end{array} \right \} \dfrac{AE}{L} \begin{bmatrix} -c & -s & c & s \end{bmatrix} \left \{ \begin{array} {c} u_i \\ v_i \\ u_j \\ v_j \end{array} \right \}\)

Carrying out the matrix multiplication:

\[\left \{ \begin{array} {c} f_{xi} \\ f_{yi} \\ f_{xj} \\ f_{yj} \end{array} \right \} = \dfrac{AE}{L} \begin{bmatrix} c^2 & cs & -c^2 & -cs \\ cs & s^2 & -cs & -s^2 \\ -c^2 & -cs & c^2 & cs \\ -cs & -s^2 & cs & s^2 \end{bmatrix} \left \{ \begin{array} {c} u_i \\ v_i \\ u_j \\ v_j \end{array} \right \}\]

The quantity in brackets, multiplied by \(AE/L\), is known as the "element stiffness matrix" \(k_{ij}\). Each of its terms has a physical significance, representing the contribution of one of the displacements to one of the forces. The global system of equations is formed by combining the element stiffness matrices from each truss element in turn, so their computation is central to the method of matrix structural analysis. The principal difference between the matrix truss method and the general finite element method is in how the element stiffness matrices are formed; most of the other computer operations are the same.

Assembly of multiple element contributions

截屏2021-03-11 下午2.18.19.png

The next step is to consider an assemblage of many truss elements connected by pin joints. Each element meeting at a joint, or node, will contribute a force there as dictated by the displacements of both that element’s nodes (see Figure 3). To maintain static equilibrium, all element force contributions \(f_{i}^{elem}\) at a given node must sum to the force \(f_i^{ext}\) that is externally applied at that node:

\(f_i^{ext} = \sum_{elem} f_i^{elem} = (\sum_{elem} k_{ij}^{elem} u_j) = (\sum_{elem} k_{ij}^{elem}) u_j = K_{ij} u_j\)

Each element stiffness matrix \(k_{ij}^{elem}\) is added to the appropriate location of the overall, or "global" stiffness matrix \(K_{ij}\) that relates all of the truss displacements and forces. This process is called "assembly." The index numbers in the above relation must be the "global" numbers assigned to the truss structure as a whole. However, it is generally convenient to compute the individual element stiffness matrices using a local scheme, and then to have the computer convert to global numbers when assembling the individual matrices.

Example \(\PageIndex{1}\)

The assembly process is at the heart of the finite element method, and it is worthwhile to do a simple case by hand to see how it really works. Consider the two-element truss problem of Figure 4, with the nodes being assigned arbitrary "global" numbers from 1 to 3. Since each node can in general move in two directions, there are \(3 \times 2 = 6\) total degrees of freedom in the problem. The global stiffness matrix will then be a \(6 \times 6\) array relating the six displacements to the six externally applied forces. Only one of the displacements is unknown in this case, since all but the vertical displacement of node 2 (degree of freedom number 4) is constrained to be zero. Figure 4 shows a workable listing of the global numbers, and also "local" numbers for each individual element.

截屏2021-03-11 下午2.21.46.png

Using the local numbers, the \(4 \times 4\) element stiffness matrix of each of the two elements can be evaluated according to Equation 5.3.2. The inclination angle is calculated from the nodal coordinates as

The resulting matrix for element 1 is:

\(k^{(1)} = \begin{bmatrix} 25.00 & -43.30 & -25.00 & 43.30 \\ -43.30 & 75.00 & 43.30 & -75.00 \\ -25.00 & 43.30 & 25.00 & -43.30 \\ 43.30 & -75.00 & -43.30 & 75.00 \end{bmatrix} \times 10^3\)

and for element 2:

\(k^{(2)} = \begin{bmatrix} 25.00 & 43.30 & -25.00 & -43.30 \\ 43.30 & 75.00 & -43.30 & -75.00 \\ -25.00 & -43.30 & 25.00 & 43.30 \\ -43.30 & -75.00 & 43.30 & 75.00 \end{bmatrix} \times 10^3\)

(It is important the units be consistent; here lengths are in inches, forces in pounds, and moduli in psi. The modulus of both elements is \(E = 10\) Mpsi and both have area \(A = 0.1 in^2\).) These matrices have rows and columns numbered from 1 to 4, corresponding to the local degrees of freedom of the element.

However, each of the local degrees of freedom can be matched to one of the global degrees of the overall problem. By inspection of Figure 4, we can form the following table that maps local to global numbers:

Using this table, we see for instance that the second degree of freedom for element 2 is the fourth degree of freedom in the global numbering system, and the third local degree of freedom corresponds to the fifth global degree of freedom. Hence the value in the second row and third column of the element stiffness matrix of element 2, denoted \(k_{23}^{(2)}\), should be added into the position in the fourth row and fifth column of the \(6 \times 6\) global stiffness matrix. We write this as

\(k_{23}^{(2)} \to K_{4,5}\)

Each of the sixteen positions in the stiffness matrix of each of the two elements must be added into the global matrix according to the mapping given by the table. This gives the result

\(K = \begin{bmatrix} k_{11}^{(1)} & k_{12}^{(1)} & k_{13}^{(1)} & k_{14}^{(1)} & 0 & 0 \\ k_{21}^{(1)} & k_{22}^{(1)} & k_{23}^{(1)} & k_{24}^{(1)} & 0 & 0 \\ k_{31}^{(1)} & k_{32}^{(1)} & k_{33}^{(1)} + k_{11}^{(2)} & k_{34}^{(1)} + k_{12}^{(2)} & k_{13}^{(2)} & k_{14}^{(2)} \\ k_{41}^{(1)} & k_{42}^{(1)} & k_{43}^{(1)} + k_{21}^{(2)} & k_{44}^{(1)} + k_{22}^{(2)} & k_{23}^{(2)} & k_{24}^{(2)} \\ 0 & 0 & k_{31}^{(2)} & k_{32}^{(2)} & k_{33}^{(2)} & k_{34}^{(2)} \\ 0 & 0 & k_{41}^{(2)} & k_{42}^{(2)} & k_{43}^{(2)} & k_{44}^{(2)} \end{bmatrix}\)

This matrix premultiplies the vector of nodal displacements according to Equation 5.3.1 to yield the vector of externally applied nodal forces. The full system equations, taking into account the known forces and displacements, are then

Note that either the force or the displacement for each degree of freedom is known, with the accompanying displacement or force being unknown. Here only one of the displacements (\(u_4\)) is unknown, but in most problems the unknown displacements far outnumber the unknown forces. Note also that only those elements that are physically connected to a given node can contribute a force to that node. In most cases, this results in the global stiffness matrix containing many zeroes corresponding to nodal pairs that are not spanned by an element. Effective computer implementations will take advantage of the matrix sparseness to conserve memory and reduce execution time.

In larger problems the matrix equations are solved for the unknown displacements and forces by Gaussian reduction or other techniques. In this two-element problem, the solution for the single unknown displacement can be written down almost from inspection. Multiplying out the fourth row of the system, we have

\(0 + 0 + 0 + 150 \times 10^3 u_4 + 0 + 0 = -1732\)

\(u_4 = -1732/150 \times 10^3 = -0.01155 in\)

Now any of the unknown forces can be obtained directly. Multiplying out the first row for instance gives

\(0 + 0 + 0 + (43.4) (-0.0115) \times 10^3 + 0 + 0 = f_1\)

The negative sign here indicates the horizontal force on global node #1 is to the left, opposite the direction assumed in Figure 4.

The process of cycling through each element to form the element stiffness matrix, assembling the element matrix into the correct positions in the global matrix, solving the equations for displacements and then back-multiplying to compute the forces, and printing the results can be automated to make a very versatile computer code.

Larger-scale truss (and other) finite element analysis are best done with a dedicated computer code, and an excellent one for learning the method is available from the web at http://felt.sourceforge.net/ . This code, named felt, was authored by Jason Gobat and Darren Atkinson for educational use, and incorporates a number of novel features to promote user-friendliness. Complete information describing this code, as well as the C-language source and a number of trial runs and auxiliary code modules is available via their web pages. If you have access to X-window workstations, a graphical shell named velvet is available as well.

Example \(\PageIndex{2}\)

截屏2021-03-11 下午2.49.24.png

To illustrate how this code operates for a somewhat larger problem, consider the six-element truss of Figure 5, which was analyzed in Module 5 both by the joint-at-a-time free body analysis approach and by Castigliano’s method.

The input dataset, which can be written manually or developed graphically in velvet, employs parsing techniques to simplify what can be a very tedious and error-prone step in finite element analysis. The dataset for this 6-element truss is:

The meaning of these lines should be fairly evident on inspection, although the felt documentation should be consulted for more detail. The output produced by felt for these data is:

Nodal Displacements

Element Stresses

Reaction Forces

Material usage Summary

Material: steel Number: 6 Length: 682.8427 Mass: 0.0000

Total mass: 0.0000

The vertical displacement of node 3 (the DOF 2 value) is -0.0844, the same value obtained by the closed-form methods of Module 5. Figure 6 shows the velvet graphical output for the truss deflections (greatly magnified).

截屏2021-03-11 下午3.00.38.png

General Stress Analysis

The element stiffness matrix could be formed exactly for truss elements, but this is not the case for general stress analysis situations. The relation between nodal forces and displacements are not known in advance for general two- or three-dimensional stress analysis problems, and an approximate relation must be used in order to write out an element stiffness matrix.

In the usual "displacement formulation" of the finite element method, the governing equations are combined so as to have only displacements appearing as unknowns; this can be done by using the Hookean constitutive equations to replace the stresses in the equilibrium equations by the strains, and then using the kinematic equations to replace the strains by the displacements. This gives

\[L^T \sigma = L^T D_{\epsilon} = L^T DLu = 0\]

Of course, it is often impossible to solve these equations in closed form for the irregular bound- ary conditions encountered in practical problems. However, the equations are amenable to discretization and solution by numerical techniques such as finite differences or finite elements.

Finite element methods are one of several approximate numerical techniques available for the solution of engineering boundary value problems. Problems in the mechanics of materials often lead to equations of this type, and finite element methods have a number of advantages in handling them. The method is particularly well suited to problems with irregular geometries and boundary conditions, and it can be implemented in general computer codes that can be used for many different problems.

To obtain a numerical solution for the stress analysis problem, let us postulate a function \(\tilde{u} (x, y)\) as an approximation to \(u\):

\[\tilde{u} (x, y) \approx u (x, y)\]

Many different forms might be adopted for the approximation \(\tilde{u}\). The finite element method discretizes the solution domain into an assemblage of subregions, or "elements," each of which has its own approximating functions. Specifically, the approximation for the displacement \(\tilde{u} (x, y)\) within an element is written as a combination of the (as yet unknown) displacements at the nodes belonging to that element:

\[\tilde{u} (x, y) = N_j (x, y) u_j\]

Here the index \(j\) ranges over the element’s nodes, \(u_j\) are the nodal displacements, and the \(N_j\) are “interpolation functions.” These interpolation functions are usually simple polynomials (generally linear, quadratic, or occasionally cubic polynomials) that are chosen to become unity at node \(j\) and zero at the other element nodes. The interpolation functions can be evaluated at any position within the element by means of standard subroutines, so the approximate displacement at any position within the element can be obtained in terms of the nodal displacements directly from Equation 5.3.5.

截屏2021-03-11 下午3.04.22.png

The interpolation concept can be illustrated by asking how we might guess the value of a function \(u(x)\) at an arbitrary point \(x\) located between two nodes at \(x = 0\) and \(x = 1\), assuming we know somehow the nodal values \(u(0)\) and u(1). We might assume that as a reasonable approximation \(u(x)\) simply varies linearly between these two values as shown in Figure 7, and write

Here the \(N_0\) and \(N_1\) are the linear interpolation functions for this one-dimensional approximation. Finite element codes have subroutines that extend this interpolation concept to two and three dimensions.

Approximations for the strain and stress follow directly from the displacements:

\[\tilde{\epsilon} L\tilde{u} = LN_ju_j \equiv B_j u_j\]

\[\tilde{\sigma} D \tilde{\epsilon} = DB_j u_j\]

where \(B_j(x, y) = LN_j (x, y)\) is an array of derivatives of the interpolation functions:

\[B_j = \begin{bmatrix} N_{j,x} & 0 \\ 0 & N_{j, y} \\ N_{j, y} & N_{j, x} \end{bmatrix}\]

A “virtual work” argument can now be invoked to relate the nodal displacement \(u_j\) appearing at node \(j\) to the forces applied externally at node \(i\): if a small, or "virtual," displacement \(\delta u_i\) is superimposed on node \(i\), the increase in strain energy \(\delta U\) within an element connected to that node is given by:

\[\delta U = \int_V \delta \epsilon^T \sigma dV\]

where \(V\) is the volume of the element. Using the approximate strain obtained from the interpolated displacements, \(\delta \tilde{\epsilon} = B_i \delta u_i\) is the approximate virtual increase in strain induced by the virtual nodal displacement. Using Equation 5.3.7 and the matrix identity \((AB)^T = B^T A^T\), we have:

\[\delta U = \delta u_i^T \int_V B_i^T DB_j dV u_j\]

(The nodal displacements \(\delta u_i^T\) and \(u_j\) are not functions of \(x\) and \(y\), and so can be brought from inside the integral.) The increase in strain energy \(\delta U\) must equal the work done by the nodal forces; this is:

\[\delta W = \delta u_i^T f_i\]

Equating Eqns. 5.3.10 and 5.3.11 and canceling the common factor \(\delta u_i^T\), we have

\[[\int_V B_i^T DB_j dV] u_j = f_i\]

This is of the disired form \(k_{ij} u_j = f_i\), where \(k_{ij} = \int_V B_i^T DB_j dV\) is the element stiffness.

Finally, the integral in Equation 12 must be replaced by a numerical equivalent acceptable to the computer. Gauss-Legendre numerical integration is commonly used in finite element codes for this purpose, since that technique provides a high ratio of accuracy to computing effort. Stated briefly, the integration consists of evaluating the integrand at optimally selected integration points within the element, and forming a weighted summation of the integrand values at these points. In the case of integration over two-dimensional element areas, this can be written:

\[\int_A f(x, y) dA \approx \sum_l f(x_l, y_l) w_l\]

The location of the sampling points \(x_l,y_l\) and the associated weights wl are provided by standard subroutines. In most modern codes, these routines map the element into a convenient shape, determine the integration points and weights in the transformed coordinate frame, and then map the results back to the original frame. The functions Nj used earlier for interpolation can be used for the mapping as well, achieving a significant economy in coding. This yields what are known as "numerically integrated isoparametric elements," and these are a mainstay of the finite element industry.

Equation 5.3.12, with the integral replaced by numerical integrations of the form in Equation 5.3.13, is the finite element counterpart of Equation 5.3.3, the differential governing equation. The computer will carry out the analysis by looping over each element, and within each element looping over the individual integration points. At each integration point the components of the element stiffness matrix \(k_{ij}\) are computed according to Equation 5.3.12, and added into the appropriate positions of the \(K_{ij}\) global stiffness matrix as was done in the assembly step of matrix truss method described in the previous section. It can be appreciated that a good deal of computation is involved just in forming the terms of the stiffness matrix, and that the finite element method could never have been developed without convenient and inexpensive access to a computer.

Stresses around a circular hole

We have considered the problem of a uniaxially loaded plate containing a circular hole in previous modules, including the theoretical Kirsch solution (Module 16) and experimental determinations using both photoelastic and moire methods (Module 17). This problem is of practical importance -- for instance, we have noted the dangerous stress concentration that appears near rivet holes -- and it is also quite demanding in both theoretical and numerical analyses. Since the stresses rise sharply near the hole, a finite element grid must be refined there in order to produce acceptable results.

截屏2021-03-11 下午3.17.18.png

Figure 8 shows a mesh of three-noded triangular elements developed by the felt-velvet graphical FEA package that can be used to approximate the displacements and stresses around a uniaxially loaded plate containing a circular hole. Since both theoretical and experimental results for this stress field are available as mentioned above, the circular-hole problem is a good one for becoming familiar with code operation.

The user should take advantage of symmetry to reduce problem size whenever possible, and in this case only one quadrant of the problem need be meshed. The center of the hole is kept fixed, so the symmetry requires that nodes along the left edge be allowed to move vertically but not horizontally. Similarly, nodes along the lower edge are constrained vertically but left free to move horizontally. Loads are applied to the nodes along the upper edge, with each load being the resultant of the far-field stress acting along half of the element boundaries between the given node and its neighbors. (The far-field stress is taken as unity.) Portions of the felt input dataset for this problem are:

The \(y\)-displacements and vertical stresses σy are contoured in Figure 9(a) and (b) respectively; these should be compared with the photoelastic and moire analyses given in Module 17, Figs. 8 and 10(a). The stress at the integration point closest to the x-axis at the hole is computed to be \(\sigma_{y, \max} = 3.26\), 9% larger than the theoretical value of 3.00. In drawing the contours of Figure 9b, the postprocessor extrapolated the stresses to the nodes by fitting a least-squares plane through the stresses at all four integration points within the element. This produces an even higher value for the stress concentration factor, 3.593. The user must be aware that graphical postprocessors smooth results that are themselves only approximations, so numerical inaccuracy is a real possibility. Refining the mesh, especially near the region of highest stress gradient at the hole meridian, would reduce this error.

截屏2021-03-11 下午3.20.49.png

Exercise \(\PageIndex{1}\)

(a) – (h) Use FEA to determine the force in each element of the trusses drawn below.

截屏2021-03-11 下午3.23.29.png

Exercise \(\PageIndex{2}\)

(a) – (c) Write out the global stiffness matrices for the trusses listed below, and solve for the unknown forces and displacements. For each element assume \(E = 30\) Mpsi and \(A = 0.1 in^2\).

截屏2021-03-11 下午3.23.50.png

Exercise \(\PageIndex{3}\)

Obtain a plane-stress finite element solution for a cantilevered beam with a single load at the free end. Use arbitrarily chosen (but reasonable) dimensions and material properties. Plot the stresses \(\sigma_x\) and \(\tau_{xy}\) as functions of \(y\) at an arbitrary station along the span; also plot the stresses given by the elementary theory of beam bending (c.f. Module 13) and assess the magnitude of the numerical error.

截屏2021-03-11 下午3.26.15.png

Exercise \(\PageIndex{4}\)

Repeat the previous problem, but with a symmetrically-loaded beam in three-point bending.

截屏2021-03-11 下午3.26.25.png

Exercise \(\PageIndex{5}\)

Use axisymmetric elements to obtain a finite element solution for the radial stress in a thick-walled pressure vessel (using arbitrary geometry and material parameters). Compare the results with the theoretical solution (c.f. Prob. 2 in Module 16).

University of Cambridge logo

Dissemination of IT for the Promotion of Materials Science (DoITPoMS)

Direct stiffness method and the global stiffness matrix

Although there are several finite element methods, we analyse the Direct Stiffness Method here, since it is a good starting point for understanding the finite element formulation. We consider first the simplest possible element – a 1-dimensional elastic spring which can accommodate only tensile and compressive forces. For the spring system shown, we accept the following conditions:

  • Condition of Compatibility – connected ends (nodes) of adjacent springs have the same displacements
  • Condition of Static Equilibrium – the resultant force at each node is zero
  • Constitutive Relation – that describes how the material (spring) responds to the applied loads

how to solve stiffness matrix problems

The spring stiffness equation relates the nodal displacements to the applied forces via the spring (element) stiffness. The minus sign denotes that the force is a restoring one, but from here on in we use the scalar version of Eqn.7.

Derivation of the Stiffness Matrix for a Single Spring Element

single spring element

\[{k^{\left( e \right)}}{u_i} - {k^{\left( e \right)}}{u_j} = F_i^{\left( e \right)} \;\;\;\;\;(8) \] \[ - {k^{\left( e \right)}}{u_i} + {k^{\left( e \right)}}{u_j} = F_j^{\left( e \right)} \;\;\;\;\;(9) \]

In matrix form \[\left[ {\begin{array}{*{20}{c}}{{k^e}}&{ - {k^e}}\\{ - {k^e}}&{{k^e}}\end{array}} \right]\left\{ {\begin{array}{*{20}{c}}{{u_i}}\\{{u_j}}\end{array}} \right\} = \;\left\{ {\begin{array}{*{20}{c}}{F_i^{\left( e \right)}}\\{F_j^{\left( e \right)}}\end{array}} \right\} \;\;\;\;\;(10) \]

The order of the matrix is [2×2] because there are 2 degrees of freedom. Note also that the matrix is symmetrical. The ‘ element ’ stiffness relation is:

\[[{K^{(e)}}]\{ {u^{(e)}}\} = \{ {F^{(e)}}\} \;\;\;\;\;(11) \]

Where Κ (e)  is the element stiffness matrix, u (e)  the nodal displacement vector and F (e)  the nodal force vector. (The element stiffness relation is important because it can be used as a building block for more complex systems. An example of this is provided later.)

Derivation of a Global Stiffness Matrix

For a more complex spring system, a ‘global’ stiffness matrix is required – i.e. one that describes the behaviour of the complete system, and not just the individual springs.

Complex spring system

In matrix form \[\left[ {\begin{array}{*{20}{c}} {{k^1}}&{ - {k^1}}&0\\ { - {k^1}}&{{k^1} + {k^2}}&{ - {k^2}}\\ 0&{ - {k^2}}&{{k^2}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {{u_1}}\\ {{u_2}}\\ {{u_3}} \end{array}} \right\} = \;\left\{ {\begin{array}{*{20}{c}} {{F_1}}\\ {{F_2}}\\ {{F_3}} \end{array}} \right\} \;\;\;\;\;(15) \]

The ‘ global ’ stiffness relation is written in Eqn.16, which we distinguish from the ‘element’ stiffness relation in Eqn.11. \[\left[ K \right]\left\{ u \right\} = \;\left\{ F \right\} \;\;\;\;\;(16) \]

Note the shared k 1  and k 2  at k 22  because of the compatibility condition at u 2 . We return to this important feature later on.

Assembling the Global Stiffness Matrix from the Element Stiffness Matrices

Although it isn’t apparent for the simple two-spring model above, generating the global stiffness matrix (directly) for a complex system of springs is impractical. A more efficient method involves the assembly of the individual element stiffness matrices. For instance, if you take the 2-element spring system shown,

Complex spring system

split it into its component parts in the following way

Complex spring part a

and derive the force equilibrium equations \[{k^1}{u_1} - {k^1}{u_2} = {F_1} \;\;\;\;\;(17) \] \[{k^1}{u_2} - {k^1}{u_1} = {k^2}{u_2} - {k^2}{u_3} = {F_2} \;\;\;\;\;(18) \] \[{k^2}{u_3} - {k^2}{u_2} = {F_3} \;\;\;\;\;(19) \] then the individual element stiffness matrices are: \[\left[ {\begin{array}{*{20}{c}} {{k^1}}&{ - {k^1}}\\ { - {k^1}}&{{k^1}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {{u_1}}\\ {{u_2}} \end{array}} \right\} = \;\left\{ {\begin{array}{*{20}{c}} {{F_1}}\\ {{F_2}} \end{array}} \right\}\;\;{\rm{and}}\;\;\left[ {\begin{array}{*{20}{c}} {{k^2}}&{ - {k^2}}\\ { - {k^2}}&{{k^2}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {{u_2}}\\ {{u_3}} \end{array}} \right\} = \;\left\{ {\begin{array}{*{20}{c}} {{F_2}}\\ {{F_3}} \end{array}} \right\} \;\;\;\;\;(20) \]

such that the global stiffness matrix is the same as that derived directly in Eqn.15:

Global matrix

(Note that, to create the global stiffness matrix by assembling the element stiffness matrices, k 22  is given by the sum of the direct stiffnesses acting on node 2 – which is the compatibility criterion. Note also that the indirect cells k ij  are either zero (no load transfer between nodes i and j ), or negative to indicate a reaction force.)

For this simple case the benefits of assembling the element stiffness matrices (as opposed to deriving the global stiffness matrix directly) aren’t immediately obvious. We consider therefore the following (more complex) system which contains 5 springs (elements) and 5 degrees of freedom (problems of practical interest can have tens or hundreds of thousands of degrees of freedom (and more!)). Since there are 5 degrees of freedom we know the matrix order is 5×5. We also know that it’s symmetrical, so it takes the form shown below:

Spring system with 5 degrees of freedom

We want to populate the cells to generate the global stiffness matrix. From our observation of simpler systems, e.g. the two spring system above, the following rules emerge:

  • The term in location ii consists of the sum of the direct stiffnesses of all the elements meeting at node i
  • The term in location ij consists of the sum of the indirect stiffnesses relating to nodes i and j of all the elements joining node i to j
  • Add a negative for reaction terms (– k ij )
  • Add a zero for node combinations that don’t interact

By following these rules, we can generate the global stiffness matrix:

Global stiffness matrix

This type of assembly process is handled automatically by commercial FEM codes

Drag the springs into position and click 'Build matrix', then apply a force to node 5. You will then see the force equilibrium equations, the equivalent spring stiffness and the displacement at node 5.

Solving for ( u )

The unknowns (degrees of freedom) in the spring systems presented are the displacements u ij . Our global system of equations takes the following form:

Global system of equations

To find { u } solve

\[{u}={F}{\left[ K \right]^{ - 1}}\;\;\;\;\;(22)\]

Recall that \(\left[ k \right]{\left[ k \right]^{ - 1}} = {\rm{I}} = \;\;{\rm{Identitiy\;Matrix}}\;\; = \;\left[ {\begin{array}{*{20}{c}} 1&0\\ 0&1 \end{array}} \right]\).

Recall also that, in order for a matrix to have an inverse, its determinant must be non-zero. If the determinant is zero, the matrix is said to be singular and no unique solution for Eqn.22 exists. For instance, consider once more the following spring system:

We know that the global stiffness matrix takes the following form \[\left[ {\begin{array}{*{20}{c}} {{k^1}}&{ - {k^1}}&0\\ { - {k^1}}&{{k^1} + {k^2}}&{ - {k^2}}\\ 0&{ - {k^2}}&{{k^2}} \end{array}} \right]\left\{ {\begin{array}{*{20}{c}} {{u_1}}\\ {{u_2}}\\ {{u_3}} \end{array}} \right\} = \;\left\{ {\begin{array}{*{20}{c}} {{F_1}}\\ {{F_2}}\\ {{F_3}} \end{array}} \right\} \;\;\;\;\; (23) \]

The determinant of [ K ] can be found from:

\[{\rm{det}}\left[ {\begin{array}{*{20}{c}} a&b&c\\ d&e&f\\ g&h&i \end{array}} \right] = \left( {aei + bfg + cdh} \right) - \left( {ceg + bdi + afh} \right) \;\;\;\;\;(24)\]

\[ \left( {{k^1}\left( {{k^1} + {k^2}} \right){k^2} + 0 + 0} \right) - \left( {0 + \left( { - {k^1} - {k^1}{k^2}} \right) + \left( {{k^1} - {k^2} - {k^2}} \right)} \right) \;\;\;\;\;\;(25)\] \[{\rm{det}}\left[ K \right] = \left( {{k^1}^2{k^2} + {k^1}{k^2}^2} \right) - \left( {{k^1}^2{k^2} + {k^1}{k^2}^2} \right) = 0 \;\;\;\;\;\;(26) \]

Since the determinant of [ K ] is zero it is not invertible, but singular. There are no unique solutions and { u } cannot be found. If this is the case in your own model, then you are likely to receive an error message!

  • Structville Research
  • Privacy Policy
  • Terms and conditions
  • Take a Quiz
  • Cookie Policy (EU)

Logo

  • Structural Analysis

Analysis of Trusses Using Direct Stiffness Method: A Solved Example

how to solve stiffness matrix problems

An indeterminate truss is supported and loaded as shown above, using the direct stiffness method, obtain the displacements, support reactions, and internal forces that are induced in the members due to the externally applied loads,  (EA = Constant, dimensions in mm).

[the_ad id=”498″]

Summary of Procedure (1) Establish the x and y global coordinate system. The origin is usually located at the joint for which the coordinates for all the other joints are positive. (2) Identify each joint and member numerically, and arbitrarily specify the near and far ends of each member symbolically by directing an arrow along the member with the head directed towards the far end. (3) Specify the two code numbers at each joint, using the lowest numbers to identify unconstrained degrees of freedom, followed by the highest numbers to identify the constrained degrees of freedom.

how to solve stiffness matrix problems

For the truss that is loaded as shown above, there are four unconstrained degrees of freedom which occur at nodes ② and ③. The displacements are the horizontal and vertical translations which have been labelled from 1 – 4 and represented by the arrow heads at those nodes. The members have also been labelled accordingly with their numbers enclosed in a box (see figure above). Also notice that the unconstrained degrees of freedom have labelled first. The aim of this is to simplify the arrangement of the structure’s stiffness matrix.

Computation of member global stiffness matrix Without much attention to the derivation, the stiffness matrix is given by;

[k] =[T T ][k’][T] ————— (1)

Where; K’ = member stiffness matrix which is of the same form as each member of the truss. It is made of the member stiffness influence coefficients, k’ ij T = Displacement transformation matrix T T  = This transforms local forces acting at the ends into global force components and it is referred to as force transformation matrix which is the transform of the displacement transformation matrix [T].

When the equation is solved, the global member stiffness matrix is obtained which is given by;

how to solve stiffness matrix problems

Where; l = cos θ; m = sin θ; L = Length of member

The global stiffness of each member is given below;

how to solve stiffness matrix problems

The general stiffness matrix of the structure [K T ] is given by;

[K T ]= [K 1 ] + [K 2 ] + [K 3 ] + [K 4 ] + [K 5 ] + [K 6 ]

This now yields an 8 x 8 matrix which represents all the degrees of freedom in the truss both unconstrained (1-4) and constrained (5-8).

how to solve stiffness matrix problems

Since the unconstrained degrees of freedom are at points 1-4, we can therefore compute the deformation at such nodes using the relation below;

[P] = [K][u]

Where [P] is the vector of joint loads acting on the truss, [u] is the vector of joint displacement and [k] is the global stiffness matrix. On partitioning the above stiffness matrix, the relationship for this problem is as given below;

how to solve stiffness matrix problems

On solving;

how to solve stiffness matrix problems

In the same vein, this same relationship can help us compute the support reactions;

how to solve stiffness matrix problems

You can also realise that the obtained support reactions satisfy equilibrium requirements in the structure.

∑Fy = 0 ( i.e 12 + 13 = 25 KN) ∑Fx = 0 ( i.e 7.5662 + 2.4338 = 10 KN)

Internal Axial Forces For computing the internal forces in the members, the following relationship is used;

[N] = [T][K’][u]

Which when expanded yields;

how to solve stiffness matrix problems

The axial forces in the members are now as given below;

how to solve stiffness matrix problems

RELATED ARTICLES MORE FROM AUTHOR

A general overview of dynamics of structures, bending moment diagrams for frames, list of top 20 structural analysis and design software in 2024, analysis of statically determinate frames, finite element analysis (fea) for structures, form finding in tensile membrane structures, theorem of parallel axis, design of fillet weld connections, structural analysis example: arch bridges.

Nice Content Thanks for sharing .. BIM Consulting BIM Solutions BIM Solutions in UK Shop Drawings Preparation in UK Fabrication Drawings preparation in UK

LEAVE A REPLY Cancel reply

Save my name, email, and website in this browser for the next time I comment.

EDITOR PICKS

Damp proof course (dpc) and damp proof membranes (dpm) in building construction, timber framed building construction, popular posts, structural analysis and design of residential buildings using staad.pro, orion, and manual calculations, how to calculate the number of blocks required to complete a 3 bedroom flat, can you identify the cause of failure of this building, popular category.

  • Reinforced Concrete Design 146
  • Geotechnical Engineering 127
  • Structural Analysis 123
  • Construction 111
  • Foundations 87
  • Steel Structures 77
  • Eurocode 2 68

Structville is a media channel dedicated to civil engineering designs, tutorials, research, and general development. At Structville, we stop at nothing in giving you new dimensions to the profession of civil engineering.

Contact us: [email protected]

© (2016 - 2024) Structville Integrated Services Limited. All rights reserved

Modal truncation method for continuum structures based on matrix norm: modal perturbation method

  • Original Paper
  • Published: 11 May 2024

Cite this article

how to solve stiffness matrix problems

  • Houjun Kang   ORCID: orcid.org/0000-0002-2452-9844 1 , 2 ,
  • Quan Yuan 1 ,
  • Xiaoyang Su 1 , 2 ,
  • Tieding Guo 1 , 2 &
  • Yunyue Cong 1 , 2  

12 Accesses

Explore all metrics

Modal analysis is a widely applied method to study the vibration phenomenon of continuum structures, but there is no clear method to solve the modal truncation problem at present. To determine the contribution of different modes to the whole system, a new mode truncation method based on perturbation theory is proposed in this paper. The modes are subjected to perturbation parameters during discretization, and using norm error analysis on the stiffness matrix in different degrees of freedom (DOFs) systems confirms the model number of the continuum structure system. The results show that the DOF identified by the modal perturbation method is related to the perturbation parameter, and the smaller the perturbation parameter is, the fewer modes need to be considered. When the perturbation parameter is large enough, the response of the system can only be accurately explained by truncation to higher-order modes. Finally, the perturbation parameter is fixed to 1, and the traditional Galerkin method is connected to the modal perturbation, making traditional discretization a unique case for the modal perturbation method. This method can significantly reduce the modal truncation error, which is of great significance to the dynamic analysis of engineering applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price includes VAT (Russian Federation)

Instant access to the full article PDF.

Rent this article via DeepDyve

Institutional subscriptions

how to solve stiffness matrix problems

Data availability

All data generated or analysed during this study are included in this published article (and its Supplementary Information files.

Heylen, W., Lammens, S., Sas, P., et al.: Modal Analysis Theory and Testing, vol. 200. Katholieke Universiteit Leuven, Leuven (1997)

Google Scholar  

Kim, J.-G., Seo, J., Lim, J.H.: Novel modal methods for transient analysis with a reduced order model based on enhanced Craig–Bampton formulation. Appl. Math. Comput. 344 , 30–45 (2019)

MathSciNet   Google Scholar  

Avitabile, P.: Experimental modal analysis. Sound Vib. 35 (1), 20–31 (2001)

Kang, H., Guo, T., Zhu, W.: Multimodal interaction analysis of a cable-stayed bridge with consideration of spatial motion of cables. Nonlinear Dyn. 99 (1), 123–147 (2020)

Article   Google Scholar  

Younis, M.I.: Multi-mode excitation of a clamped–clamped microbeam resonator. Nonlinear Dyn. 80 (3), 1531–1541 (2015)

Article   MathSciNet   Google Scholar  

Geng, X.-F., Ding, H.: Two-modal resonance control with an encapsulated nonlinear energy sink. J. Sound Vib. 520 , 116667 (2022)

Geng, X., Ding, H., Wei, K., Chen, L.: Suppression of multiple modal resonances of a cantilever beam by an impact damper. Appl. Math. Mech. 41 (3), 383–400 (2020)

Li, L., Hu, Y., Wang, X.: Eliminating the modal truncation problem encountered in frequency responses of viscoelastic systems. J. Sound Vib. 333 (4), 1182–1192 (2014)

Li, L., Hu, Y.: Generalized mode acceleration and modal truncation augmentation methods for the harmonic response analysis of nonviscously damped systems. Mech. Syst. Signal Process. 52 , 46–59 (2015)

Braun, S., Ram, Y.: Modal modification of vibrating systems: some problems and their solutions. Mech. Syst. Signal Process. 15 (1), 101–119 (2001)

Go, M.-S., Lim, J.H., Kim, J.-G., Hwang, K.-R.: A family of Craig–Bampton methods considering residual mode compensation. Appl. Math. Comput. 369 , 124822 (2020)

Chen, H., Guirao, J.L.G., Cao, D., Jiang, J., Fan, X.: Stochastic Euler–Bernoulli beam driven by additive white noise: global random attractors and global dynamics. Nonlinear Anal. 185 , 216–246 (2019)

Quaranta, G., Carboni, B., Lacarbonara, W.: Damage detection by modal curvatures: numerical issues. J. Vib. Control 22 (7), 1913–1927 (2016)

Nickell, R.E.: Nonlinear dynamics by mode superposition. Comput. Methods Appl. Mech. Eng. 7 (1), 107–129 (1976)

Xiao, W., Li, L., Lei, S.: Accurate modal superposition method for harmonic frequency response sensitivity of non-classically damped systems with lower-higher-modal truncation. Mech. Syst. Signal Process. 85 , 204–217 (2017)

Guo, T., Kang, H., Wang, L., Zhao, Y.: Triad mode resonant interactions in suspended cables. Sci. China Phys. Mech. Astron. 59 (3), 1–14 (2016)

Yi, Z., Wang, L., Kang, H., Tu, G.: Modal interaction activations and nonlinear dynamic response of shallow arch with both ends vertically elastically constrained for two-to-one internal resonance. J. Sound Vib. 333 (21), 5511–5524 (2014)

Wang Jinlin, C.D., Mitao, S.: Dimensional reduction of large dynamical systems: an nonlinear Galerkin method based on model trunction. J. Dyn. Control 7 (02), 108–112 (2009)

Dickens, J., Nakagawa, J., Wittbrodt, M.: A critique of mode acceleration and modal truncation augmentation methods for modal response analysis. Comput. Struct. 62 (6), 985–998 (1997)

Karasözen, B., Akkoyunlu, C., Uzunca, M.: Model order reduction for nonlinear Schrödinger equation. Appl. Math. Comput. 258 , 509–519 (2015)

Nayfeh, A.H., Younis, M.I., Abdel-Rahman, E.M.: Reduced-order models for mems applications. Nonlinear Dyn. 41 (1), 211–236 (2005)

Kerfriden, P., Goury, O., Rabczuk, T., Bordas, S.P.-A.: A partitioned model order reduction approach to rationalise computational expenses in nonlinear fracture mechanics. Comput. Methods Appl. Mech. Eng. 256 , 169–188 (2013)

Bergeot, B., Bellizzi, S., Berger, S.: Dynamic behavior analysis of a mechanical system with two unstable modes coupled to a single nonlinear energy sink. Commun. Nonlinear Sci. Numer. Simul. 95 , 105623 (2021)

Pan, C.-H., Zhu, X.-N., Liu, Z.-R.: A simple approach for reducing the order of equations with higher order nonlinearity. Appl. Math. Comput. 218 (17), 8702–8714 (2012)

Lacarbonara, W.: A theoretical and experimental investigation of nonlinear vibrations of buckled beams. Ph.D. thesis, Virginia Tech (1997)

Qiao, W., Guo, T., Kang, H., Zhao, Y.: Softening-hardening transition in nonlinear structures with an initial curvature: a refined asymptotic analysis. Nonlinear Dyn. 107 (1), 357–374 (2022)

Lenci, S., Rega, G.: Axial-transversal coupling in the free nonlinear vibrations of timoshenko beams with arbitrary slenderness and axial boundary conditions. Math. Proc. R. Soc. A Phys. Eng. Sci. 472 (2190), 20160057 (2016)

Guo, T., Kang, H., Wang, L., Zhao, Y.: An inclined cable excited by a non-ideal massive moving deck: an asymptotic formulation. Nonlinear Dyn. 95 (1), 749–767 (2019)

Cong Yunyue, G.T.S.X., Houjun, Kang, Yixin, J.: A multiple cable-beam model and modal analysis on in-plane free vibration of cable-stayed bridge with CFRP cables. J. Dyn. Control 15 (06), 494–504 (2017)

Arvin, H., Arena, A., Lacarbonara, W.: Nonlinear vibration analysis of rotating beams undergoing parametric instability: lagging-axial motion. Mech. Syst. Signal Process. 144 , 106892 (2020)

Xiong, H., Kong, X., Li, H., Yang, Z.: Vibration analysis of nonlinear systems with the bilinear hysteretic oscillator by using incremental harmonic balance method. Commun. Nonlinear Sci. Numer. Simul. 42 , 437–450 (2017)

Zhao, Y., Sun, C., Wang, Z., Peng, J.: Nonlinear in-plane free oscillations of suspended cable investigated by homotopy analysis method. Struct. Eng. Mech. 50 (4), 487–500 (2014)

Zhou, S., Song, G., Ren, Z., Wen, B.: Nonlinear analysis of a parametrically excited beam with intermediate support by using multi-dimensional incremental harmonic balance method. Chaos Solitons Fractals 93 , 207–222 (2016)

Wang, X., Zhu, W.: A new spatial and temporal harmonic balance method for obtaining periodic steady-state responses of a one-dimensional second-order continuous system. J. Appl. Mech. 84 (1), 014501 (2017)

Bloch, A.M., Iserles, A.: Commutators of skew-symmetric matrices. Int. J. Bifurc. Chaos 15 (03), 793–801 (2005)

Bellman, R.: Stability Theory of Differential Equations. Courier Corporation, Chennai (2008)

Hurwitz, A., et al.: On the conditions under which an equation has only roots with negative real parts. Sel. Pap. Math. Trends Control Theory 65 , 273–284 (1964)

Su, X., Kang, H., Guo, T., Cong, Y.: Modeling and parametric analysis of in-plane free vibration of a floating cable-stayed bridge with transfer matrix method. Int. J. Struct. Stab. Dyn. 20 (01), 2050004 (2020)

Younis, M.I., Nayfeh, A.: A study of the nonlinear response of a resonant microbeam to an electric actuation. Nonlinear Dyn. 31 (1), 91–117 (2003)

Download references

The authors wish to acknowledge the support of the National Natural Science Foundation of China (11972151, 12372006, 12302007, and 12202109), and also the Specific Research Project of Guangxi for Research Bases and Talents (AD23026051).

Author information

Authors and affiliations.

School of Civil and Architectural Engineering, Guangxi University, Nanning, 530004, China

Houjun Kang, Quan Yuan, Xiaoyang Su, Tieding Guo & Yunyue Cong

Scientific Research Center of Engineering Mechanics, Guangxi University, Nanning, 530004, China

Houjun Kang, Xiaoyang Su, Tieding Guo & Yunyue Cong

You can also search for this author in PubMed   Google Scholar

Corresponding author

Correspondence to Houjun Kang .

Ethics declarations

Conflict of interest.

The authors declare that they have no conflict of interest.

Additional information

Publisher's note.

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Kang, H., Yuan, Q., Su, X. et al. Modal truncation method for continuum structures based on matrix norm: modal perturbation method. Nonlinear Dyn (2024). https://doi.org/10.1007/s11071-024-09628-2

Download citation

Received : 09 December 2023

Accepted : 12 April 2024

Published : 11 May 2024

DOI : https://doi.org/10.1007/s11071-024-09628-2

Share this article

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

  • Continuum structures
  • Modal truncation
  • Perturbation
  • Matrix norm

Mathematics Subject Classification

  • Find a journal
  • Publish with us
  • Track your research

COMMENTS

  1. PDF Chapter 2

    Stiffness (Displacement) Method. 2. Select a Displacement Function - A displacement function u(x) is assumed. a a x. 2. In general, the number of coefficients in the displacement function is equal to the total number of degrees of freedom associated with the element. We can write the displacement function in matrix forms as:

  2. PDF Stiffness Methods for Systematic Analysis of Structures

    Stiffness Method for Frame Structures For frame problems (with possibly inclined beam elements), the stiffness method can be used to solve the problem by transforming element stiffness matrices from the LOCAL to GLOBAL coordinates. Note that in addition to the usual bending terms, we will also have to account for axial effects .

  3. PDF Mathematical Properties of Stiffness Matrices

    eigenvalue problem can be written [K]{x}= λ{x}. (10) All eigenvalues of symmetric matrices (e.g., stiffness matrices) are real-valued. Now consider a set of displacement vectors consistent with the reactions (or constraints) of the structure. For a given stiffness matrix, the equation {p}= [K]{d}will produce a corresponding

  4. 30.3: Direct Stiffness Method and the Global Stiffness Matrix

    Derivation of a Global Stiffness Matrix. For a more complex spring system, a 'global' stiffness matrix is required - i.e. one that describes the behaviour of the complete system, and not just the individual springs. From inspection, we can see that there are two springs (elements) and three degrees of freedom in this model, u1, u2 and u3.

  5. 5.3: Finite Element Analysis

    Each element stiffness matrix \(k_{ij}^{elem}\) is added to the appropriate location of the overall, or "global" stiffness matrix \(K_{ij}\) that relates all of the truss displacements and forces. This process is called "assembly." The index numbers in the above relation must be the "global" numbers assigned to the truss structure as a whole.

  6. PDF Chapter 4

    member and select "Stiffness Matrix" to see the stiffness matrix for any member. The latest version (2.7.3) has a very useful "Study Mode", which exposes the structure and member stiffness matrices to the user. A user familiar with the underlying theory can then use the program for more advanced purposes, such as spring supports, for ...

  7. PDF Introduction to the Finite Element Method (FEM)

    Assembling the Global Stiffness Matrix from the Element Stiffness Matrices Although it isn't apparent for the simple two-spring model above, generating the global stiffness matrix (directly) for a complex system of springs is impractical. A more efficient method involves the assembly of the individual element stiffness matrices. For instance, if

  8. Stiffness matrix

    The stiffness matrix is the n -element square matrix A defined by. By defining the vector F with components the coefficients ui are determined by the linear system Au = F. The stiffness matrix is symmetric, i.e. Aij = Aji, so all its eigenvalues are real. Moreover, it is a strictly positive-definite matrix, so that the system Au = F always has ...

  9. Finite Element Method

    In this video, I have provided the details on the basics of global stiffness matrix. In the upcoming videos, I will explain more on obtaining the same with d...

  10. Direct stiffness method

    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 ...

  11. Direct stiffness method and the global stiffness matrix

    such that the global stiffness matrix is the same as that derived directly in Eqn.15: (Note that, to create the global stiffness matrix by assembling the element stiffness matrices, k22 is given by the sum of the direct stiffnesses acting on node 2 - which is the compatibility criterion. Note also that the indirect cells kij are either zero ...

  12. PDF Chapter 6: Indeterminate Structures

    Element Loads. All the loads on the elements must be transformed to equivalent loads at the node points. The equivalent force system (equivalent joint forces) is nothing but the opposite of the fixed-end forces. The major steps in solving any planar frame problem using the direct stiffness method: Step 1: Step 2: Step 3:

  13. Stiffness Matrix Method: Analysis of Continuous Beam (Step by ...

    In this video step by step procedure to analyse a continuous beam using stiffness matrix method have been explained with the help of numerical example. The v...

  14. Stiffness Matrix to solve for node displacements and reaction forces

    In this video I used the derived stiffness matrix to solve a 1 dimensional system with different stiffness. We used finite element analysis approach to find...

  15. PDF BAR & TRUSS FINITE ELEMENT Direct Stiffness Method

    1D FE formulation can be used if a body-fixed local coordinate system is constructed along the length of 8 cm the element. The global coordinate system Y. (X and Y axes) is chosen to 12 cm represent the entire structure X. The local coordinate system (x and y axes) is selected to align the x-axis along the length of the element. f. x. EA 1.

  16. PDF The Matrix Stiffness Method for 2D Trusses

    6.Structural Stiffness Matrix, K s. The structural stiffness matrix is a square, symmetric matrix with dimension equal to the number of degrees of freedom. In this step we will fill up the structural stiffness matrix using terms from the element stiffness matrices in global coordinates (from step 5.) This procedure is called matrix assembly.

  17. finite element

    1. As mentioned in the comments by Wolfgang Bangerth, for this problem you want to use the backslash operator, i.e., u = K \ L; In general, you don't want to reinvent the wheel and should go with a linear algebra library for this kind of problem. PS: Keep in mind that your stiffness matrix might be singular if you haven't imposed any ...

  18. Analysis of Trusses Using Direct Stiffness Method: A ...

    Where; K' = member stiffness matrix which is of the same form as each member of the truss. It is made of the member stiffness influence coefficients, k' ij T = Displacement transformation matrix T T = This transforms local forces acting at the ends into global force components and it is referred to as force transformation matrix which is ...

  19. Derivation of Stiffness Matrix

    In this video I use the theory of finite element methods to derive the stiffness matrix 'K'. ITS SIMPLE!With the relationship of young's modulus and the str...

  20. PDF Lesson 27: Direct stiffness method

    The stiffness matrix is partitioned to separate the actions associated with two ends of the member. For continuous beam problem, if the supports are unyielding, then only rotational degree of freedom shown in Fig. 27.4 is possible. In such a case the first and the third rows and columns will be deleted.

  21. Stiff equation

    Stiff equation. In mathematics, a stiff equation is a differential equation for which certain numerical methods for solving the equation are numerically unstable, unless the step size is taken to be extremely small. It has proven difficult to formulate a precise definition of stiffness, but the main idea is that the equation includes some terms ...

  22. Modal truncation method for continuum structures based on matrix norm

    Modal analysis is an effective method for solving the dynamic problems in engineering practice, which has been widely used in vibration problems of electronics, architecture, aircraft and spacecraft [1,2,3].Kang et al. [] studied the multi-modal interaction between the lowest in-plane and out-of-plane modes of cables and the lowest mode of shallow arch based on the cable-stayed bridge with ...