Differenze finite per le equazioni iperboliche: upwind, Lax-Wendroff e condizione CFL
Equazione di trasporto, instabilità dello schema centrato con l'analisi di von Neumann, upwind e diffusione numerica, Lax-Friedrichs, Lax-Wendroff, teorema di Godunov e linee di trasmissione.
https://www.electronics-engineering.com/articolo_3181-introduzione_ai_metodi_numerici_alle_differenze_finite_per_equazioni_di_evoluzione.htm
Questo approfondimento completa la lezione sulle differenze finite con la classe di equazioni più delicata da risolvere numericamente: le equazioni iperboliche, che descrivono fenomeni di trasporto e propagazione a velocità finita, come un inquinante portato da un fiume, un segnale su una linea di trasmissione, un’onda d’urto. Partiamo dal modello più semplice, l’equazione di trasporto lineare, e vediamo perché lo schema più “naturale” è instabile, come lo si corregge e che cosa dice la condizione di Courant.
L’equazione di trasporto
![]()
ha soluzione esatta
: il profilo iniziale trasla verso destra con velocità
senza deformarsi. Lungo le caratteristiche
la soluzione è costante: l’informazione viaggia da sinistra verso destra. È un banco di prova ideale, perché la soluzione esatta è nota e ogni deformazione del profilo è un errore del metodo.
Lo schema centrato è instabile
Con la differenza in avanti nel tempo e quella centrata nello spazio, la più precisa:
![]()
Sembra ragionevole, ma è instabile per qualsiasi
. Per vederlo si usa l’analisi di von Neumann: si sostituisce
(un’onda di numero d’onda
) e si calcola il fattore di amplificazione
:
![]()
Ogni componente cresce a ogni passo. Lo schema è consistente ma non stabile, e per il teorema di Lax-Richtmyer non converge.
Lo schema upwind
La correzione è guardare da dove arriva l’informazione. Con
arriva da sinistra, quindi si usa la differenza all’indietro:
![]()
Se
il nuovo valore è una media pesata con pesi positivi: lo schema è stabile e non crea oscillazioni. Il fattore di amplificazione ha
proprio quando
: è la condizione di Courant-Friedrichs-Lewy. Con
lo schema è esatto (
, il profilo si sposta di una cella a ogni passo).
Il prezzo è l’accuratezza: l’upwind è del primo ordine e introduce diffusione numerica. Un gradino viene trasportato ma i suoi spigoli si arrotondano progressivamente, come se ci fosse un piccolo termine di diffusione che l’equazione vera non ha. Si vede scrivendo l’equazione modificata: lo schema risolve in realtà
.
Lax-Friedrichs e Lax-Wendroff
- Lax-Friedrichs sostituisce
nello schema centrato con la media dei vicini,
. Diventa stabile per
, ma è ancora più diffusivo dell’upwind. - Lax-Wendroff usa lo sviluppo di Taylor al secondo ordine nel tempo e l’equazione stessa per sostituire
:
![]()
È del secondo ordine e stabile per
, con poca diffusione. Ma vicino ai salti produce oscillazioni spurie (sovraelongazioni prima e dopo il gradino), simili al fenomeno di Gibbs della serie di Fourier.

Il teorema di Godunov e gli schemi moderni
Godunov dimostrò nel 1959 che nessuno schema lineare di ordine superiore al primo può trasportare un salto senza creare oscillazioni. O si accetta la diffusione (primo ordine) o le oscillazioni (ordine superiore). Gli schemi moderni aggirano il teorema essendo non lineari: usano un metodo del secondo ordine dove la soluzione è regolare e passano automaticamente a uno del primo ordine vicino ai salti, con i cosiddetti limitatori di flusso (schemi TVD, MUSCL, WENO). Sono gli schemi usati nei programmi di fluidodinamica computazionale per simulare onde d’urto e flussi supersonici.
Sistemi iperbolici e coefficienti variabili
Le equazioni dei telegrafisti per una linea di trasmissione,
![]()
(con
e
induttanza e capacità per unità di lunghezza), sono un sistema iperbolico. Diagonalizzando la matrice dei coefficienti (gli autovalori sono
) il sistema si spezza in due equazioni di trasporto, un’onda che va avanti e una che torna indietro: le stesse onde progressive e riflesse dell’analisi delle linee. Per ciascuna si applica l’upwind nella direzione giusta, e la condizione di Courant si impone con la velocità più grande. Con coefficienti variabili (una linea con impedenza che cambia lungo il percorso) la velocità locale cambia da punto a punto, e il passo temporale va scelto in base alla velocità massima su tutta la griglia.






Sono l'autore di questa pagina su «Differenze finite per le equazioni iperboliche: upwind, Lax-Wendroff e condizione CFL». Se qualcosa non è chiaro, se vi serve un esempio in più o volete approfondire un punto, scrivetelo qui sotto nei commenti: rispondo personalmente. Se la pagina vi è stata utile, lasciate un voto con le stelle in cima all'articolo.I am the author of this page on “Finite differences for hyperbolic equations: upwind, Lax-Wendroff and the CFL condition”. If something is unclear, if you need another example or want to go deeper into a point, write it in the comments below: I answer personally. If the page was useful, leave a star rating at the top of the article.