A Pedagogical & Commercial-Grade Structural Analysis Tool
Developed by Mr. D Mandal, Assistant Professor, Department of Civil Engineering, KITS Ramtek.
The Professional Truss Suite is an interactive, web-based environment for the linear static analysis of 2D trusses using the Direct Stiffness Method (DSM).
Unlike commercial "black-box" software (like SAP2000 or STAAD.Pro) that hides the underlying mathematics, this application is designed as a "Glass-Box" educational tool. It explicitly bridges the gap between finite element theory and computational execution, allowing students to observe the formulation of local and global stiffness matrices in real-time.
📌 Benchmark note: The built-in 9-Member Pratt Truss Benchmark applies 300 kN downward at Node 5 and 10 kN horizontal at Node 4, reproducing Table 2 of the published paper (Mandal, 2026, CAEE, 10.1002/cae.70183).
- 🎓 Educational "Glass-Box" Engine: View step-by-step mathematical formulations including the
$4 \times 4$ element stiffness matrices ($k$ ), the fully assembled unpartitioned global matrix ($K_{global}$ ), and the reduced partitioned system ($K_{ff} \cdot U_f = F_f$ ). - 📊 Dynamic Free-Body Diagrams (FBD): Renders high-fidelity, interactive Plotly graphics displaying undeformed geometry, dynamically scaled load arrows, and separated horizontal/vertical support reaction vectors (
$R_x$ ,$R_y$ ). - 🔄 Real-Time Unit Scaling: Seamlessly toggle the visual output between Newtons (N), Kilonewtons (kN), and Meganewtons (MN) without altering the base SI solver engine.
- 📝 1-Click Professional Reporting: Automatically generates a comprehensive
.pdfcalculation report containing software metadata, embedded high-resolution graphics, nodal displacements, and categorized member forces. - 🛡️ Mathematical Bulletproofing: Includes strict physics validation (intercepts zero-length members, negative materials) and pre-solve condition number checks to identify structurally unstable mechanisms.
The core solver relies on standard matrix structural analysis:
-
Local Stiffness Formulation: Calculates
$k_{local}$ using standard trigonometric transformations ($c = \cos\theta, s = \sin\theta$ ). -
Global Assembly: Vectorized mapping of local DOFs to assemble the
$2n \times 2n$ Global Stiffness Matrix. - Boundary Conditions: Partitions the matrix into free and restrained DOFs to solve for unknown displacements.
- Internal Forces: Extracts member axial forces, automatically tagging them as Tension (Positive/Blue) or Compression (Negative/Red).
- Python 3.9 or newer.
- Clone the repository:
git clone https://github.com/mdaipayan/Truss_app.git cd Truss_app - Install dependencies:
pip install -r requirements.txt
- Run the application:
streamlit run app.py
If you use the Professional Truss Suite in your teaching, research, or structural analysis projects, please cite the official publication in Computer Applications in Engineering Education:
Mandal, D. (2026). Development of an interactive web-based tool for 2D truss analysis using the direct stiffness method. Computer Applications in Engineering Education, 34(3), e70183. https://doi.org/10.1002/cae.70183
@article{mandal2026truss,
title={Development of an interactive web-based tool for 2D truss analysis using the direct stiffness method},
author={Mandal, Daipayan},
journal={Computer Applications in Engineering Education},
volume={34},
number={3},
pages={e70183},
year={2026},
publisher={Wiley},
doi={10.1002/cae.70183},
url={https://doi.org/10.1002/cae.70183}
}