Python Library for Structural Beam Analysis https://pypi.org/project/beamxs/
Find a file
2024-12-14 10:41:49 +05:30
.github/workflows Update draft-pdf.yml 2024-11-22 22:01:07 +05:30
.idea fixed errors in documentation 2024-03-18 18:21:29 +05:30
beamxs added new methods 2024-03-18 18:17:35 +05:30
docs Rename config.py to docs/conf.py 2024-03-17 13:12:27 +05:30
tests added new methods 2024-03-18 18:17:35 +05:30
.gitignore final 2024-03-17 14:42:55 +05:30
index.html docs 2024-03-17 13:15:17 +05:30
LICENSE Initial commit 2024-03-16 23:09:04 +05:30
main.py added new methods 2024-03-18 18:17:35 +05:30
paper.bib Update paper.bib 2024-11-22 22:05:53 +05:30
paper.md Update paper.md 2024-11-22 22:00:18 +05:30
README.md Update README.md 2024-12-14 10:41:49 +05:30
readthedocs.yaml Update readthedocs.yaml 2024-03-17 13:13:05 +05:30
RELEASE_NOTES.txt fixed errors in documentation 2024-03-18 18:21:29 +05:30
requirements.txt docs 2024-03-17 13:15:17 +05:30
setup.py fixed errors in documentation 2024-03-18 18:21:29 +05:30

beam-xs

Python NumPy PyCharm Git GitHub

PyPI - Version PyPI - Python Version PyPI Downloads

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 beam

    Input: 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)