GenSec — Generic Section Calculator¶
Version: 0.2.2.dev3
GenSec is a modular Python package for fiber-based cross-section analysis of composite structural members under combined axial force and biaxial bending.
It computes the resistance domain \((N, M_x, M_y)\) of any cross-section composed of arbitrary materials — concrete, reinforcing steel, structural steel, CFRP, timber, or any user-defined \(\sigma\text{-}\varepsilon\) curve — and verifies load demands against it.
Important
GenSec is under active development and has not yet been fully validated for production use. Always cross-check results against independent calculations.
Key capabilities¶
Material-agnostic constitutive laws: parabola-rectangle concrete (EC2 / NTC 2018), elastic-plastic steel with optional hardening, EN 10025-2 structural steel, and arbitrary tabulated \(\sigma\text{-}\varepsilon\) curves.
Biaxial bending: full \((N,\,M_x,\,M_y)\) interaction surface with convex-hull demand verification.
Uniaxial bending: classic \(N\text{-}M\) interaction diagram as a special case.
Utilization ratios: \(\eta = d/r\) for each demand point, where \(d\) is the distance from the domain centroid and \(r\) the distance to the boundary.
Per-fiber post-processing: strain and stress at every fiber and rebar for any load state.
YAML-driven input: section geometry, materials, and demands in a single file.
CLI and Python API: use from the command line or import as a library.
EC2 Table 3.1 integration: automatic computation of all concrete parameters from \(f_{ck}\), including high-strength classes (\(f_{ck} > 50\;\text{MPa}\)).
Architecture
API Reference