Skip to content

jkbgbr/anaStruct

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

anaStruct 2D Frames and Trusses

Build Status Documentation Status

Analyse 2D Frames and trusses for slender structures. Determine the bending moments, shear forces, axial forces and displacements.

Installation

For the actively developed version:

$ pip install git+https://github.com/ritchie46/anaStruct.git

Or for a release:

$ pip install anastruct

Documentation

Real world use case!

Non linear water accumulation analysis

Simple examples.

code examples!

Reference guide

reference

2D FEM Frames and Trusses

Development version

  • trusses ✔️
  • beams ✔️
  • moment lines ✔️
  • axial force lines ✔️
  • shear force lines ✔️
  • displacement lines ✔️
  • hinged supports ✔️
  • fixed supports ✔️
  • spring supports ✔️
  • q-load in elements direction ✔️
  • point loads in global x, y directions on nodes ✔️
  • dead load ✔️
  • q-loads in global y direction ✔️
  • hinged elements ✔️
  • rotational springs ✔️
  • non-linear nodes ✔️
  • geometrical non linearity ✖️
from anastruct.fem.system import SystemElements

ss = SystemElements(EA=15000, EI=5000)

# Add beams to the system.
ss.add_element(location=[[0, 0], [0, 5]])
ss.add_element(location=[[0, 5], [5, 5]])
ss.add_element(location=[[5, 5], [5, 0]])

# Add a fixed support at node 1.
ss.add_support_fixed(node_id=1)

# Add a rotational spring support at node 4.
ss.add_support_spring(node_id=4, translation=3, k=4000)

# Add loads.
ss.point_load(Fx=30, node_id=2)
ss.q_load(q=-10, element_id=2)

# Solve
ss.solve()

# Get visual results.
ss.show_structure()
ss.show_reaction_force()
ss.show_axial_force()
ss.show_shear_force()
ss.show_bending_moment()
ss.show_displacement()

About

2D structural analysis in Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 70.5%
  • Python 29.5%