Legno — §4.4¶
Verifiche per strutture in legno secondo NTC18 §4.4.
Riferimento normativo¶
NTC18 §4.4, Tab. 4.4.I–IV, Formule [4.4.1]–[4.4.16]
Include trazione/compressione parallela e perpendicolare [4.4.2–4.4.4], flessione, taglio, torsione, stabilità, interazione N-M [4.4.5–4.4.16], classi di servizio [Tab. 4.4.II] e classi di durata del carico [Tab. 4.4.I].
API¶
pyntc.checks.timber
¶
Verifiche costruzioni di legno — NTC18 §4.4.
Proprieta' dei materiali, resistenze di calcolo, verifiche SLU (trazione, compressione, flessione, taglio, instabilita'), verifiche SLE (deformabilita').
timber_beam_critical_factor(lambda_rel_m)
¶
Coefficiente riduttivo k_crit,m per instabilita' di trave [-].
NTC18 [4.4.12]: - lambda_rel <= 0.75: k_crit = 1.0 - 0.75 < lambda_rel <= 1.4: k_crit = 1.56 - 0.75 * lambda_rel - lambda_rel > 1.4: k_crit = 1 / lambda_rel^2
Parameters¶
lambda_rel_m : float Snellezza relativa di trave [-].
Returns¶
float k_crit,m [-].
Source code in src/pyntc/checks/timber.py
timber_beam_stability_check(sigma_m_d, f_m_d, lambda_rel_m)
¶
Verifica stabilita' trave (svergolamento) [-].
NTC18 [4.4.11]: sigma_m,d / (k_crit,m * f_m,d) <= 1.
Parameters¶
sigma_m_d : float Tensione di flessione di progetto [N/mm^2]. f_m_d : float Resistenza di progetto a flessione [N/mm^2]. lambda_rel_m : float Snellezza relativa di trave [-].
Returns¶
tuple[bool, float] (verificata, ratio).
Source code in src/pyntc/checks/timber.py
timber_biaxial_bending_check(sigma_m_y_d, f_m_y_d, sigma_m_z_d, f_m_z_d, k_m)
¶
Verifica a flessione deviata [-].
NTC18 [4.4.5a/b]: eq_a: sigma_y/f_y + k_m * sigma_z/f_z <= 1 eq_b: k_m * sigma_y/f_y + sigma_z/f_z <= 1
Parameters¶
sigma_m_y_d, sigma_m_z_d : float Tensioni di progetto per flessione nei piani xz e xy [N/mm^2]. f_m_y_d, f_m_z_d : float Resistenze di progetto a flessione [N/mm^2]. k_m : float Coefficiente k_m [-].
Returns¶
tuple[bool, float] (verificata, max_ratio).
Source code in src/pyntc/checks/timber.py
timber_column_critical_factor(lambda_rel_c, *, material='solid')
¶
Coefficiente riduttivo k_crit,c per instabilita' di colonna [-].
NTC18 [4.4.15]/[4.4.16]: - lambda_rel <= 0.3: k_crit = 1.0 - altrimenti: k_crit = 1 / (k + sqrt(k^2 - lambda_rel^2)) con k = 0.5(1 + beta_c(lambda_rel - 0.3) + lambda_rel^2) beta_c = 0.2 (massiccio), 0.1 (lamellare)
Parameters¶
lambda_rel_c : float Snellezza relativa di colonna [-]. material : str 'solid' (beta_c=0.2) o 'glulam' (beta_c=0.1).
Returns¶
float k_crit,c [-].
Source code in src/pyntc/checks/timber.py
timber_column_relative_slenderness(lambda_val, f_c_0_k, E_005)
¶
Snellezza relativa di colonna lambda_rel,c [-].
NTC18 [4.4.14]: lambda_rel,c = (lambda/pi) * sqrt(f_c,0,k / E_0,05).
Parameters¶
lambda_val : float Snellezza dell'elemento [-]. f_c_0_k : float Resistenza caratteristica a compressione parallela [N/mm^2]. E_005 : float Modulo elastico caratteristico al 5° frattile [N/mm^2].
Returns¶
float lambda_rel,c [-].
Source code in src/pyntc/checks/timber.py
timber_column_stability_check(sigma_c_0_d, f_c_0_d, k_crit_c)
¶
Verifica stabilita' colonna (instabilita' di colonna) [-].
NTC18 [4.4.13]: sigma_c,0,d / (k_crit,c * f_c,0,d) <= 1.
Parameters¶
sigma_c_0_d : float Tensione di compressione di progetto [N/mm^2]. f_c_0_d : float Resistenza di progetto a compressione [N/mm^2]. k_crit_c : float Coefficiente riduttivo per instabilita' [-].
Returns¶
tuple[bool, float] (verificata, ratio).
Source code in src/pyntc/checks/timber.py
timber_compression_bending_check(sigma_c_0_d, f_c_0_d, sigma_m_y_d, f_m_y_d, sigma_m_z_d, f_m_z_d, k_m)
¶
Verifica a pressoflessione [-].
NTC18 [4.4.7a/b] — Il termine di compressione e' al quadrato: eq_a: (sigma_c/f_c)^2 + sigma_y/f_y + k_m * sigma_z/f_z <= 1 eq_b: (sigma_c/f_c)^2 + k_m * sigma_y/f_y + sigma_z/f_z <= 1
Parameters¶
sigma_c_0_d : float Tensione di compressione parallela [N/mm^2]. f_c_0_d : float Resistenza di progetto a compressione [N/mm^2]. sigma_m_y_d, sigma_m_z_d : float Tensioni di flessione [N/mm^2]. f_m_y_d, f_m_z_d : float Resistenze di progetto a flessione [N/mm^2]. k_m : float Coefficiente k_m [-].
Returns¶
tuple[bool, float] (verificata, max_ratio).
Source code in src/pyntc/checks/timber.py
timber_compression_check(sigma_c_0_d, f_c_0_d)
¶
Verifica a compressione parallela alla fibratura [-].
NTC18 [4.4.3]: sigma_c,0,d <= f_c,0,d.
Parameters¶
sigma_c_0_d : float Tensione di compressione di progetto parallela alla fibratura [N/mm^2]. f_c_0_d : float Resistenza di progetto a compressione parallela [N/mm^2].
Returns¶
tuple[bool, float] (verificata, ratio sigma_c,0,d/f_c,0,d).
Source code in src/pyntc/checks/timber.py
timber_compression_perp_check(sigma_c_90_d, f_c_90_d, k_c_90=1.0)
¶
Verifica a compressione perpendicolare alla fibratura [-].
NTC18 [4.4.4]: sigma_c,90,d <= k_c,90 * f_c,90,d.
Parameters¶
sigma_c_90_d : float Tensione di compressione di progetto perpendicolare alla fibratura [N/mm^2]. f_c_90_d : float Resistenza di progetto a compressione perpendicolare [N/mm^2]. k_c_90 : float, optional Coefficiente di concentrazione (default 1.0).
Returns¶
tuple[bool, float] (verificata, ratio sigma_c,90,d/(k_c,90*f_c,90,d)).
Source code in src/pyntc/checks/timber.py
timber_deflection_limits(L, check_type, *, cantilever=False)
¶
Limite di freccia ammissibile [mm].
NTC18 §4.4.7: - Trave: L/300 (istantanea), L/200 (finale) - Mensola: L/150 (istantanea), L/100 (finale)
Parameters¶
L : float Luce dell'elemento [mm]. check_type : str 'instantaneous' o 'final'. cantilever : bool True per mensola.
Returns¶
float Freccia limite ammissibile [mm].
Source code in src/pyntc/checks/timber.py
timber_design_strength(X_k, k_mod, gamma_M)
¶
Resistenza di progetto X_d = k_mod * X_k / gamma_M [N/mm^2].
NTC18 [4.4.1].
Parameters¶
X_k : float Resistenza caratteristica [N/mm^2]. k_mod : float Coefficiente di correzione [-]. gamma_M : float Coefficiente parziale di sicurezza [-].
Returns¶
float Resistenza di progetto X_d [N/mm^2].
Source code in src/pyntc/checks/timber.py
timber_kdef(material, service_class)
¶
Coefficiente di deformazione k_def [-].
NTC18 Tab.4.4.V — Per il calcolo della deformazione finale.
Parameters¶
material : str Tipo di materiale. service_class : int Classe di servizio (1, 2 o 3).
Returns¶
float k_def [-].
Source code in src/pyntc/checks/timber.py
timber_km_factor(section)
¶
Coefficiente k_m per flessione deviata [-].
NTC18 §4.4.8.1.6 — Ridistribuzione tensioni nella sezione.
Parameters¶
section : str Tipo di sezione: 'rectangular', 'circular', 'other'.
Returns¶
float k_m [-].
Source code in src/pyntc/checks/timber.py
timber_kmod(material, service_class, load_duration)
¶
Coefficiente di correzione k_mod [-].
NTC18 Tab.4.4.IV — Tiene conto dell'effetto della durata del carico e dell'umidita' del legno.
Parameters¶
material : str Tipo di materiale: 'solid', 'glulam', 'lvl', 'plywood', 'osb3', 'particleboard', 'fibreboard_hard'. service_class : int Classe di servizio (1, 2 o 3). load_duration : str Classe di durata del carico: 'permanent', 'long_term', 'medium_term', 'short_term', 'instantaneous'.
Returns¶
float k_mod [-].
Source code in src/pyntc/checks/timber.py
timber_load_duration_class(duration)
¶
Classe di durata del carico [Tab. 4.4.I].
NTC18 §4.4.5, Tab. 4.4.I.
Parameters¶
duration : str Identificativo della durata: "permanent", "long_term", "medium_term", "short_term", "instantaneous".
Returns¶
str Descrizione della classe di durata.
Source code in src/pyntc/checks/timber.py
timber_long_term_modulus(E_mean, k_def)
¶
Modulo elastico a lungo termine E_fin = E_mean / (1 + k_def) [N/mm^2].
NTC18 §4.4.7 — Per il calcolo delle deformazioni finali.
Parameters¶
E_mean : float Modulo elastico medio [N/mm^2]. k_def : float Coefficiente di deformazione [-].
Returns¶
float Modulo elastico a lungo termine [N/mm^2].
Source code in src/pyntc/checks/timber.py
timber_partial_safety_factor(material, *, controlled=False)
¶
Coefficiente parziale di sicurezza gamma_M per legno [-].
NTC18 Tab.4.4.III.
Parameters¶
material : str Tipo di materiale: 'solid', 'glulam', 'lvl', 'panels', 'connections', 'exceptional'. controlled : bool Se True, si applicano i valori per produzione controllata.
Returns¶
float gamma_M [-].
Source code in src/pyntc/checks/timber.py
timber_service_class_description(service_class)
¶
Descrizione della classe di servizio [Tab. 4.4.II].
NTC18 §4.4.5, Tab. 4.4.II.
Parameters¶
service_class : int Classe di servizio (1, 2 o 3).
Returns¶
dict {"description": str, "u_max_softwood": int | None, "temp_range": str}
Source code in src/pyntc/checks/timber.py
timber_shear_check(tau_d, f_v_d)
¶
Verifica a taglio [-].
NTC18 [4.4.8]: tau_d <= f_v,d.
Parameters¶
tau_d : float Tensione tangenziale di progetto [N/mm^2]. f_v_d : float Resistenza di progetto a taglio [N/mm^2].
Returns¶
tuple[bool, float] (verificata, ratio tau_d/f_v_d).
Source code in src/pyntc/checks/timber.py
timber_shear_torsion_interaction(tau_d, f_v_d, tau_tor_d, k_sh)
¶
Verifica interazione taglio-torsione [-].
NTC18 [4.4.10] (corretto da OCR, coerente con EC5): (tau_tor,d / (k_sh * f_v,d))^2 + (tau_d / f_v,d)^2 <= 1
Parameters¶
tau_d : float Tensione tangenziale di taglio [N/mm^2]. f_v_d : float Resistenza di progetto a taglio [N/mm^2]. tau_tor_d : float Tensione tangenziale di torsione [N/mm^2]. k_sh : float Coefficiente di forma [-].
Returns¶
tuple[bool, float] (verificata, ratio = somma dei termini quadratici).
Source code in src/pyntc/checks/timber.py
timber_straightness_limit(L, material)
¶
Limite di rettilineita' per membrature compresse [mm].
NTC18 §4.4.15: - Legno lamellare incollato: L/500 - Legno massiccio: L/300
Parameters¶
L : float Distanza tra due vincoli successivi [mm]. material : str 'glulam' o 'solid'.
Returns¶
float Scostamento massimo dalla rettilineita' [mm].
Source code in src/pyntc/checks/timber.py
timber_tension_bending_check(sigma_t_0_d, f_t_0_d, sigma_m_y_d, f_m_y_d, sigma_m_z_d, f_m_z_d, k_m)
¶
Verifica a tensoflessione [-].
NTC18 [4.4.6a/b]: eq_a: sigma_t/f_t + sigma_y/f_y + k_m * sigma_z/f_z <= 1 eq_b: sigma_t/f_t + k_m * sigma_y/f_y + sigma_z/f_z <= 1
Parameters¶
sigma_t_0_d : float Tensione di trazione parallela alla fibratura [N/mm^2]. f_t_0_d : float Resistenza di progetto a trazione [N/mm^2]. sigma_m_y_d, sigma_m_z_d : float Tensioni di flessione [N/mm^2]. f_m_y_d, f_m_z_d : float Resistenze di progetto a flessione [N/mm^2]. k_m : float Coefficiente k_m [-].
Returns¶
tuple[bool, float] (verificata, max_ratio).
Source code in src/pyntc/checks/timber.py
timber_tension_check(sigma_t_0_d, f_t_0_d)
¶
Verifica a trazione parallela alla fibratura [-].
NTC18 [4.4.2]: sigma_t,0,d <= f_t,0,d.
Parameters¶
sigma_t_0_d : float Tensione di trazione di progetto parallela alla fibratura [N/mm^2]. f_t_0_d : float Resistenza di progetto a trazione parallela [N/mm^2].
Returns¶
tuple[bool, float] (verificata, ratio sigma_t,0,d/f_t,0,d).
Source code in src/pyntc/checks/timber.py
timber_torsion_check(tau_tor_d, f_v_d, k_sh)
¶
Verifica a torsione [-].
NTC18 [4.4.9]: tau_tor,d <= k_sh * f_v,d.
Parameters¶
tau_tor_d : float Tensione tangenziale di torsione [N/mm^2]. f_v_d : float Resistenza di progetto a taglio [N/mm^2]. k_sh : float Coefficiente di forma [-].
Returns¶
tuple[bool, float] (verificata, ratio tau_tor_d / (k_sh * f_v_d)).
Source code in src/pyntc/checks/timber.py
timber_torsion_shape_factor(section, *, h=None, b=None)
¶
Coefficiente di forma k_sh per torsione [-].
NTC18 §4.4.8.1.10: - Sezione circolare piena: k_sh = 1.2 - Sezione rettangolare piena: k_sh = min(1 + 0.15*h/b, 2.0), con b <= h - Altro: k_sh = 1.0
Parameters¶
section : str 'circular', 'rectangular', 'other'. h, b : float, optional Dimensioni della sezione rettangolare [mm]. h >= b.
Returns¶
float k_sh [-].