O3seespy Documentation

This is the official documentation of the O3seespy (or simply O3) package.

O3seespy - Object-oriented OpenSees in Python

The documentation is built off the OpenSees tcl and OpenSeesPy documentation and has been amended and added to to cover the additional functionality of the O3seespy package.

The main difference between O3seespy and OpenSeesPy is that O3seespy provides a pure python layer to evaluate OpenSees inputs. This improves debugging and allows parameters to be easily accessed within Python.

Contents

Features

This package provides:

  1. A ‘pythonic’ version of OpenSees - all input parameters to create OpenSees objects are all lowercase key-value arguments - all class objects are CamelCase - static string variables defined in ALL_CAPS - Where possible the exact name used in the original TCL version has been kept

  2. Fully namespaced package allowing full auto-complete e.g. ‘o3.uniaxial_material.Steel01(…)’

  3. Replication of underlying object-oriented C++ source code using Python objects.

  4. Type checking of inputs before calling C++ OpenSees code, so that python debugging and errors can be viewed

  5. In code documentation using python docstrings - can view the documentation within your IDE

  6. Additional features for using OpenSees in python: - saving and loading data directly from OpenSees into numpy arrays - saving and loading data directly from OpenSees into json files - Save an entire model as a json file - allows efficient passing of models between servers

  7. All object numbering handled by objects - no need for number tags!

  8. Additional logic checking of optional inputs