OSAPI short for OpenSeesAPI is a python package that is used to write OpenSees tcl scripts quickly. OSAPI is written using an object-oriented programing style making easy to interact with other commonly used python packages like numpy, scipy and maptlotlib.
- Make sure you have OpenSees downloaded and installed (including the required tcl libraries).
- Add OpenSees (or OpenSeesSP/OpenSeesMP) to your system path. This can be done easily in the command prompt or terminal.
Windows Users:
set PATH=%PATH%;OpenSeesPath
Mac/Linux Users:
export PATH=$PATH:~/OpenSeesPath
- Install OpenSeesAPI using pip. This can be done using the following command.
pip install OpenSeesAPI
Advanced users (who intends to add classes or change the source code) can also clone this repository and then setup it in develop mode which allows you to make changes to the original source files as you run OSAPI (this is recommended as I have not included all the OpenSees classes).
Instructions:
- Add OpenSees to your path
- In your working directory, clone GitHub respository
git clone https://github.com/nassermarafi/OpenSeesAPI
- Install OSAPI in develop mode
python setup.py develop
- Start developing OSAPI and make some pull requests
Three Example Script using OSAPI are available:
- SampleScript1.py => SDOF System with a Deteriorating Ibarra Spring
- SampleScript2.py => 40 Story PEER - Tall Building Initiative Building with Buckling Restrained Braced Frames
- SampleScript3.py => Moment Curvature analysis for a concrete column
- SampleScript4.py => Dynamic Analysis of a Steel Moment Frame Structure (Recreation of Sample OpenSees TCL Script)
I am working on more. Email me (marafi [at] uw dot edu) if you have suggestions or need something specific.
The MIT License (MIT)
Copyright (c) 2016 Nasser Marafi
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.