title: Flexibility method
text: # Flexibility method
  
  In structural engineering, the flexibility method, also called the method of consistent deformations, is the traditional method for computing member forces and displacements in structural systems. Its modern version formulated in terms of the members' flexibility matrices also has the name the matrix force method due to its use of member forces as the primary unknowns.
  
  ## Member flexibility
  
  Flexibility is the inverse of stiffness. For example, consider a spring that has Q and q as, respectively, its force and deformation:
  
  * The spring stiffness relation is Q = k q where k is the spring stiffness.
  * Its flexibility relation is q = f Q, where f is the spring flexibility.
  * Hence, f = 1/k.
  
  A typical member flexibility relation has the following general form:
  
      $\mathbf {q} ^{m}=\mathbf {f} ^{m}\mathbf {Q} ^{m}+\mathbf {q} ^{om}$         (1)
  
  where
  
      m = member number m.
      $\mathbf {q} ^{m}$ = vector of member's characteristic deformations.
      $\mathbf {f} ^{m}$ = member flexibility matrix which characterises the member's susceptibility to deform under forces.
      $\mathbf {Q} ^{m}$ = vector of member's independent characteristic forces, which are unknown internal forces. These independent forces give rise to all member-end forces by member equilibrium.
      $\mathbf {q} ^{om}$ = vector of member's characteristic deformations caused by external effects (such as known forces and temperature changes) applied to the isolated, disconnected member (i.e. with $\mathbf {Q} ^{m}=0$).
  
  For a system composed of many members interconnected at points called nodes, the members' flexibility relations can be put together into a single matrix equation, dropping the superscript m:
  
      $\mathbf {q} _{M\times 1}=\mathbf {f} _{M\times M}\mathbf {Q} _{M\times 1}+\mathbf {q} _{M\times 1}^{o}$         (2)
  
  where M is the total number of members' characteristic deformations or forces in the system.
  
  Unlike the matrix stiffness method, where the members' stiffness relations can be readily integrated via nodal equilibrium and compatibility conditions, the present flexibility form of equation (2) poses serious difficulty. With member forces $\mathbf {Q} _{M\times 1}$ as the primary unknowns, the number of nodal equilibrium equations is insufficient for solution, in general—unless the system is statically determinate.
  
  ## Nodal equilibrium equations
  
  To resolve this difficulty, first we make use of the nodal equilibrium equations in order to reduce the number of independent unknown member forces. The nodal equilibrium equation for the system has the form:
  
      $\mathbf {R} _{N\times 1}=\mathbf {b} _{N\times M}\mathbf {Q} _{M\times 1}+\mathbf {W} _{N\times 1}$         (3)
  
  where
  
      $\mathbf {R} _{N\times 1}$: Vector of nodal forces at all N degrees of freedom of the system.
      $\mathbf {b} _{N\times M}$: The resulting nodal equilibrium matrix
      $\mathbf {W} _{N\times 1}$: The vector of forces arising from loading on the members.
  
  In the case of determinate systems, matrix b is square and the solution for Q can be found immediately from (3) provided that the system is stable.
  
  ## The primary system
  
  For statically indeterminate systems, M > N, and hence, we can augment (3) with I = M−N equations of the form:
  
      $X_{i}=\alpha Q_{j}+\beta Q_{k}+\cdots \qquad i=1,2,\ldots ,I$         (4)
  
  The vector X is the so-called vector of redundant forces and I is the degree of statical indeterminacy of the system. We usually choose j, k, …, $\alpha$, and $\beta$ such that $X_{i}$ is a support reaction or an internal member-end force. With suitable choices of redundant forces, the equation system (3) augmented by (4) can now be solved to obtain:
  
      $\mathbf {Q} _{M\times 1}=\mathbf {B} _{R}\mathbf {R} _{N\times 1}+\mathbf {B} _{X}\mathbf {X} _{I\times 1}+\mathbf {Q} _{v\cdot M\times 1}$         (5)
  
  Substitution into (2) gives:
  
      $\mathbf {q} _{M\times 1}=\mathbf {f} _{M\times M}{\Big\mathbf {B} _{R}\mathbf {R} _{N\times 1}+\mathbf {B} _{X}\mathbf {X} _{I\times 1}+\mathbf {Q} _{v\cdot M\times 1}{\Big )}+\mathbf {q} _{M\times 1}^{o}$         (6)
  
  Equations (5) and (6) are the solution for the primary system which is the original system that has been rendered statically determinate by cuts that expose the redundant forces $\mathbf {X}$. Equation (5) effectively reduces the set of unknown forces to $\mathbf {X}$.
  
  ## Compatibility equation and solution
  
  Next, we need to set up $I$ compatibility equations in order to find $\mathbf {X}$. The compatibility equations restore the required continuity at the cut sections by setting the relative displacements $\mathbf {r} _{X}$ at the redundants X to zero. That is, using the unit dummy force method:
  
      $\mathbf {r} _{X}=\mathbf {B} _{X}^{T}\mathbf {q} =\mathbf {B} _{X}^{T}{\Big\mathbf {f} {\Big\mathbf {B} _{R}\mathbf {R} +\mathbf {B} _{X}\mathbf {X} +\mathbf {Q} _{v}{\Big )}+\mathbf {q} ^{o}{\Big ]}=0$         (7a)
      or $\mathbf {r} _{X}=\mathbf {F} _{XX}\mathbf {X} +\mathbf {r} _{X}^{o}=0$         (7b)
  
  where
  
      $\mathbf {F} _{XX}=\mathbf {B} _{X}^{T}\mathbf {f} \mathbf {B} _{X}$
      $\mathbf {r} _{X}^{o}=\mathbf {B} _{X}^{T}{\Big\mathbf {f} {\Big\mathbf {B} _{R}\mathbf {R} +\mathbf {Q} _{v}{\Big )}+\mathbf {q} ^{o}{\Big ]}$
  
  Equation (7b) can be solved for X, and the member forces are next found from (5) while the nodal displacements can be found by
  
      $\mathbf {r} _{R}=\mathbf {B} _{R}^{T}\mathbf {q} =\mathbf {F} _{RR}\mathbf {R} +\mathbf {r} _{R}^{o}$
  
  where
  
      $\mathbf {F} _{RR}=\mathbf {B} _{R}^{T}\mathbf {f} \mathbf {B} _{R}$ is the system flexibility matrix.
      $\mathbf {r} _{R}^{o}=\mathbf {B} _{R}^{T}{\Big\mathbf {f} {\Big\mathbf {B} _{X}\mathbf {X} +\mathbf {Q} _{v}{\Big )}+\mathbf {q} ^{o}{\Big ]}$
  
  Supports' movements taking place at the redundants can be included in the right-hand-side of equation (7), while supports' movements at other places must be included in $\mathbf {r} _{X}^{o}$ and $\mathbf {r} _{R}^{o}$ as well.
  
  ## Advantages and disadvantages
  
  While the choice of redundant forces in (4) appears to be arbitrary and troublesome for automatic computation, this objection can be overcome by proceeding from (3) directly to (5) using a modified Gauss–Jordan elimination process. This is a robust procedure that automatically selects a good set of redundant forces to ensure numerical stability.
  
  It is apparent from the above process that the matrix stiffness method is easier to comprehend and to implement for automatic computation. It is also easier to extend for advanced applications such as non-linear analysis, stability, vibrations, etc. For these reasons, the matrix stiffness method is the method of choice for use in general purpose structural analysis software packages. On the other hand, for linear systems with a low degree of statical indeterminacy, the flexibility method has the advantage of being computationally less intensive. This advantage, however, is a moot point as personal computers are widely available and more powerful. The main redeeming factor in learning this method nowadays is its educational value in imparting the concepts of equilibrium and compatibility in addition to its historical value. In contrast, the procedure of the direct stiffness method is so mechanical that it risks being used without much understanding of the structural behaviors.
  
  The upper arguments were valid up to the late 1990s. However, recent advances in numerical computing have shown a comeback of the force method, especially in the case of nonlinear systems. New frameworks have been developed that allow "exact" formulations irrespectively of the type or nature of the system nonlinearities. The main advantages of the flexibility method is that the result error is independent of the discretization of the model and that it is indeed a very fast method. For instance, the elastic-plastic solution of a continuous beam using the force method requires only 4 beam elements whereas a commercial "stiffness based" FEM code requires 500 elements in order to give results with the same accuracy. To conclude, one can say that in the case where the solution of the problem requires recursive evaluations of the force field like in the case of structural optimization or system identification, the efficiency of the flexibility method is indisputable.
  
  