Skip to content

kushaln3/Beams

Repository files navigation

🚧 Beam SFD & BMD Plotter 🚧

Plot Shear Force and Bending Moment Diagrams for Beams using Python + Flask

🌐 Live App: kushalnavodayan.azurewebsites.net
💻 Source Code: GitHub Repository


🚀 Features

  • Supports 3 types of beams:

    • Simply supported beam
    • Cantilever beam
    • Mixed beam
  • Load handling:

    • Multiple point forces at any position
    • Distributed loads with start & end points
    • Distributed loads can follow equations:
      • Polynomial (x^2 + 3x + 5)
      • Trigonometric (sin(x), cos(x))
      • Exponential (exp(x))
  • Unstable systems are detected and flagged.

  • Matplotlib plots for SFD and BMD.

  • Object-oriented design: all classes & methods can be reused in other projects.


🛠️ Tech Stack

  • Python (Core)
  • Sympy – symbolic math
  • NumPy – numerical computing
  • Pandas – tabular handling
  • Matplotlib – plotting
  • Flask – web framework
  • HTML + CSS + JS – frontend

⚡ Installation & Usage

Clone the repo:

git clone https://github.com/kushaln3/Beams
cd Beams

Install dependencies:

pip install -r requirements.txt

Run Command-Line Version

python main.py

Run Web App Locally

python app.py

Then open http://localhost:5000 in your browser.


🌐 Online Deployment

The project is deployed on Microsoft Azure:
👉 Try the Web App


🔮 Future Improvements

  • More user-friendly input format (e.g., accept 5x instead of 5*x)
  • Add a proper unstable system error page in the web version
  • Better frontend UI/UX improvements
  • Add export options (PDF/PNG for diagrams)

🙌 Acknowledgements

  • Built as part of a BTech 1st Year MnC Project at IIT Guwahati.
  • Special thanks to faculty: Tapan K. Mankodi for guidance and encouragement.
  • No AI was used for the algorithmic/logic part – ChatGPT was used only for styling (colors, hover animations, buttons).
  • Developed by Kushal N

image image image

About

A web-based Structural Analysis tool to plot SFD & BMD of beams. Supports complex distributed loads (Polynomial, Trig, Exp), instability detection, and multiple beam types using Python, SymPy, and Flask.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors