Eurocode 1 module: ec1
Overview
The ec1 module provides tools for EN 1991 (Actions on Structures). It covers
load type definitions, force representations, wind and snow sub-modules, and the
full EN 1990 load combination engine.
Load combinations
LoadType (enum)
Classifies an individual load for combination purposes.
| Member | Value | Description |
|---|---|---|
PERMANENT |
0 | Self-weight, superimposed dead load |
LIVE |
1 | Imposed loads (occupancy) |
WIND |
2 | Wind action |
SNOW |
3 | Snow load |
EARTHQUAKE |
4 | Seismic action |
TEMPERATURE |
5 | Thermal action |
FIRE |
6 | Fire action |
ACCIDENTAL |
7 | Other accidental actions |
OTHER |
8 | — |
CombinationType (enum)
| Member | Description |
|---|---|
ULS |
Ultimate Limit State (EN 1990 Eq. 6.10) |
ALS |
Accidental Limit State |
FLS |
Fatigue Limit State |
SLS_K |
SLS characteristic combination |
SLS_FR |
SLS frequent combination |
SLS_QP |
SLS quasi-permanent combination |
Load (dataclass)
Load(name: str, load_type: LoadType, gk: float = 0.0, qk: float = 0.0)
LoadCombinations
from eurocodepy.ec1 import Load, LoadType, LoadCombinations, CombinationType
loads = [
Load('G', LoadType.PERMANENT, gk=10.0),
Load('Q', LoadType.LIVE, qk=5.0),
Load('W', LoadType.WIND, qk=3.0),
]
combos = LoadCombinations(loads)
for c in combos.get(CombinationType.ULS):
print(c)
Force representations
| Class | Description |
|---|---|
BaseForce |
Abstract base class |
PlaneForce |
In-plane forces (Nx, Ny, Nxy) |
ShellForce |
Shell resultants (Mx, My, Mxy, Vx, Vy, Nx, Ny, Nxy) |
SlabForce |
Slab resultants (Mx, My, Mxy, Vx, Vy) |
FrameForce |
1-D frame member forces (N, Vy, Vz, Mx, My, Mz) |
Sub-modules
ec1.wind
Functions for wind load calculation following EN 1991-1-4. Exposed via
from eurocodepy.ec1 import wind or from eurocodepy import wind.
ec1.snow
Functions for snow load calculation following EN 1991-1-3.
Compliance
All combination logic follows EN 1990:2002 and its amendments.