Eurocode 5 module: ec5
Overview
The ec5 module provides tools for the design of timber structures according to
EN 1995-1-1. It covers material classes for all common timber products, modification
factors, and ULS / SLS checks.
Materials
Timber (base class)
from eurocodepy.ec5 import Timber
t = Timber('C24')
t.fmk # characteristic bending strength [MPa]
t.ft0k # tension parallel to grain [MPa]
t.fc0k # compression parallel to grain [MPa]
t.fvk # shear strength [MPa]
t.E0mean # mean modulus of elasticity parallel to grain [MPa]
t.E0_05 # 5th percentile modulus [MPa]
t.Gmean # mean shear modulus [MPa]
t.rhok # characteristic density [kg/m³]
t.rhomean # mean density [kg/m³]
SolidTimber
For sawn structural timber (strength classes C and D).
from eurocodepy.ec5 import SolidTimber, Softwood, Hardwood
c24 = SolidTimber('C24') # softwood C class
d30 = SolidTimber('D30') # hardwood D class
Glulam
For glued laminated timber (GL classes).
from eurocodepy.ec5 import Glulam
gl28h = Glulam('GL28h') # homogeneous
gl28c = Glulam('GL28c') # combined
Other product classes
| Class | Product |
|---|---|
CLT |
Cross-laminated timber |
LVL |
Laminated veneer lumber |
ST |
Structural timber (alias for SolidTimber) |
ServiceClass (enum)
| Member | Description |
|---|---|
SC1 |
Indoor, dry conditions (MC ≤ 12%) |
SC2 |
Covered, outdoor (MC ≤ 20%) |
SC3 |
Exposed to weather |
LoadDuration (enum)
Permanent, LongTerm, MediumTerm (= Medium), ShortTerm, Instantaneous
k_mod — modification factor
kmod = timber.k_mod(
service_class=ServiceClass.SC1,
load_duration=LoadDuration.Medium,
)
GetTimberDesignValues
Convenience function that returns design strengths for a given timber grade, service class, and load duration in a single call.
ULS checks — ec5.uls
Bending — ec5.uls.bending
from eurocodepy.ec5.uls.bending import (
calc_mrd, # design bending resistance
calc_lateral_torsional_buckling,
check_biaxial_bending,
)
Shear — ec5.uls.shear
from eurocodepy.ec5.uls.shear import (
calc_vrd, # design shear resistance
calc_torsion, # torsion capacity
)
SLS checks — ec5.sls
Vibration — ec5.sls.vibration
from eurocodepy.ec5.sls.vibration import floor_freq, vel, vlim, a_from_b, b_from_a
f1 = floor_freq(l=5.0, EI=1.2e10, m=300.0) # fundamental frequency [Hz]
v = vel(...) # unit impulse velocity response [m/s per N]
vl = vlim(...) # velocity limit [m/s per N]
Deformation — ec5.sls.deformation
from eurocodepy.ec5.sls import deformation
Compliance
Calculations follow EN 1995-1-1:2004+A2:2014.