In a Nutshell




A new student might wonder why this section is so early in the book.  It is because the overall theory of the displacement technique in matrix structural analysis is amazingly simple and compact, and it would well serve the new student to have an overview of the process from beginning to end.  When we get into the fine details later in the text as to how each process is developed, we can return to this section and review it periodically to update and assess our understanding of the overall process.

Though the derivation of the different structural element types may be quite involved, generally all of these have already been developed, and the student is merely shown or walked through the derivations to see how it was done.  Most texts show multiple methods of how an element can be derived, such as differential equations, unit displacements, and energy methods.  However, very few practitioners are going to develop their own elements, as the process of validating a new structural element requires a great deal of research and testing effort.  Nevertheless, we will explain how to derive structural elements so that you can do so if you wish, and also because this book also serves as a text for under-graduate and graduate students who might need to be introduced to such methodology.

The general solution in this section excludes distributed loads or induced strains on elements in order to present a general solution without too much clutter or complication.  Later we will introduce these complications for a complete general solution.

: Defining the stiffness characteristics of each structural element.
For every structural element in the system to be analyzed we must know its force-displacement (stiffness) relation.  Any pins or hinges introduced into bending elements must be accounted for at this element level.  The general stiffness relation for any element is:
F = k  . . . . . . . . . . . . .  where F is the vector of element forces  
u is the vector of element displacements, and
k represents the stiffness relation between element forces & displacements
 (all in the element’s local coordinate system)
The stiffness relation of each type of structural element – rod, beam, panel, plate, etc., only has to be derived once, and then that serves as a template for all like elements.  The system of structural elements A, B, C, …, composing a structural system is created by stacking the stiffness matrix of each individual structural element (Ak, Bk, Ck, …) in the system along the diagonal of a super matrix as follows:
Fsystem = ksystem usystem   
. . . . . . . . . . . . . . . . . . . . . .  where
 In the above form, the individual elements are defined in their own local coordinate system, not yet related or connected to each other.  By placing the stiffness relation of each structural element along the main diagonal of a super-matrix, they remain mathematically independent.  Remember that this is a numerical solution, so all independent variables in the stiffness relation, such as the modulus of elasticity, cross-sectional area, etc., must have defined numerical values assigned to them before a solution can be effected.

Defining the transformation from each element’s local coordinate system to a single common (global) coordinate system.
Before we can proceed further we must transform all forces and displacements for each structural element from their respective local coordinate systems to a common (global) coordinate system.  We do this so we can add the individual element force, and equate the individual element displacement, components in the global x, y, and z directions.  We set this transform up by defining each structural element’s location in space in the structural system’s global coordinate system.  We then calculate the transformation relation using the element’s global coordinates at each node of the element.  The general transformation relation is as follows:
F = LF
u = LT u
F is the vector of element forces in the global coordinate system
u is the element displacements in the global coordinate system
L is the transformation relation between the global and local coordinates
The transformation matrix, L, has a special relationship to its transform, LT, such that
I = LLT = LTL where I is the identity matrix, which is the scalar equivalent of unity (1)
We set the system transformation up similar to the stiffness system by stacking the element equation along the diagonal of a super matrix as below:
Fsystem = Lsystem Fsystem
usystem = LsystemT usystem
In the above super matrix, the individual element transform relations are mathematically independent of each other.  Substitute the above into the element force-displacement equations yields:
F = L k LT where   L k LT is the unconnected stiffness relation in the global coordinate system.
The structural system equation for elements A, B, C, …, is as follows:
In some structural treatment texts the above form is multiplied out to yield the following form:
The above two forms are exactly equivalent.  The advantage of the first form is that our calculations can be reduced, by taking advantage of the matrix transposes that form part of the equation chain, as we will see in a moment.  The second form is shown only for the purposes of allowing the student to relate to presentations in other textbooks.

: Apply the equations of equilibrium and compatibility.
Up to this point we have prepared the structural elements for connection together, but have not actually connected them.  This step imposes the equations of equilibrium and compatibility on the global system, and in effect connects all the structural elements into a single structural system:
P = EF
= CU
P is the vector of external loads at each node of the structural system
U is the vector of displacements at each node of the structural system
E is the equations of equilibrium relating the applied loads at each global  node to the element forces connecting to it, and
C is the equations of compatibility relating the global nodal displacements at each node to the element displacements connected to it
If we substitute the equations of equilibrium and compatibility into the global stiffness equation, we get the following:
P = E L k LT CU      
Later we will demonstrate that there is an important relationship between the equations of equilibrium and the compatibility equations, such that
E= CT (and also C = ET, but we will find it more convenient to just use the former),
Which when substituted into the former equation yields
P = (CTL k LT C) U
In a structural system having global nodes 1,2,3, …, and elements A, B, C, …, the compatibility matrix might be presented as follows:
The compatibility matrix, C, may look complicated, but it is incredibly easy to construct, even by hand, especially if the rows and columns are labeled with the degree of freedom each represents.  Each row of the compatibility matrix has one (and only one) value of 1, all other values in the row being 0.  That single ‘1’ links an element degree of freedom to a corresponding degree of freedom for the global structural system node to which the element is connected.  This simplicity comes about for the following reasons:

1)      The structural system is composed of system, or global, nodes.  Generally, no two such global nodes will occupy the same coordinates in space, although they could for special purposes. 

2)      we can connect any one node of a structural element to only one structural system node, and no other node on that element may be connected to that same system node,

3)      At any one structural system node, the applied force to that node must be balanced by the element forces connected to that nose, and

4)      the displacement for the degree of freedom for the element, and that of the connected system node, must displace identically.  While it is a lot to say, it is very simple to do, which we will demonstrate later in the text.
A word about multiplying by exact values of  zero (0) and one (1).  In this treatment, we often have null (0) sub-matrices and matrices which only contain ones (1).  In some computer software executing mathematical processors, “zero” and “one” are not always carried precisely as exactly zero and as exactly one.  When this is the case, the resulting chain of multiplications by an imprecise representation of zero or one can cause an undesirable accumulation of error which can significantly degrade the accuracy of the final results.  Choose a matrix manipulator that sets an exact zero times anything to zero, and that sets an exact one times anything to that anything to avoid the unnecessary accumulation of calculation error.

: Skewed nodal loads and displacements.

There are many structural systems where the applied loads, restraints, or allowed nodal displacements are not parallel to a global coordinate system axis, such as internal gas or air pressure on a space vehicle, balloon, or tire; external fluid pressure on a submarine or submersible vehicle; mechanical restraints that allow motion on an incline; and so forth.  We call such non-parallel applied loads and external constraints skewed – in relation to the global coordinate system. 

Each structural system node can have its own independent skew.  It is almost the reverse of the transform from the element coordinate system to the global coordinate system, except this time we are transforming from the common global coordinate system to the skewed coordinate system of each structural system node.  If we have any structural system nodes with loads and displacements skewed to the global coordinate system, we must apply them in this step, which we do as follows:

S = Ls P
= LsT W
S is the vector of skewed applied loads
W is the vector of skewed nodal displacements
Ls is the transformation relation between global and skewed coordinates
The individual skewed transforms for each node would be assembled along the diagonal of a super matrix as follows:
In the case where no skew existed for a node, the skew transform for that node would be an identity sub-matrix.  If we substitute the skew equations into the equilibrium and compatibility equation, we get the following:
S = Ls CTL k LT C LsT W

STEP 5:  Reordering so that unknown restraints (and the corresponding known displacements) are in a contiguous group
Up to this point we have not applied any constraints to the structural system, and we must now do so.  And when we decide just how we are going to tie down our structure so that it can not move as a free body, it will cause some of the nodal loads and displacements to be unknown.  We must gather all the unknown nodal forces together so they are contiguous (adjacent) to each other.  When we do this, the known forces and displacements will also be arranged contiguous to each other.  There are various methods to accomplish this step, but we are going to do it by creating a reordering matrix as follows:
R = yTS
W = y V
R is the reordered vector of nodal loads grouping unkowns together
V is the reordered vector of nodal displacements
y is the reordering relation between knowns and unknowns
We will see later that the reordering relation is relatively easy to generate.  It is not strictly a calculating matrix, but a special reordering matrix consisting of one (and only one) “1”in each row of the matrix, similar to the compatibility matrix. 

If we substitute the reordering equations into the skew equation, we get the following:

R = yT Ls CTL k LT C LsT y V

STEP 6: Simplifying the calculations
If we group the terms in the above equation we can write it as
R = (yT Ls CTL) k (LT C LsT y) V
We show in the matrix algebra section that
(yT Ls CTL) = (LT C LsT y)T
and if we define the following
L = (LT C LsT y)
Then we simplify the equation to
R = LT k L V
R = yK V                         where yK = LT k L
 The above form is a simplification because we have replaced all the terms left of k with the transpose of L.  A transpose is a rather simple and fast data sort operation, and not a calculation operation, so besides eliminating considerable calculations we have also eliminated considerable opportunity for calculation error to accumulate.

STEP 6: Partitioning the matrix and solving for unknowns
Now we are ready to do partition the above equation into knowns (denoted with a k subscript) and unknowns (denoted with a u subscript) sub-matrices:
Decomposing the partitioned matrix equation yields the following two equations:
1)         Ru        =          yK11 Vk     +    yK12 Vu

2)         Rk        =          yK21 Vk    +     yK22 Vu
Solving equation 2) for the unknown displacements, Vu, yields:
3)         Vu        =          yK22-1 (Rk yK21 Vk )
Once Vu is calculated, then equation 1) can be solved for the unknown loads (reactions), Ru .  Since Rk and Vk are already known, we can now re-compose the nodal forces and displacement vectors R and V with the known and computed values as follows:
 We complete our structural problem by restoring the original order of the nodal Forces and displacements, and calculating the element forces and displacements as follows:
S = y R vector of skewed nodal loads and reactions
W = y V vector of skewed nodal displacements and constraints
u = L V vector of element displacements in the local coordinate system
F = k u vector of element loads in the local coordinate system
This concludes traditional matrix structural analysis, but more modern treatment would continue with a stress analysis and possibly a buckling analysis for bending members in compression.  For that we may need additional input, such as distance from the neutral axis to the outer fiber, shear center location, radius of gyration, and design stress limits.

The above set of equations are all matrices, and such a solution is easily programmed using matrix language processors such as MATLAB, and small problems can be solved using spreadsheets such as Excel.