Ponti — Cap. 5¶
Carichi sui ponti stradali e ferroviari secondo NTC18 Cap. 5.
Riferimento normativo¶
NTC18 Cap. 5, Tab. 5.1.I–II/V/VII/VIII/X, Tab. 5.2.I–III/V/VIII, Formule [5.1.1]–[5.2.11]
Include coefficienti parziali SLU stradali [Tab. 5.1.V] e ferroviari [Tab. 5.2.V], fattori binari multipli [Tab. 5.2.III], limiti SLE ferroviario [Tab. 5.2.VIII], flusso fatica [Tab. 5.1.X], veicoli fatica modello 2 [Tab. 5.1.VII] e modello 4 [Tab. 5.1.VIII].
API¶
pyntc.actions.bridges
¶
Ponti — NTC18 Cap. 5.
Azioni sui ponti stradali (§5.1) e ferroviari (§5.2): corsie convenzionali, schemi di carico, forze di frenamento e centrifughe, coefficienti dinamici, coefficienti di combinazione.
Unita': - Forze: [kN] - Carichi distribuiti lineari: [kN/m] - Carichi distribuiti areali: [kN/m^2] - Lunghezze: [m] - Velocita': [km/h] - Frequenze: [Hz]
bridge_braking_force_rail(L, model='LM71', alpha=1.1)
¶
Forza di frenamento per ponti ferroviari [kN].
NTC18 §5.2.2.3.3. LM71/SW0: Q_hk = 20 * L * alpha <= 6000 kN SW/2: Q_hk = 35 * L * alpha (senza limite superiore esplicito)
Parameters¶
L : float Lunghezza di binario caricato [m]. model : str Modello di carico: "LM71", "SW/0" o "SW/2". alpha : float Coefficiente di adattamento (default 1.1).
Returns¶
float Forza di frenamento Q_hk [kN].
Source code in src/pyntc/actions/bridges.py
bridge_braking_force_road(Q_1k, q_1k, w_1, L)
¶
Forza di frenamento o accelerazione per ponti stradali [kN].
NTC18 §5.1.3.5, Formula [5.1.4]. 180 kN <= q_3 = 0.6(2Q_1k) + 0.10q_1kw_1*L <= 900 kN
Parameters¶
Q_1k : float Carico asse tandem corsia 1 [kN]. q_1k : float Carico distribuito corsia 1 [kN/m^2]. w_1 : float Larghezza corsia convenzionale [m]. L : float Lunghezza della zona caricata [m].
Returns¶
float Forza di frenamento q_3 [kN], clampata in [180, 900].
Source code in src/pyntc/actions/bridges.py
bridge_centrifugal_force_rail(V, r, Q_ik, alpha=1.1, f=1.0)
¶
Forza centrifuga su ponte ferroviario in curva [kN o kN/m].
NTC18 §5.2.2.3.1, Formula [5.2.9]. Q_a = V^2 / (127 * r) * (f * alpha * Q_ik)
Parameters¶
V : float Velocita' di progetto [km/h]. r : float Raggio di curvatura [m]. Q_ik : float Carico verticale caratteristico [kN o kN/m]. alpha : float Coefficiente di adattamento (default 1.1). f : float Fattore di riduzione (default 1.0, calcolare con bridge_centrifugal_reduction_factor).
Returns¶
float Forza centrifuga [kN o kN/m].
Source code in src/pyntc/actions/bridges.py
bridge_centrifugal_force_road(R, Q_s)
¶
Forza centrifuga per ponti stradali in curva [kN].
NTC18 §5.1.3.6, Tab. 5.1.III. Q_s = somma carichi tandem agenti sul ponte.
Parameters¶
R : float Raggio di curvatura dell'asse del ponte [m]. Q_s : float Carico totale tandem Q_s = sum(2*Q_ik) [kN].
Returns¶
float Forza centrifuga q_s [kN].
Source code in src/pyntc/actions/bridges.py
bridge_centrifugal_reduction_factor(V, L_t)
¶
Fattore di riduzione f per forza centrifuga ferroviaria.
NTC18 §5.2.2.3.1, Formula [5.2.10]. f = 1 per V <= 120 km/h o L_t <= 2.88 m. f(V) = f(300) per V > 300 km/h.
Parameters¶
V : float Velocita' di progetto [km/h]. L_t : float Lunghezza di influenza del tratto curvo caricato [m].
Returns¶
float Fattore di riduzione f.
Source code in src/pyntc/actions/bridges.py
bridge_conventional_lanes(w)
¶
Corsie convenzionali da larghezza superficie carrabile [m].
NTC18 §5.1.3.3.2, Tab. 5.1.1.
Parameters¶
w : float Larghezza della superficie carrabile [m].
Returns¶
tuple[int, float, float] (n_lanes, lane_width [m], remaining_width [m]).
Source code in src/pyntc/actions/bridges.py
bridge_curvature_radius(L, delta_i)
¶
Raggio di curvatura orizzontale da freccia per impalcato appoggiato [m].
NTC18 §5.2.3.2.2.1, Formula [5.2.11]. R = L^2 / (8 * delta_i)
Parameters¶
L : float Luce dell'impalcato [m]. delta_i : float Freccia orizzontale [m].
Returns¶
float Raggio di curvatura R [m].
Source code in src/pyntc/actions/bridges.py
bridge_deck_thermal_gradient(deck_type, check='strength')
¶
Gradiente termico non uniforme nell'impalcato [°C].
NTC18 §5.2.2.4.2.
Parameters¶
deck_type : str
Tipo di impalcato:
- "slab": impalcato generico (gradiente estradosso-intradosso)
- "box": impalcato a cassone in c.a. (gradiente nello spessore pareti)
- "composite": struttura mista acciaio-calcestruzzo
(differenza soletta c.a. - trave acciaio)
check : str
Tipo di verifica: "strength" (resistenza, default) o
"deformation" (verifica deformazioni orizzontali/verticali,
esclude comfort).
Returns¶
float Differenza di temperatura DeltaT [°C]. Il valore e' positivo; applicare con segno ± (entrambi i versi).
Raises¶
ValueError
Se deck_type o check non sono validi.
Source code in src/pyntc/actions/bridges.py
bridge_dynamic_coefficient(L_0, maintenance='high')
¶
Coefficiente di incremento dinamico Phi per ponti ferroviari.
NTC18 §5.2.2.2.3, Formule [5.2.6] e [5.2.7].
Parameters¶
L_0 : float Lunghezza caratteristica [m] (da Tab. 5.2.II). maintenance : str Livello di manutenzione: "high" → Phi_2, "low" → Phi_3.
Returns¶
float Coefficiente dinamico Phi (clampato nei limiti normativi).
Source code in src/pyntc/actions/bridges.py
bridge_dynamic_factor(L_phi, track_type='standard')
¶
Coefficiente dinamico phi per ponti ferroviari.
NTC18 §5.2.2 — phi_2 (binario ben mantenuto) e phi_3 (binario normale).
Parameters¶
L_phi : float
Lunghezza di riferimento [m] (da Tab. 5.2.II), 2 <= L_phi <= 20.
track_type : str
Tipo di binario: "maintained" (ben mantenuto, phi_2) o
"standard" (normale, phi_3).
Returns¶
float Coefficiente dinamico phi (clampato in [1.0, 2.0]).
Source code in src/pyntc/actions/bridges.py
bridge_fatigue_traffic_flow(traffic_category)
¶
Flusso annuo di veicoli pesanti per categoria di traffico (fatica).
NTC18 §5.1.4.3, Tab. 5.1.X.
Tabella valori: +----------+--------------------------------------------------+------------------+ | Cat. | Descrizione | Flusso [veh/anno]| +==========+==================================================+==================+ | 1 | Autostrade/strade >=2 corsie, intenso traffico | 2.0 x 10^6 | | 2 | Autostrade/strade, traffico medio | 0.5 x 10^6 | | 3 | Strade principali, traffico medio | 0.125 x 10^6 | | 4 | Strade locali, traffico molto ridotto | 0.05 x 10^6 | +----------+--------------------------------------------------+------------------+
Parameters¶
traffic_category : int Categoria di traffico (1, 2, 3 o 4).
Returns¶
float Flusso annuo di veicoli di peso > 100 kN [veicoli/anno].
Source code in src/pyntc/actions/bridges.py
bridge_fatigue_vehicle_model2(vehicle)
¶
Veicolo frequente modello 2 per fatica ponti stradali [Tab. 5.1.VII].
NTC18 §5.1.4.3, Tab. 5.1.VII.
Parameters¶
vehicle : int Numero del veicolo (1-5).
Returns¶
dict {"vehicle": int, "axle_spacing_m": list[float], "axle_loads_kN": list[float], "wheel_type": list[str]}
Source code in src/pyntc/actions/bridges.py
bridge_fatigue_vehicle_model4(vehicle, traffic_type='long_distance')
¶
Veicolo equivalente modello 4 per fatica ponti stradali [Tab. 5.1.VIII].
NTC18 §5.1.4.3, Tab. 5.1.VIII.
Parameters¶
vehicle : int Numero del veicolo (1-5). traffic_type : str Tipo di traffico: "long_distance", "medium_distance", "local".
Returns¶
dict {"vehicle": int, "axle_spacing_m": list[float], "axle_loads_kN": list[float], "wheel_type": list[str], "traffic_percentage": float}
Source code in src/pyntc/actions/bridges.py
bridge_frequency_limits(L)
¶
Limiti del fuso di frequenza per ponti ferroviari [Hz].
NTC18 §5.2.2.2.3, Formule [5.2.2], [5.2.3], [5.2.4].
Parameters¶
L : float Luce della campata [m], 4 m <= L <= 100 m per il limite inferiore.
Returns¶
tuple[float, float] (n_upper [Hz], n_lower [Hz]).
Source code in src/pyntc/actions/bridges.py
bridge_hollow_pier_thermal(t_w)
¶
Gradienti termici per pile cave [°C, °C, m].
NTC18 §5.2.2.4.2. - DeltaT interno-esterno = 10 °C (con E non ridotto) - DeltaT fusto-zattera = 5 °C con variazione lineare su altezza 5*t_w
Parameters¶
t_w : float Spessore della parete della pila [m].
Returns¶
tuple[float, float, float] (DeltaT_int_ext [°C], DeltaT_shaft_raft [°C], h_variation [m] altezza di variazione lineare).
Raises¶
ValueError
Se t_w <= 0.
Source code in src/pyntc/actions/bridges.py
bridge_lm71_axle_loads(alpha=1.1)
¶
Carichi del modello LM71 per ferrovie ordinarie [kN, kN/m].
NTC18 §5.2.2.2.1.1. 4 assi da 250 kN (interasse 1.60 m) + carico distribuito 80 kN/m. Eccentricita' per rapporto Q_v2/Q_v1 = 1.25 → e = s/18 = 79.7 mm.
Parameters¶
alpha : float Coefficiente di adattamento (default 1.1 per ferrovie ordinarie).
Returns¶
tuple[float, float] (Q_vk [kN] carico per asse, q_vk [kN/m] carico distribuito).
Source code in src/pyntc/actions/bridges.py
bridge_load_scheme_1(lane)
¶
Carichi dello Schema di Carico 1 per corsia [kN, kN/m^2].
NTC18 §5.1.3.3.3, Tab. 5.1.II.
Parameters¶
lane : int Numero della corsia convenzionale (1, 2, 3, 4+).
Returns¶
tuple[float, float] (Q_ik [kN] carico asse tandem, q_ik [kN/m^2] carico distribuito).
Source code in src/pyntc/actions/bridges.py
bridge_long_span_load(L, load_type)
¶
Carico distribuito per ponti di luce > 300 m [kN/m].
NTC18 §5.1.3.3.3, Formule [5.1.1], [5.1.2], [5.1.3].
Parameters¶
L : float Lunghezza della zona caricata [m]. load_type : str Tipo di carico: "t" ([5.1.1] corsia 3), "b" ([5.1.2] corsia 2), "c" ([5.1.3] corsia 1).
Returns¶
float Carico distribuito q_L [kN/m].
Source code in src/pyntc/actions/bridges.py
bridge_natural_frequency(delta_0)
¶
Frequenza propria flessionale di trave semplicemente appoggiata [Hz].
NTC18 §5.2.2.2.3, Formula [5.2.5]. n_0 = 17.75 / sqrt(delta_0)
Parameters¶
delta_0 : float Freccia dovuta alle azioni permanenti [mm].
Returns¶
float Frequenza propria n_0 [Hz].
Source code in src/pyntc/actions/bridges.py
bridge_rail_deformation_limits(speed)
¶
Limiti SLE di deformazione per la sicurezza del traffico ferroviario.
NTC18 §5.2.3, Tab. 5.2.VIII.
Tabella valori: +---------------+-------------------+-----------+-----------+ | Velocita' | Var. ang. max | R_min | R_min | | [km/h] | [rad] | singola | piu' camp.| +===============+===================+===========+===========+ | V <= 120 | 0.0035 | 1700 m | 3500 m | | 120 < V <= 200| 0.0020 | 6000 m | 9500 m | | V > 200 | 0.0015 | 14000 m | 17500 m | +---------------+-------------------+-----------+-----------+
Parameters¶
speed : float Velocita' di progetto [km/h].
Returns¶
tuple[float, float, float] (max_angular_variation [rad], min_radius_single [m], min_radius_multiple [m]).
Source code in src/pyntc/actions/bridges.py
bridge_rail_multitrack_factor(n_tracks, track_index, traffic_type='normal')
¶
Fattore di riduzione carichi per piu' binari su ponte ferroviario.
NTC18 §5.2.3.1.2, Tab. 5.2.III.
Tabella valori: +----------+-------------+---------+-------+ | n_tracks | track_index | normal | heavy | +==========+=============+=========+=======+ | 1 | 1 | 1.0 | 1.0 | | 2 | 1 | 1.0 | 1.0 | | 2 | 2 | 1.0 | 0.75 | | >=3 | 1 | 1.0 | 1.0 | | >=3 | 2 | 0.75 | 0.75 | | >=3 | 3+ | 0.75 | 0.0 | +----------+-------------+---------+-------+
Per traffico pesante (heavy, SW/2): il secondo binario e oltre non sono considerati caricati contemporaneamente → fattore 0.0 per 3+.
Parameters¶
n_tracks : int Numero totale di binari presenti sul ponte. track_index : int Indice del binario considerato (1=primo, 2=secondo, 3+=altri). traffic_type : str Tipo di traffico: "normal" (LM71+SW/0) o "heavy" (SW/2).
Returns¶
float Fattore di riduzione (1.0, 0.75 o 0.0).
Source code in src/pyntc/actions/bridges.py
1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 | |
bridge_rail_partial_factors(load_type, effect, combination)
¶
Coefficienti parziali di sicurezza agli SLU per ponti ferroviari.
NTC18 §5.2.3.2.1, Tab. 5.2.V.
Tabella valori: +-----------+------------+------+------+------+ | load_type | effect | EQU | A1 | A2 | +===========+============+======+======+======+ | G1 | favorable | 0.90 | 1.00 | 1.00 | | | unfavorable| 1.10 | 1.35 | 1.00 | | G2 | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.50 | 1.50 | 1.30 | | ballast | favorable | 0.90 | 1.00 | 1.00 | | | unfavorable| 1.50 | 1.50 | 1.30 | | Q_traffic | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.45 | 1.45 | 1.25 | | Q | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.50 | 1.50 | 1.30 | | prestress | favorable | 0.90 | 1.00 | 1.00 | | | unfavorable| 1.00 | 1.00 | 1.00 | | creep | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.20 | 1.20 | 1.00 | +-----------+------------+------+------+------+
Parameters¶
load_type : str Tipo di azione: "G1" (perm.), "G2" (non-strutt.), "ballast", "Q_traffic" (var. traffico), "Q" (var. altre), "prestress" (precompressione), "creep" (ritiro/viscosita'). effect : str Effetto dell'azione: "favorable" o "unfavorable". combination : str Combinazione SLU: "EQU", "A1" o "A2".
Returns¶
float Coefficiente parziale gamma.
Source code in src/pyntc/actions/bridges.py
bridge_rail_psi_coefficients(action, n_tracks=1)
¶
Coefficienti psi per ponti ferroviari.
NTC18 §5.2.3.2.2, Tab. 5.2.VI. Per gruppi di carico (gr1-gr4), psi_0 dipende dal numero di binari caricati.
Parameters¶
action : str Tipo di azione: "gr1", "gr2", "gr3", "gr4", "wind", "snow_construction", "snow", "temperature". n_tracks : int Numero di binari caricati (1, 2, 3+). Rilevante solo per gr1-gr3.
Returns¶
tuple[float, float, float] (psi_0, psi_1, psi_2).
Source code in src/pyntc/actions/bridges.py
bridge_rail_sle_combination_factors(load_type)
¶
Coefficienti psi per combinazioni SLE ferroviario [Tab. 5.2.VII].
NTC18 §5.2.4, Tab. 5.2.VII — Ulteriori coefficienti di combinazione psi delle azioni per ponti ferroviari (SLE).
Parameters¶
load_type : str Tipo di carico. Valori ammessi: "LM71", "SW/0", "SW/2", "traction_braking", "centrifugal", "nosing", "wind", "thermal".
Returns¶
dict[str, float] Dizionario con chiavi "psi_0", "psi_1", "psi_2".
Source code in src/pyntc/actions/bridges.py
bridge_rail_thermal_variation(has_expansion_device)
¶
Variazioni termiche del binario per interazione statica [°C].
NTC18 §5.2.2.4.2. Senza apparecchi di dilatazione: variazione nulla. Con apparecchi di dilatazione: +30 °C e -40 °C rispetto alla temperatura di regolazione.
Parameters¶
has_expansion_device : bool
True se il binario ha apparecchi di dilatazione.
Returns¶
tuple[float, float] (DeltaT_positive [°C], DeltaT_negative [°C]).
Source code in src/pyntc/actions/bridges.py
bridge_reduced_dynamic_coefficient(Phi, h)
¶
Coefficiente dinamico ridotto per ponti ad arco/scatolari con copertura.
NTC18 §5.2.2.2.3, Formula [5.2.8]. Phi_rid = Phi - (h - 1.00) / 10 >= 1.0 Per h <= 1.0 m nessuna riduzione.
Parameters¶
Phi : float Coefficiente dinamico base (Phi_2 o Phi_3). h : float Altezza della copertura dall'estradosso della struttura alla faccia superiore delle traverse [m].
Returns¶
float Coefficiente dinamico ridotto Phi_rid.
Source code in src/pyntc/actions/bridges.py
bridge_road_partial_factors(load_type, effect, combination)
¶
Coefficienti parziali di sicurezza agli SLU per ponti stradali.
NTC18 §5.1.3.14, Tab. 5.1.V.
Tabella valori: +-----------+------------+------+------+------+ | load_type | effect | EQU | A1 | A2 | +===========+============+======+======+======+ | G1 | favorable | 0.90 | 1.00 | 1.00 | | | unfavorable| 1.10 | 1.35 | 1.00 | | G2 | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.50 | 1.50 | 1.30 | | Q_traffic | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.35 | 1.35 | 1.15 | | Q | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.50 | 1.50 | 1.30 | | prestress | favorable | 0.90 | 1.00 | 1.00 | | | unfavorable| 1.00 | 1.00 | 1.00 | | creep | favorable | 0.00 | 0.00 | 0.00 | | | unfavorable| 1.20 | 1.20 | 1.00 | +-----------+------------+------+------+------+
Parameters¶
load_type : str Tipo di azione: "G1" (perm. strutturali), "G2" (perm. non-strutt.), "Q_traffic" (var. traffico), "Q" (var. altre), "prestress" (distorsioni/presollecitazioni), "creep" (ritiro/viscosita'). effect : str Effetto dell'azione: "favorable" o "unfavorable". combination : str Combinazione SLU: "EQU", "A1" o "A2".
Returns¶
float Coefficiente parziale gamma.
Source code in src/pyntc/actions/bridges.py
bridge_road_psi_coefficients(action)
¶
Coefficienti psi per ponti stradali e pedonali.
NTC18 §5.1.3.14, Tab. 5.1.VI.
Parameters¶
action : str Tipo di azione. Valori ammessi: "tandem", "distributed", "concentrated", "schema2", "crowd", "wind_unloaded", "wind_construction", "wind_loaded", "snow", "snow_construction", "temperature".
Returns¶
tuple[float, float, float] (psi_0, psi_1, psi_2).
Source code in src/pyntc/actions/bridges.py
bridge_starting_force_rail(L, alpha=1.1)
¶
Forza di avviamento per ponti ferroviari [kN].
NTC18 §5.2.2.3.3. Q_ak = 33 * L * alpha <= 1000 kN (per tutti i modelli LM71, SW/0, SW/2).
Parameters¶
L : float Lunghezza di binario caricato [m]. alpha : float Coefficiente di adattamento (default 1.1).
Returns¶
float Forza di avviamento Q_ak [kN].
Source code in src/pyntc/actions/bridges.py
bridge_sw_load(model, alpha=None)
¶
Carichi dei modelli SW/0 e SW/2 [kN/m, m, m].
NTC18 §5.2.2.2.1.2, Tab. 5.2.1. Alpha default: 1.1 per SW/0, 1.0 per SW/2 (ferrovie ordinarie).
Parameters¶
model : str "SW/0" o "SW/2". alpha : float or None Coefficiente di adattamento. Se None, usa default normativo.
Returns¶
tuple[float, float, float] (q_ak [kN/m] carico distribuito, a [m] lunghezza caricata, c [m] distanza).