Skip to content

cslotboom/OpenSeesPyHints

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSeesPyHints

A wrapper around the OpenSeesPy libray that contains docstrings and easier function calls. All commands can be mixed with basic OpenSeesPy commands.

a basic example:

import openseespyhint as op
import openseespy.opensees as ops

# Delete any old opensees objects
op.utility.wipe()
    
# Create the Basic Model
op.model.basic(2, 2)

# Create Nodes
op.model.node(1, [0.0, 0.0])
op.model.node(2, [144.0,  0.0])
op.model.node(3, [168.0,  0.0])
op.model.node(4, [72.0, 96.0])

# Apply boundary constraints
op.model.SPconstraint.fix(1, [1, 1])
op.model.SPconstraint.fix(2, [1, 1])
op.model.SPconstraint.fix(3, [1, 1])

# Create material boundary constraints
op.model.uniaxialMaterial.Elastic(1, 3000.0)    

# Define elements
op.model.element.Truss(1, [1,4], 10.0, 1)
op.model.element.Truss(2, [2,4], 5.0, 1)
op.model.element.Truss(3, [3,4], 5.0, 1)
   
# Create TimeSeries and load pattern
op.model.timeSeries.Linear(1)
op.model.pattern.Plain(1, 1)

# Create load
op.model.pattern.load(4, [100.0, -50.0])

# create SOE, numberer, constraints handler, integrator, and algorithm
op.analysis.system.BandSPD()
op.analysis.numberer.RCM()
op.analysis.constraints.Plain()
op.analysis.integrator.LoadControl(1.0)
op.analysis.algorithm.Linear()

# create analysis object
op.analysis.analysis('Static')

# perform the analysis
ops.analyze(1)

# get outputs    
ux = ops.nodeDisp(4,1)
uy = ops.nodeDisp(4,2)  
    
if abs(ux-0.53009277713228375450)<1e-12 and abs(uy+0.17789363846931768864)<1e-12:
    print("Passed!")
else:
    print("Failed!")   

Currently being built and tested. The build status of commands is as follows:

model [ ]

  • element (in progress)
  • node
  • SP_Constraint
  • mp_constraint
  • pc
  • timeSeries
  • pattern
  • mass
  • region
  • reyleigh
  • block
  • beamIntegration
  • uniaxialMaterial (in progress)
  • ndMaterial (in progress)
  • section
  • frictionModel
  • geomTransf

Analysis

Ouput [ ]

Utility [x]

FSI [ ]

Sensitivity [ ]

Relieability [ ]

Parallel [ ]

Once built, commands should be tested and compared to their original OpenSeesPy counterpart. Commands untested are labeled as such.

About

An easier way to interact with OpenSeesPy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages