| Case | Structure Type | LSII Accuracy | Anomaly Detection | Fatigue MAE | β Accuracy | Status |
|---|---|---|---|---|---|---|
| V1 | Cable-stayed bridge — storm + strand fracture | ±2.9% | 93.8% | 2.8% | ±4.2% | ✅ PASS |
| V2 | Truss viaduct — fatigue collapse forensic | ±3.1% | 91.2% | 3.4% | ±3.8% | ✅ PASS |
| V3 | Scale model — progressive cable removal | ±2.6% | 95.1% | 2.1% | ±3.1% | ✅ PASS |
| MEAN | — | ±2.87% | 93.4% | 2.77% | ±3.7% | 🏆 CERTIFIED |
LSII certification threshold = 0.90 · β target = 3.8 · Damage limit = 0.80 · λ_cr target = 2.0
pip install load-span-engine
from load_span import LoadSpanAssessor # Initialize with span configuration assessor = LoadSpanAssessor( span_config="configs/cable_stayed_bridge.yaml", sensor_stream="live" ) result = assessor.evaluate() print(result.lsii_result.lsii) # LSII ∈ [0,1] print(result.lsii_result.signal.value) # STEADY_STATE | MONITORING_PHASE_1 | MITIGATION_PHASE_2 | CRITICAL_BREACH print(result.lsii_result.beta) # Reliability index β print(result.lsii_result.d_fatigue_max) # Palmgren-Miner damage print(result.lsii_result.lambda_cr) # Buckling critical load factor print(result.lsii_result.r_struct) # Structural redundancy index
from load_span.fatigue import RainflowCounter, PalmgrenMiner from load_span.fatigue.sn_curves import SNCurve import numpy as np # Load strain time series strain_ts = np.random.randn(10000) * 50 # ASTM E1049-85 rainflow cycle counting counter = RainflowCounter() cycles = counter.count(strain_ts) # Eurocode FAT90 S-N curve sn = SNCurve(fat_class="FAT90") # Palmgren-Miner damage accumulation miner = PalmgrenMiner(sn_curve=sn) damage = miner.accumulate(cycles) print(f"Fatigue damage: {damage:.4f} (limit: 0.80, failure: 1.00)")
from load_span.modules.lssam import LongSpanStabilityModule stab = LongSpanStabilityModule() stab.configure(lambda_cr_min=2.0, beta_min=3.5) result = stab.assess() print(f"λ_cr: {result['lambda_cr']:.3f} (target: 2.0)") print(f"β: {result['beta']:.3f} (target: 3.8)") print(f"P_cr: {result['p_cr_euler']/1e6:.2f} MN")
# Launch real-time Streamlit LSII governance dashboard $ streamlit run examples/streamlit_dashboard.py # Dashboard at: http://localhost:8501 # Panels: LSII composite gauge · Load redistribution trend · Fatigue damage map · Reliability index β · 24-48h forecast # Or open web dashboard: # https://load-span.netlify.app/dashboard
git clone https://github.com/gitdeeper12/LOAD-SPAN.gitgit clone https://gitlab.com/gitdeeper12/LOAD-SPAN.gitgit clone https://bitbucket.org/gitdeeper-12/LOAD-SPAN.gitgit clone https://codeberg.org/gitdeeper12/LOAD-SPAN.git@software{baladi2026loadspan_pypi,
author = {Baladi, Samir},
title = {{LOAD-SPAN}: Dynamic Load Redistribution Analysis and
Long-Span Structural Stability Assessment with
AI-Assisted Analytical Support},
year = {2026},
version = {1.0.0},
publisher = {Python Package Index},
url = {https://pypi.org/project/load-span-engine},
note = {Python package, MIT License, Series SPAN-SAFETY-01}
}
@dataset{baladi2026loadspan_zenodo,
author = {Baladi, Samir},
title = {{LOAD-SPAN}: Dynamic Load Redistribution Analysis and
Long-Span Structural Stability Assessment with
AI-Assisted Analytical Support —
Research Paper and Simulation Data},
year = {2026},
publisher = {Zenodo},
version = {1.0.0},
doi = {10.5281/zenodo.20422430},
url = {https://doi.org/10.5281/zenodo.20422430},
note = {Structural Safety & Reliability Engineering · SPAN-SAFETY-01}
}
@misc{baladi2026loadspan_osf,
author = {Baladi, Samir},
title = {{LOAD-SPAN} Framework: Pre-registered Study Protocol for
Dynamic Load Redistribution Analysis and Structural
Stability Assessment in Long-Span Systems},
year = {2026},
publisher = {Open Science Framework},
doi = {10.17605/OSF.IO/H35FU},
url = {https://doi.org/10.17605/OSF.IO/H35FU},
note = {OSF Preregistration}
}
Baladi, S. (2026). LOAD-SPAN: Dynamic Load Redistribution Analysis and Long-Span Structural Stability Assessment with AI-Assisted Analytical Support (Version 1.0.0, Series SPAN-SAFETY-01). Zenodo. https://doi.org/10.5281/zenodo.20422430