Sign conventions¶
GenSec uses a consistent right-hand coordinate system throughout. Understanding the sign conventions is essential for interpreting results correctly.
Coordinate system¶
The origin is at the bottom-left corner of the section bounding box.
\(x\)-axis: horizontal, pointing right (section width direction).
\(y\)-axis: vertical, pointing up (section height direction).
For sections created with parametric primitives
(primitives) or via YAML, this convention is
enforced automatically.
Strain sign convention¶
Force and moment signs¶
The moment convention follows directly from the fiber integration (see The fiber method):
Strain plane¶
The strain at any fiber location \((x_i, y_i)\) is given by:
where:
\(\varepsilon_0\) is the strain at the reference point (centroid by default),
\(\chi_x\) is the curvature about the \(x\)-axis [1/mm],
\(\chi_y\) is the curvature about the \(y\)-axis [1/mm].
Uniaxial bending corresponds to \(\chi_y = 0\).
Embedded vs. external rebars¶
For rebars that lie inside the bulk material (the default,
embedded: true), GenSec subtracts the displaced bulk material to
avoid double-counting the area occupied by the bar:
For external elements — CFRP strips bonded to the surface, steel
plates, external tendons — set embedded: false. The full rebar
stress is used without subtracting the bulk:
This distinction is critical for accurate results when mixing materials.
Units¶
GenSec works with a consistent set of units internally:
Quantity |
Unit |
|---|---|
Length |
mm |
Stress |
MPa |
Force |
N |
Moment |
N·mm |
Curvature |
1/mm |
Strain |
— |
YAML input uses kN and kN·m for demands (N_kN, Mx_kNm,
My_kNm) for convenience. The conversion happens automatically in
the YAML loader.