A newer version of the Gradio SDK is available:
5.49.1
metadata
title: Beam UDL Calculator — Deterministic + Explainable
emoji: 🧮
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.48.0
app_file: app.py
pinned: false
license: mit
Beam UDL Calculator — Deterministic + Explainable
A transparent, first‑principles simply supported beam calculator under a uniformly distributed load (UDL).
The math is deterministic; an optional LLM produces a plain‑English explanation grounded purely in the computed numbers.
- Deterministic backend returns a structured record (JSON) with inputs, units, equations (LaTeX), results, and pass/fail checks — so users can see the math.
- Gradio UI shows (i) Numerical results and (ii) Explain the results.
- Optional LLM explanation (Hugging Face Transformers). When disabled, a deterministic template explainer is used.
Scope & Assumptions
- Euler–Bernoulli beam, small deflections; linear elastic material.
- Uniformly distributed load across the entire span; simply supported ends.
- Educational helper; not a design code. Use engineering judgment and applicable standards.
Inputs, Units, and Valid Ranges
| Name | Unit | Range | Default | Notes |
|---|---|---|---|---|
L |
m | 0.5–30 | 6.0 | Span length |
w_kN_per_m |
kN/m | 0–50 | 10.0 | Uniformly distributed load |
E_GPa |
GPa | 50–210 | 200 | Young’s modulus (steel ≈ 200) |
I_m4 |
m⁴ | 1e−7–1e−2 | 5.0e−5 | Second moment of area |
S_m3 |
m³ | 1e−6–1e−1 | 5.0e−4 | Section modulus |
Fy_MPa |
MPa | 150–700 (opt) | 250 | Yield strength (optional stress check) |
defl_ratio |
L/– | 180–1000 | 360 | Allowable deflection limit |
Governing Equations (first principles)
- Max bending moment: ( M_{\max} = \dfrac{w L^2}{8} )
- Max shear: ( V_{\max} = \dfrac{w L}{2} )
- Max elastic deflection: ( \delta_{\max} = \dfrac{5 w L^4}{384 E I} )
- Bending stress: ( \sigma_{\max} = \dfrac{M_{\max}}{S} )
What the app returns (structured record)
Example (abridged):
{
"meta": {"calc_name": "Simply supported beam under UDL", "version": "1.0.0", "timestamp_utc": "…"},
"assumptions": ["Euler–Bernoulli…", "UDL over full span…", "No partial factors…"],
"equations_TeX": {
"M_max": "M_{\\max} = \\frac{w L^2}{8}",
"V_max": "V_{\\max} = \\frac{w L}{2}",
"delta": "\\delta_{\\max} = \\frac{5 w L^4}{384 E I}",
"sigma": "\\sigma_{\\max} = \\frac{M_{\\max}}{S}"
},
"units": {
"inputs": {"L": "m", "w_kN_per_m": "kN/m", "E_GPa": "GPa", "I_m4": "m^4", "S_m3": "m^3", "Fy_MPa": "MPa", "defl_ratio": "L/ratio"},
"outputs": {"M_max_kN_m": "kN·m", "V_max_kN": "kN", "delta_mm": "mm", "sigma_MPa": "MPa"}
},
"inputs": { "L": 6.0, "w_kN_per_m": 10.0, "E_GPa": 200.0, "I_m4": 5e-5, "S_m3": 5e-4, "Fy_MPa": 250.0, "defl_ratio": 360 },
"results": { "M_max_kN_m": 45.0, "V_max_kN": 30.0, "delta_mm": 16.9, "sigma_MPa": 90.0 },
"checks": {
"stress": {"criterion": "sigma <= Fy", "utilization": 0.36, "status": "OK"},
"deflection": {"criterion": "delta <= L/360", "allowable_mm": 16.67, "utilization": 1.01, "status": "NG"}
},
"validation": {"passed": true, "messages": []},
"notes": "Educational tool; not a substitute for design codes or professional judgement."
}
References
- Gere, J.M., & Timoshenko, S.P. Mechanics of Materials.
- Roark, R.J., & Young, W.C. Roark’s Formulas for Stress and Strain.
- Beer, F.P., & Johnston, E.R. Mechanics of Materials.
(Used to confirm the standard UDL formulas and assumptions.)
License
- MIT
Acknowledgments
- GenAI usage: Explanatory text and repo scaffolding were assisted by ChatGPT.
- All engineering formulas and outputs are deterministic and were verified against standard references.