Consideriamo l’equazione

con non lineare.

Caso lineare

Abbiamo studiato il caso di linear advection in cui . Per questo caso gli schemi alle differenze centrate sono incondizionamente instabili Finite difference (derivata approssimata al secondo ordine), abbiamo pertanto usato il metodo upwind Finite volumes, afflitto però da diffusione numerica ;(.

Problema del caso non lineare

Per equazioni non lineari, non è possibile a priori scegliere il verso (upwind/downwind), perchè la velocità non è costante! La velocità cambia segno nello spazio.

Ripercorrendo le idee in Finite volumes, definiamo la media di cella, regolata dalla ODE:

Ed approssiamo il valore della funzione nei bordi della cella con la media di cella. Per il caso lineare scelgo quale celle in base al segno della velocità. Come faccio per il caso non lineare?

Definiamo un flusso numerico:

Ad ogni interfaccia sto risolvendo un Problema di Riemann!

Risolvo esattamente i problemi di Riemann per capire quale flusso numerico considerare.