Skip to main content

FRAME-LINK: Fatigue Reliability Assessment and Monitoring Extension for Structural Connection Integrity under Cyclic and Dynamic Loading

Project description

FRAME-LINK

Fatigue Reliability Assessment and Monitoring Extension for Structural Connection Integrity under Cyclic and Dynamic Loading

Structural Connection Mechanics ยท Welded and Riveted Joint Fatigue ยท Crack Propagation Mechanics ยท AI-Assisted Reliability Support


PyPI version PyPI downloads Python versions DOI OSF Preregistration ORCID License: MIT Domain Series Version


๐Ÿ“Œ Overview

FRAME-LINK is a structural engineering framework for the analysis, monitoring, and safety governance of welded and riveted connection systems โ€” including welded T-joints, gusset plate attachments, bolted splices, pin-and-hanger assemblies, and cruciform connections โ€” grounded in classical fracture mechanics, fatigue reliability engineering, and connection stiffness mechanics, with an AI-assisted computational support layer operating under strict physics-based constraints.

"A structural connection is not merely a component of a larger structural system โ€” it is frequently the governing link in the reliability chain, the element whose failure most directly produces overall structural loss of function. FRAME-LINK treats each individual connection as the subject of its own specific fatigue assessment, combining classical fracture mechanics with direct measurement, sensor-based monitoring, and AI-assisted trend estimation to provide continuous, quantitative safety governance."

Conventional periodic NDT inspection of structural connections cannot detect dynamic crack propagation patterns between inspections, assess fatigue damage accumulation under variable amplitude loading histories, or evaluate the connection reliability index under the specific loading conditions of the next extreme event. FRAME-LINK provides a continuous, quantitative, three-module analytical framework that classifies connection condition in real time as:

Signal Safety Status Action
๐ŸŸข STEADY ELASTIC STATE CSII โ‰ฅ 0.90 Connection response within elastic design bounds โ€” standard monitoring, no intervention
๐ŸŸ  ANOMALY DETECTED L1 0.75 โ‰ค CSII < 0.90 Onset of measurable stiffness change or fatigue growth โ€” targeted NDT inspection
๐ŸŸ  DEGRADATION WARNING L2 0.65 โ‰ค CSII < 0.75 Critical stiffness reduction or accelerating damage โ€” immediate load restriction
๐Ÿ”ด CRITICAL CONNECTION FAILURE CSII < 0.65 Safety threshold breached โ€” operational shutdown; emergency structural assessment

๐Ÿ—‚๏ธ Table of Contents


โœจ Key Features

  • Three-module coupled assessment pipeline โ€” SCFMM (Stress Concentration and Fracture Mechanics Module), FDARM (Fatigue Damage Accumulation and Reliability Module), CSDM (Connection Stiffness Degradation Module)
  • Connection Structural Integrity Index (CSII) โ€” weighted composite safety metric with four-level governance decision logic
  • Parisโ€“Erdogan crack propagation law โ€” da/dN = C ยท (ฮ”K)^m with Wheeler retardation correction for overload effects
  • IIW hot-spot stress extrapolation โ€” sub-model FE approach with 0.4t and 1.0t reference points for weld toe stress resolution
  • ASTM E1049-85 rainflow cycle counting โ€” variable amplitude stress history decomposition + Goodman mean stress correction
  • Cornellโ€“Hasoferโ€“Lind reliability index (ฮฒ) โ€” target ฮฒ = 3.8 (P_f โ‰ˆ 10โปโด/year) with continuous D_joint monitoring
  • Connection stiffness model updating โ€” direct joint stiffness measurement + AI-accelerated global stiffness matrix updating
  • Three-time-scale monitoring architecture โ€” 1s anomaly detection, 1h damage update, 24h model update + 48h forecast
  • ยฑ2.9% CSII accuracy โ€” validated against controlled fatigue tests and field SHM campaign data
  • Full open-source distribution โ€” available across 11 platforms

๐Ÿ“ Project Structure

FRAME-LINK/
โ”‚
โ”œโ”€โ”€ frame_link/                             # Core Python package
โ”‚   โ”œโ”€โ”€ __init__.py                         # Package entry point & public API
โ”‚   โ”œโ”€โ”€ pipeline.py                         # Main FRAME-LINK assessment pipeline
โ”‚   โ”œโ”€โ”€ csii.py                             # CSII composite index & governance logic
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ modules/                            # Three analytical modules
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ scfmm.py                        # Module 1: Stress Concentration & Fracture Mechanics Module
โ”‚   โ”‚   โ”œโ”€โ”€ fdarm.py                        # Module 2: Fatigue Damage Accumulation & Reliability Module
โ”‚   โ”‚   โ””โ”€โ”€ csdm.py                         # Module 3: Connection Stiffness Degradation Module
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ fracture/                           # Fracture mechanics subsystem
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ paris_erdogan.py                # Paris law: da/dN = C ยท (ฮ”K)^m
โ”‚   โ”‚   โ”œโ”€โ”€ stress_intensity.py             # SIF: ฮ”K = Y ยท ฮ”ฯƒ ยท โˆš(ฯ€ยทa)
โ”‚   โ”‚   โ”œโ”€โ”€ wheeler_retardation.py          # Wheeler overload retardation model
โ”‚   โ”‚   โ”œโ”€โ”€ kirsch_solution.py              # Kirsch stress field around holes
โ”‚   โ”‚   โ”œโ”€โ”€ scf_computation.py             # Stress concentration factor K_t
โ”‚   โ”‚   โ”œโ”€โ”€ sub_model_fe.py                 # IIW sub-model FE with mesh refinement
โ”‚   โ”‚   โ”œโ”€โ”€ hot_spot_stress.py              # 0.4t and 1.0t IIW reference extrapolation
โ”‚   โ”‚   โ””โ”€โ”€ fracture_toughness.py           # K_Ic brittle fracture limit assessment
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ fatigue/                            # Fatigue accumulation subsystem
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ rainflow.py                     # ASTM E1049-85 rainflow cycle counting
โ”‚   โ”‚   โ”œโ”€โ”€ palmgren_miner.py               # D(t) = ฮฃ n_i / N_i โ‰ค D_allowable
โ”‚   โ”‚   โ”œโ”€โ”€ sn_curves.py                    # Eurocode 3 / AISC / BS 7608 S-N database
โ”‚   โ”‚   โ”œโ”€โ”€ goodman.py                      # Goodman mean stress correction ฯƒ_a,eq
โ”‚   โ”‚   โ”œโ”€โ”€ detail_categories.py            # FAT class detail category registry
โ”‚   โ”‚   โ””โ”€โ”€ damage_map.py                   # Spatial damage distribution D(x,t)
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ reliability/                        # Structural reliability analysis
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ cornell.py                      # Cornell reliability index ฮฒ computation
โ”‚   โ”‚   โ”œโ”€โ”€ hasofer_lind.py                 # Hasoferโ€“Lind FORM invariant ฮฒ
โ”‚   โ”‚   โ”œโ”€โ”€ failure_probability.py          # P_f = ฮฆ(โˆ’ฮฒ) mapping
โ”‚   โ”‚   โ”œโ”€โ”€ limit_state.py                  # Limit state g(X) = R โˆ’ S
โ”‚   โ”‚   โ””โ”€โ”€ monte_carlo.py                  # Monte Carlo P_f verification
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ stiffness/                          # Connection stiffness degradation subsystem
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ joint_stiffness.py              # Direct joint stiffness measurement K_joint(t)
โ”‚   โ”‚   โ”œโ”€โ”€ model_updating.py               # FE model updating from measured response
โ”‚   โ”‚   โ”œโ”€โ”€ degradation_index.py            # S_deg,joint = 1 โˆ’ K_joint(t)/K_joint,0
โ”‚   โ”‚   โ”œโ”€โ”€ force_redistribution.py         # Global stiffness matrix K(t) update
โ”‚   โ”‚   โ””โ”€โ”€ capacity_tracker.py             # Member force demand vs fatigue capacity
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ connection_types/                   # Connection-type specific models
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ welded_joint.py                 # Weld toe stress concentration + residual stress
โ”‚   โ”‚   โ”œโ”€โ”€ bolted_splice.py                # Bolt preload relaxation + fretting fatigue
โ”‚   โ”‚   โ”œโ”€โ”€ gusset_plate.py                 # Re-entrant corner SCF + secondary bending
โ”‚   โ”‚   โ”œโ”€โ”€ pin_hanger.py                   # Pin-and-hanger stress corrosion + fretting
โ”‚   โ”‚   โ””โ”€โ”€ riveted_joint.py                # Rivet hole edge fatigue + bearing stress
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ai_support/                         # AI-assisted support layer (bounded)
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ anomaly_detection.py            # Strain field anomaly score A_score
โ”‚   โ”‚   โ”œโ”€โ”€ lstm_crack_growth.py            # LSTM crack propagation pattern recognition
โ”‚   โ”‚   โ”œโ”€โ”€ xgboost_fatigue.py              # XGBoost 24-48h fatigue trend estimation
โ”‚   โ”‚   โ”œโ”€โ”€ gaussian_process.py             # GP probabilistic reliability forecasting
โ”‚   โ”‚   โ”œโ”€โ”€ acoustic_emission.py            # AE b-value crack propagation detection
โ”‚   โ”‚   โ”œโ”€โ”€ physics_bounds.py               # Physics-based constraint enforcement
โ”‚   โ”‚   โ””โ”€โ”€ uncertainty.py                  # AI prediction uncertainty quantification
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ sensors/                            # Sensor integration and data fusion
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ strain_gauge.py                 # IIW rosette strain gauge processing
โ”‚   โ”‚   โ”œโ”€โ”€ acoustic_emission.py            # AE transducer signal processing
โ”‚   โ”‚   โ”œโ”€โ”€ bolt_load_cell.py               # Bolt preload measurement and tracking
โ”‚   โ”‚   โ”œโ”€โ”€ clip_gauge.py                   # LVDT / clip gauge joint stiffness input
โ”‚   โ”‚   โ”œโ”€โ”€ accelerometer.py                # MEMS biaxial dynamic stress contribution
โ”‚   โ”‚   โ””โ”€โ”€ fusion.py                       # Multi-sensor data fusion and QC
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ degradation/                        # Material and environmental degradation
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ corrosion.py                    # ISO 9224 corrosion rate at connection zone
โ”‚   โ”‚   โ”œโ”€โ”€ remaining_life.py               # T_rem = (a_cr โˆ’ a_0) / (da/dN ยท f_cycles)
โ”‚   โ”‚   โ”œโ”€โ”€ capacity_reduction.py           # R(t) = Rโ‚€ ยท (1 โˆ’ D_corr โˆ’ D_fatigue)
โ”‚   โ”‚   โ””โ”€โ”€ chaboche.py                     # Chaboche continuum damage mechanics
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ utils/                              # Shared utilities
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ metrics.py                      # CSII, ฮฒ, D_joint, S_deg computation
โ”‚       โ”œโ”€โ”€ validators.py                   # Input validation and safety bounds
โ”‚       โ””โ”€โ”€ constants.py                    # Material constants C, m, K_Ic, FAT classes
โ”‚
โ”œโ”€โ”€ monitoring/                             # Real-time monitoring dashboard
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ app.py                              # Streamlit application entry point
โ”‚   โ”œโ”€โ”€ dashboard.py                        # CSII governance dashboard layout
โ”‚   โ”œโ”€โ”€ crack_growth_plot.py                # Paris law crack propagation display
โ”‚   โ”œโ”€โ”€ damage_map.py                       # Spatial fatigue damage map renderer
โ”‚   โ”œโ”€โ”€ stiffness_trend.py                  # Connection stiffness degradation trend
โ”‚   โ””โ”€โ”€ components/
โ”‚       โ”œโ”€โ”€ csii_gauge.py                   # CSII composite index gauge display
โ”‚       โ”œโ”€โ”€ signal_panel.py                 # ๐Ÿ”ด๐ŸŸ ๐ŸŸข governance signal status
โ”‚       โ””โ”€โ”€ reliability_forecast.py         # 48h ฮฒ index trajectory projection
โ”‚
โ”œโ”€โ”€ archival/                               # Operational data archival
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ writer.py                           # Append-only JSON/CSV record writer
โ”‚   โ”œโ”€โ”€ checksum.py                         # SHA-256 tamper-evidence layer
โ”‚   โ””โ”€โ”€ partitioner.py                      # Per-module time-window CSV partitioner
โ”‚
โ”œโ”€โ”€ simulation/                             # Validation and benchmark environment
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ connection_configs.py               # Connection geometry and material definitions
โ”‚   โ”œโ”€โ”€ loading_scenarios.py                # Variable amplitude fatigue spectra
โ”‚   โ”œโ”€โ”€ benchmarks.py                       # Three-case validation suite
โ”‚   โ”œโ”€โ”€ parameters.py                       # Canonical v1.0.1 parameter registry
โ”‚   โ””โ”€โ”€ results/                            # Pre-computed validation outputs
โ”‚       โ”œโ”€โ”€ V1_welded_T_joint_variable_amplitude.json
โ”‚       โ”œโ”€โ”€ V2_railway_bridge_shm_campaign.json
โ”‚       โ””โ”€โ”€ V3_bolted_splice_preload_loss.json
โ”‚
โ”œโ”€โ”€ examples/                               # Usage examples and tutorials
โ”‚   โ”œโ”€โ”€ quickstart.py                       # Minimal working example
โ”‚   โ”œโ”€โ”€ basic_csii.ipynb                    # Jupyter: single-connection CSII assessment
โ”‚   โ”œโ”€โ”€ crack_propagation.ipynb             # Jupyter: Parisโ€“Erdogan walkthrough
โ”‚   โ”œโ”€โ”€ rainflow_counting.ipynb             # Jupyter: ASTM E1049-85 cycle counting
โ”‚   โ”œโ”€โ”€ reliability_index.ipynb             # Jupyter: Cornellโ€“Hasoferโ€“Lind ฮฒ computation
โ”‚   โ”œโ”€โ”€ streamlit_dashboard.py              # Launch real-time monitoring dashboard
โ”‚   โ””โ”€โ”€ remaining_life_prediction.py        # Remaining life forecast demo
โ”‚
โ”œโ”€โ”€ tests/                                  # Unit and integration tests
โ”‚   โ”œโ”€โ”€ test_scfmm.py
โ”‚   โ”œโ”€โ”€ test_fdarm.py
โ”‚   โ”œโ”€โ”€ test_csdm.py
โ”‚   โ”œโ”€โ”€ test_csii.py
โ”‚   โ”œโ”€โ”€ test_rainflow.py
โ”‚   โ”œโ”€โ”€ test_paris_erdogan.py
โ”‚   โ”œโ”€โ”€ test_reliability.py
โ”‚   โ””โ”€โ”€ test_pipeline.py
โ”‚
โ”œโ”€โ”€ docs/                                   # Documentation source
โ”‚   โ”œโ”€โ”€ architecture.md                     # Module architecture reference
โ”‚   โ”œโ”€โ”€ mathematics.md                      # Governing equations documentation
โ”‚   โ”œโ”€โ”€ monitoring.md                       # Sensor system and data fusion guide
โ”‚   โ”œโ”€โ”€ governance.md                       # CSII threshold calibration reference
โ”‚   โ””โ”€โ”€ api_reference.md                    # Full Python API reference
โ”‚
โ”œโ”€โ”€ paper/                                  # Research paper artifacts
โ”‚   โ”œโ”€โ”€ FRAME-LINK_Research_Paper.pdf       # Published paper (PDF)
โ”‚   โ”œโ”€โ”€ FRAME-LINK_Research_Paper.docx      # Editable Word version
โ”‚   โ””โ”€โ”€ figures/
โ”‚       โ”œโ”€โ”€ csii_formulation.svg
โ”‚       โ”œโ”€โ”€ paris_law_crack_growth.svg
โ”‚       โ”œโ”€โ”€ fatigue_damage_map.svg
โ”‚       โ””โ”€โ”€ scf_hot_spot_stress.svg
โ”‚
โ”œโ”€โ”€ .gitlab-ci.yml                          # GitLab CI/CD pipeline
โ”œโ”€โ”€ .github/
โ”‚   โ””โ”€โ”€ workflows/
โ”‚       โ”œโ”€โ”€ tests.yml
โ”‚       โ””โ”€โ”€ publish.yml
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ setup.cfg
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ requirements-dev.txt
โ”œโ”€โ”€ CHANGELOG.md
โ”œโ”€โ”€ CONTRIBUTING.md
โ”œโ”€โ”€ CODE_OF_CONDUCT.md
โ”œโ”€โ”€ AUTHORS.md
โ”œโ”€โ”€ LICENSE
โ””โ”€โ”€ README.md                               # This file

๐Ÿš€ Quick Start

Installation

# Install from PyPI
pip install frame-link-engine

# Install from source
git clone https://github.com/gitdeeper12/FRAME-LINK.git
cd FRAME-LINK
pip install -e .

Minimal Example

from frame_link import FrameLinkAssessor

# Initialize assessor with connection configuration
assessor = FrameLinkAssessor(
    connection_config="configs/welded_T_joint.yaml",
    sensor_stream="live"   # or path to historical CSV
)

# Run full FRAME-LINK assessment pipeline
result = assessor.evaluate()

print(result.csii)               # Connection Structural Integrity Index โˆˆ [0, 1]
print(result.signal)             # "STEADY_ELASTIC" | "ANOMALY_L1" | "DEGRADATION_L2" | "CRITICAL"
print(result.beta)               # Cornellโ€“Hasoferโ€“Lind reliability index ฮฒ
print(result.d_joint)            # Current Palmgrenโ€“Miner damage D_joint
print(result.s_deg)              # Connection stiffness degradation index S_deg,joint
print(result.crack_depth)        # Current estimated crack depth a (mm)
print(result.da_dn)              # Paris law crack propagation rate da/dN

With Full Three-Module Configuration

from frame_link import FrameLinkAssessor
from frame_link.modules import SCFMM, FDARM, CSDM

assessor = FrameLinkAssessor(
    connection_config="configs/welded_T_joint.yaml",
    modules={
        "scfmm": SCFMM(fat_class="FAT71", K_t_method="FE", mesh_convergence=0.02),
        "fdarm": FDARM(d_allowable=0.80, beta_target=3.8, sn_code="EC3"),
        "csdm":  CSDM(stiffness_warn=0.10, ai_accelerated=True),
    }
)

result = assessor.evaluate()
print(result.breakdown)
# {"scfmm": 0.91, "fdarm": 0.87, "csdm": 0.94}

Parisโ€“Erdogan Crack Growth Assessment

from frame_link.fracture import ParisErdogan, WheelerRetardation, StressIntensityFactor

# Define connection geometry and material constants
sif = StressIntensityFactor(Y=1.12, geometry="weld_toe")
paris = ParisErdogan(C=3e-13, m=3.0)
wheeler = WheelerRetardation(p=2.0)

# Compute crack propagation under variable amplitude loading
a_0 = 0.001          # Initial crack depth 1 mm
a_cr = 0.025         # Critical crack depth (fracture toughness limit)

result = paris.integrate(
    a_0=a_0, a_cr=a_cr,
    delta_sigma=85.0,   # MPa
    sif=sif,
    retardation=wheeler
)

print(f"Remaining cycles to failure: {result.N_remaining:,.0f}")
print(f"Estimated remaining life: {result.life_hours:.1f} h")

Fatigue Damage Accumulation

from frame_link.fatigue import RainflowCounter, PalmgrenMiner, SNcurve

# Load strain time series from instrumented connection detail
strain_ts = load_csv("sensors/weld_toe_strain.csv")

counter = RainflowCounter()
cycles = counter.count(strain_ts)           # ASTM E1049-85 rainflow

sn = SNcurve(fat_class=71, m=3, code="EC3")  # Eurocode 3 FAT71
miner = PalmgrenMiner(sn_curve=sn, goodman_correction=True)
D = miner.accumulate(cycles)               # D(t) = ฮฃ n_i / N_i

print(f"Fatigue damage: {D:.4f} (warning: 0.80, failure: 1.00)")

Launch Real-Time Monitoring Dashboard

# Start Streamlit CSII governance dashboard
streamlit run examples/streamlit_dashboard.py

# Dashboard at: http://localhost:8501
# Panels:
#   ยท CSII composite gauge with 4-level signal
#   ยท Paris law crack growth trend
#   ยท Fatigue damage map (spatial connection display)
#   ยท Connection stiffness degradation trend
#   ยท 48h ฮฒ reliability index trajectory forecast

๐Ÿงฉ FRAME-LINK Pipeline

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Sensor Input: Strain Gauges ยท AE Transducers ยท Bolt Load Cells ยท LVDT    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚
           โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
           โ”‚               โ”‚                  โ”‚
           โ–ผ               โ–ผ                  โ–ผ
        SCFMM           FDARM              CSDM
        IIW Sub-model   Rainflow           Direct stiffness
        FE hot-spot     ASTM E1049-85      K_joint(t) measurement
        Parisโ€“Erdogan   Palmgrenโ€“Miner     Model updating
        ฮ”K = Yยทฮ”ฯƒยทโˆšฯ€a  D(t) = ฮฃn_i/N_i   S_deg = 1โˆ’K/Kโ‚€
        Wheeler retard. Cornell ฮฒ index    Force redistribution
           โ”‚               โ”‚                  โ”‚
           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚
                AI-Assisted Support Layer
                Anomaly detection A_score (1s)
                LSTM crack pattern recognition
                XGBoost 24โ€“48h fatigue trend
                GP probabilistic ฮฒ forecast
                Physics-bounded outputs only
                           โ”‚
                           โ–ผ
          Connection Structural Integrity Index
          CSII = 0.40ยท(1โˆ’S_deg) + 0.35ยท(1โˆ’D/D_allow)
                     + 0.25ยท(ฮฒ_joint/ฮฒ_target)
                           โ”‚
                  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                  โ–ผ                 โ–ผ
           Safety Signal       Archival
           ๐ŸŸข๐ŸŸ ๐Ÿ”ด             JSON/CSV + SHA-256
           4-level CSII       Streamlit dashboard

Module Summary

# Module Governing Output Core Method
1 SCFMM ฮ”K(t), da/dN(t), K_t Parisโ€“Erdogan + IIW hot-spot FE sub-model
2 FDARM D_joint(t), ฮฒ(t), P_f Rainflow + Palmgrenโ€“Miner + Cornellโ€“Hasoferโ€“Lind
3 CSDM S_deg,joint(t), K_joint(t) Direct stiffness measurement + FE model updating
โ€” AISL CSII_forecast(t+48h) LSTM + XGBoost + GP (physics-constrained)
โ€” CSII CSII(t) โˆˆ [0,1] Weighted composite of all three modules

โš™๏ธ Governing Equations

Eq. 1 โ€” Stress Intensity Factor Range:
  ฮ”K = Y ยท ฮ”ฯƒ ยท โˆš(ฯ€ ยท a)

Eq. 2 โ€” Parisโ€“Erdogan Crack Propagation Law:
  da/dN = C ยท (ฮ”K)^m   [C โ‰ˆ 3ร—10โปยนยณ, m โ‰ˆ 3.0 for structural steel]

Eq. 3 โ€” Wheeler Retardation Correction:
  (da/dN)_eff = ฯ†_W ยท C ยท (ฮ”K)^m

Eq. 4 โ€” Fatigue Damage Accumulation (Palmgrenโ€“Miner):
  D_joint(t) = ฮฃแตข [ nแตข(t) / Nแตข(ฮ”ฯƒแตข) ] โ‰ค D_allowable = 0.80

Eq. 5 โ€” Cornell Reliability Index:
  ฮฒ = (ฮผ_R โˆ’ ฮผ_S) / โˆš(ฯƒ_Rยฒ + ฯƒ_Sยฒ + ฯƒ_AIยฒ)   โ†’   P_f = ฮฆ(โˆ’ฮฒ)

Eq. 6 โ€” Connection Structural Integrity Index:
  CSII = 0.40 ยท (1 โˆ’ S_deg,joint) + 0.35 ยท (1 โˆ’ D_joint / D_allowable)
             + 0.25 ยท (ฮฒ_joint / ฮฒ_target)

๐Ÿ“Š Scoring & Safety Bounds

CSII governance certification thresholds:
  CSII โ‰ฅ 0.90   โ†’   ๐ŸŸข Steady Elastic State
  0.75 โ‰ค CSII < 0.90   โ†’   ๐ŸŸ  Anomaly Detected Level 1
  0.65 โ‰ค CSII < 0.75   โ†’   ๐ŸŸ  Degradation Warning Level 2
  CSII < 0.65   โ†’   ๐Ÿ”ด Critical Connection Failure

Additional safety bounds:
  ฮฒ (reliability index)    โ‰ฅ  3.80   (target P_f โ‰ˆ 10โปโด/year)
  D_joint (Miner damage)   <  0.80   (D_allowable warning threshold)
  S_deg,joint              <  0.10   (10% stiffness degradation warning)
  a_current (crack depth)  <  0.60 ยท a_cr   (60% of fracture toughness limit)
  A_score (anomaly)        <  3.0    (3ฯƒ strain anomaly threshold)

Validation results (FRAME-LINK v1.0.1):

Case Connection / Scenario CSII Accuracy Crack Rate Error Fatigue MAE ฮฒ Accuracy
V1 Welded T-joint โ€” variable amplitude traffic ยฑ2.9% 4.1% 3.3% ยฑ4.7%
V2 Railway bridge SHM โ€” crack initiation detected ยฑ3.1% 3.8% 2.9% ยฑ3.2%
V3 Bolted splice โ€” progressive preload loss ยฑ2.8% 4.4% 3.7% ยฑ5.1%
Mean โ€” ยฑ2.93% 4.1% 3.3% ยฑ4.3%

๐ŸŒ Platforms & Mirrors

Platform URL Role
๐Ÿ™ GitHub (Primary) github.com/gitdeeper12/FRAME-LINK Source code, issues, PRs
๐ŸฆŠ GitLab (Mirror) gitlab.com/gitdeeper12/FRAME-LINK CI/CD mirror
๐Ÿชฃ Bitbucket (Mirror) bitbucket.org/gitdeeper-12/FRAME-LINK Enterprise mirror
๐Ÿ”๏ธ Codeberg (Mirror) codeberg.org/gitdeeper12/FRAME-LINK Open-source community
๐Ÿ“ฆ PyPI pypi.org/project/frame-link-engine Python package distribution
๐Ÿ”ฌ Zenodo doi.org/10.5281/zenodo.20440786 Citable DOI, paper & data
๐Ÿ“‹ OSF Project osf.io/framelink Research project registry
๐Ÿ“ OSF Preregistration doi.org/10.17605/OSF.IO/BP27A Pre-registered study protocol
๐ŸŒ Website frame-link.netlify.app Live documentation & dashboard
๐Ÿง‘โ€๐Ÿ”ฌ ORCID orcid.org/0009-0003-8903-0029 Researcher identity
๐Ÿ—„๏ธ Internet Archive archive.org/details/osf-registrations-bp27a-v1 Permanent archival copy

๐ŸŒ Official Website Pages

Page URL
Homepage frame-link.netlify.app
Dashboard frame-link.netlify.app/dashboard
Results frame-link.netlify.app/results
Documentation frame-link.netlify.app/documentation

๐Ÿ”„ Clone & Download

Git Clone

# GitHub (Primary)
git clone https://github.com/gitdeeper12/FRAME-LINK.git

# GitLab (Mirror)
git clone https://gitlab.com/gitdeeper12/FRAME-LINK.git

# Bitbucket (Mirror)
git clone https://bitbucket.org/gitdeeper-12/FRAME-LINK.git

# Codeberg (Mirror)
git clone https://codeberg.org/gitdeeper12/FRAME-LINK.git

Direct ZIP Download

Source Link
GitHub FRAME-LINK-main.zip
GitLab FRAME-LINK-main.zip
Bitbucket FRAME-LINK-main.zip
Codeberg FRAME-LINK-main.zip
PyPI files pypi.org/project/frame-link-engine/#files
Zenodo record doi.org/10.5281/zenodo.20440786

๐Ÿ“– Citation

If FRAME-LINK contributes to your research, please cite using one of the following formats.

๐Ÿ“ฆ PyPI Package

@software{baladi2026framelink_pypi,
  author       = {Baladi, Samir},
  title        = {{FRAME-LINK}: Fatigue Reliability Assessment and Monitoring
                  Extension for Structural Connection Integrity under
                  Cyclic and Dynamic Loading},
  year         = {2026},
  version      = {1.0.1},
  publisher    = {Python Package Index},
  url          = {https://pypi.org/project/frame-link-engine},
  note         = {Python package, MIT License, Series CONN-SAFETY-01}
}

๐Ÿ”ฌ Zenodo Archive (Paper & Data)

@dataset{baladi2026framelink_zenodo,
  author       = {Baladi, Samir},
  title        = {{FRAME-LINK}: Fatigue Reliability Assessment and Monitoring
                  Extension for Structural Connection Integrity under
                  Cyclic and Dynamic Loading โ€”
                  Research Paper and Simulation Data},
  year         = {2026},
  publisher    = {Zenodo},
  version      = {1.0.1},
  doi          = {10.5281/zenodo.20440786},
  url          = {https://doi.org/10.5281/zenodo.20440786},
  note         = {Structural Connection Integrity ยท CONN-SAFETY-01}
}

๐Ÿ“ OSF Preregistration

@misc{baladi2026framelink_osf,
  author       = {Baladi, Samir},
  title        = {{FRAME-LINK} Framework: Pre-registered Study Protocol for
                  Fatigue Reliability Assessment and Monitoring of Structural
                  Connection Integrity under Cyclic and Dynamic Loading},
  year         = {2026},
  publisher    = {Open Science Framework},
  doi          = {10.17605/OSF.IO/BP27A},
  url          = {https://doi.org/10.17605/OSF.IO/BP27A},
  note         = {OSF Preregistration}
}

๐Ÿ“„ Research Paper

@article{baladi2026framelink,
  author       = {Baladi, Samir},
  title        = {{FRAME-LINK}: Fatigue Reliability Assessment and Monitoring
                  Extension for Structural Connection Integrity under
                  Cyclic and Dynamic Loading},
  year         = {2026},
  month        = {May},
  version      = {1.0.1},
  doi          = {10.5281/zenodo.20440786},
  url          = {https://doi.org/10.5281/zenodo.20440786},
  note         = {Ronin Institute / Rite of Renaissance,
                  Series CONN-SAFETY-01}
}

APA (inline)

Baladi, S. (2026). FRAME-LINK: Fatigue Reliability Assessment and Monitoring Extension for Structural Connection Integrity under Cyclic and Dynamic Loading (Version 1.0.1, Series CONN-SAFETY-01). Zenodo. https://doi.org/10.5281/zenodo.20440786


๐Ÿ“œ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.

MIT License

Copyright (c) 2026 Samir Baladi

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

๐Ÿ‘ค Author

Samir Baladi Interdisciplinary Researcher โ€” Structural Reliability Engineering, Fatigue Mechanics & Computational Safety Analysis Ronin Institute / Rite of Renaissance

Contact Link
๐Ÿ“ง Email gitdeeper@gmail.com
๐Ÿง‘โ€๐Ÿ”ฌ ORCID 0009-0003-8903-0029
๐Ÿ™ GitHub github.com/gitdeeper12
๐Ÿ”ฌ Zenodo doi.org/10.5281/zenodo.20440786

CONN-SAFETY-01 ยท Version 1.0.1 ยท May 2026

DOI PyPI License: MIT Domain

"A structural connection is not merely a component โ€” it is the governing link in the reliability chain. FRAME-LINK treats each connection as the subject of its own specific fatigue assessment, providing continuous, quantitative safety governance at the detail level where structural failures originate."

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frame_link_engine-1.0.1.tar.gz (394.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frame_link_engine-1.0.1-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page