Blog

Risorse

Tutti gli articoli della categoria Strutture

Classificazione delle strade

La strada è definita come area ad uso pubblico adibita al transito di veicoli, pedoni ed animali. Di seguito diamo delle definizioni riguardanti la geometria stradale:

SEDE STRADALE: superficie compresa entro i confini stradali

CARREGGIATA: parte della strada destinata allo scorrimento dei veicoli; essa è composta da uno o più corsie di marcia; è pavimentata ed è delineata da strisce di margine.

CORSIA: parte longitudinale della strada, delimitata da segnaletica orizzontale, di larghezza idonea a permettere il transito di una sola fila di veicoli.

DISPOSITIVO DI RITENUTA: elemento tendente ad evitare la fuoriuscita dei veicoli dalla piattaforma o comunque a ridurne le conseguenze dannose. È contenuto all’interno dello spartitraffico o del margine esterno della piattaforma.

FASCIA DI PERTINENZA: striscia di terreno compresa tra la carreggiata più esterna e il confine stradale. È parte della proprietà stradale e può essere utilizzata solo per la realizzazione dei altre parti della strada.

FASCIA DI RISPETTO: striscia di terreno, esterno al confine stradale, sulla quale quale esistono vincoli alla realizzazione, da parte del proprietario del terreno, di scavi, costruzioni, recinzioni, piantagioni, depositi e simili.

MARCIAPIEDE: parte della strada, esterna alla carreggiata, destinata ai pedoni. MARGINE INTERNO: parte della piattaforma che separa carreggiate percorse in senso opposto.

MARGINE LATERALE: parte della piattaforma che separa carreggiate percorse nello stesso tempo.

MARGINE ESTERNO: parte della sede stradale, esterna alla piattaforma, nella quale trovano sede cigli, cunette, arginelli, marciapiedi o gli elementi di sicurezza o arredo.

PIATTAFORMA: parte della sede stradale che comprende le carreggiate (comprendenti a loro volta le corsie), le banchine, gli eventuali margini interni e laterali, le corsie specializzate. Non fa parte della piattaforma il margine esterno.

Calcolo delle azioni delle NTC18 in python

AZIONE VARIABILE DEL VENTO

L’azione del vento viene calcolata con riferimento al D.M. 17 gennaio 2018 – NORME TECNICHE PER LE COSTRUZIONI Cap. 3 – AZIONI SULLE COSTRUZIONI – Par. 3.3 e 3.4 accompagnato dalle Norme CNR-DT207/2008.

Velocità base di riferimento

La velocità base di riferimento è funzione della posizione geografica della struttura, la sua definizione è riportata al punto 3.3.1. delle NTC. I parametri vengono definiti in Tab. 3.3.I:

Zona Descrizione $v_{b,0}$ [m/s] $a_{0}$ [m] $k_s$
1 Valle d’Aosta, Piemonte, Lombardia, Trentino Alto Adige, Veneto, Friuli Venezia Giulia (con l’eccezione della provincia di Trieste) 25 1000 0.40
2 Emilia Romagna 25 750 0.45
3 Toscana, Marche, Umbria, Lazio, Abruzzo, Molise, Puglia, Campania, Basilicata, Calabria (esclusa la provincia di Reggio Calabria) 27 500 0.37
4 Sicilia e provincia di Reggio Calabria 28 500 0.36
5 Sardegna (zona a oriente della retta congiungente Capo Teulada con l’Isola di Maddalena) 28 750 0.4
6 Sardegna (zona a occidente della retta congiungente Capo Teulada con l’Isola di Maddalena) 28 500 0.36
7 Liguria 28 1000 0.54
8 Provincia di Trieste 30 1500 0.5
9 Isole (con l’eccezione di Sicilia e Sardegna) e mare aperto 31 500 0.2

la velocità base di riferimento è data dall’espressione [3.3.1]:
$$v_b = v_{b,0}\cdot c_{a} $$
dove:
– $a_0, k_s$ sono parametri forniti nella Tab. 3.3.I in funzione della zona in cui sorge la costruzione (Fig. 3.3.1);
– $a_{s}$ è l’altitudine sul livello del mare del sito ove sorge la costruzione.

# Velocita base di riferimento
import math
print("Definizione dei dati\n")
print("Zona: \n")

zona = input("1 - Valle d’Aosta, Piemonte, Lombardia, Trentino Alto Adige, Veneto, Friuli Venezia Giulia (con l’eccezione della provincia di Trieste)\n" +
"2 - Emilia Romagna\n" +
"3 - Toscana, Marche, Umbria, Lazio, Abruzzo, Molise, Puglia, Campania, Basilicata, Calabria (esclusa la provincia di Reggio Calabria)\n" +
"4 - Sicilia e provincia di Reggio Calabria\n" +
"5 - Sardegna (zona a oriente della retta congiungente Capo Teulada con l’Isola di Maddalena)\n" +
"6 - Sardegna (zona a occidente della retta congiungente Capo Teulada con l’Isola di Maddalena)\n" +
"7 - Liguria\n" +
"8 - Provincia di Trieste\n" +
"9 - Isole (con l'eccezione di Sicilia e Sardegna) e mare aperto\n")

zona = int(zona)
print(f'zona: {zona}')

a_s = int(input("altitudine slm del sito dove sorge la costruzione: "))
D = int(input("Distanza dalla costa (inserire 0 oppure valori negativi per le costruzioni sul mare: )"))
Tr = int(input("Tempo di ritorno di progetto: "))
z = float(input("z altezza dell'edificio (fino alla linea di gronda: )"))

# Coefficiente di esposizione
print("Definizione dei dati: ")
print("## CLASSE DI RUGOSITA'\n")
classe_rugosita = input('A - Aree urbane in cui almeno il 15% della superficie sia coperto da edifici la cui altezza media superi i 15 m\n'+
'B - Aree urbane (non di classe A), suburbane, industriali e boschive\n'+
'C - Aree con ostacoli diffusi (alberi, case, muri, recinzioni,....); aree con rugosità non riconducibile alle classi A, B, D\n'+
'D - a) Mare e relativa fascia costiera (entro 2 km dalla costa);\n'+
' - b)Lago (con larghezza massima pari ad almeno 1 km) e relativa fascia costiera (entro 1 km dalla costa)\n'+
' - c) Aree prive di ostacoli o con al più rari ostacoli isolati (aperta campagna, aeroporti, aree agricole, pascoli, zone paludose o sabbiose, superfici innevate o ghiacciate, ....)\n')

# Definizione Categoria di esposizione
esp = "Condition not met" # Initialize with a default value
if classe_rugosita == 'A':
if D < 0:
esp = '0'
elif 0 < D < 10:
esp = 'IV'
elif 10 < D < 30: esp = 'IV' elif D > 30:
if a_s < 500:
esp = 'V'
elif 500 < a_s < 750: esp = 'V' elif a_s > 750:
esp = 'V'

elif classe_rugosita == 'B':
if D < 0:
esp = '0'
elif 0 < D < 10:
esp = 'III'
elif 10 < D < 30: esp = 'III' elif D > 30:
if a_s < 500:
esp = 'IV'
elif 500 < a_s < 750: esp = 'IV' elif a_s > 750:
esp = 'IV'

elif classe_rugosita == 'C':
if D < 0:
esp = '0'
elif 0 < D < 10:
esp = 'II' if zona <= 4 else 'III'
elif 10 < D < 30: esp = 'III' elif D > 30:
if a_s < 500:
esp = 'IV'
elif 500 < a_s < 750: esp = 'IV' elif a_s > 750:
esp = 'IV'

elif classe_rugosita == 'D':
if D < 0:
esp = 'I'
elif 0 < D < 10:
esp = 'II'
elif 10 < D < 30: esp = 'II' elif D > 30:
if a_s < 500:
esp = 'II'
elif 500 < a_s < 750: esp = 'III' elif a_s > 750:
if 2 <= zona <= 5: esp = 'III' elif zona == 1: esp = 'IV' else: esp = "nessuna classe disponibile" else: esp = "nessuna classe di rugosita trovata" #------------------------------------------------------------ # Parametri per la definizione del coefficiente di esposizione exposure_categories = { 'I': {'Kr': 0.17, 'z0': 0.01, 'zmin': 2}, 'II': {'Kr': 0.19, 'z0': 0.05, 'zmin': 4}, 'III': {'Kr': 0.20, 'z0': 0.10, 'zmin': 5}, 'IV': {'Kr': 0.22, 'z0': 0.30, 'zmin': 8}, 'V': {'Kr': 0.23, 'z0': 0.70, 'zmin': 12} } def get_exposure_values(esp): if esp in exposure_categories: kr = exposure_categories[esp]['Kr'] z0 = exposure_categories[esp]['z0'] zmin = exposure_categories[esp]['zmin'] return kr, z0, zmin else: return None, None, None kr, z0, zmin = get_exposure_values(esp) # ---------------------------------------------------------- # Valori dei parametri vb0, av0, ks if zona == 1: vb0 = 25 a0 = 1000 ks = 0.4 elif zona == 2: vb0 = 25 a0 = 750 ks = 0.45 elif zona == 3: vb0 = 27 a0 = 500 ks = 0.37 elif zona == 4: vb0 = 28 a0 = 500 ks = 0.36 elif zona == 5: vb0 = 28 a0 = 750 ks = 0.4 elif zona == 6: vb0 = 28 a0 = 500 ks = 0.36 elif zona == 7: vb0 = 28 a0 = 1000 ks = 0.54 elif zona == 8: vb0 = 30 a0 = 1500 ks = 0.50 else: vb0 = 31 a0 = 500 ks = 0.32 # ----------------------------------------------------- # Velocità di riferimento if a_s a0: c_a = float(1+ks*(a_s/a0 -1)) print("## PARAMETRI vb0, a0, ks\n") print(f'vb0 = {vb0}\n'+ f'a0 = {a0}\n'+ f'ks = {ks}\n') print("# VELOCITA BASE DI RIFERIMENTO\n") vb = vb0*c_a print(f'vb = {vb}') print("# CLASSE DI RUGOSITA'") print(f'Classe: {classe_rugosita}+{esp}') print('## VELOCITA DI RIFERIMENTO') c_r = 0.75*((1-0.2*math.log(-math.log(1-1/Tr)))**0.5) vr = vb*c_r print(f'vr = {vr}\n') print("# AZIONI STATICHE DI RIFERIMENTO\n") # Risultati print("## PRESSIONE CINETICA DI RIFERIMENTO") q_r = 0.5*1.25*vr**2 print(f'q_r = {q_r} N/mq') print("## COEFFICIENTE DI ESPOSIZIONE") # Now we print the variables, assuming the function returned valid values if kr is not None and z0 is not None and zmin is not None: print(f"Kr: {kr}") print(f"z0: {z0}") print(f"zmin: {zmin}") else: print("Exposure category not found.") ct = 1 # coefficiente topografico cf = 1 # coefficiente di d'attrito cp = 1 # vedi C3.3.8 COEFFICIENTI AERODINAMICI cd=1 if z >= zmin:
ce = kr**2*ct*math.log(z/z0)*(7+ct*math.log(z/z0))
else:
ce = kr**2*ct*math.log(zmin/z0)*(7+ct*math.log(zmin/z0))
print(f'ce(z) = {ce}')

print("## PRESSIONE DEL VENTO")
p = round(q_r*ce*cp*cd,3)
print(f'p = {p} N/mq')