Acciaio in zona sismica — §7.5¶
Progettazione e verifica di strutture in acciaio in zona sismica secondo NTC18 §7.5.
Riferimento normativo¶
NTC18 §7.5, Tab. 7.5.1, Formule [7.5.1]–[7.5.26]
API¶
pyntc.checks.seismic_steel
¶
Verifiche acciaio in zona sismica — NTC18 §7.5.
Strutture a telaio (MRF), controventi concentrici (CBF), controventi eccentrici (EBF), limitazioni di duttilita' locale.
Unita': - Resistenze: [N/mm^2] - Forze/momenti: [N], [N·mm] - Lunghezze: [mm] - Coefficienti: [-]
seismic_steel_cbf_column_buckling_check(N_Ed, N_hRdp)
¶
Verifica instabilita' di travi e colonne in CBF (RES) [-].
NTC18 §7.5.5, Formula [7.5.15]: N_Ed / N_hRdp(M_Ed) <= 1
N_hRdp e' la capacita' all'instabilita' (§4.2.4.1.3.1) tenendo conto dell'interazione con il momento flettente M_Ed.
Parameters¶
N_Ed : float Domanda a sforzo normale amplificata [N]. N_hRdp : float Capacita' all'instabilita' della sezione con interazione con M_Ed [N].
Returns¶
tuple[bool, float] - satisfied: True se il rapporto <= 1.0 - ratio: N_Ed / N_hRdp [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_cbf_diagonal_slenderness(lambda_bar, brace_type)
¶
Verifica snellezza adimensionale della diagonale di controvento (CBF).
NTC18 §7.5.5: CBF a X: 1.3 <= lambda_bar <= 2.0 CBF a V: lambda_bar <= 2.0
Valida per edifici con piu' di due piani.
Parameters¶
lambda_bar : float Snellezza adimensionale della diagonale [-]. brace_type : str Tipo di controvento: "X" (a croce di Sant'Andrea) o "V" (a V o a V rovesciata).
Returns¶
tuple[bool, str] - satisfied: True se la snellezza rispetta i limiti - message: descrizione dell'esito
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_cbf_member_demand(N_Ed_G, gamma_ov, Omega, N_Ed_E)
¶
Domanda a sforzo normale amplificata per travi/colonne di CBF [N].
NTC18 §7.5.5, applicazione delle formule [7.5.7]-[7.5.9] ai CBF: N_Ed = N_Ed,G + 1.1 * gamma_ov * Omega * N_Ed,E
Omega e' il minimo valore tra Omega_i = N_p(RAD),i / N_Ed,i valutati per tutte le diagonali dissipative.
Parameters¶
N_Ed_G : float Domanda a sforzo normale per azioni non sismiche [N]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. Omega : float Minimo fattore Omega_i = N_p(RAD),i / N_Ed,i tra le diagonali [-]. N_Ed_E : float Domanda a sforzo normale per azione sismica [N].
Returns¶
float N_Ed: sforzo normale di progetto amplificato per trave/colonna [N].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_cbf_omega_homogeneity(Omega_values)
¶
Verifica omogeneita' dei coefficienti Omega delle diagonali CBF [-].
NTC18 §7.5.5: (Omega_max - Omega_min) / Omega_min <= 0.25
Garantisce un comportamento dissipativo omogeneo delle diagonali.
Parameters¶
Omega_values : list[float] Valori Omega_i = N_p(RAD),i / N_Ed,i per le diagonali dissipative [-].
Returns¶
tuple[bool, float] - satisfied: True se la dispersione e' <= 25% - dispersion: (Omega_max - Omega_min) / Omega_min [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_column_axial_ductility(N_Ed, N_p_LRd)
¶
Verifica di duttilita' per colonne primarie di strutture a telaio [-].
NTC18 §7.5.3.2, Formula [7.5.3]: N_Ed / N_p,LRd <= 0.3
Verifica che lo sforzo normale nella colonna non pregiudichi la duttilita' locale nelle zone dissipative.
Parameters¶
N_Ed : float Domanda a sforzo normale [N]. N_p_LRd : float Capacita' a sforzo normale della sezione (§4.2.4.1.2) [N].
Returns¶
tuple[bool, float] - satisfied: True se il rapporto <= 0.3 - ratio: N_Ed / N_p,LRd [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_connection_resistance(R_j_d, gamma_ov, R_p_LRd)
¶
Verifica capacita' di collegamento in zona dissipativa (RES) [N o N·mm].
NTC18 §7.5.3.1, Formula [7.5.1]: R_j,d >= 1.1 * gamma_ov * R_p,LRd => R_U,Rd
I collegamenti in zone dissipative devono consentire la plasticizzazione delle parti dissipative collegate.
Parameters¶
R_j_d : float Capacita' di progetto del collegamento [N o N·mm]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. R_p_LRd : float Capacita' al limite plastico della membratura dissipativa [N o N·mm].
Returns¶
tuple[bool, float] - satisfied: True se R_j,d >= R_U,Rd - ratio: R_j,d / R_U,Rd [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_connection_demand(E_d_G, gamma_ov, Omega_i, E_d_E)
¶
Domanda amplificata per i collegamenti degli elementi di connessione EBF [N o N·mm].
NTC18 §7.5.6, Formula [7.5.26]: E_d = E_d,G + 1.1 * gamma_ov * Omega_i * E_d,E
I collegamenti devono avere capacita' sufficiente a soddisfare questa domanda amplificata.
Parameters¶
E_d_G : float Domanda per azioni non sismiche [N o N·mm]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. Omega_i : float Fattore di sovraresistenza relativo all'elemento di connessione i [-]. E_d_E : float Domanda per azione sismica [N o N·mm].
Returns¶
float E_d: domanda amplificata per il collegamento [N o N·mm].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_link_bending_resistance(f_y, b, t_f, h)
¶
Capacita' a flessione dell'elemento di connessione EBF (sezione I) [N·mm].
NTC18 §7.5.6, Formula [7.5.17]: M_I,Rd = f_y * b * t_f * (h - t_f)
Valida in assenza di domanda a sforzo normale.
Parameters¶
f_y : float Tensione di snervamento del materiale [N/mm^2]. b : float Larghezza della flangia [mm]. t_f : float Spessore della flangia [mm]. h : float Altezza totale della sezione [mm].
Returns¶
float M_I,Rd: capacita' a flessione dell'elemento di connessione [N·mm].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_link_bending_resistance_reduced(M_I_Rd, N_Ed, N_p_Rd)
¶
Capacita' a flessione ridotta per sforzo normale del link EBF [N·mm].
NTC18 §7.5.6, Formula [7.5.22]: M_I,Rd,r = M_I,Rd * (1 - N_Ed / N_p,Rd)
Da applicare quando N_Ed / N_p,Rd > 0.15.
Parameters¶
M_I_Rd : float Capacita' a flessione del link in assenza di sforzo normale [N·mm]. N_Ed : float Domanda a sforzo normale nel link [N]. N_p_Rd : float Capacita' a sforzo normale della sezione [N].
Returns¶
float M_I,Rd,r: capacita' a flessione ridotta [N·mm].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_link_classification(e, M_I_Rd, V_I_Rd, alpha=1.0)
¶
Classificazione dell'elemento di connessione EBF (corto/intermedio/lungo).
NTC18 §7.5.6, Formule [7.5.16a]-[7.5.16c]: "corto": e <= 0.8(1+a)M_I,Rd/V_I,Rd "intermedio": 0.8(1+a)M_I,Rd/V_I,Rd < e < 1.5(1+a)M_I,Rd/V_I,Rd "lungo": e >= 1.5(1+a)M_I,Rd/V_I,Rd
Parameters¶
e : float Lunghezza dell'elemento di connessione [mm]. M_I_Rd : float Capacita' a flessione del link [N·mm]. V_I_Rd : float Capacita' a taglio del link [N]. alpha : float Rapporto tra il momento minore e il maggiore alle estremita' del link [-], default 1.0.
Returns¶
str Tipo di link: "corto", "intermedio" o "lungo".
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_link_length_limit(e, M_I_Rd, V_I_Rd, R)
¶
Verifica lunghezza massima del link EBF per garantire taglio prevalente [-].
NTC18 §7.5.6, Formule [7.5.23]-[7.5.24]: Se R < 0.3: e <= 1.6 * M_I,Rd / V_I,Rd Se R >= 0.3: e <= (1.15 - 0.5 * R) * 1.6 * M_I,Rd / V_I,Rd
dove R = N_Ed * t_w * (d - 2*t_f) / (V_Ed * A)
Parameters¶
e : float Lunghezza dell'elemento di connessione [mm]. M_I_Rd : float Capacita' a flessione del link [N·mm]. V_I_Rd : float Capacita' a taglio del link [N]. R : float Parametro di interazione R = N_Edt_w(d-2t_f)/(V_Ed*A) [-].
Returns¶
tuple[bool, float, str] - satisfied: True se il limite e' rispettato - e_lim: lunghezza limite [mm] - formula_used: "7.5.23" o "7.5.24"
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_link_shear_resistance(f_y, t_w, h, t_f)
¶
Capacita' a taglio dell'elemento di connessione EBF (sezione I) [N].
NTC18 §7.5.6, Formula [7.5.18]: V_I,Rd = f_y / sqrt(3) * t_w * (h - t_f)
Valida in assenza di domanda a sforzo normale.
Parameters¶
f_y : float Tensione di snervamento del materiale [N/mm^2]. t_w : float Spessore dell'anima [mm]. h : float Altezza totale della sezione [mm]. t_f : float Spessore della flangia [mm].
Returns¶
float V_I,Rd: capacita' a taglio dell'elemento di connessione [N].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_link_shear_resistance_reduced(V_I_Rd, N_Ed, N_p_Rd)
¶
Capacita' a taglio ridotta per sforzo normale del link EBF [N].
NTC18 §7.5.6, Formula [7.5.21]: V_I,Rd,r = V_I,Rd * sqrt(1 - (N_Ed / N_p,Rd)^2)
Da applicare quando N_Ed / N_p,Rd > 0.15.
Parameters¶
V_I_Rd : float Capacita' a taglio del link in assenza di sforzo normale [N]. N_Ed : float Domanda a sforzo normale nel link [N]. N_p_Rd : float Capacita' a sforzo normale della sezione [N].
Returns¶
float V_I,Rd,r: capacita' a taglio ridotta [N].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_member_demand(N_Ed_G, gamma_ov, Omega, N_Ed_E)
¶
Domanda a sforzo normale amplificata per colonne/diagonali EBF [N].
NTC18 §7.5.6, Formula [7.5.25]: N_Rd(M_Ed, V_Ed) <= N_Ed,G + 1.1 * gamma_ov * Omega * N_Ed,E
Restituisce il limite superiore della domanda (membro destro). Omega e' il minimo di Omega_i = 1.5V_I,Rd,i/V_Ed,i (link corti) oppure Omega = 1.5M_I,Rd,i/M_Ed,i (link lunghi/intermedi).
Parameters¶
N_Ed_G : float Domanda a sforzo normale per azioni non sismiche [N]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. Omega : float Minimo fattore Omega_i tra i link dissipativi [-]. N_Ed_E : float Domanda a sforzo normale per azione sismica [N].
Returns¶
float Limite superiore della domanda N_Ed amplificata [N].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_ebf_omega_homogeneity(Omega_values)
¶
Verifica omogeneita' dei coefficienti Omega dei link EBF [-].
NTC18 §7.5.6: (Omega_max - Omega_min) / Omega_min <= 0.25
Garantisce un comportamento dissipativo omogeneo degli elementi di connessione.
Parameters¶
Omega_values : list[float] Valori Omega_i per i link dissipativi. Per link corti: Omega_i = 1.5 * V_I,Rd,i / V_Ed,i. Per link lunghi/intermedi: Omega_i = 1.5 * M_I,Rd,i / M_Ed,i [-].
Returns¶
tuple[bool, float] - satisfied: True se la dispersione e' <= 25% - dispersion: (Omega_max - Omega_min) / Omega_min [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_mrf_beam_column_hierarchy(M_c_pl_Rd, M_b_pl_Rd, gamma_Rd)
¶
Verifica gerarchia delle resistenze ai nodi trave-colonna (MRF) [-].
NTC18 §7.5.4.2, Formula [7.5.11]: sum(M_C,pl,Rd) >= gamma_Rd * sum(M_b,pl,Rd)
Assicura lo sviluppo del meccanismo globale dissipativo (strong column / weak beam).
Parameters¶
M_c_pl_Rd : list[float] Capacita' a flessione plastica delle colonne convergenti nel nodo [N·mm]. M_b_pl_Rd : list[float] Capacita' a flessione plastica delle travi convergenti nel nodo [N·mm]. gamma_Rd : float Coefficiente di amplificazione (Tab. 7.2.1) [-].
Returns¶
tuple[bool, float] - satisfied: True se la verifica e' soddisfatta - ratio: sum(M_c) / (gamma_Rd * sum(M_b)) [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_mrf_column_demand_M(M_Ed_G, gamma_ov, Omega, M_Ed_E)
¶
Domanda a flessione amplificata per colonne MRF [N·mm].
NTC18 §7.5.4.2, Formula [7.5.8]: M_Ed = M_Ed,G + 1.1 * gamma_ov * Omega * M_Ed,E
Parameters¶
M_Ed_G : float Domanda a flessione per azioni non sismiche [N·mm]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. Omega : float Fattore di sovraresistenza minimo [-]. M_Ed_E : float Domanda a flessione per azione sismica [N·mm].
Returns¶
float M_Ed: momento flettente di progetto amplificato [N·mm].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_mrf_column_demand_N(N_Ed_G, gamma_ov, Omega, N_Ed_E)
¶
Domanda a sforzo normale amplificata per colonne MRF [N].
NTC18 §7.5.4.2, Formula [7.5.7]: N_Ed = N_Ed,G + 1.1 * gamma_ov * Omega * N_Ed,E
Parameters¶
N_Ed_G : float Domanda a sforzo normale per azioni non sismiche [N]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. Omega : float Fattore di sovraresistenza minimo Omega_i = M_pLRd,i / M_Ed,E,i [-]. N_Ed_E : float Domanda a sforzo normale per azione sismica [N].
Returns¶
float N_Ed: sforzo normale di progetto amplificato [N].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_mrf_column_demand_V(V_Ed_G, gamma_ov, Omega, V_Ed_E)
¶
Domanda a taglio amplificata per colonne MRF [N].
NTC18 §7.5.4.2, Formula [7.5.9]: V_Ed = V_Ed,G + 1.1 * gamma_ov * Omega * V_Ed,E
Parameters¶
V_Ed_G : float Domanda a taglio per azioni non sismiche [N]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. Omega : float Fattore di sovraresistenza minimo [-]. V_Ed_E : float Domanda a taglio per azione sismica [N].
Returns¶
float V_Ed: taglio di progetto amplificato [N].
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_mrf_connection_moment(M_J_Rd, gamma_ov, M_b_pl_Rd)
¶
Verifica capacita' a flessione del collegamento trave-colonna (MRF) [-].
NTC18 §7.5.4.3, Formula [7.5.12]: M_J,Rd >= 1.1 * gamma_ov * M_b,pl,Rd
Il collegamento deve essere in grado di trasferire la sovraresistenza della trave in condizioni sismiche.
Parameters¶
M_J_Rd : float Capacita' a flessione del collegamento [N·mm]. gamma_ov : float Coefficiente di sovraresistenza del materiale (§7.5.1) [-]. M_b_pl_Rd : float Capacita' a flessione plastica della trave [N·mm].
Returns¶
tuple[bool, float] - satisfied: True se M_J,Rd >= 1.1 * gamma_ov * M_b,pl,Rd - ratio: M_J,Rd / (1.1 * gamma_ov * M_b,pl,Rd) [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_net_section_check(A_res, A, gamma_M0, gamma_M2)
¶
Verifica sezione netta per membrature tese con collegamenti bullonati [-].
NTC18 §7.5.3.1, Formula [7.5.2]: A_res / A >= 1.1 * gamma_M2 / gamma_M0
Garantisce che la plasticizzazione avvenga nella sezione lorda prima della rottura sulla sezione netta.
Parameters¶
A_res : float Area resistente (area netta piu' eventuale rinforzo) [mm^2]. A : float Area lorda della sezione [mm^2]. gamma_M0 : float Coefficiente parziale gamma_M0 [-]. gamma_M2 : float Coefficiente parziale gamma_M2 [-].
Returns¶
tuple[bool, float] - satisfied: True se il rapporto e' soddisfatto - ratio: (A_res / A) / (1.1 * gamma_M2 / gamma_M0) [-]
Source code in src/pyntc/checks/seismic_steel.py
seismic_steel_section_class_check(section_class, q_0, ductility_class)
¶
Verifica classe di sezione trasversale per elementi dissipativi (DUT).
NTC18 §7.5.3.2, Tab. 7.5.1: CD"B" con 2 < q_0 <= 4: classe 1 o 2 CD"A" con q_0 > 4: solo classe 1
Parameters¶
section_class : int Classe della sezione trasversale dell'elemento dissipativo (1, 2, 3 o 4). q_0 : float Valore di base del fattore di comportamento [-]. ductility_class : str Classe di duttilita': "A" (CD"A") o "B" (CD"B").
Returns¶
tuple[bool, str] - satisfied: True se la classe e' ammessa - required: descrizione della classe richiesta ("1", "1 o 2", "nessuna")