Quick Start

Introduction to opstool

opstool is a powerful and user-friendly library designed to simplify and enhance structural analysis workflows with OpenSees and OpenSeesPy. It provides advanced tools for preprocessing, postprocessing, and visualization, making structural simulations more efficient and accessible.

Quick Guide

Features

Preprocessing
  • Fiber Section Meshing: Generate detailed fiber meshes for various geometries. An example is shown below: Fiber Section Mesh

  • GMSH Integration: Import and convert Gmsh models, including geometry, mesh, and physical groups. An example is shown below: Converting GMSH to OpenSeesPy

  • Unit System Management: Ensure consistency with automatic unit conversions. An example is shown below: Automatic Unit Conversion

  • Quickly apply gravity loads and obtain mass and stiffness matrices: An example is shown below: Model data retrieval

  • Load Transformation: Simplify the application of loads. An example is shown below: Load Transformation

  • Tcl script to OpenSeesPy: Convert Tcl scripts to OpenSeesPy scripts. An example is shown below: Tcl to OpenSeesPy

Postprocessing

Easy retrieval and interpretation of analysis results using xarray.

All examples are shown below: Postprocessing with xarray

The following is a non-exhaustive list of response types supported by this library:

  • “disp”

  • “vel”

  • “accel”

  • “reaction”

  • “reactionIncInertia”

  • “rayleighForces”

  • “pressure”

  • “localForces”

  • “basicForces”

  • “basicDeformations”

  • “plasticDeformation”

  • “sectionForces”

  • “sectionDeformations”

  • “sectionLocs”

  • “axialForce”

  • “axialDefo”

  • “Stress”

  • “Strain”

  • “basicDeformation”

  • “basicForce”

  • “Stresses”

  • “Strains”

  • “secForce”

  • “secDefo”

  • “sectionForces”

  • “sectionDeformations”

  • “Stresses”

  • “Strains”

  • “sectionForcesAtNodes”

  • “sectionDeformationsAtNodes”

  • “StressesAtNodes”

  • “StrainsAtNodes”

  • “Stresses”

  • “Strains”

  • “StressesAtNodes”

  • “StressAtNodesErr”

  • “StrainsAtNodes”

  • “StrainsAtNodesErr”

  • “StressMeasures”

  • “StrainMeasures”

  • “StressMeasuresAtNodes”

  • “StrainMeasuresAtNodes”

  • “Stresses”

  • “Strains”

  • “StressesAtNodes”

  • “StressAtNodesErr”

  • “StrainsAtNodes”

  • “StrainsAtNodesErr”

  • “StressMeasures”

  • “StrainMeasures”

  • “StressMeasuresAtNodes”

  • “StrainMeasuresAtNodes”

  • “globalForces”

  • “localForces”

  • “localDisp”

  • “slips”

  • “disp”

  • “vel”

  • “accel”

  • “pressure”

  • “lambdas”

Visualization
  • Powered by PyVista (VTK-based) and Plotly (web-based).

  • Nearly identical APIs for flexible visualization of model geometry, modal analysis, and simulation results.

  • Supports most common OpenSees elements.

  • An example is shown below: Visualization

Intelligent Analysis
  • Features like automatic step size adjustment and algorithm switching to optimize simulation workflows. An example is shown below: Intelligent Analysis

  • Moment-Curvature Analysis: Generate moment-curvature curves for various sections. An example is shown below: Moment-Curvature Analysis

  • Linear Buckling Analysis: Perform linear buckling analysis for stability assessment. An example is shown below: Linear Buckling Analysis