Nonlinear finite element analysis.
opensees
is a Python package that provides an intuitive API for nonlinear
finite element analysis, implemented in C++ through the OpenSees framework.
OpenSees features state-of-the-art finite element formulations and solution
algorithms, including mixed formulations for beams and solids, over 200 material models, and an
extensive collection of continuation algorithms to solve highly nonlinear
problems.
The opensees
package supports high quality interactive post processing via the
sees
package.
The package may be used as a drop-in replacement for both OpenSees.exe
and
OpenSeesPy (see Getting Started below), and generally provides a substantial performance boost.
This package is experimental and not yet intended for public use.
Note
This package is independent of the openseespy
library, which is documented in the OpenSees documentation
website. OpenSeesPy can be installed by running the following command:
pip install opensees[py]
The opensees
package can be installed into a Python environment
in the standard manner. For example, using pip
:
pip install opensees
There are several ways to use the opensees
package:
-
To execute Tcl procedures from a Python script, just create an instance of the
opensees.tcl.Interpreter
class and call itseval()
method:interp = opensees.tcl.Interpreter() interp.eval("model Basic -ndm 2") interp.eval("print -json")
-
To start an interactive interpreter run the shell command:
python -m opensees
To quit the interpreter, just run
exit
:opensees > exit
-
The
opensees
package exposes a compatibility layer that exactly reproduces the OpenSeesPy functions, but does so without mandating a single global program state. To run OpenSeesPy scripts, just change the import:import openseespy.opensees
to
import opensees.openseesrt
For true stateless modeling, the
Model
class should be used instead of the legacymodel
function; documentation is under development.
To compile the project see about/compiling
osmg
OpenSees Model Generatorsees
Modern rendering librarymdof
Optimized system identification librarysdof
Optimized integration for single degree of freedom systems
For more projects by the STAIRlab, visit https://github.com/STAIRlab .