Skip to main content

opstool: A Python package for structural analysis and visualization using OpenSeesPy

Project description

opstool: Pre-Processing, Post-Processing, and Visualization for OpenSeesPy and OpenSees

pypi Downloads Documentation Status github stars GitHub License CodeFactor

opstool is a powerful and user-friendly package 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.

Installation

The package is still under development. To use, install opstool from opstool-PyPI:

pip install --upgrade opstool

The restriction on the python version mainly depends on openseespy, it is recommended that you use Miniconda or Anaconda Distribution to avoid library version incompatibilities.

After installing, open Anaconda Prompt to execute the following code:

conda create -n opensees python=3.12 numpy scipy pandas xarray notebook matplotlib
conda activate opensees
pip install openseespy
pip install opstool

image.png

  • The first line of code will create an environment called opensees and install Python 3.12 and libraries such as numpy, scipy, pandas, xarray, notebook, matplotlib, etc.
  • Please use conda activate opensees to activate the environment, and then you can install various third-party packages in the environment, such as pip install openseespy and pip install opstool.
  • You can also install the packages from anaconda / packages, such as conda install conda-forge::scikit-learn.

Document

Latest: See https://opstool-doc.readthedocs.io/en/latest/.

For v1.0.20 and earlier versions See https://opstool.readthedocs.io/en/v1.0.20/

[!TIP] Since an opstool version v1.0.1, the API and features have undergone significant changes and upgrades. As a result, it feels more like a new library, and you should take some time to familiarize yourself with the new interface usage.

Citing

If you use opstool in your work, please cite the following publication:

Yexiang Yan and Yazhou Xie. "opstool: A Python library for OpenSeesPy analysis automation, streamlined pre-and post-processing, and enhanced data visualization." SoftwareX 30 (2025): 102126. DOI: https://doi.org/10.1016/j.softx.2025.102126

Acknowledgements

I sincerely thank EOS for the Honorable Mention in Pre/Post-processing & Implementations at the 1st EOS OpenSees Research and Innovation Awards.

🎉 Announcing the Winners of the 1st EOS OpenSees Research and Innovation Awards! 🎉

Key Features

  1. Preprocessing Tools:
    • Fiber Section Meshing: Generate detailed fiber meshes for various geometries.
    • GMSH Integration: Import and convert Gmsh models, including geometry, mesh, and physical groups.
    • Unit System Management: Ensure consistency with automatic unit conversions.
    • Mass Generation: Automate lumped mass calculations.
  2. Postprocessing Capabilities:
    • Easy retrieval and interpretation of analysis results using xarray.
  3. 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.
  4. Intelligent Analysis:
    • Features like automatic step size adjustment and algorithm switching to optimize simulation workflows. See Smart Analysis.
    • Moment-Curvature Analysis: Generate moment-curvature curves for various sections.

Why Choose opstool?

  • Efficiency: Streamlines complex workflows, reducing time spent on repetitive tasks.
  • Flexibility: Provides nearly identical interfaces for different visualization engines.
  • Accessibility: Makes advanced structural analysis tools like OpenSeesPy more approachable to users of all levels.

opstool is actively evolving, with continuous additions of new features planned for the future. With opstool, you can focus on what matters most: understanding and solving your structural engineering challenges. Whether you are building models, visualizing results, or interpreting data, opstool is your go-to solution for OpenSeesPy workflows.

[!NOTE]
This project is a non-profit open-source initiative. Use at your own risk.

License

This software is published under the GPLv3 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opstool-1.0.26.tar.gz (586.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opstool-1.0.26-py3-none-any.whl (654.2 kB view details)

Uploaded Python 3

File details

Details for the file opstool-1.0.26.tar.gz.

File metadata

  • Download URL: opstool-1.0.26.tar.gz
  • Upload date:
  • Size: 586.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.4 Windows/11

File hashes

Hashes for opstool-1.0.26.tar.gz
Algorithm Hash digest
SHA256 e4787d3796facd0c816adb28c1cf0b7b7d2613e62628adf1ef495b4a7aba4272
MD5 be9dea7ff20e95191d72c7845ad5b587
BLAKE2b-256 2326e8402bff1826c311f8fd9bd11d3b202e21cf82217b2a33f738a869930b0e

See more details on using hashes here.

File details

Details for the file opstool-1.0.26-py3-none-any.whl.

File metadata

  • Download URL: opstool-1.0.26-py3-none-any.whl
  • Upload date:
  • Size: 654.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.4 Windows/11

File hashes

Hashes for opstool-1.0.26-py3-none-any.whl
Algorithm Hash digest
SHA256 9dc4339dbe670cbf137e912e982f88a99173cf59dfc77f1e99b18461eb3b0f2b
MD5 2cc2c64413a68c43b1c68164d7329975
BLAKE2b-256 c7b820c2b4774b1dcbb638cd611972736dc64a32ca84b8618590b850d2b00334

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page