Acciaio — §4.2¶
Verifiche per strutture in acciaio secondo NTC18 §4.2.
Riferimento normativo¶
NTC18 §4.2, Tab. 4.2.I/VIII/XIII, Formule [4.2.4]–[4.2.85]
Include flessione classe 3/4 [4.2.13–4.2.14], torsione [4.2.28], snellezza relativa [4.2.45–4.2.46], instabilità classe 4 [4.2.43], area taglio profili [4.2.18–4.2.23], von Mises [4.2.4], bulloneria e saldatura [4.2.65–4.2.81], perni SLU e SLE [4.2.75–4.2.79], instabilità laterale torsionale LTB [4.2.48–4.2.52], fatica e regola di Miner [4.2.54–4.2.57], deformabilità SLE e deriva di interpiano [Tab. 4.2.XIII], saldatura cordone d'angolo metodo direzionale e semplificato [4.2.83–4.2.85].
API¶
pyntc.checks.steel
¶
Costruzioni di acciaio — NTC18 §4.2.
Proprieta' materiali, resistenza sezioni, instabilita', collegamenti bullonati e saldati.
Unita': - Tensioni/Resistenze: [N/mm^2] = [MPa] - Forze: [N] - Aree: [mm^2] - Moduli di resistenza: [mm^3] - Coefficienti: [-]
bolt_bearing_resistance(k1, alpha_b, f_u, d, t, gamma_M2)
¶
Resistenza a rifollamento del piatto dell'unione [N].
NTC18 §4.2.8.1.1, Formula [4.2.67]: F_b,Rd = k1 * alpha_b * f_u * d * t / gamma_M2
I coefficienti k1 e alpha_b dipendono dalla posizione del bullone:
alpha_b (direzione del carico): bordo: min(e1 / (3d0), f_ub/f_u, 1.0) interno: min(p1 / (3d0) - 1/4, f_ub/f_u, 1.0)
k1 (direzione perpendicolare al carico): bordo: min(2.8 * e2/d0 - 1.7, 2.5) interno: min(1.4 * p2/d0 - 1.7, 2.5)
Parameters¶
k1 : float Coefficiente k1 [-]. alpha_b : float Coefficiente alpha_b [-]. f_u : float Tensione di rottura dell'acciaio del piatto [N/mm^2]. d : float Diametro nominale del bullone [mm]. t : float Spessore del piatto collegato [mm]. gamma_M2 : float Coefficiente parziale gamma_M2 [-].
Returns¶
float F_b,Rd: resistenza a rifollamento [N].
Source code in src/pyntc/checks/steel.py
bolt_friction_resistance(n, mu, F_p_Cd, gamma_M3)
¶
Resistenza allo scorrimento di un bullone precaricato [N].
NTC18 §4.2.8.1.1, Formula [4.2.72]: F_s,Rd = n * mu * F_p,Cd / gamma_M3
Valori tipici di mu
0.5 — superfici sabbiate, esenti da ruggine 0.4 — superfici sabbiate e verniciate (Al o Zn) 0.3 — superfici spazzolate o alla fiamma 0.2 — superfici non trattate
Parameters¶
n : int Numero di superfici di attrito [-]. mu : float Coefficiente di attrito [-]. F_p_Cd : float Forza di precarico del bullone [N]. gamma_M3 : float Coefficiente parziale gamma_M3 [-].
Returns¶
float F_s,Rd: resistenza allo scorrimento [N].
Source code in src/pyntc/checks/steel.py
bolt_friction_tension_resistance(n, mu, F_p_Cd, F_t_Ed, gamma_M3)
¶
Resistenza allo scorrimento con trazione concomitante [N].
NTC18 §4.2.8.1.1, Formula [4.2.73]: F_s,Rd = n * mu * (F_p,Cd - 0.8 * F_t,Ed) / gamma_M3
Parameters¶
n : int Numero di superfici di attrito [-]. mu : float Coefficiente di attrito [-]. F_p_Cd : float Forza di precarico del bullone [N]. F_t_Ed : float Trazione di progetto sul bullone [N]. gamma_M3 : float Coefficiente parziale gamma_M3 [-].
Returns¶
float F_s,Rd: resistenza allo scorrimento ridotta [N].
Source code in src/pyntc/checks/steel.py
bolt_grade_properties(grade)
¶
Caratteristiche meccaniche di bulloni da Tab. 4.2.IX [N/mm^2].
NTC18 §4.2.8, Tab. 4.2.IX — Tensione di rottura f_ub e tensione di snervamento f_yb per bulloni a testa esagonale (ISO 898-1).
Parameters¶
grade : str Classe del bullone: "4.6", "4.8", "5.6", "5.8", "6.8", "8.8", "10.9".
Returns¶
tuple[float, float] (f_ub, f_yb): tensione di rottura e di snervamento [N/mm^2].
Raises¶
ValueError Se la classe non e' riconosciuta.
Source code in src/pyntc/checks/steel.py
bolt_punching_resistance(d_m, t_p, f_u, gamma_M2)
¶
Resistenza a punzonamento del piatto collegato [N].
NTC18 §4.2.8.1.1, Formula [4.2.70]: F_p,Rd = 0.6 * pi * d_m * t_p * f_u / gamma_M2
Parameters¶
d_m : float Minimo tra diametro del dado e diametro medio della testa del bullone [mm]. t_p : float Spessore del piatto [mm]. f_u : float Tensione di rottura dell'acciaio del piatto [N/mm^2]. gamma_M2 : float Coefficiente parziale gamma_M2 [-].
Returns¶
float F_p,Rd: resistenza a punzonamento [N].
Source code in src/pyntc/checks/steel.py
bolt_shear_resistance(f_ub, A_s, bolt_class, gamma_M2)
¶
Resistenza a taglio di un bullone [N].
NTC18 §4.2.8.1.1, Formula [4.2.63]: F_v,Rd = alpha_v * f_ub * A_s / gamma_M2
dove alpha_v = 0.6 per classi 4.6, 5.6, 8.8 = 0.5 per classi 5.8, 6.8, 10.9
Parameters¶
f_ub : float Tensione di rottura del bullone [N/mm^2]. A_s : float Area resistente a trazione del bullone [mm^2]. bolt_class : str Classe del bullone: "4.6", "5.6", "5.8", "6.8", "8.8", "10.9". gamma_M2 : float Coefficiente parziale gamma_M2 [-].
Returns¶
float F_v,Rd: resistenza a taglio [N].
Source code in src/pyntc/checks/steel.py
bolt_shear_tension_interaction(F_v_Ed, F_t_Ed, F_v_Rd, F_t_Rd)
¶
Verifica interazione taglio + trazione bullone [-].
NTC18 §4.2.8.1.1, Formula [4.2.71]: F_v,Ed / F_v,Rd + F_t,Ed / F_t,Rd <= 1.0
Parameters¶
F_v_Ed : float Taglio di progetto sul bullone [N]. F_t_Ed : float Trazione di progetto sul bullone [N]. F_v_Rd : float Resistenza a taglio del bullone [N]. F_t_Rd : float Resistenza a trazione del bullone [N].
Returns¶
tuple[bool, float] (verifica_superata, utilization): - verifica_superata: True se rapporto <= 1 - utilization: valore del rapporto di interazione [-]
Source code in src/pyntc/checks/steel.py
bolt_tension_resistance(f_ub, A_s, gamma_M2)
¶
Resistenza a trazione di un bullone [N].
NTC18 §4.2.8.1.1, Formula [4.2.68]: F_t,Rd = 0.9 * f_ub * A_s / gamma_M2
Parameters¶
f_ub : float Tensione di rottura del bullone [N/mm^2]. A_s : float Area resistente a trazione del bullone [mm^2]. gamma_M2 : float Coefficiente parziale gamma_M2 [-].
Returns¶
float F_t,Rd: resistenza a trazione [N].
Source code in src/pyntc/checks/steel.py
pin_bearing_resistance(t, d, f_y, gamma_M3)
¶
Resistenza a rifollamento del foro del perno [N].
NTC18 §4.2.8.1.2, Formula [4.2.76]: F_b,Rd = 1.5 * t * d * f_y / gamma_M3
Parameters¶
t : float Spessore della piastra [mm]. d : float Diametro del perno [mm]. f_y : float Tensione di snervamento della piastra [N/mm^2]. gamma_M3 : float Coefficiente parziale gamma_M3 [-].
Returns¶
float F_b,Rd: resistenza a rifollamento [N].
Source code in src/pyntc/checks/steel.py
pin_bearing_resistance_sle(t, d, f_y, gamma_M3_ser=1.0)
¶
Resistenza a rifollamento perno SLE [4.278].
NTC18 §4.2.7.4, Formula [4.278]: F_b,Rd,ser = 0.6 * t * d * f_y / gamma_M3,ser
Parameters¶
t : float Spessore della piastra [mm]. d : float Diametro del perno [mm]. f_y : float Tensione di snervamento [N/mm^2]. gamma_M3_ser : float Coefficiente parziale SLE (default 1.0).
Returns¶
float F_b,Rd,ser: resistenza a rifollamento SLE [N].
Source code in src/pyntc/checks/steel.py
pin_bending_resistance(W_el, f_yp, gamma_M0=1.05)
¶
Resistenza a flessione di un perno [N*mm].
NTC18 §4.2.8.10, Formula [4.2.77]: M_Rd = 1.5 * W_el * f_yp / gamma_M0
Parameters¶
W_el : float Modulo di resistenza elastico del perno [mm^3]. f_yp : float Tensione di snervamento del perno [N/mm^2]. gamma_M0 : float, optional Coefficiente parziale gamma_M0 [-]. Default 1.05 (Tab. 4.2.VII).
Returns¶
float M_Rd: resistenza a flessione del perno [N*mm].
Raises¶
ValueError Se W_el, f_yp o gamma_M0 non sono positivi.
Source code in src/pyntc/checks/steel.py
pin_bending_resistance_sle(W_el, f_up, gamma_M3_ser=1.0)
¶
Resistenza a flessione perno SLE [4.279].
NTC18 §4.2.7.4, Formula [4.279]: M_b,Rd,ser = 0.8 * W_el * f_up / gamma_M3,ser
Parameters¶
W_el : float Modulo di resistenza elastico del perno [mm^3]. f_up : float Resistenza a trazione del perno [N/mm^2]. gamma_M3_ser : float Coefficiente parziale SLE (default 1.0).
Returns¶
float M_b,Rd,ser: resistenza flessionale SLE [N*mm].
Source code in src/pyntc/checks/steel.py
pin_shear_resistance(f_upk, A, gamma_M2)
¶
Resistenza a taglio del perno [N].
NTC18 §4.2.8.1.2, Formula [4.2.75]: F_v,Rd = 0.6 * f_upk * A / gamma_M2
Parameters¶
f_upk : float Tensione di rottura caratteristica del perno [N/mm^2]. A : float Area della sezione trasversale del perno [mm^2]. gamma_M2 : float Coefficiente parziale gamma_M2 [-].
Returns¶
float F_v,Rd: resistenza a taglio del perno [N].
Source code in src/pyntc/checks/steel.py
steel_NM_resistance_y(n, a, M_pl_y_Rd)
¶
Resistenza a flessione ridotta per sforzo assiale — asse forte [N*mm].
NTC18 §4.2.4.1.2.7, Formula [4.2.33]: M_N,y,Rd = M_pl,y,Rd * (1 - n) / (1 - 0.5 * a) con M_N,y,Rd <= M_pl,y,Rd.
Parameters¶
n : float Rapporto N_Ed / N_pl,Rd [-]. a : float Rapporto (A - 2bt_f) / A [-] (area anima / area totale). M_pl_y_Rd : float Resistenza plastica a flessione M_pl,y,Rd [N*mm].
Returns¶
float M_N,y,Rd: resistenza a flessione ridotta [N*mm].
Source code in src/pyntc/checks/steel.py
steel_NM_resistance_z(n, a, M_pl_z_Rd)
¶
Resistenza a flessione ridotta per sforzo assiale — asse debole [N*mm].
NTC18 §4.2.4.1.2.7, Formule [4.2.34-4.2.35]: Se n <= a: M_N,z,Rd = M_pl,z,Rd Se n > a: M_N,z,Rd = M_pl,z,Rd * [1 - ((n - a) / (1 - a))^2]
Parameters¶
n : float Rapporto N_Ed / N_pl,Rd [-]. a : float Rapporto (A - 2bt_f) / A [-] (area anima / area totale). M_pl_z_Rd : float Resistenza plastica a flessione M_pl,z,Rd [N*mm].
Returns¶
float M_N,z,Rd: resistenza a flessione ridotta [N*mm].
Source code in src/pyntc/checks/steel.py
steel_bending_resistance(W, f_yk, gamma_M0)
¶
Resistenza a flessione della sezione [N*mm].
NTC18 §4.2.4.1.2.3, Formula [4.2.12]: M_c,Rd = W * f_yk / gamma_M0
Per sezioni di classe 1 e 2: W = W_pl (modulo plastico). Per sezioni di classe 3: W = W_el (modulo elastico).
Parameters¶
W : float Modulo di resistenza (plastico o elastico) [mm^3]. f_yk : float Tensione di snervamento [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-].
Returns¶
float M_c,Rd: resistenza a flessione [N*mm].
Source code in src/pyntc/checks/steel.py
steel_bending_resistance_class3(W_el_min, f_yk, gamma_M0=1.0)
¶
Resistenza a flessione elastica per sezioni di classe 3 [N*mm].
NTC18 §4.2.4.1.2.3, Formula [4.2.13]: M_c,Rd = M_el,Rd = W_el,min * f_yk / gamma_M0
Parameters¶
W_el_min : float Modulo di resistenza elastico minimo della sezione [mm^3]. f_yk : float Tensione di snervamento caratteristica [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-]. Default NTC18: 1.0.
Returns¶
float M_el,Rd: resistenza a flessione elastica [N*mm].
Source code in src/pyntc/checks/steel.py
steel_bending_resistance_class4(W_eff_min, f_yk, gamma_M0=1.0)
¶
Resistenza a flessione per sezioni di classe 4 (sezione efficace) [N*mm].
NTC18 §4.2.4.1.2.3, Formula [4.2.14]: M_c,Rd = M_eff,Rd = W_eff,min * f_yk / gamma_M0
Parameters¶
W_eff_min : float Modulo di resistenza della sezione efficace minimo [mm^3]. f_yk : float Tensione di snervamento caratteristica [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-]. Default NTC18: 1.0.
Returns¶
float M_eff,Rd: resistenza a flessione sezione efficace [N*mm].
Source code in src/pyntc/checks/steel.py
steel_bending_shear_reduction(V_Ed, V_c_Rd)
¶
Fattore di riduzione rho per flessione in presenza di taglio [-].
NTC18 §4.2.4.1.2.6, Formula [4.2.31]: Se V_Ed <= 0.5 * V_c,Rd: rho = 0 (nessuna riduzione) Se V_Ed > 0.5 * V_c,Rd: rho = (2 * V_Ed / V_c,Rd - 1)^2
Parameters¶
V_Ed : float Taglio di progetto [N]. V_c_Rd : float Resistenza a taglio della sezione [N].
Returns¶
float Fattore di riduzione rho [-], 0 <= rho <= 1.
Source code in src/pyntc/checks/steel.py
steel_biaxial_check(M_y_Ed, M_z_Ed, M_N_y_Rd, M_N_z_Rd, n)
¶
Verifica presso/tenso-flessione biassiale [-].
NTC18 §4.2.4.1.28, Formule [4.2.38-4.2.39]: Se n >= 0.2: (M_y_Ed / M_N,y,Rd)^2 + (M_z_Ed / M_N,z,Rd)^(5n) <= 1 Se n < 0.2: M_y_Ed / M_N,y,Rd + M_z_Ed / M_N,z,Rd <= 1
Parameters¶
M_y_Ed : float Momento flettente di progetto asse forte [Nmm]. M_z_Ed : float Momento flettente di progetto asse debole [Nmm]. M_N_y_Rd : float Resistenza ridotta a flessione asse forte [Nmm]. M_N_z_Rd : float Resistenza ridotta a flessione asse debole [Nmm]. n : float Rapporto N_Ed / N_pl,Rd [-].
Returns¶
tuple[bool, float] (verifica_superata, utilization): - verifica_superata: True se il rapporto <= 1 - utilization: valore del rapporto di interazione [-]
Source code in src/pyntc/checks/steel.py
steel_buckling_imperfection(curve)
¶
Fattore di imperfezione alpha da Tab. 4.2.VIII [-].
NTC18 §4.2.4.1.3.1, Tab. 4.2.VIII: a0 → 0.13, a → 0.21, b → 0.34, c → 0.49, d → 0.76
Parameters¶
curve : str Curva di instabilita': "a0", "a", "b", "c" o "d".
Returns¶
float Fattore di imperfezione alpha [-].
Source code in src/pyntc/checks/steel.py
steel_buckling_reduction(lambda_bar, alpha)
¶
Coefficiente di riduzione per instabilita' chi [-].
NTC18 §4.2.4.1.3.1, Formula [4.2.44]: Phi = 0.5 * [1 + alpha * (lambda_bar - 0.2) + lambda_bar^2] chi = 1 / (Phi + sqrt(Phi^2 - lambda_bar^2)) con chi <= 1.0.
Per lambda_bar <= 0.2 si assume chi = 1.0 (instabilita' trascurabile).
Parameters¶
lambda_bar : float Snellezza adimensionale [-]. alpha : float Fattore di imperfezione [-] (da Tab. 4.2.VIII).
Returns¶
float Coefficiente di riduzione chi [-], 0 < chi <= 1.
Source code in src/pyntc/checks/steel.py
steel_buckling_resistance(chi, A, f_yk, gamma_M1)
¶
Resistenza ad instabilita' per aste compresse [N].
NTC18 §4.2.4.1.3.1, Formula [4.2.42]: N_b,Rd = chi * A * f_yk / gamma_M1
Parameters¶
chi : float Coefficiente di riduzione per instabilita' [-]. A : float Area della sezione [mm^2]. f_yk : float Tensione di snervamento [N/mm^2]. gamma_M1 : float Coefficiente parziale gamma_M1 [-].
Returns¶
float N_b,Rd: resistenza ad instabilita' [N].
Source code in src/pyntc/checks/steel.py
steel_buckling_resistance_class4(chi, A_eff, f_yk, gamma_M1=1.0)
¶
Resistenza ad instabilita' per sezioni di classe 4 [N].
NTC18 §4.2.4.1.3.1, Formula [4.2.43]: N_b,Rd = chi * A_eff * f_yk / gamma_M1
Parameters¶
chi : float Coefficiente di riduzione per instabilita' [-]. A_eff : float Area efficace della sezione di classe 4 [mm^2]. f_yk : float Tensione di snervamento caratteristica [N/mm^2]. gamma_M1 : float Coefficiente parziale gamma_M1 [-]. Default NTC18: 1.0.
Returns¶
float N_b,Rd: resistenza ad instabilita' [N].
Source code in src/pyntc/checks/steel.py
steel_compression_resistance(A, f_yk, gamma_M0)
¶
Resistenza a compressione della sezione [N].
NTC18 §4.2.4.1.2.2, Formula [4.2.10]: N_c,Rd = A * f_yk / gamma_M0
Parameters¶
A : float Area della sezione [mm^2]. f_yk : float Tensione di snervamento [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-].
Returns¶
float N_c,Rd: resistenza a compressione [N].
Source code in src/pyntc/checks/steel.py
steel_drift_limit(delta, h, building_type='standard')
¶
Verifica spostamento di interpiano SLE [Tab 4.2.XIII].
NTC18 §4.2.4.3, Tab. 4.2.XIII: - Capannoni industriali monopiano: delta/h <= 1/150 - Edifici standard (altri casi): delta/h <= 1/300 - Edifici multipiano: delta/h <= 1/500
Parameters¶
delta : float Spostamento di interpiano [mm]. h : float Altezza di interpiano [mm]. building_type : str Tipo di struttura: 'industrial' (1/150), 'standard' (1/300), 'multistorey' (1/500).
Returns¶
tuple[bool, float] (ok, ratio): True se verificata, rapporto (delta/h)*L_lim.
Source code in src/pyntc/checks/steel.py
steel_fatigue_check(delta_s, delta_R, gamma_Mf=1.15)
¶
Verifica a fatica — variazione di tensione [4.254].
NTC18 §4.2.4.2, Formula [4.254]: delta_s <= delta_R / gamma_Mf
Parameters¶
delta_s : float Variazione di tensione di progetto [N/mm^2]. delta_R : float Resistenza a fatica caratteristica (categoria dettaglio) [N/mm^2]. gamma_Mf : float Coefficiente parziale fatica (default 1.15).
Returns¶
tuple[bool, float] (ok, ratio): True se verificata, rapporto delta_s/(delta_R/gamma_Mf).
Source code in src/pyntc/checks/steel.py
steel_fatigue_damage(n_cycles, N_resistances)
¶
Danno cumulato a fatica — regola di Miner [4.257].
NTC18 §4.2.4.2, Formula [4.257]: D = sum(n_i / N_i) <= 1.0
Parameters¶
n_cycles : list of float Numero di cicli applicati per ogni livello di tensione. N_resistances : list of float Numero di cicli ammissibili per ogni livello di tensione.
Returns¶
tuple[bool, float] (ok, D): True se verificata, danno cumulato totale D.
Source code in src/pyntc/checks/steel.py
steel_fatigue_normal_stress_check(delta_sigma_max, delta_sigma_D, gamma_MT=1.0)
¶
Verifica a fatica — tensione normale massima [4.255].
NTC18 §4.2.4.2, Formula [4.255]: delta_sigma_max,d = gamma_MT * delta_sigma_max <= delta_sigma_D
Parameters¶
delta_sigma_max : float Variazione massima di tensione normale caratteristica [N/mm^2]. delta_sigma_D : float Limite di resistenza a fatica per tensioni normali [N/mm^2]. gamma_MT : float Coefficiente di danno a fatica (default 1.0).
Returns¶
tuple[bool, float] (ok, ratio): True se verificata, rapporto delta_sigma_max,d/delta_sigma_D.
Source code in src/pyntc/checks/steel.py
steel_fatigue_shear_stress_check(delta_tau_max, delta_tau_D, gamma_MT=1.0)
¶
Verifica a fatica — tensione tangenziale massima [4.256].
NTC18 §4.2.4.2, Formula [4.256]: delta_tau_max,d = gamma_MT * delta_tau_max <= delta_tau_D
Parameters¶
delta_tau_max : float Variazione massima di tensione tangenziale caratteristica [N/mm^2]. delta_tau_D : float Limite di resistenza a fatica per tensioni tangenziali [N/mm^2]. gamma_MT : float Coefficiente di danno a fatica (default 1.0).
Returns¶
tuple[bool, float] (ok, ratio): True se verificata, rapporto delta_tau_max,d/delta_tau_D.
Source code in src/pyntc/checks/steel.py
steel_grade_properties(grade, thickness)
¶
Proprieta' acciaio da Tab. 4.2.I [N/mm^2].
NTC18 §4.2.1.1, Tab. 4.2.I — Tensione di snervamento f_yk e tensione di rottura f_tk per laminati a caldo (EN 10025).
Parameters¶
grade : str Grado dell'acciaio: "S235", "S275", "S355", "S420", "S450", "S460". thickness : float Spessore nominale dell'elemento [mm]. Deve essere 0 < t <= 80 mm.
Returns¶
tuple[float, float] (f_yk, f_tk): tensione di snervamento e di rottura [N/mm^2].
Source code in src/pyntc/checks/steel.py
steel_lt_buckling_reduction(lambda_LT_bar, alpha_LT)
¶
Coefficiente di riduzione per instabilita' flesso-torsionale chi_LT [-].
NTC18 §4.2.4.1.3.2, Formula [4.2.50] (metodo generale): Phi_LT = 0.5 * [1 + alpha_LT * (lambda_LT_bar - 0.2) + lambda_LT_bar^2] chi_LT = 1 / (Phi_LT + sqrt(Phi_LT^2 - lambda_LT_bar^2)) con chi_LT <= 1.0.
Per lambda_LT_bar <= 0.2 si assume chi_LT = 1.0.
Parameters¶
lambda_LT_bar : float Snellezza adimensionale flesso-torsionale [-]. alpha_LT : float Fattore di imperfezione flesso-torsionale [-].
Returns¶
float Coefficiente di riduzione chi_LT [-], 0 < chi_LT <= 1.
Source code in src/pyntc/checks/steel.py
steel_lt_buckling_resistance(chi_LT, W_y, f_yk, gamma_M1)
¶
Resistenza ad instabilita' flesso-torsionale [N*mm].
NTC18 §4.2.4.1.3.2, Formula [4.2.49]: M_b,Rd = chi_LT * W_y * f_yk / gamma_M1
Parameters¶
chi_LT : float Coefficiente di riduzione flesso-torsionale [-]. W_y : float Modulo di resistenza rispetto all'asse forte [mm^3]. f_yk : float Tensione di snervamento [N/mm^2]. gamma_M1 : float Coefficiente parziale gamma_M1 [-].
Returns¶
float M_b,Rd: resistenza ad instabilita' flesso-torsionale [N*mm].
Source code in src/pyntc/checks/steel.py
steel_ltb_check(M_Ed, M_b_Rd)
¶
Verifica a instabilita' laterale torsionale [4.248].
NTC18 §4.2.4.1.3.2, Formula [4.248]: M_Ed / M_b,Rd <= 1
Parameters¶
M_Ed : float Momento flettente di progetto [Nmm]. M_b_Rd : float Resistenza LTB di progetto [Nmm].
Returns¶
tuple[bool, float] (ok, ratio): True se verificata, rapporto M_Ed/M_b_Rd.
Source code in src/pyntc/checks/steel.py
steel_ltb_correction_factor(lambda_LT, k_c=0.94)
¶
Fattore correttivo f per riduzione LTB [4.252].
NTC18 §4.2.4.1.3.2, Formula [4.252]: f = 1 - 0.5(1 - k_c)(1 - 2(lambda_LT - 0.8)*2) f <= 1.0
Parameters¶
lambda_LT : float Snellezza relativa LTB [-]. k_c : float Fattore di conversione (default 0.94 per carico uniforme).
Returns¶
float f: fattore correttivo [-].
Source code in src/pyntc/checks/steel.py
steel_ltb_reduction_factor(lambda_LT, alpha_LT=0.34, lambda_LT0=0.4, beta=0.75, f_corr=1.0)
¶
Fattore di riduzione chi_LT per instabilita' laterale torsionale [4.250].
NTC18 §4.2.4.1.3.2, Formula [4.250]: Phi_LT = 0.5(1 + alpha_LT(lambda_LT - lambda_LT0) + betalambda_LT2) chi_LT = (1/f_corr) * 1/(Phi_LT + sqrt(Phi_LT2 - betalambda_LT2)) chi_LT <= min(1.0, 1/lambda_LT2)
Parameters¶
lambda_LT : float Snellezza relativa LTB [-]. alpha_LT : float Fattore di imperfezione (curva a=0.21, b=0.34, c=0.49, d=0.76). lambda_LT0 : float Snellezza limite (default NTC18 = 0.4). beta : float Parametro riduzione (default NTC18 = 0.75). f_corr : float Fattore correttivo f da Formula [4.252] (default 1.0).
Returns¶
float chi_LT: fattore di riduzione LTB [-].
Source code in src/pyntc/checks/steel.py
steel_ltb_resistance(chi_LT, W_y, f_yk, gamma_M1=1.05)
¶
Resistenza a instabilita' laterale torsionale M_b,Rd [4.249].
NTC18 §4.2.4.1.3.2, Formula [4.249]: M_b,Rd = chi_LT * W_y * f_yk / gamma_M1
Parameters¶
chi_LT : float Fattore di riduzione LTB [-]. W_y : float Modulo di resistenza plastico rispetto all'asse forte [mm^3]. f_yk : float Tensione caratteristica di snervamento [N/mm^2]. gamma_M1 : float Coefficiente parziale gamma_M1 (default 1.05).
Returns¶
float M_b,Rd: resistenza LTB [N*mm].
Source code in src/pyntc/checks/steel.py
steel_ltb_slenderness(W_y, f_yk, M_cr)
¶
Snellezza relativa per instabilita' laterale torsionale [4.251].
NTC18 §4.2.4.1.3.2, Formula [4.251]: lambda_LT = sqrt(W_y * f_yk / M_cr)
Parameters¶
W_y : float Modulo di resistenza plastico (o elastico) rispetto all'asse forte [mm^3]. f_yk : float Tensione caratteristica di snervamento [N/mm^2]. M_cr : float Momento critico elastico di instabilita' laterale torsionale [N*mm].
Returns¶
float lambda_LT: snellezza relativa LTB [-].
Source code in src/pyntc/checks/steel.py
steel_relative_slenderness(A_or_A_eff, f_yk, N_cr, section_class=1)
¶
Snellezza adimensionale per aste compresse [-].
NTC18 §4.2.4.1.3.1: Classi 1, 2, 3 — Formula [4.2.45]: lambda_bar = sqrt(A * f_yk / N_cr) Classe 4 — Formula [4.2.46]: lambda_bar = sqrt(A_eff * f_yk / N_cr)
Parameters¶
A_or_A_eff : float Area lorda A (classi 1-3) o area efficace A_eff (classe 4) [mm^2]. f_yk : float Tensione di snervamento caratteristica [N/mm^2]. N_cr : float Carico critico euleriano [N]. section_class : int Classe della sezione: 1, 2, 3 → Formula [4.2.45]; 4 → Formula [4.2.46]. Default: 1.
Returns¶
float lambda_bar: snellezza adimensionale [-].
Source code in src/pyntc/checks/steel.py
steel_shear_area(section, A, *, b=None, t_f=None, t_w=None, r=0.0, h=None, hw_tw_sum=None, load_direction='height')
¶
Area resistente a taglio A_v per diversi profili [mm^2].
NTC18 §4.2.4.1.2.4, Formule [4.2.18]–[4.2.23]: - "I_H_rolled": A_v = A - 2bt_f + (t_w + 2r)t_f [4.2.18] - "I_H_weld": A_v = A - 2bt_f + (t_w + r)t_f [4.2.19] - "box": A_v = A - hw_tw_sum [4.2.20] - "T": A_v = 0.9(A - bt_f) [4.2.21] - "rectangular": A_v = Ah/(b+h) o Ab/(b+h) [4.2.22] - "circular": A_v = 2A/pi [4.2.23]
Parameters¶
section : str Tipo di sezione: "I_H_rolled", "I_H_weld", "box", "T", "rectangular", "circular". A : float Area totale della sezione [mm^2]. b : float, optional Larghezza delle ali [mm]. t_f : float, optional Spessore delle ali [mm]. t_w : float, optional Spessore dell'anima [mm]. r : float, optional Raccordo d'angolo o gola della saldatura [mm]. Default 0. h : float, optional Altezza del profilo [mm] (per sezione rettangolare). hw_tw_sum : float, optional Somma (h_w * t_w) delle anime [mm^2] (per sezione scatolare). load_direction : str, optional Direzione del carico per sezione rettangolare: "height" (carico parallelo all'altezza) o "width". Default "height".
Returns¶
float A_v: area resistente a taglio [mm^2].
Source code in src/pyntc/checks/steel.py
1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 | |
steel_shear_resistance(A_v, f_yk, gamma_M0)
¶
Resistenza a taglio della sezione [N].
NTC18 §4.2.4.1.2.4, Formula [4.2.17]: V_c,Rd = A_v * f_yk / (sqrt(3) * gamma_M0)
Parameters¶
A_v : float Area resistente a taglio [mm^2]. f_yk : float Tensione di snervamento [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-].
Returns¶
float V_c,Rd: resistenza a taglio [N].
Source code in src/pyntc/checks/steel.py
steel_tension_resistance(A, f_yk, gamma_M0, *, A_net=None, f_tk=None, gamma_M2=None)
¶
Resistenza a trazione della sezione [N].
NTC18 §4.2.4.1.2.1 — Formule [4.2.6] e [4.2.7]: N_pl,Rd = A * f_yk / gamma_M0 (plasticizzazione lorda) N_u,Rd = 0.9 * A_net * f_tk / gamma_M2 (rottura sezione netta)
Parameters¶
A : float Area lorda della sezione [mm^2]. f_yk : float Tensione di snervamento [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-]. A_net : float or None Area netta della sezione (fori bulloni) [mm^2]. f_tk : float or None Tensione di rottura [N/mm^2]. Richiesto se A_net fornito. gamma_M2 : float or None Coefficiente parziale gamma_M2 [-]. Richiesto se A_net fornito.
Returns¶
tuple[float, float | None] (N_pl_Rd, N_u_Rd): resistenza plastica e a rottura [N]. N_u_Rd e' None se A_net non e' fornito.
Source code in src/pyntc/checks/steel.py
steel_torsion_check(T_Ed, T_Rd)
¶
Verifica a torsione della sezione [-].
NTC18 §4.2.4.1.2.5, Formula [4.2.28]: T_Ed / T_Rd <= 1.0
Parameters¶
T_Ed : float Momento torcente di progetto [Nmm]. T_Rd : float Resistenza a torsione della sezione [Nmm].
Returns¶
tuple[bool, float] (verifica_superata, utilization): - verifica_superata: True se T_Ed / T_Rd <= 1.0 - utilization: rapporto T_Ed / T_Rd [-]
Source code in src/pyntc/checks/steel.py
steel_torsion_resistance(W_t, f_yk, gamma_M0=1.0)
¶
Resistenza a torsione della sezione [N*mm].
NTC18 §4.2.4.1.2.5 — Resistenza a torsione (formula standard EN): T_Rd = W_t * f_yk / (sqrt(3) * gamma_M0)
dove W_t e' il modulo resistente a torsione (W_t,el per torsione uniforme, W_t = 2A_mt per sezioni tubolari).
Parameters¶
W_t : float Modulo resistente a torsione della sezione [mm^3]. f_yk : float Tensione di snervamento caratteristica [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-]. Default NTC18: 1.0.
Returns¶
float T_Rd: resistenza a torsione [N*mm].
Source code in src/pyntc/checks/steel.py
steel_vertical_deflection(delta1, delta2)
¶
Freccia verticale totale SLE [4.260].
NTC18 §4.2.4.3, Formula [4.260]: delta_tot = delta1 + delta2
Parameters¶
delta1 : float Freccia da carichi permanenti [mm]. delta2 : float Freccia da carichi variabili [mm].
Returns¶
float delta_tot: freccia totale [mm].
Source code in src/pyntc/checks/steel.py
steel_von_mises_check(sigma_x, sigma_y, tau, f_yk, gamma_M0)
¶
Verifica dello stato tensionale equivalente (Von Mises) [-].
NTC18 §4.2.4.1.2, Formula [4.2.4]: sqrt(σ_x² + σ_y² - σ_xσ_y + 3τ²) ≤ f_yk / γ_M0
Parameters¶
sigma_x : float Tensione normale nella direzione x [N/mm^2]. sigma_y : float Tensione normale nella direzione y [N/mm^2]. tau : float Tensione tangenziale [N/mm^2]. f_yk : float Tensione di snervamento caratteristica [N/mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-].
Returns¶
tuple[bool, float] (verificata, ratio): verificata = True se ratio <= 1.0; ratio = sigma_eq / (f_yk / gamma_M0).
Source code in src/pyntc/checks/steel.py
weld_combined_stress_check(sigma_perp, tau_perp, tau_par, f_u, beta_w, gamma_M2=1.25)
¶
Verifica tensionale combinata di cordone d'angolo [-].
NTC18 §4.2.8.2.4, Formula [4.2.81]: sqrt(sigma_perp^2 + 3*(tau_perp^2 + tau_par^2)) <= f_u / (beta_w * gamma_M2)
dove
sigma_perp: tensione normale perpendicolare al piano della gola tau_perp: tensione tangenziale perp. all'asse del cordone tau_par: tensione tangenziale parallela all'asse del cordone
Fattore di correlazione beta_w (Tab. 4.2.XIII): S235 → 0.80, S275 → 0.85, S355 → 0.90, S420/S460 → 1.00
Parameters¶
sigma_perp : float Tensione normale perpendicolare al piano della gola [N/mm^2]. tau_perp : float Tensione tangenziale perpendicolare all'asse del cordone [N/mm^2]. tau_par : float Tensione tangenziale parallela all'asse del cordone [N/mm^2]. f_u : float Tensione di rottura dell'acciaio base [N/mm^2]. beta_w : float Fattore di correlazione [-] (da Tab. 4.2.XIII). gamma_M2 : float Coefficiente parziale gamma_M2 [-]. Default NTC18: 1.25.
Returns¶
tuple[bool, float] (verifica_superata, ratio): - verifica_superata: True se ratio <= 1.0 - ratio = sqrt(...) / (f_u / (beta_w * gamma_M2)) [-]
Source code in src/pyntc/checks/steel.py
1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 | |
weld_fillet_directional_resistance(a, f_k, beta1, sigma_perp=0.0, tau_perp=0.0, tau_par=0.0, gamma_M2=1.25)
¶
Verifica cordone d'angolo — metodo direzionale [4.283-4.284].
NTC18 §4.2.8.4, Formule [4.283] e [4.284]: F_w,Rd = a * f_k / (sqrt(3) * beta1 * gamma_M2) Verifica: sqrt(sigma_perp^2 + tau_perp^2 + tau_par^2) <= beta1 * f_k
Parameters¶
a : float Altezza del cordone [mm]. f_k : float Resistenza caratteristica del materiale base [N/mm^2]. beta1 : float Fattore di correlazione (Tab. 4.2.XIII) [-]. sigma_perp : float Tensione normale perpendicolare al piano di gola [N/mm^2]. tau_perp : float Tensione tangenziale perp. all'asse del cordone [N/mm^2]. tau_par : float Tensione tangenziale parallela all'asse del cordone [N/mm^2]. gamma_M2 : float Coefficiente parziale (default 1.25).
Returns¶
tuple[bool, float] (ok, ratio): True se verificata, rapporto tensione effettiva / limite.
Source code in src/pyntc/checks/steel.py
weld_fillet_resistance(a, f_tk, beta_w, gamma_M2)
¶
Resistenza per unita' di lunghezza di cordone d'angolo [N/mm].
NTC18 §4.2.8.2.4, Formula [4.2.83]: F_w,Rd = a * f_tk / (sqrt(3) * beta_w * gamma_M2)
Fattore di correlazione beta_w (Tab. 4.2.XIII): S235 → 0.80, S275 → 0.85, S355 → 0.90, S420/S460 → 1.00
Parameters¶
a : float Altezza di gola del cordone [mm]. f_tk : float Tensione di rottura dell'acciaio base [N/mm^2]. beta_w : float Fattore di correlazione [-] (da Tab. 4.2.XIII). gamma_M2 : float Coefficiente parziale gamma_M2 [-].
Returns¶
float F_w,Rd: resistenza per unita' di lunghezza [N/mm].
Source code in src/pyntc/checks/steel.py
weld_simplified_stress_check(n1, t1, f_k, beta2)
¶
Verifica semplificata cordone d'angolo [4.285].
NTC18 §4.2.8.4, Formula [4.285]: |n1| + |t1| <= beta2 * f_k
Parameters¶
n1 : float Tensione normale nel cordone [N/mm^2]. t1 : float Tensione tangenziale nel cordone [N/mm^2]. f_k : float Resistenza caratteristica del materiale base [N/mm^2]. beta2 : float Fattore di riduzione semplificato [-].
Returns¶
tuple[bool, float] (ok, ratio): True se verificata, rapporto (|n1|+|t1|)/(beta2*f_k).