Chapter 3

Structural Analysis

Indeterminate structures, matrix methods, and influence lines.

Structural Analysis

Structural analysis is the determination of forces, moments, and deformations in structures under applied loads. While statically determinate structures can be analyzed using equilibrium equations alone, most real-world structures are statically indeterminate, requiring additional compatibility and material relationships.

Classification of Structures

Degree of Indeterminacy

External Indeterminacy: When support reactions exceed equilibrium equations

For 2D structures:

IE=r3IE = r - 3

Where rr is the number of reaction components.

Internal Indeterminacy: Additional redundancy within the structure

For trusses:

II=m+r2jII = m + r - 2j

Where mm = members, rr = reactions, jj = joints

For frames:

II=3m+r3jcII = 3m + r - 3j - c

Where cc = internal hinges (releases)

Stability

A structure is stable if:

  1. It can resist all possible loads
  2. It doesn't form a mechanism
  3. It's not improperly constrained

Conditions:

  • Determinate: m+r=2jm + r = 2j (truss) or 3m+r=3j3m + r = 3j (frame)
  • Stable and Indeterminate: m+r>2jm + r > 2j (properly arranged)
  • Unstable: m+r<2jm + r < 2j or improper arrangement

Force Method (Flexibility Method)

The force method treats redundant forces as unknowns and uses compatibility conditions to solve for them.

Basic Procedure

  1. Determine degree of indeterminacy (nn)
  2. Select nn redundant forces
  3. Remove redundants to create a primary (released) structure
  4. Write compatibility equations:
Δi=Δi0+j=1nfijXj=0\Delta_i = \Delta_{i0} + \sum_{j=1}^{n} f_{ij} X_j = 0

Where:

  • Δi0\Delta_{i0} = displacement at ii due to applied loads
  • fijf_{ij} = flexibility coefficient (displacement at ii due to unit force at jj)
  • XjX_j = redundant forces

Flexibility Coefficients

Using virtual work:

fij=mimjEIdx+ninjEAdx+vivjGAsdxf_{ij} = \int \frac{m_i m_j}{EI} dx + \int \frac{n_i n_j}{EA} dx + \int \frac{v_i v_j}{GA_s} dx

For beams (bending dominant):

fij=mimjEIdxf_{ij} = \int \frac{m_i m_j}{EI} dx

Maxwell's Reciprocal Theorem

fij=fjif_{ij} = f_{ji}

The displacement at ii due to unit load at jj equals displacement at jj due to unit load at ii.

Displacement Method (Stiffness Method)

The displacement method treats joint displacements as unknowns and uses equilibrium conditions at joints.

Basic Procedure

  1. Identify degrees of freedom (unknown displacements)
  2. Restrain all DOFs to create the restrained structure
  3. Calculate fixed-end forces
  4. Write equilibrium equations:
{P}=[K]{D}\{P\} = [K]\{D\}

Where:

  • {P}\{P\} = applied joint loads - fixed-end forces
  • [K][K] = stiffness matrix
  • {D}\{D\} = joint displacements

Element Stiffness Matrix

For a beam element with axial deformation:

[k]=[EAL00EAL00012EIL36EIL2012EIL36EIL206EIL24EIL06EIL22EILEAL00EAL00012EIL36EIL2012EIL36EIL206EIL22EIL06EIL24EIL][k] = \begin{bmatrix} \frac{EA}{L} & 0 & 0 & -\frac{EA}{L} & 0 & 0 \\ 0 & \frac{12EI}{L^3} & \frac{6EI}{L^2} & 0 & -\frac{12EI}{L^3} & \frac{6EI}{L^2} \\ 0 & \frac{6EI}{L^2} & \frac{4EI}{L} & 0 & -\frac{6EI}{L^2} & \frac{2EI}{L} \\ -\frac{EA}{L} & 0 & 0 & \frac{EA}{L} & 0 & 0 \\ 0 & -\frac{12EI}{L^3} & -\frac{6EI}{L^2} & 0 & \frac{12EI}{L^3} & -\frac{6EI}{L^2} \\ 0 & \frac{6EI}{L^2} & \frac{2EI}{L} & 0 & -\frac{6EI}{L^2} & \frac{4EI}{L} \end{bmatrix}

Fixed-End Moments

For uniform load ww:

MFA=MFB=wL212M_{FA} = M_{FB} = \frac{wL^2}{12}

For central point load PP:

MFA=MFB=PL8M_{FA} = M_{FB} = \frac{PL}{8}

For point load at distance aa from A:

MFA=Pab2L2,MFB=Pa2bL2M_{FA} = \frac{Pab^2}{L^2}, \quad M_{FB} = \frac{Pa^2b}{L^2}

Moment Distribution Method

A hand-calculation method for continuous beams and frames with sidesway prevented.

Key Concepts

Stiffness Factor:

K=ILK = \frac{I}{L}

Distribution Factor:

DFi=KiKDF_i = \frac{K_i}{\sum K}

Carry-Over Factor: For prismatic members = 0.5

Procedure

  1. Calculate distribution factors at each joint
  2. Calculate fixed-end moments
  3. Release one joint at a time, distribute unbalanced moment
  4. Carry over half to far ends
  5. Repeat until moments converge

Modified Stiffness for End Conditions

Far End ConditionStiffness Factor
Fixed4EIL\frac{4EI}{L}
Pinned3EIL\frac{3EI}{L}
Free (cantilever)0

Slope-Deflection Method

Relates end moments to rotations and displacements.

Slope-Deflection Equations

MAB=2EIL(2θA+θB3ψ)+MFABM_{AB} = \frac{2EI}{L}(2\theta_A + \theta_B - 3\psi) + M_{FAB} MBA=2EIL(θA+2θB3ψ)+MFBAM_{BA} = \frac{2EI}{L}(\theta_A + 2\theta_B - 3\psi) + M_{FBA}

Where:

  • θA\theta_A, θB\theta_B = end rotations
  • ψ=Δ/L\psi = \Delta/L = chord rotation (sidesway)
  • MFABM_{FAB}, MFBAM_{FBA} = fixed-end moments

Application to Continuous Beams

  1. Write slope-deflection equations for each span
  2. Apply moment equilibrium at each joint
  3. Solve simultaneous equations for rotations
  4. Calculate final moments

Influence Lines

Influence lines show the variation of a specific response (reaction, shear, moment) as a unit load moves across the structure.

Muller-Breslau Principle

The influence line for a response is the deflected shape caused by removing the restraint corresponding to that response and introducing a unit displacement.

Influence Line Equations

Simply supported beam:

Reaction at A:

ILRA=1xLIL_{R_A} = 1 - \frac{x}{L}

Shear at point C (distance aa from A):

ILV={aLfor 0xa1aLfor a<xLIL_V = \begin{cases} -\frac{a}{L} & \text{for } 0 \leq x \leq a \\ 1 - \frac{a}{L} & \text{for } a < x \leq L \end{cases}

Moment at point C:

ILM={x(La)Lfor 0xaa(Lx)Lfor a<xLIL_M = \begin{cases} \frac{x(L-a)}{L} & \text{for } 0 \leq x \leq a \\ \frac{a(L-x)}{L} & \text{for } a < x \leq L \end{cases}

Using Influence Lines

For concentrated loads:

R=PiIL(xi)R = \sum P_i \cdot IL(x_i)

For distributed loads:

R=w(x)IL(x)dx=wArea under ILR = \int w(x) \cdot IL(x) \, dx = w \cdot \text{Area under IL}

Maximum Effects from Moving Loads

Position loads to maximize the area under influence line:

  • Maximum positive effect: Load over positive area
  • Maximum negative effect: Load over negative area

Matrix Structural Analysis

Direct Stiffness Method

  1. Establish element properties: For each element, form local stiffness matrix [k][k]
  2. Transform to global coordinates: [K]=[T]T[k][T][K] = [T]^T[k][T]
  3. Assemble global stiffness matrix: Add element contributions
  4. Apply boundary conditions: Modify equations for known displacements
  5. Solve for displacements: {D}=[K]1{P}\{D\} = [K]^{-1}\{P\}
  6. Calculate member forces: {f}=[k][T]{d}\{f\} = [k][T]\{d\}

Transformation Matrix

For 2D frame element at angle θ\theta:

[T]=[cs0000sc0000001000000cs0000sc0000001][T] = \begin{bmatrix} c & s & 0 & 0 & 0 & 0 \\ -s & c & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & c & s & 0 \\ 0 & 0 & 0 & -s & c & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}

Where c=cosθc = \cos\theta and s=sinθs = \sin\theta.

Approximate Methods

Portal Method (for Lateral Loads)

Assumptions:

  1. Inflection points at midheight of columns
  2. Inflection points at midspan of beams
  3. Interior columns carry twice the shear of exterior columns

Cantilever Method (for Lateral Loads)

Assumptions:

  1. Inflection points at midheight of columns and midspan of beams
  2. Axial stress in columns varies linearly from neutral axis

Real-World Application: Continuous Bridge Analysis

Analyzing a three-span continuous bridge using the moment distribution method.

Bridge Analysis Example

import math

# Bridge geometry and properties
bridge_params = {
    'spans': [20.0, 25.0, 20.0],  # meters
    'EI': 1.0e9,                   # kN-m^2 (constant)
    'dead_load': 30.0,             # kN/m
    'live_load': 45.0,             # kN/m (applied to spans 1 and 3)
}

# Calculate stiffness factors
L1, L2, L3 = bridge_params['spans']
K_AB = 1 / L1  # Proportional to I/L
K_BC = 1 / L2
K_CB = 1 / L2
K_CD = 1 / L3

# Distribution factors at joint B
sum_K_B = K_AB + K_BC
DF_BA = K_AB / sum_K_B
DF_BC = K_BC / sum_K_B

# Distribution factors at joint C
sum_K_C = K_CB + K_CD
DF_CB = K_CB / sum_K_C
DF_CD = K_CD / sum_K_C

# Fixed-end moments (wL^2/12)
w = bridge_params['dead_load'] + bridge_params['live_load']
FEM_AB = -w * L1**2 / 12  # negative = counterclockwise at A
FEM_BA = w * L1**2 / 12
FEM_BC = -w * L2**2 / 12
FEM_CB = w * L2**2 / 12
FEM_CD = -w * L3**2 / 12
FEM_DC = w * L3**2 / 12

print(f"Continuous Bridge Analysis - Moment Distribution")
print(f"=" * 50)
print(f"\nSpan lengths: {L1}m, {L2}m, {L3}m")
print(f"Total load: {w} kN/m")

print(f"\nDistribution Factors:")
print(f"  Joint B: DF_BA = {DF_BA:.3f}, DF_BC = {DF_BC:.3f}")
print(f"  Joint C: DF_CB = {DF_CB:.3f}, DF_CD = {DF_CD:.3f}")

print(f"\nFixed-End Moments (kN-m):")
print(f"  Span AB: M_AB = {FEM_AB:.1f}, M_BA = {FEM_BA:.1f}")
print(f"  Span BC: M_BC = {FEM_BC:.1f}, M_CB = {FEM_CB:.1f}")
print(f"  Span CD: M_CD = {FEM_CD:.1f}, M_DC = {FEM_DC:.1f}")

# Moment distribution iterations
moments = {
    'AB': FEM_AB, 'BA': FEM_BA,
    'BC': FEM_BC, 'CB': FEM_CB,
    'CD': FEM_CD, 'DC': FEM_DC
}

# Simplified moment distribution (symmetric structure, symmetric load)
# Joint B unbalanced moment
UB_B = -(moments['BA'] + moments['BC'])
dist_BA = DF_BA * UB_B
dist_BC = DF_BC * UB_B
CO_AB = 0.5 * dist_BA
CO_CB = 0.5 * dist_BC

# Joint C unbalanced moment
UB_C = -(moments['CB'] + CO_CB + moments['CD'])
dist_CB = DF_CB * UB_C
dist_CD = DF_CD * UB_C

# Final moments (after several iterations, converged values)
M_B = moments['BA'] + dist_BA + 0.5 * dist_CB  # Approximate
M_C = moments['CB'] + CO_CB + dist_CB  # Approximate

print(f"\nFinal Support Moments (approximate, kN-m):")
print(f"  Moment at B: {abs(M_B):.1f}")
print(f"  Moment at C: {abs(M_C):.1f}")

# Maximum positive moment in span
M_max_midspan = w * L2**2 / 8 - abs(M_B + M_C) / 2

print(f"\nMaximum positive moment in center span: {M_max_midspan:.1f} kN-m")

Your Challenge: Indeterminate Beam Analysis

Analyze a two-span continuous beam using the force method.

Goal: Determine the support reactions and bending moments for a continuous beam.

Problem Setup

import math

# Beam configuration
beam_config = {
    'L1': 6.0,            # meters (first span)
    'L2': 8.0,            # meters (second span)
    'EI': 50000,          # kN-m^2
    'w1': 20.0,           # kN/m (uniform load on span 1)
    'P': 40.0,            # kN (point load on span 2)
    'P_location': 5.0,    # meters from middle support
}

# This is a 1-degree indeterminate structure
# Select reaction at middle support (B) as the redundant

# Primary structure: two simply supported beams

# Displacement at B due to applied loads (released structure)
# For span 1 with UDL:
L1 = beam_config['L1']
w1 = beam_config['w1']
# Deflection at B due to w1 on span 1 (using superposition)
delta_B1_load = 5 * w1 * L1**4 / (384 * beam_config['EI'])

# For span 2 with point load:
L2 = beam_config['L2']
P = beam_config['P']
a = beam_config['P_location']
b = L2 - a
# Deflection at B due to P on span 2
delta_B2_load = P * a * b * (L2**2 - a**2 - b**2) / (6 * L2 * beam_config['EI'])

# Total displacement at B due to loads
delta_B_load = delta_B1_load + delta_B2_load

# Flexibility coefficient: displacement at B due to unit load at B
# For two spans meeting at B
f_BB = (L1**3 / (48 * beam_config['EI'])) + (L2**3 / (48 * beam_config['EI']))

# Redundant reaction at B (compatibility: delta_B = 0)
R_B = delta_B_load / f_BB

# Calculate reactions at A and C
R_A = w1 * L1 / 2 - R_B * L1 / (2 * L1)  # Simplified
R_C = P * a / L2 + R_B * L2 / (2 * L2)   # Simplified

print(f"Two-Span Continuous Beam Analysis")
print(f"=" * 40)
print(f"\nGeometry:")
print(f"  Span 1: {L1} m with UDL = {w1} kN/m")
print(f"  Span 2: {L2} m with P = {P} kN at {a} m from B")

print(f"\nForce Method Results:")
print(f"  Reaction at B (redundant): {R_B:.2f} kN")

# Moment at B
M_B_left = R_A * L1 - w1 * L1**2 / 2
M_B_right = R_C * L2 - P * (L2 - a)

print(f"\nMoments:")
print(f"  Moment at B (from left): {abs(M_B_left):.2f} kN-m")

# Maximum positive moments
x_max_1 = R_A / w1 if R_A > 0 else L1/2  # Location of max moment in span 1
M_max_1 = R_A * x_max_1 - w1 * x_max_1**2 / 2

print(f"  Maximum positive moment in span 1: {M_max_1:.2f} kN-m at x = {x_max_1:.2f} m")

How would the analysis change if there were settlement at the middle support?

ELI10 Explanation

Simple analogy for better understanding

Imagine you're trying to figure out how much weight each leg of a table is holding. If the table has three legs, it's like a puzzle with one answer. But if it has four legs, there are many ways the weight could be shared - that's what engineers call 'indeterminate.' Structural analysis is like being a detective who figures out exactly how forces flow through complicated structures like bridges and buildings, even when the puzzle has extra pieces. Engineers use special math tricks and computers to solve these puzzles!

Self-Examination

Q1.

What is the degree of static indeterminacy and how is it calculated for frames and trusses?

Q2.

How does the force method differ from the displacement method in structural analysis?

Q3.

What is the purpose of influence lines and how are they used in bridge design?

Q4.

How are stiffness matrices assembled for frame structures using the direct stiffness method?

Q5.

What are the key assumptions and limitations of linear elastic structural analysis?