OpenSeesPy seismic frame simulation
An OpenSeesPy 3.8.0.0 nonlinear study of a synthetic three-storey, three-bay reinforced-concrete moment frame, comparing baseline, weak-storey, and strengthened variants.

Software compatibility
The structural model, scripts, and reference results use the pinned OpenSeesPy 3.8.0.0 environment. ETABS, SAP2000, STAAD.Pro, and Abaqus project files are not included.
Project definition
Problem statement
Nonlinear seismic response depends on member idealisation, material parameters, damping, mass, boundary conditions, motion scaling, and numerical convergence. A deliberately weak first storey can concentrate deformation and reduce lateral resistance.
Project objectives
- Build a transparent two-dimensional reinforced-concrete frame with fibre sections.
- Compare baseline, weak-storey, and strengthened column arrangements.
- Run gravity, modal, pushover, and nonlinear response-history analyses.
- Measure periods, base shear, roof displacement, storey drift, residual displacement, and convergence.
- Verify equilibrium, model counts, motion scaling, damping, and period trends.
Project structure
Project components
Frame model
Defines 16 nodes, floor masses, rigid horizontal constraints, fibre sections, 12 columns, 9 beams, fixed supports, and gravity loads.
Analysis sequence
Runs gravity, three-mode eigen analysis, displacement-controlled pushover, and Newmark response-history analysis.
Artificial motion generator
Creates repeatable broadband, pulse, and two-frequency acceleration histories at 0.10 g, 0.20 g, and 0.30 g.
Response recorder
Writes step-by-step roof displacement, base shear, floor displacement, storey drift, residual response, and completion state.
Verification
Checks model counts, gravity balance, modal order, damping coefficients, motion scaling, analytical estimates, and repository completeness.
Methodology
Project workflow
- 01Build
The scripted model creates the geometry, masses, materials, fibre sections, elements, constraints, and support conditions.
- 02Preload
A 35 kN per metre beam load is applied in ten gravity increments and retained for lateral analysis.
- 03Characterise
Three natural periods are computed for each frame variant.
- 04Push
Each frame reaches the four percent target roof drift in 192 displacement increments.
- 05Excite
Twenty-seven artificial-motion cases are run with documented completion and fallback behaviour.
- 06Compare
Python regenerates period, capacity, displacement, drift, and convergence tables and figures.
Demonstration scenario
A synthetic three-storey frame is checked under gravity and modal analysis, pushed to four percent roof drift, and subjected to broadband, pulse, and two-frequency artificial motions. The comparison shows how first-storey weakening changes period, capacity, drift concentration, residual response, and numerical robustness.
Engineering
Tools and method
- Tools
- The project uses OpenSeesPy 3.8.0.0, Python 3.12, NumPy, Pandas, Matplotlib for subject analysis, simulation, and results.
- Environment
- Pinned Python 3.12 and OpenSeesPy 3.8.0.0 with an AMD64 Docker route and native macOS ARM64 support.
- Structural model
- Concrete02, Steel02, rectangular fibre sections, Lobatto integration, force-based elements, and PDelta columns.
- Analysis controls
- Transformation constraints, RCM numbering, direct solvers, explicit convergence tests, Newton-family fallbacks, and retained stop records.
- Post-processing
- Versioned Python scripts regenerate all CSV, JSON, PNG, and SVG evidence from the analysis output.
Testing
Evaluation
Evaluation measures
- Gravity reaction balance at the expected 1.575 MN for all three variants
- First periods of 0.5576 s, 0.6054 s, and 0.5035 s for baseline, weak-storey, and strengthened variants
- Pushover peak base shears of 923.5 kN, 615.2 kN, and 1232.6 kN
- Twenty-five of twenty-seven dynamic cases completing the full 20 s duration
- Maximum observed dynamic storey drift of 3.723 percent in the baseline pulse case at 0.30 g
- Both incomplete cases occurring in the weak-storey frame at 0.30 g
Project boundaries
- Only the pinned OpenSeesPy 3.8.0.0 model and generated results are delivered.
- The frame, materials, damping, supports, and artificial motions use documented educational assumptions.
- The simulation is not a building design, collapse assessment, safety certificate, or code-compliance check.
- Real structural decisions require qualified engineers, site-specific hazard, current codes, drawings, material data, foundation assessment, and independent review.
Included
- 01Parametric three-storey, three-bay reinforced-concrete frame model
- 02Baseline, weak-storey, and strengthened section variants
- 03Gravity, modal, pushover, and nonlinear response-history analyses
- 04Twenty-seven artificial-motion cases across three PGA levels
- 0575 raw CSV and JSON result files with twelve engineering figure sets
- 06Complete project files, models, calculations, and analysis material in a private GitHub repository
- 0780-page project documentation in PDF and editable Word formats
- 08Setup and usage guide
Project record
No information is collected on this page.
- Permanent project ID
- GP-CV-0VO5CPQ
- Catalogued
- 22 Aug 2026
- Completed
- 23 Aug 2026
- Verified
- 23 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.