| .github/workflows | ||
| .idea | ||
| beamxs | ||
| docs | ||
| tests | ||
| .gitignore | ||
| index.html | ||
| LICENSE | ||
| main.py | ||
| paper.bib | ||
| paper.md | ||
| README.md | ||
| readthedocs.yaml | ||
| RELEASE_NOTES.txt | ||
| requirements.txt | ||
| setup.py | ||
beam-xs
Python Library for Beam Analysis for Civil Engineering
Developed by Aryan Karamtoth from Information Technology Department at Kakatiya Institute of Technology and Science
Supported Features
- Making a beam
- Calculating Support Reactions of a beam
- Applying load on a beam
Supported Beams
- Simply Supported Beam
- Overhanging Beam(Work in Progress)
Installation
pip install beamxs
Getting Started
Import the package
import beamxs as bm
Read the documentation and apply the required method for your purpose
Documentation
Built-in Methods:
-
createBeam(len): Method for creating a beamInput: len --> Length of Beam Output: beam --> Beam object
Example:
beam = bm.createBeam(10)
print(beam)
definePin(pinPos,beam):
Method for defining the position of pin support
Input: pinPos --> Pin Support Position
beam --> Beam object
Output: pinposition --> Pin Position
Example:
pinpos = bm.definePin(2,beam)
print(pinpos)
-
defineRoller(rollPos,beam):Method for defining the position of roller support
Input: rollPos --> Roller Support Position beam --> Beam object
Output: rollposition --> Roller Position
Example:
rollpos = bm.defineRoller(4,beam) print(rollpos) -
applyPointLoad(loadPos,loadMag,beam):Method for applying Point Load on the beam
Input: loadPos --> Position of Point Load loadMag --> Magnitude of Point Load beam --> Beam object
Output: load --> Applied Load
Example:
ptload = bm.applyPointLoad(4,60,beam) print(ptload) -
applyUDL(beam,loadPerUnitLength):Method for applying UDL (Uniformly Distributed Load) on the beam
Input: beam --> Beam object loadPerUnitLength --> Load Per Unit Length
Output: udl --> Applied UDL
Example:
udlarray = bm.applyUDL(beam,20) print(udlarray) -
applyUVL(beam,startLoad,endLoad):Method for applying UVL (Uniformly Varying Load) on the beam
Input: beam --> Beam object startLoad --> Start Load endLoad --> End Load
Output: uvl --> Applied UVL
Example:
uvlarray = bm.applyUVL(beam,20,40) print(uvlarray) -
applyMoment(momentPos, momentMag, beam):Method for applying Moment on the beam
Input: momentPos --> Moment Position momentMag --> Moment Magnitude beam --> Beam Object
Output: moments --> Moment Applied
Example:
appliedmoment = bm.applyMoment(3,20,beam) print(appliedmoment) -
calcReactionsSSB(loads, pinPos, rollPos, beam):Method for calculation support reaction of a simply supported beam with various loads
Input: loads --> Dictionary containing load data beam --> Beam Object pinPos --> Pin Position rollPos --> Roller Support Position
Output: Ra --> Reaction at pin support Rb --> Reaction at roller support
Example:
loads = [ {'type': 'point', 'position': 2, 'magnitude': 50}, {'type': 'udl', 'start': 3, 'end': 5, 'magnitude': 20}, {'type': 'uvl', 'start': 6, 'end': 8, 'start_magnitude': 10, 'end_magnitude': 30} ] pinPos = 1 rollPos = 9 Ra, Rb = bm.calcReactionsSSB(loads, pinPos, rollPos, beam) print(Ra) print(Rb)