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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
ω² = φᵀKφ / φᵀMφ. The exact fundamental is 5.3149 Hz.
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.