← Back to project catalogue
GP-CV-0VO5CPQCivilReady

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.

OpenSeesPy seismic frame simulation project visual
GP-CV-0VO5CPQ · Civil
  • OpenSeesPy 3.8.0.0
  • Python 3.12
  • NumPy
  • Pandas
  • Matplotlib

Software compatibility

OpenSeesPy 3.8.0.0 only

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

01

Frame model

Defines 16 nodes, floor masses, rigid horizontal constraints, fibre sections, 12 columns, 9 beams, fixed supports, and gravity loads.

02

Analysis sequence

Runs gravity, three-mode eigen analysis, displacement-controlled pushover, and Newmark response-history analysis.

03

Artificial motion generator

Creates repeatable broadband, pulse, and two-frequency acceleration histories at 0.10 g, 0.20 g, and 0.30 g.

04

Response recorder

Writes step-by-step roof displacement, base shear, floor displacement, storey drift, residual response, and completion state.

05

Verification

Checks model counts, gravity balance, modal order, damping coefficients, motion scaling, analytical estimates, and repository completeness.

Methodology

Project workflow

  1. 01
    Build

    The scripted model creates the geometry, masses, materials, fibre sections, elements, constraints, and support conditions.

  2. 02
    Preload

    A 35 kN per metre beam load is applied in ten gravity increments and retained for lateral analysis.

  3. 03
    Characterise

    Three natural periods are computed for each frame variant.

  4. 04
    Push

    Each frame reaches the four percent target roof drift in 192 displacement increments.

  5. 05
    Excite

    Twenty-seven artificial-motion cases are run with documented completion and fallback behaviour.

  6. 06
    Compare

    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

  1. 01Parametric three-storey, three-bay reinforced-concrete frame model
  2. 02Baseline, weak-storey, and strengthened section variants
  3. 03Gravity, modal, pushover, and nonlinear response-history analyses
  4. 04Twenty-seven artificial-motion cases across three PGA levels
  5. 0575 raw CSV and JSON result files with twelve engineering figure sets
  6. 06Complete project files, models, calculations, and analysis material in a private GitHub repository
  7. 0780-page project documentation in PDF and editable Word formats
  8. 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

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.