Skip to content

SpaciousCoder78/beam-xs

Repository files navigation

beam-xs

Python NumPy PyCharm Git GitHub

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)