Rigid-diaphragm eigenvalue condensation — eccentric multi-storey building
de-Zhu rigid-diaphragm T-matrix condensation verified against an independent reduced-system reference
Technical features tested
- Eigenvalue (modal) analysis
- Custom de-Zhu T-matrix condensation
- Rigid floor diaphragms (Ux,Uy,Rz)
- Translation–torsion coupling (eccentric)
- Independent numpy reduced-system reference
- Dense eigh vs sparse eigsh
Problem description
SM5 verified STRIX’s sparse eigensolver on a bare frame, where the de-Zhu rigid-diaphragm condensation reduces to the identity. SM5b exercises the condensation itself. In an eccentric multi-storey building — four corner columns of equal area but distinct second moment of area — every floor is a rigid diaphragm: STRIX condenses each floor’s column-top nodes to one master with three DOF (Ux, Uy, Rz) through its de-Zhu T-matrix (K_red = TᵀKT). The stiffness eccentricity offsets the centre of rigidity from the centre of mass, coupling translation and torsion so the diaphragm lever-arm rows (u = U − dy·Θ) are genuinely exercised. The reference is the same reduced eigenproblem assembled independently in numpy and solved with the dense scipy.linalg.eigh — a different solver from STRIX’s sparse eigsh.
Geometry, properties & loading
Geometry
- Storeys
- 5
- Columns
- 4
- Plan
- 8000 × 5000 mm
- Storey height
- 3000 mm
Members & eccentricity
- E
- 30000 MPa
- A (all cols)
- 90000 mm²
- I base
- 6.75×10⁸ mm⁴
- I ×
- 1.0 / 1.6 / 2.3 / 3.1
Dynamics & condensation
- Diaphragm
- Rigid (per floor)
- DOF/floor
- 3 (Ux, Uy, Rz)
- Reduced DOF
- 15
- Solver
- eigsh vs eigh
Reference solution
- Eigenvalue ω² — mode 1 (Ux–Uy–Rz coupled)
(K_red − ω²M_red)·φ = 0= 2070.117026 rad²/s²
Independent reference: the SAME reduced eigenproblem assembled from first principles as a 3N×3N rigid-diaphragm shear building — per-column lateral springs k = 12EI/L³ at their plan lever arms, per-column torsion GJ/L, and lumped floor masses reduced about a reference point (M_ΘΘ = Σm·r², M_UΘ = −Σm·ay, M_VΘ = +Σm·ax) — solved with the DENSE generalised eigensolver scipy.linalg.eigh, a different solver and a separate implementation from STRIX's sparse eigsh. The rigid-diaphragm kinematics (u = U − dy·Θ, v = V + dx·Θ) follow the standard treatment (A. K. Chopra, Dynamics of Structures — rigid diaphragms with stiffness eccentricity). Since STRIX's condensed system and the numpy reference are the same discrete reduced eigenproblem, agreement is expected across all modes to near machine precision — isolating and verifying the de-Zhu condensation that SM5 left at the identity.
Results comparison
| Response quantity | Probe | STRIX | Reference | Δ | Verdict |
|---|---|---|---|---|---|
| Eigenvalue ω² (rad²/s²) | Mode 1 (mx29 my18 rmz42) | 2070.118463 | 2070.117026 | +0.00010% | PASS |
| Eigenvalue ω² (rad²/s²) | Mode 2 (mx35 my54 rmz0) | 2667.421714 | 2667.419862 | +0.00010% | PASS |
| Eigenvalue ω² (rad²/s²) | Mode 3 (mx25 my16 rmz47) | 3339.652542 | 3339.650222 | +0.00010% | PASS |
| Eigenvalue ω² (rad²/s²) | Mode 4 (mx3 my2 rmz4) | 17435.076039 | 17435.063931 | +0.00010% | PASS |
| Eigenvalue ω² (rad²/s²) | Mode 5 (mx3 my5 rmz0) | 22465.719351 | 22465.70375 | +0.00010% | PASS |
| Eigenvalue ω² (rad²/s²) | Mode 6 (mx2 my2 rmz5) | 28127.422197 | 28127.402663 | +0.00010% | PASS |
Condensation across sizes
| Building | ω² (rad²/s²) | Δ |
|---|---|---|
| 3 storeys (9 DOF) | 5666.60287 | +0.00010% |
| 5 storeys (15 DOF) | 2070.118463 | +0.00010% |
| 7 storeys (21 DOF) | 1060.451524 | +0.00010% |
The columns are single elements, so STRIX’s condensed system and the numpy reference are the same discrete reduced eigenproblem — agreement is expected across all modes to near machine precision, and §6 confirms it (worst 0.0001% over the six lowest modes). This table instead sweeps the storey count (3, 5, 7 → reduced DOF 9, 15, 21) and compares the fundamental eigenvalue ω² of STRIX’s de-Zhu reduction to the independent numpy reduction, showing the condensation reproduces the reference across building sizes. The tiny residual is the finite shear-rigid factor (the numpy reference is pure Euler).
Conclusion
STRIX’s de-Zhu rigid-diaphragm T-matrix condensation reproduces an independent numpy reduced-system reference (dense scipy.linalg.eigh) to better than 0.0002% across the six lowest modes of an eccentric, translation-torsion-coupled building, and across storey counts from 3 to 7. This closes §1.1’s custom eigenvalue path: SM5 verified the sparse eigensolver on an unconstrained frame (T = identity), and SM5b verifies the constraint condensation that real buildings trigger — together the two establish the modal foundation of the response-spectrum (RSA) pipeline.
References & analysis files
- A. K. Chopra, Dynamics of Structures: Theory and Applications to Earthquake Engineering — one-storey and multistorey systems with rigid floor diaphragms and stiffness eccentricity (translation-torsion coupling).
- Rigid-diaphragm kinematic condensation (master/slave transformation u = U − dy·Θ, v = V + dx·Θ); STRIX de-Zhu sparse T-matrix reduction K_red = TᵀKT, M_red = TᵀMT solved by scipy eigsh.
- STRIX headless harness: buildEigenPy → opensees.pyd (de-Zhu T-matrix + eigsh); independent reference reference_reduced.py (3N×3N shear building, dense scipy.linalg.eigh).
- Engine
- v1.0.6 (opensees.pyd)
- Run date
- 2026-08-19
- Record
- records/SM5b.json
- Evidence archive
- verif-evidence-eng1.0.6-win-x64.zip · SM5b/
- sha256
- (pending publish)