https://github.com/spaciouscoder78/beam-xs
Python Library for Structural Beam Analysis
https://github.com/spaciouscoder78/beam-xs
beam-analysis civil-engineering pypi python3
Last synced: about 1 month ago
JSON representation
Python Library for Structural Beam Analysis
- Host: GitHub
- URL: https://github.com/spaciouscoder78/beam-xs
- Owner: SpaciousCoder78
- License: mit
- Created: 2024-03-16T17:39:04.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-14T05:11:50.000Z (6 months ago)
- Last Synced: 2024-12-14T06:18:12.745Z (6 months ago)
- Topics: beam-analysis, civil-engineering, pypi, python3
- Language: Python
- Homepage: https://pypi.org/project/beamxs/
- Size: 88.9 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# beam-xs






[](https://pepy.tech/projects/beamxs)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 StartedImport the package
```py
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 objectExample:
```py
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 PositionExample:
```py
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 PositionExample:
```py
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 LoadExample:
```py
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 UDLExample:
```py
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 UVLExample:
```py
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 AppliedExample:
```py
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 supportExample:
```py
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)
```