Cemento armato — §4.1¶
Verifiche per elementi in cemento armato secondo NTC18 §4.1.
Riferimento normativo¶
NTC18 §4.1, Tab. 4.1.I/IV, Formule [4.1.3]–[4.1.49]
Include classi di resistenza Tab. 4.1.I, fessurazione SLE [4.1.14–4.1.17], limiti ampiezza fessure Tab. 4.1.IV, flessione [4.1.19], punzonamento senza/con armatura [4.1.30–4.1.32], lunghezza efficace pilastri, interazione N-M, staffe.
API¶
pyntc.checks.concrete
¶
Verifiche calcestruzzo armato — NTC18 §4.1.
Resistenze di progetto dei materiali, limiti di deformazione, verifiche SLE (tensioni, fessurazione) e SLU (taglio, torsione, pressoflessione deviata).
Unita': - Resistenze e tensioni: [MPa] - Dimensioni: [mm] - Aree: [mm^2] - Forze: [N] - Momenti torcenti: [N*mm] - Deformazioni: adimensionali (rapporto, non per mille) - Aperture fessure: [mm]
biaxial_bending_check(M_Edy, M_Rdy, M_Edz, M_Rdz, N_Ed, N_Rd, section='rectangular')
¶
Rapporto di verifica pressoflessione deviata.
NTC18 §4.1.2.3.4.2 — Formula [4.1.19]. (M_Edy/M_Rdy)^alpha + (M_Edz/M_Rdz)^alpha <= 1.0
Parameters¶
M_Edy, M_Rdy : float Momento sollecitante e resistente attorno all'asse y. M_Edz, M_Rdz : float Momento sollecitante e resistente attorno all'asse z. N_Ed : float Sforzo normale di progetto. N_Rd : float Resistenza assiale della sezione. section : str "rectangular" (default), "circular" o "elliptical".
Returns¶
float Rapporto di utilizzo (<=1.0 = verifica OK).
Source code in src/pyntc/checks/concrete.py
bond_design_strength(f_ctk, eta_1=1.0, eta_2=1.0, gamma_c=1.5)
¶
Resistenza tangenziale di aderenza di progetto [MPa].
NTC18 §4.1.2.1.1.4 — f_bd = 2.25 * eta_1 * eta_2 * f_ctk / gamma_c
Parameters¶
f_ctk : float Resistenza caratteristica a trazione del calcestruzzo [MPa]. eta_1 : float 1.0 buona aderenza, 0.7 non buona aderenza. eta_2 : float 1.0 per Phi <= 32mm, (132-Phi)/100 per Phi > 32mm. gamma_c : float Coefficiente parziale di sicurezza (default 1.5).
Returns¶
float f_bd [MPa].
Source code in src/pyntc/checks/concrete.py
concrete_beam_min_reinforcement(f_ctm, f_yk, b, d)
¶
Armatura longitudinale minima per travi in c.a. [mm^2].
NTC18 §4.1.6.1.1, Formula [4.1.45]: A_s,min = max(0.26 * f_ctm/f_yk * b * d, 0.0013 * b * d)
Parameters¶
f_ctm : float Resistenza media a trazione del calcestruzzo [MPa]. f_yk : float Resistenza caratteristica a snervamento dell'acciaio [MPa]. b : float Larghezza della sezione [mm]. d : float Altezza utile della sezione [mm].
Returns¶
float A_s,min: area minima dell'armatura longitudinale [mm^2].
Source code in src/pyntc/checks/concrete.py
concrete_bending_check(M_Ed, M_Rd)
¶
Verifica a flessione semplice.
NTC18 §4.1.2.3.1 — M_Ed / M_Rd <= 1.0.
Parameters¶
M_Ed : float Momento flettente di progetto [Nmm]. M_Rd : float Momento resistente [Nmm].
Returns¶
tuple[bool, float] (verifica_ok, ratio) con ratio = M_Ed / M_Rd.
Source code in src/pyntc/checks/concrete.py
concrete_bending_resistance(b, d, A_s, f_yd, f_cd)
¶
Momento resistente sezione rettangolare a pressoflessione semplice [N*mm].
NTC18 §4.1.2.3.1 — Armatura tesa, blocco rettangolare di tensioni.
Parameters¶
b : float Larghezza della sezione [mm]. d : float Altezza utile della sezione [mm]. A_s : float Area armatura tesa [mm²]. f_yd : float Resistenza di progetto acciaio [MPa]. f_cd : float Resistenza di progetto calcestruzzo [MPa].
Returns¶
float M_Rd [N*mm].
Source code in src/pyntc/checks/concrete.py
concrete_column_effective_length(L, condition_top, condition_bottom)
¶
Lunghezza efficace del pilastro [mm].
NTC18 §4.1.2.3.9.1 — l_0 = beta * L
Parameters¶
L : float Lunghezza geometrica del pilastro [mm]. condition_top : str Condizione di vincolo alla sommità: "fixed", "pinned" o "free". condition_bottom : str Condizione di vincolo alla base: "fixed", "pinned" o "free".
Returns¶
float Lunghezza efficace l_0 [mm].
Source code in src/pyntc/checks/concrete.py
concrete_column_interaction_check(N_Ed, M_Ed, N_Rd, M_Rd)
¶
Verifica dominio N-M (interazione lineare) per pilastro in c.a.
NTC18 §4.1.2.3.3 — Formula [4.1.19]. N_Ed/N_Rd + M_Ed/M_Rd <= 1.0
Parameters¶
N_Ed : float Sforzo normale di progetto [N]. M_Ed : float Momento di progetto [Nmm]. N_Rd : float Resistenza assiale di progetto [N]. M_Rd : float Resistenza flessionale di progetto [Nmm].
Returns¶
tuple[bool, float] (verifica_ok, ratio) dove ratio = N_Ed/N_Rd + M_Ed/M_Rd.
Source code in src/pyntc/checks/concrete.py
concrete_column_min_reinforcement(N_Ed, f_yd, A_c)
¶
Armatura longitudinale minima per pilastri in c.a. [mm^2].
NTC18 §4.1.6.1.2, Formula [4.1.46]: A_s,min = max(0.10 * N_Ed / f_yd, 0.003 * A_c)
Parameters¶
N_Ed : float Sforzo normale di progetto [N]. f_yd : float Resistenza di progetto dell'acciaio [MPa]. A_c : float Area della sezione di calcestruzzo [mm^2].
Returns¶
float A_s,min: area minima dell'armatura longitudinale [mm^2].
Source code in src/pyntc/checks/concrete.py
concrete_confined_strength(f_ck, sigma_2)
¶
Resistenza e deformazioni del calcestruzzo confinato.
NTC18 §4.1.2.1.2.1 — Formule [4.1.8]-[4.1.11].
Parameters¶
f_ck : float Resistenza caratteristica non confinata [MPa]. sigma_2 : float Pressione laterale efficace di confinamento [MPa].
Returns¶
tuple[float, float, float] (f_ck_c, epsilon_c2_c, epsilon_cu_c) f_ck_c [MPa], deformazioni adimensionali.
Source code in src/pyntc/checks/concrete.py
concrete_crack_mean_strain(sigma_s, E_s, rho_eff, f_ctm, k_t=0.4)
¶
Differenza media di deformazione tra acciaio e calcestruzzo [-].
NTC18 §4.1.2.2.4.5 — Formule [4.1.15]-[4.1.16]: epsilon_am - epsilon_cm = [sigma_s - k_t * (f_ctm / rho_eff) * (1 + n * rho_eff)] / E_s con il limite inferiore: >= 0.6 * sigma_s / E_s
Il rapporto modulare n = E_s / E_cm e' comunemente preso pari a 15 (valore di riferimento NTC18 per il calcestruzzo ordinario), ma il suo effetto su (1 + nrho_eff) e' trascurabile per rho_eff tipici. In questa formula nrho_eff rappresenta il contributo della rigidezza del calcestruzzo interposto tra le fessure; il prodotto (f_ctm/rho_eff)(1+nrho_eff) e' anche scritto come f_ctm/rho_eff + n*f_ctm.
Parameters¶
sigma_s : float Tensione nell'armatura tesa nella sezione fessurata [MPa]. E_s : float Modulo elastico dell'acciaio [MPa] (tipicamente 200000 MPa). rho_eff : float Rapporto di armatura efficace A_s / A_c,eff [-]. f_ctm : float Resistenza media a trazione del calcestruzzo [MPa]. k_t : float Coefficiente di durata del carico: 0.6 per carichi brevi, 0.4 per carichi di lunga durata (default 0.4).
Returns¶
float epsilon_am - epsilon_cm [-], non negativo.
Source code in src/pyntc/checks/concrete.py
concrete_crack_spacing(phi, rho_eff, c, k_1=0.8, k_2=0.5, k_3=3.4, k_4=0.425)
¶
Distanza massima tra fessure [mm].
NTC18 §4.1.2.2.4.5 — Formula [4.1.17]: s_r,max = k_3 * c + k_1 * k_2 * k_4 * phi / rho_eff
Valori tipici dei coefficienti (NTC18/EC2): - k_1 = 0.8 per barre ad aderenza migliorata, 1.6 per barre lisce - k_2 = 0.5 per flessione pura, 1.0 per trazione pura - k_3 = 3.4 - k_4 = 0.425
Parameters¶
phi : float Diametro delle barre di armatura [mm]. rho_eff : float Rapporto di armatura efficace A_s / A_c,eff [-]. c : float Copriferro netto [mm]. k_1 : float Coefficiente per tipo di barra (default 0.8, aderenza migliorata). k_2 : float Coefficiente per distribuzione delle deformazioni (default 0.5). k_3 : float Coefficiente per copriferro (default 3.4). k_4 : float Coefficiente per spaziatura (default 0.425).
Returns¶
float s_r,max [mm].
Source code in src/pyntc/checks/concrete.py
concrete_crack_width(epsilon_am_cm, s_r_max)
¶
Apertura caratteristica delle fessure [mm].
NTC18 §4.1.2.2.4.5 — Formula [4.1.14]: w_1 = 1.7 * epsilon_am_cm * s_r_max
Parameters¶
epsilon_am_cm : float Differenza media di deformazione (epsilon_am - epsilon_cm) [-]. Valore non negativo (adimensionale). s_r_max : float Distanza massima tra fessure [mm].
Returns¶
float Apertura caratteristica w_1 [mm].
Source code in src/pyntc/checks/concrete.py
concrete_crack_width_limit(exposure_class, load_combination='quasi_permanent')
¶
Apertura massima delle fessure in funzione della classe di esposizione.
NTC18 §4.1.2.2.4.4 — Tab. 4.1.IV.
Parameters¶
exposure_class : str Classe di esposizione ambientale secondo NTC18/EC2. Valori ammessi: "XC1", "XC2", "XC3", "XC4", "XD1", "XD2", "XD3", "XS1", "XS2", "XS3". load_combination : str Combinazione delle azioni: "quasi_permanent" (default) o "frequent".
Returns¶
float Apertura massima ammissibile w_max [mm].
Source code in src/pyntc/checks/concrete.py
concrete_design_compressive_strength(f_ck, gamma_c=1.5, alpha_cc=0.85)
¶
Resistenza di progetto a compressione del calcestruzzo [MPa].
NTC18 §4.1.2.1.1.1 — f_cd = alpha_cc * f_ck / gamma_c
Parameters¶
f_ck : float Resistenza caratteristica cilindrica a compressione [MPa]. gamma_c : float Coefficiente parziale di sicurezza (default 1.5, riducibile a 1.4). alpha_cc : float Coefficiente riduttivo resistenze lunga durata (default 0.85).
Returns¶
float f_cd [MPa].
Source code in src/pyntc/checks/concrete.py
concrete_design_tensile_strength(f_ctk, gamma_c=1.5)
¶
Resistenza di progetto a trazione del calcestruzzo [MPa].
NTC18 §4.1.2.1.1.2 — f_ctd = f_ctk / gamma_c
Parameters¶
f_ctk : float Resistenza caratteristica a trazione [MPa]. gamma_c : float Coefficiente parziale di sicurezza (default 1.5).
Returns¶
float f_ctd [MPa].
Source code in src/pyntc/checks/concrete.py
concrete_min_stirrup_spacing(d, phi_l=0.0, phi_w=0.0)
¶
Passo massimo staffe trasversali [mm].
NTC18 §4.1.2.3.5.3 — Formula [4.1.29]. Per staffe verticali: s_max = min(0.75*d, 300 mm).
Parameters¶
d : float Altezza utile della sezione [mm]. phi_l : float Diametro barra longitudinale [mm] (non usato nella formula base, incluso per completezza). phi_w : float Diametro staffa [mm] (non usato nella formula base, incluso per completezza).
Returns¶
float Passo massimo s_max [mm].
Source code in src/pyntc/checks/concrete.py
concrete_prestress_stress_limits(f_p01k, f_pk, prestress_type)
¶
Tensioni limite per armature da precompressione [MPa].
NTC18 §4.1.8.15, Formula [4.1.49]: - Post-tesa: sigma < 0.85 * f_p(0.1)k e sigma < 0.75 * f_pk - Pre-tesa: sigma < 0.90 * f_p(0.1)k e sigma < 0.80 * f_pk
Parameters¶
f_p01k : float Tensione caratteristica all'1‰ di deformazione [MPa]. f_pk : float Tensione caratteristica a rottura [MPa]. prestress_type : str Tipo di precompressione: "post_tensioned" o "pre_tensioned".
Returns¶
tuple[float, float] (sigma_max_01k, sigma_max_pk): tensioni limite [MPa]. La tensione applicata deve essere minore di entrambi i valori.
Source code in src/pyntc/checks/concrete.py
concrete_punching_shear_check(V_Ed, f_ck, rho_l, sigma_cp, b_0, d, gamma_c=1.5)
¶
Verifica a punzonamento senza armatura.
NTC18 §4.1.2.3.7 — V_Ed / V_Rd,c <= 1.0.
Parameters¶
V_Ed : float Forza di punzonamento di progetto [N]. f_ck : float Resistenza caratteristica cilindrica a compressione [MPa]. rho_l : float Rapporto geometrico armatura longitudinale [-]. sigma_cp : float Tensione media di compressione [MPa] (0 se assente). b_0 : float Perimetro critico di controllo [mm]. d : float Altezza utile della sezione [mm]. gamma_c : float Coefficiente parziale (default 1.5).
Returns¶
tuple[bool, float] (verifica_ok, ratio) con ratio = V_Ed / V_Rd,c.
Source code in src/pyntc/checks/concrete.py
concrete_punching_shear_resistance(f_ck, rho_l, sigma_cp, b_0, d, gamma_c=1.5)
¶
Resistenza a punzonamento senza armatura [N].
NTC18 §4.1.2.3.7 — Formula [4.1.30].
Parameters¶
f_ck : float Resistenza caratteristica cilindrica a compressione [MPa]. rho_l : float Rapporto geometrico armatura longitudinale [-] (cappato a 0.02). sigma_cp : float Tensione media di compressione N_Ed/A_c [MPa] (0 se assente). b_0 : float Perimetro critico di controllo [mm]. d : float Altezza utile della sezione [mm]. gamma_c : float Coefficiente parziale (default 1.5).
Returns¶
float V_Rd,c [N].
Source code in src/pyntc/checks/concrete.py
concrete_punching_shear_resistance_reinforced(f_ck, rho_l, sigma_cp, b_0, d, A_sw, f_ywd, s_r, gamma_c=1.5)
¶
Resistenza a punzonamento con armatura [N].
NTC18 §4.1.2.3.7 — Formula [4.1.32]. V_Rd = 0.75 * V_Rd,c + V_Rd,s
Parameters¶
f_ck : float Resistenza caratteristica cilindrica [MPa]. rho_l : float Rapporto geometrico armatura longitudinale (cappato a 0.02). sigma_cp : float Tensione media di compressione N_Ed/A_c [MPa]. b_0 : float Perimetro di controllo [mm]. d : float Altezza utile [mm]. A_sw : float Area armatura a punzonamento in un perimetro [mm²]. f_ywd : float Resistenza di progetto armatura a punzonamento [MPa]. s_r : float Distanza radiale tra i cerchi di armatura [mm]. gamma_c : float Coefficiente parziale calcestruzzo (default 1.5).
Returns¶
float V_Rd [N].
Source code in src/pyntc/checks/concrete.py
concrete_slenderness(l_0, i)
¶
Snellezza di un elemento compresso in c.a. [-].
NTC18 §4.1.2.3.9.2, Formula [4.1.42]: lambda = l_0 / i
Parameters¶
l_0 : float Lunghezza libera di inflessione [mm]. i : float Raggio di inerzia della sezione [mm].
Returns¶
float Snellezza lambda [-].
Source code in src/pyntc/checks/concrete.py
concrete_slenderness_limit(v)
¶
Snellezza limite per pilastri in c.a. [-].
NTC18 §4.1.2.3.9.2, Formula [4.1.41]: lambda_lim = 25 / sqrt(v)
dove v = N_Ed / (A_c * f_cd) e' il rapporto di sollecitazione assiale.
Parameters¶
v : float Rapporto di sollecitazione assiale v = N_Ed / (A_c * f_cd) [-]. Deve essere 0 < v <= 1.
Returns¶
float Snellezza limite lambda_lim [-].
Source code in src/pyntc/checks/concrete.py
concrete_strain_limits(f_ck)
¶
Deformazioni limite del calcestruzzo (adimensionali).
NTC18 §4.1.2.1.2.1 — Valori per modelli sigma-epsilon.
Parameters¶
f_ck : float Resistenza caratteristica cilindrica a compressione [MPa].
Returns¶
tuple[float, float, float, float] (epsilon_c2, epsilon_cu2, epsilon_c3, epsilon_cu3) Modello parabola-rettangolo: eps_c2, eps_cu2. Modello bilineare: eps_c3, eps_cu3.
Source code in src/pyntc/checks/concrete.py
concrete_strength_class(strength_class)
¶
Proprieta' meccaniche di una classe di resistenza del calcestruzzo.
NTC18 §4.1.2.1.1 — Tabella 4.1.I. Classi disponibili: C8/10 ... C90/105.
Parameters¶
strength_class : str Denominazione della classe di resistenza (es. "C25/30").
Returns¶
dict[str, float] Dizionario con le chiavi: - f_ck : resistenza caratteristica cilindrica [MPa] - f_cm : resistenza media cilindrica [MPa] - f_ctm : resistenza media a trazione [MPa] - f_ctk_005 : resistenza caratteristica a trazione (5° perc.) [MPa] - E_cm : modulo elastico secante [MPa]
Source code in src/pyntc/checks/concrete.py
concrete_stress_limit(f_ck, combination='characteristic')
¶
Tensione massima ammissibile nel calcestruzzo SLE [MPa].
NTC18 §4.1.2.2.5.1 — [4.1.15] e [4.1.16].
Parameters¶
f_ck : float Resistenza caratteristica cilindrica a compressione [MPa]. combination : str "characteristic" (0.60f_ck) o "quasi_permanent" (0.45f_ck).
Returns¶
float Tensione massima ammissibile sigma_c,max [MPa].
Source code in src/pyntc/checks/concrete.py
shear_resistance_no_stirrups(f_ck, d, bw, rho_l, sigma_cp=0.0, gamma_c=1.5)
¶
Resistenza a taglio senza armature trasversali [N].
NTC18 §4.1.2.3.5.1 — Formula [4.1.23].
Parameters¶
f_ck : float Resistenza caratteristica cilindrica [MPa]. d : float Altezza utile della sezione [mm]. bw : float Larghezza minima della sezione [mm]. rho_l : float Rapporto geometrico armatura longitudinale tesa (cappato a 0.02). sigma_cp : float Tensione media di compressione N_Ed/A_c [MPa] (cappata a 0.2*f_cd). gamma_c : float Coefficiente parziale (default 1.5).
Returns¶
float V_Rd [N].
Source code in src/pyntc/checks/concrete.py
shear_resistance_with_stirrups(d, bw, Asw, s, f_yd, f_cd, cot_theta, alpha=90.0, sigma_cp=0.0)
¶
Resistenza a taglio con armature trasversali [N].
NTC18 §4.1.2.3.5.2 — Formule [4.1.27]-[4.1.29]. V_Rd = min(V_Rsd, V_Rcd).
Parameters¶
d : float Altezza utile [mm]. bw : float Larghezza minima [mm]. Asw : float Area armatura trasversale [mm^2]. s : float Interasse staffe [mm]. f_yd : float Resistenza di progetto acciaio [MPa]. f_cd : float Resistenza di progetto calcestruzzo [MPa]. cot_theta : float Cotangente angolo inclinazione puntoni (1 <= cot_theta <= 2.5). alpha : float Angolo inclinazione staffe [gradi] (default 90 = verticali). sigma_cp : float Tensione media compressione [MPa].
Returns¶
float V_Rd [N].
Source code in src/pyntc/checks/concrete.py
steel_design_strength(f_yk, gamma_s=1.15)
¶
Resistenza di progetto dell'acciaio [MPa].
NTC18 §4.1.2.1.1.3 — f_yd = f_yk / gamma_s
Parameters¶
f_yk : float Tensione caratteristica di snervamento [MPa]. gamma_s : float Coefficiente parziale di sicurezza (default 1.15).
Returns¶
float f_yd [MPa].
Source code in src/pyntc/checks/concrete.py
steel_stress_limit(f_yk)
¶
Tensione massima ammissibile nell'acciaio SLE [MPa].
NTC18 §4.1.2.2.5.2 — sigma_s,max <= 0.80 * f_yk
Parameters¶
f_yk : float Tensione caratteristica di snervamento [MPa].
Returns¶
float Tensione massima ammissibile sigma_s,max [MPa].
Source code in src/pyntc/checks/concrete.py
torsion_resistance(A, t, Asw, s, f_yd, f_cd, sum_Al, um, cot_theta, sigma_cp=0.0)
¶
Resistenza a torsione [N*mm].
NTC18 §4.1.2.3.6 — Formule [4.1.35]-[4.1.39]. T_Rd = min(T_Rcd, T_Rsd, T_Rld).
Parameters¶
A : float Area racchiusa dalla fibra media del profilo periferico [mm^2]. t : float Spessore della parete equivalente [mm]. Asw : float Area di una staffa (singola branca) [mm^2]. s : float Passo delle staffe [mm]. f_yd : float Resistenza di progetto acciaio [MPa]. f_cd : float Resistenza di progetto calcestruzzo [MPa]. sum_Al : float Area complessiva armatura longitudinale [mm^2]. um : float Perimetro medio del nucleo resistente [mm]. cot_theta : float Cotangente angolo bielle compresse (1 <= cot_theta <= 2.5). sigma_cp : float Tensione media compressione [MPa].
Returns¶
float T_Rd [N*mm].
Source code in src/pyntc/checks/concrete.py
torsion_shear_interaction(T_Ed, T_Rcd, V_Ed, V_Rcd)
¶
Rapporto di interazione torsione-taglio.
NTC18 §4.1.2.3.6 — Formula [4.1.40]. T_Ed/T_Rcd + V_Ed/V_Rcd <= 1.0 per verifica soddisfatta.
Parameters¶
T_Ed : float Momento torcente di progetto. T_Rcd : float Resistenza torsionale lato calcestruzzo. V_Ed : float Taglio di progetto. V_Rcd : float Resistenza a taglio lato calcestruzzo.
Returns¶
float Rapporto di utilizzo (<=1.0 = verifica OK).