M3MDOF / worked example
Structural dynamics · worked example

Free vibration of a three-storey frame.

Four concrete columns per floor, three lumped masses, three lateral degrees of freedom. This sheet follows the problem from section properties to storey stiffness, solves the eigenvalue problem, and finishes with the mode shapes and the total free-vibration response — every number recomputed live.

Walk through the solution ↓
Fundamental frequency
5.315Hz
Fundamental period
0.1881s
Circular frequency
33.39rad/s
00
The idealisation

Three floors, three degrees of freedom

The floor slabs are axially rigid and carry all the mass; the columns are massless, axially rigid and fixed at both ends. That shear-building idealisation leaves one lateral translation per floor, so the structure is a 3-DOF system with a tridiagonal stiffness matrix.

live model
Fig. 1 · elevation and planheights to scale
Model dataas given

Assumptions. Linear elastic behaviour; floor diaphragms rigid in their own plane; columns fixed against rotation at every slab; no axial deformation of columns; damping neglected — this is free vibration. The concrete modulus uses the normal-weight ACI 318 relation Ec = 4700√f′c (MPa).

The sketch gives m₃ = 1,250 kg, a very light roof. If the intended value was 12,500 kg, open the parameter lab and use the preset — every result on the page will recompute.

01
Question 1 · stiffness

One column, then a whole floor

A column held against rotation at both ends and pushed sideways by δ carries a shear of 12EIδ/h³. Four identical columns share the floor displacement, so the storey stiffness is simply four times the column stiffness. Height enters cubed, so the short top storey is by far the stiffest.

k = 12EI / h³
Section & column stiffnessSI units
kcol = 12EIh³ and Kfloor = 4 kcol

For a fixed–fixed column the end moments are 6EIδ/h² and the shear is 12EIδ/h³, with the inflection point at mid-height. Halving a storey height would multiply its lateral stiffness by eight.

The top storey is the stiffest. It is the shortest (3.0 m) and carries the lightest mass, which is why the third mode ends up localised in the roof. The first storey is the softest, so it attracts most of the drift in the fundamental sway.

Storey stiffness summary
02
Question 2 · natural frequencies & periods

The eigenvalue problem

With the mass and stiffness matrices assembled, free vibration (K − ω²M)φ = 0 has non-trivial solutions only when the determinant vanishes. For three floors that condition is a cubic in λ = ω²; its three roots are the squared natural frequencies.

det(K − ω²M) = 0
Stiffness matrix KkN/m
Mass matrix Mkg
Generalised eigenproblem3 × 3
( K − ω²M ) φ = 0

M is diagonal because the mass is lumped at the floor levels. The off-diagonal −Ki terms in K are the coupling between adjacent storeys.

Characteristic equation
normalised det(K − λM)λ = ω²
Natural frequencies & periodsω = √λ, f = ω/2π, T = 2π/ω

The fundamental period T₁ ≈ 0.188 s is the one an earthquake would feel first. The higher modes run five to six times faster, and their contribution to the total response dies out rapidly once any damping is present.

03
Question 3 · mode-shape factors

Three ways to sway

Back-substituting each root into (K − λM)φ = 0 gives its eigenvector. Normalised so that the top-floor factor is 1.0, the components are the mode-shape factors the problem asks for. Only the shape matters: any scalar multiple is the same mode.

φroof = 1.0
Mode-shape factorsroof = 1.0

The problem fixes the top-floor factor at 1.0. That is a choice of scale, not extra physics — any scalar multiple describes the same mode.

Orthogonality & modal massφᵣᵀMφₛ

The modes are orthogonal with respect to the mass matrix, so the off-diagonal terms vanish. Each diagonal term is the modal mass used in the superposition.

Why modes 2 and 3 look unusual. The roof mass (1.25 t) is tiny next to the second-floor mass (21.5 t), so the upper part of the frame has very little inertia to resist the stiff top storey. Mode 2 is dominated by the soft first storey (φ₁ = −4.45 with the upper floors barely moving), and mode 3 is a local oscillation of the light roof against the second floor. A useful check: the top storey acting alone would vibrate at √(K₃/m₃) ≈ 144 rad/s, almost exactly ω₃ = 148 rad/s.

04
Question 4 · sketches & total response

The shape, and the shape in motion

A mode shape is a fixed pattern; the total shape is what the frame actually does when the three modes are added together, each oscillating at its own frequency. Pull the roof (or the whole frame) sideways, release it from rest, and watch the superposition.

x(t) = Σ φᵣ qᵣ(t)
exaggerated ×1t = 0.00 s
TOTAL RESPONSE
Superposition of three modes
FLOOR 1
0.0mm
FLOOR 2
0.0mm
ROOF
0.0mm
floor 1 floor 2 roof
speed
scale
Mode shape vs total shapesuperposition

Each mode shape φᵣ is a fixed deformed form: all floors move together in one pattern whose amplitude changes with time. The total shape x(t) is the sum of the three modes, each running at its own frequency, with the amplitude of each fixed by the initial conditions.

x(t) = Σ φᵣ [ qᵣ(0) cos ωᵣt + q̇ᵣ(0)/ωᵣ sin ωᵣt ]
Initial conditions in useuniform sway

The generalised coordinate qᵣ(0) = φᵣᵀMx₀. Switching the initial condition changes these amplitudes — and therefore the shape you see — but not the mode shapes themselves.

05
Check · independent methods

Does the answer hold up?

Two hand methods and two independent implementations of the same matrices. Rayleigh's quotient gives an upper bound on the fundamental frequency; Stodola iteration converges to the fundamental mode; the Python and C reference solvers should reproduce these digits.

6 independent checks
Rayleigh quotientupper bound on ω₁

Assume a shape with the roof fixed at 1.0 — exactly the factor given in the problem — then move the two lower factors. The quotient always overestimates ω₁, and the closer the shape is to the true mode, the smaller the error.

0.695
0.987
5.3188Hz+0.07 %

ω² = φᵀKφ / φᵀMφ. The exact fundamental is 5.3149 Hz.

Stodola iterationconverges to mode 1

Starting from a straight line and repeatedly solving K u = M φ converges on the fundamental mode in three iterations — a useful hand check when no eigensolver is available.

Verificationindependent implementations