- LINEAR FINITE ELEMENT ANALYSIS
- Notes
- Computational Stiffness Method
- Static Condensation, Settlements, Springs, Dependencies
- Finite Element Concepts
- Elements
- Truss Element
- Euler Bernoulli Beam Element
- Timoshenko Beam Element
- Frame Element with P-Delta
- Frame Element with Stability Functions
- Frame Element in Torsion
- 3D Linear Frame Element
- Q4 Element in 2D Elasticity
- M4 Element for Plates
- Examples
- Stiffness vs Flexibility Matrix
- Shear Wall Analysis
- Beam with Rigid Part
- Static Condensation
- Buckling Modes for Two-storey Frame
- Python (download)
- LinearStaticStructuralAnalysis.py (Screenshot) needs LinearStructuralAnalysisFunctions.py
- TemperatureWithFlexibilityAndStiffnessMethods.py
- MDOFbucklingAnalysis.py (Screenshot) needs LinearStructuralAnalysisFunctions.py
- CantileverModesOfBucklingAndVibration.py
- OpenSees
- OpenSees Linear Elastic Cantilever
- G0
- G0 is a Python code for linear static analysis, extracted from the more comprehensive G2 code posted further down this page. You can download the code as a single file here.
- G0Model.py
- G0Analysis.py
- G0TrussElement.py
- G0Frame Element.py
- G0Example1.py
- G0Example2.py
- G0Example3.py
- COMPUTATIONAL CROSS-SECTION ANALYSIS
- Notes
- Computational Cross-section Analysis
- Elements
- T3 Element in Torsion
- T6 Element in St Venant Torsion
- Python (download)
- Thin-walled Cross-section Analysis (Screenshots)
- Solid Cross-section Analysis (Screenshots)
- PLASTICITY
- Notes
- Plastic Capacity Analysis by Hand
- Computational Plastic Capacity Analysis
- Stress-based Failure Criteria
- Uniaxial J2 Plasticity
- Examples
- Plastic Capacity Examples
- Computational Plastic Capacity Analysis for a Frame
- Python (download)
- Generic Plastic Capacity Analysis (Screenshot)
- NONLINEAR FINITE ELEMENT ANALYSIS
- Notes
- Governing Equations and Solution Algorithms
- Load Incrementation Strategies
- Geometric Nonlinearity
- Material Nonlinearity
- Bouc-Wen Material Model
- Nonlinear Dynamic Analysis
- Elements
- Truss Elements with Geometric Nonlinearity
- Distributed Plasticity Elements
- Concentrated Plasticity Elements
- Examples
- Inelastic Stick Model with P-delta
- Shallow Truss Snap-through
- Python (download)
- Nonlinear 2DOF Load Control (Screenshot)
- Nonlinear 2DOF Displacement Control (Screenshot)
- G2
- G2 is a Python code for nonlinear static and dynamic structural analysis. It originated with a Matlab code created by Professor Fenves for a course on nonlinear analysis that I took at UC Berkeley around the turn of the century, i.e., when OpenSees changed name from G3. Several modifications, plus extensions related to the direct differentiation method are introduced in the Python code posted here. You can view the G2 code in the links below, or you can download all the files, as well as examples and ground motions, here.
- Elements
- Element 1 (Linear elastic truss element)
- Element 2 (Truss element with path-dependent material)
- Element 3 (Truss element with moderate displacements)
- Element 5 (Linear elastic frame element)
- Element 6 (Frame element with P-delta)
- Element 7 (Concentrated plasticity frame element: Elastic-perfectly-plastic, i.e., end releases)
- Element 8 (Concentrated plasticity frame element: Two-component parallel system)
- Element 9 (Concentrated plasticity frame element: One-component series system with uniaxial materials)
- Element 10 (Concentrated plasticity frame element: Rigid interior with path-dependent hinge materials)
- Element 12 (Distributed plasticity frame element: Displacement-based)
- Element 13 (Distributed plasticity frame element: Force-based)
- Sections
- Rectangular
- Wide-flange
- Uniaxial Materials
- Bilinear
- Plasticity
- Bouc-Wen
- Analysis Types
- Linear Static
- Linear Dynamic
- Nonlinear Static
- Nonlinear Dynamic
- SDOF Nonlinear Dynamic
- Auxiliary Files
- Model
- Quadrature
- OpenSees
- OpenSees is an object-oriented open-source software framework for nonlinear structural analysis, originating at UC Berkeley. It is a powerful tool that is popular worldwide in earthquake engineering. There are several ways to run OpenSees; you can compile an executable file yourself, you can use the OpenSeesPy interface for Python, which is recommended here, or you can use the old Tcl interface. See the OpenSees and OpenSeesPy websites, as well as the neat OpenSees Digital blog for additional information & examples.
- Examples
- OpenSees Uniaxial Material Tester
- OpenSees Nonlinear Static Cantilever
- OpenSees Nonlinear Dynamic Frame
- External OpenSeesPy Examples
- Nonlinear Truss Analysis
- Nonlinear Frame Analysis
- Moment Curvature Analysis
- Nonlinear Dynamic Analysis
- Elements (Blog posts from Professor Michael Scott via OpenSees Digital)
- Shell Elements
- Shell Mesh
- Multiple Vertical Line Element Model
- Beam with Finite-length Plastic Region
- Timoshenko Beam
- Sections (Blog posts from Professor Michael Scott via OpenSees Digital)
- How to Record Section Curvature
- Cross-section Meshing
- Hollow Steel Cross-sections
- Circular Cross-section Fibre Mesh
- Rectangular Cross-section Fibre Mesh
- Axial-moment (P-M) Interaction
- Section Aggregation
- Torsion and Fibres
- Materials (Blog posts from Professor Michael Scott via OpenSees Digital)
- Hysteretic Pinching Parameters
- Hysteretic Damage Parameters
- Concrete Material Models
- Geometric Nonlinearity (Blog posts from Professor Michael Scott via OpenSees Digital)
- Geometric Transformation
- Geometric Nonlinearity
- Leaning Column
- Load Incrementation (Blog posts from Professor Michael Scott via OpenSees Digital)
- Arc-length Load Incrementation Method
- Load Patterns and Time Series
- Damping (Blog posts from Professor Michael Scott via OpenSees Digital)
- Modal Damping
- Modal and Rayleigh Damping
- Quick Modal Damping
- Careful with Modal Damping
- Ground Motions (Blog posts from Professor Michael Scott via OpenSees Digital)
- Multi-directional Ground Motion
- Solvers (Blog posts from Professor Michael Scott via OpenSees Digital)
- Best Solvers for an SDOF Analysis
- Empty Spaces
- Stop Cargo Culting BandGeneral and Plain Numberer
- Invertible Does Not Mean Stable
- Inside the Equation Numbers
- Eigenvalue Analysis (Blog posts from Professor Michael Scott via OpenSees Digital)
- Why Your Eigenvalue Analysis Failed
- Eigen Almost Hear You Sigh
- One Way to Get Bad Eigenvalues
- Another Way to Get Bad Eigenvalues
- Eigenvalues During an Analysis
- Generic FE Analysis (Blog posts from Professor Michael Scott via OpenSees Digital)
- Analysis of Cable
- Patch Test
- Constraint Types
- Localization Problem
- Design, etc. (Blog posts from Professor Michael Scott via OpenSees Digital)
- Incremental Dynamic Analysis (IDA)
- Eccentrically Loaded Bolt Group