Jupyter Notebook Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
anastruct Copy instead of deep copy when checking eigenvalues. Jan 15, 2018
conda documentation Sep 4, 2017
doc documentation Sep 4, 2017
images readme Aug 7, 2016
.gitignore documentation Sep 4, 2017
.travis.yml changed name and license Aug 27, 2017
LICENSE.txt changed name and license Aug 27, 2017
MANIFEST.in include pyx files Oct 11, 2017
README.md doc Sep 4, 2017
setup.py release 1.0b4 Nov 21, 2017

README.md

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()