Sismica — §3.2¶
Funzioni per l'azione sismica secondo NTC18 §3.2.
Riferimento normativo¶
NTC18 §3.2, Tab. 3.2.I/IV/V, Formule [3.2.0]–[3.2.13]
Include spettro di risposta orizzontale, spettro verticale [3.2.9], spettro di spostamento [3.2.10–3.2.11], velocità equivalente onde di taglio [3.2.1], spostamento di picco [3.2.12–3.2.13].
API¶
pyntc.actions.seismic
¶
Azione sismica — NTC18 §3.2.
Periodo di ritorno (§3.2.1), categorie di sottosuolo (§3.2.2), spettro di risposta elastico orizzontale (§3.2.3.2.1).
elastic_response_spectrum(T, ag, F0, Tc_star, soil_category='A', topo_category='T1', xi=5.0)
¶
Spettro di risposta elastico orizzontale Se(T) [g].
NTC18 §3.2.3.2.1, Formula [3.2.2].
Calcola le ordinate spettrali per i quattro tratti: - 0 <= T < T_B: rampa ascendente - T_B <= T < T_C: plateau (accelerazione costante) - T_C <= T < T_D: tratto a velocita' costante (1/T) - T_D <= T: tratto a spostamento costante (1/T^2)
Parameters¶
T : float or np.ndarray
Periodo/i di vibrazione [s]. Deve essere >= 0.
ag : float
Accelerazione massima al suolo su cat. A [g].
F0 : float
Fattore di amplificazione spettrale massima [-].
Tc_star : float
Periodo di inizio tratto a velocita' costante [s].
soil_category : str
Categoria di sottosuolo (default "A").
topo_category : str
Categoria topografica (default "T1").
xi : float
Smorzamento viscoso [%]. Default 5%.
Returns¶
float or np.ndarray Ordinata/e spettrale/i Se(T) [g].
Raises¶
ValueError
Se T < 0.
Source code in src/pyntc/actions/seismic.py
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | |
seismic_damping_factor(xi)
¶
Fattore di smorzamento eta [-].
NTC18 §3.2.3.2.1, Formula [3.2.4]: eta = sqrt(10 / (5 + xi)) >= 0.55
Parameters¶
xi : float Coefficiente di smorzamento viscoso [%]. Tipicamente 5%.
Returns¶
float Fattore eta [-].
Raises¶
ValueError
Se xi < 0.
Source code in src/pyntc/actions/seismic.py
seismic_displacement_spectrum(S_e, T, T_D, S_e_TD=None)
¶
Ordinata dello spettro elastico di spostamento S_De(T) [m].
NTC18 §3.2.3.2.3, Formule [3.2.10]–[3.2.11]: S_De(T) = S_e(T) * (T / (2*pi))^2 per T <= T_D S_De(T) = S_De(T_D) per T > T_D (plateau spostamenti)
dove S_e e' espressa in [g] (come restituito da elastic_response_spectrum), e il risultato e' convertito in [m] con g = 9.81 m/s^2.
Parameters¶
S_e : float Ordinata spettrale elastica S_e(T) [g]. T : float Periodo di vibrazione [s]. Deve essere >= 0. T_D : float Periodo di inizio tratto a spostamento costante [s]. Deve essere > 0. S_e_TD : float or None Ordinata spettrale al periodo T_D [g], necessaria solo quando T > T_D. Se None e T > T_D viene sollevato ValueError.
Returns¶
float Ordinata spettrale di spostamento S_De(T) [m].
Raises¶
ValueError
Se T < 0, T_D <= 0, o S_e_TD non fornito per T > T_D.
Source code in src/pyntc/actions/seismic.py
seismic_equivalent_shear_velocity(H, h_i, v_s_i)
¶
Velocita' di taglio equivalente V_s,eq [m/s].
NTC18 §3.2.2, Formula [3.2.1]: V_s,eq = H / sum(h_i / v_s,i)
dove H = sum(h_i) e' la profondita' totale del profilo stratigrafico e la somma e' estesa agli N strati da 0 a 30 m di profondita'.
Parameters¶
H : float Profondita' totale del profilo [m]. Deve essere > 0 e approssimativamente uguale a sum(h_i). h_i : list[float] Spessori dei singoli strati [m]. Tutti devono essere > 0. v_s_i : list[float] Velocita' di taglio dei singoli strati [m/s]. Tutti devono essere > 0.
Returns¶
float Velocita' di taglio equivalente V_s,eq [m/s].
Raises¶
ValueError Se le liste hanno lunghezze diverse, se H <= 0, se un valore e' <= 0, o se sum(h_i) non e' compatibile con H (tolleranza 1%).
Source code in src/pyntc/actions/seismic.py
seismic_max_ground_displacement(d_g_x, d_g_y)
¶
Spostamento assoluto massimo del terreno d_g,max [m].
NTC18 §3.2.4.2, Formula [3.2.13]: d_g,max = 1.25 * sqrt(d_g_x^2 + d_g_y^2)
dove d_g_x e d_g_y sono gli spostamenti di picco del terreno nelle due direzioni orizzontali principali (tipicamente coincidenti se si usa lo stesso spettro nelle due direzioni).
Parameters¶
d_g_x : float Spostamento di picco del terreno in direzione X [m]. Deve essere >= 0. d_g_y : float Spostamento di picco del terreno in direzione Y [m]. Deve essere >= 0.
Returns¶
float Spostamento assoluto massimo d_g,max [m].
Raises¶
ValueError Se uno dei valori e' negativo.
Source code in src/pyntc/actions/seismic.py
seismic_peak_ground_displacement(a_g, S, T_C, T_D)
¶
Spostamento e velocita' di picco del terreno d_g [m] e v_g [m/s].
NTC18 §3.2.3.3, Formula [3.2.12]: d_g = 0.025 * a_g * g * S * T_C * T_D [m] v_g = 0.16 * a_g * g * S * T_C [m/s]
dove g = 9.81 m/s^2 e a_g e' espresso in [g].
Parameters¶
a_g : float Accelerazione massima al suolo su cat. A [g]. Deve essere > 0. S : float Coefficiente di amplificazione complessivo S = S_s * S_T [-]. Deve essere > 0. T_C : float Periodo di inizio tratto a velocita' costante [s]. Deve essere > 0. T_D : float Periodo di inizio tratto a spostamento costante [s]. Deve essere > 0.
Returns¶
tuple[float, float]
(d_g, v_g) spostamento [m] e velocita' [m/s] di picco del terreno.
Raises¶
ValueError Se uno qualsiasi dei parametri e' <= 0.
Source code in src/pyntc/actions/seismic.py
seismic_return_period(v_r, p_vr)
¶
Periodo di ritorno del sisma T_R [anni].
NTC18 §3.2.1, Formula [3.2.0]: T_R = -V_R / ln(1 - P_VR)
Parameters¶
v_r : float Periodo di riferimento della costruzione V_R [anni]. p_vr : float Probabilita' di superamento nel periodo di riferimento [-]. Deve essere in (0, 1). Valori tipici: 0.81 (SLO), 0.63 (SLD), 0.10 (SLV), 0.05 (SLC).
Returns¶
float Periodo di ritorno T_R [anni].
Raises¶
ValueError
Se p_vr non e' in (0, 1).
Source code in src/pyntc/actions/seismic.py
seismic_soil_amplification(soil_category, ag, F0, Tc_star)
¶
Coefficienti di amplificazione stratigrafica S_s e C_c [-].
NTC18 §3.2.3.2.1, Tab. 3.2.IV.
Parameters¶
soil_category : str
Categoria di sottosuolo: "A", "B", "C", "D", "E".
ag : float
Accelerazione massima al suolo su cat. A [g].
F0 : float
Fattore di amplificazione spettrale massima [-]. Minimo 2.2.
Tc_star : float
Periodo di inizio tratto a velocita' costante [s].
Returns¶
tuple[float, float]
(S_s, C_c) coefficienti di amplificazione stratigrafica [-].
Raises¶
ValueError
Se soil_category non e' valida.
Source code in src/pyntc/actions/seismic.py
seismic_topographic_amplification(topo_category)
¶
Coefficiente di amplificazione topografica S_T [-].
NTC18 §3.2.3.2.1, Tab. 3.2.V.
Parameters¶
topo_category : str
Categoria topografica: "T1", "T2", "T3", "T4".
Returns¶
float Coefficiente S_T [-].
Raises¶
ValueError
Se topo_category non e' valida.
Source code in src/pyntc/actions/seismic.py
seismic_vertical_spectrum_amplification(a_g, F_0)
¶
Fattore di amplificazione spettrale massima verticale F_v [-].
NTC18 §3.2.3.2.2, Formula [3.2.9]: F_v = 1.35 * F_0 * (a_g / g)^0.5
dove g = 9.81 m/s^2.
Parameters¶
a_g : float Accelerazione massima al suolo su cat. A [g]. Deve essere > 0. F_0 : float Fattore di amplificazione spettrale massima orizzontale [-]. Deve essere >= 2.2.
Returns¶
float Fattore di amplificazione spettrale massima verticale F_v [-].
Raises¶
ValueError
Se a_g <= 0 o F_0 < 2.2.