Sei sulla pagina 1di 65

Facolt`a di Ingegneria Aeronautica e dello Spazio

Appunti del Corso di

Gasdinamica Numerica
Sergio Pirozzoli & Matteo Bernardini

Anno Accademico 2009/2010

Capitolo 1

Leggi di conservazione scalari 1D


1.1

Introduzione

Una legge di conservazione scalare esprime il principio fisico per cui il tasso di variazione
dellintegrale di una certa propriet`a fatto su un dominio fisso `e uguale al suo flusso netto
attraverso i bordi del dominio stesso; indicando con u la densit`a volumetrica della propriet`a,
con il suo flusso, e considerando il caso mono-dimensionale, in cui si identifica il volume di
controllo con lintervallo I = [a, b], il principio di conservazione si esprime matematicamente
nella forma
Z
d b
u dx + [u(b)] [u(a)] = 0,
a, b
(1.1)
dt a
dove il flusso totale `e dato dalla somma di un flusso convettivo f (u) e di un flusso diffusivo
(u) = f (u)

u
.
x

(1.2)

Applicando il teorema di della divergenza di Gauss alla (1.1), sotto lipotesi che u(x, t)
sia continuamente differenziabile, si ottiene lequazione di conservazione scritta in forma
differenziale
2u
u f (u)
+
=
.
(1.3)
t
x
x2
Lequazione (1.3) `e del tipo di convezione-diffusione, e da un punto di vista matematico ha
carattere parabolico (simile allequazione del calore); `e relativamente facile mostrare che il
problema differenziale costituito dalla (1.3) con la condizione iniziale (IC)
u(x, 0) = u0 (x),

< x < +,

(1.4)

ammette una e una sola soluzione, e inoltre u `e continua t > 0, anche se u0 (x) `e discontinua.
Nella gasdinamica si considerano principalmente problemi di convezione pura, per i quali
0, governati da equazioni del tipo

u + f (u) = 0
,
< x < +, t 0.
(1.5)
t
x

u(x, 0) = u0 (x)
Il passaggio dallequazione (1.3) allequazione (1.5) non `e indolore, anzi costituisce un classico problema di perturbazione singolare, in cui lannullamento di un piccolo parametro ()
3

CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

causa labbassamento dellordine dellequazione differenziale, che diventa in questo caso di


tipo iperbolico. Il prezzo da pagare nella semplificazione `e la possibilit`
a di avere soluzioni
discontinue, anche a partire da condizioni iniziali smooth, per le quali la (1.5) perde significato. Tali soluzioni generalizzate sono tipicamente multiple, e occorrer`a definire dei principi
` fondamentale in ogni caso tenere preaddizionali per ripristinare lunicit`
a della soluzione. E
sente che equazioni differenziali iperboliche come la (1.5) derivano sempre da equazioni del
tipo (1.3), in cui sono presenti dei termini di natura diffusiva. Detta u (x, t) la soluzione del
problema differenziale (1.3) + (1.4) (unica e continua per 6= 0), `e necessario garantire che
la soluzione u(x, t) del problema (1.5) sia tale per cui
u(x, t) = lim u (x, t).
0

(1.6)

Tale soluzione prende il nome di soluzione di entropia.

1.2

Soluzioni classiche - Metodo delle Caratteristiche

Si dicono soluzioni classiche della (1.5) soluzioni u(x, t) ovunque continue. Le soluzioni appartenenti a tale classe possono essere determinate ricorrendo al metodo delle caratteristiche,
descritto di seguito. A tale scopo `e opportuno riscrivere lequazione di convezione in forma
quasi-lineare, esplicitando cio`e la derivata del flusso convettivo rispetto a u,
u
u
+ a(u)
= 0,
t
x

(1.7)

dove a(u) = f (u) `e detta velocit`a di propagazione del segnale, o velocit`


a del suono. Una
propriet`a fondamentale dellequazione (1.7) `e lesistenza di particolari curve, dette curve
caratteristiche, lungo le quali la soluzione si mantiene costante. Ciascuna curva caratteristica
soddisfa per definizione alla condizione

dx
= a[u(x, t)],
(1.8)
dt

che esprime il fatto che in ogni punto di la pendenza della tangente nel piano x t `e pari al
valore della velocit`a del suono locale. Calcolando il differenziale totale di u lungo la generica
caratteristica si ottiene inoltre


du
u
dx u
u
u
=

+
=
+ a(u)
0,
(1.9)


dt
t
dt
x
t
x

` interessante notare che,


in virt`
u delle (1.8), (1.7), e quindi u risulta costante lungo . E
essendo la velocit`a del suono a(u) funzione unicamente di u, risulta anchessa costante lungo
. Le curve caratteristiche rappresentano quindi una famiglia di rette, in generale ciascuna
con pendenza differente.
Le considerazioni appena fatte forniscono un metodo per calcolare la soluzione u(x, t) in
un certo punto P (x, t) a partire da assegnate condizioni iniziali. Si consideri a tale scopo
la figura 1.1. Detto x0 il punto in cui la retta caratteristica passante per P interseca lasse
t = 0, per la (1.9) si avr`a u(x, t) = u0 (x0 ). Poiche, per la (1.8), la pendenza di tale retta `e
a(u), si avr`a x0 = x a(u) t, dalla quale si ottiene la condizione
u(x, t) = u0 [x a(u(x, t))t],
che consente di ricavare u(x, t), ad esempio tramite procedimenti algebrici iterativi.

(1.10)

1.3. SOLUZIONI DEBOLI - RELAZIONI DI SALTO

P (x, t)

dx
dt

= a(u)

x0

t=0

Figura 1.1: Propriet`a geometriche delle curve caratteristiche.

1.3

Soluzioni deboli - Relazioni di salto

` facile mostrare che il procedimento illustrato per costruire soluzioni classiche risalendo
E
lungo le caratteristiche pu`o portare a delle inconsistenze. Si consideri ad esempio il caso (si
veda la figura 1.2) in cui le caratteristiche uscenti da due punti x1 < x2 (a t = 0) convergono in
un medesimo punto x ad un tempo t . In corrispondenza di tale punto la soluzione prodotta
t
t

x1

x2

Figura 1.2: Intersezione di rette caratteristiche.

con il metodo delle caratteristiche non `e pi`


u univocamente definita (ovvero monodroma),

dovendo essere u(x , t ) = u0 (x1 ) e contemporaneamente u(x , t ) = u0 (x2 ), con u0 (x1 ) in


generale diverso da u0 (x2 ). Tale situazione si verifica quando
x = x1 + a[u0 (x1 )] t = x2 + a[u0 (x2 )] t ,

(1.11)

da cui segue
t =

x2 x1
.
a[u0 (x2 )] a[u0 (x1 )]

Lunica possibilit`
a che le caratteristiche uscenti dai punti x1 e x2 (con x1 <
incontrino a un tempo finito t > 0 `e che risulti a[u0 (x2 )] a[u0 (x1 )]. Un caso
in cui lintersezione di caratteristiche non avviene mai si ha per lequazione di
lineare (linear advection equation, LAE), per la quale f (u) = c u, con c costante.
a(u) c, e le rette caratteristiche sono tutte parallele fra loro.

(1.12)
x2 ) non si
particolare
convezione
In tal caso

CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

Supponendo a[u0 (x)] continua e differenziabile, la condizione (1.12) si pu`o scrivere per
due punti infinitamente vicini x e x + dx, ottenendo
t (x) =

1
d
dx [a(u0 (x))]

(1.13)

Il minimo valore di t per il quale le caratteristiche associate a due punti vicini convergono si
ottiene considerando il valore minimo dei tempi critici t (x) per tutti i punti corrispondenti
alle condizioni iniziali, ricavando
T = min t (x) =
x

1
maxx

d
dx
[a(u0 (x))]

(1.14)

Si consideri ad esempio lequazione di Burgers, per la quale f (u) = u2 /2, con condizione
iniziale u0 (x) = sin(x). Dalla (1.14) si ottiene
T =

1
1
= .
maxx { cos(x)}

(1.15)

A partire dal tempo T definito dalla (1.14) non `e pi`


u possibile costruire soluzioni classiche
monodrome della (1.5). Esistono situazioni fisiche governate da equazioni iperboliche per i
quali soluzioni polidrome sono plausibili (ad esempio nel caso dei frangenti marini). Tuttavia,
nei casi di interesse della gasdinamica, soluzioni polidrome non sono accettabili. Occorre
dunque allargare la classe delle soluzioni della (1.5) ammettendo la possibilit`
a di soluzioni
discontinue, le quali debbono comunque soddisfare il principio di conservazione integrale (1.1),
qui riscritto per una equazione di trasporto pura (priva cio`e del termine diffusivo)
Z
d b
u dx = f [u(a)] f [u(b)],
a, b,
(1.16)
dt a
dove non si richiede la continuit`
a, ma solo lintegrabilit`
a di u(x, t). Si consideri ora il caso
di una soluzione che soddisfi la (1.5) in senso classico ai lati di una curva del piano x t di
equazione x = xs (t), attraverso la quale u sia discontinua (figura 1.3); siano inoltre ul e ur i
t
x = xs (t)
a

b
x

Figura 1.3: Relazioni di salto a cavallo di una curva del piano x t di equazione x = xs (t).

valori assunti da u immediatamente a sinistra e destra della discontinuit`


a,
ul (t) =
ur (t) =

lim

u(x, t),

(1.17)

lim

u(x, t).

(1.18)

xxs (t)
xxs (t)+

1.3. SOLUZIONI DEBOLI - RELAZIONI DI SALTO

Scegliendo a e b nella (1.16) in modo che sia a xs b al tempo t, si ottiene


d
dt

Z
Z
d xs (t)
d b
u dx =
u dx +
u dx =
dt a
dt xs (t)
Z xs (t)
Z b
u
u
dxs
dxs
=
dx + ul
+
dx ur
=
t
dt
t
dt
a
xs (t)
Z b
Z xs (t)
u
u
dx +
dx + (ul ur ) s,
=
t
xs (t) t
a

(1.19)
(1.20)
(1.21)

avendo applicato la regola di derivazione sotto il segno di integrale, ed essendo s = dxs /dt
la velocit`a di propagazione della discontinuit`
a al tempo t. Poiche la (1.5) `e soddisfatta da
entrambi i lati della discontinuit`
a stessa, si pu`o porre u/t = f /x e quindi dalla (1.19)
si ottiene
Z
d b
u dx = f (ul ) + f [u(a)] f [u(b)] + f (ur ) + (ul ur ) s.
(1.22)
dt a
Sfruttando la (1.16) si ottiene infine
s=

f (ur ) f (ul )
[f ]
,
=
ur ul
[u]

(1.23)

che consente di valutare la velocit`a di propagazione locale della discontinuit`


a in funzione
del salto (indicato con la notazione []) della variabile conservata e dei rispettivi valori della
funzione flusso. La (1.23) prende il nome di relazione di salto (o di Rankine-Hugoniot).
La relazione di salto assume una forma particolarmente semplice nel caso dellequazione di
convezione lineare, per la quale risulta
s a,
(1.24)
ovvero le discontinuit`
a viaggiano con la stessa velocit`a delle rette caratteristiche, e pari alla
velocit`a del suono. Per lequazione di Burgers la (1.23) fornisce
s

u2r /2 u2l /2
1
= (ul + ur ) ,
ur ul
2

(1.25)

che equivale a richiedere che la velocit`a di propagazione della discontinuit`


a sia pari alla media
aritmetica del valore della variabile conservata negli a sinistra e a destra della stessa.
Soluzioni della (1.5) costruite in maniera da soddisfare lequazione in senso classico quasi
ovunque, salvo un numero finito di punti di discontinuit`
a, dove `e comunque soddisfatta la
relazione di salto (1.23), prendono il nome di soluzioni deboli. La classe delle soluzioni deboli
comprende quella delle soluzioni classiche e permette di superare il problema dellinsorgenza
di soluzioni polidrome riscontrato applicando il metodo delle caratteristiche. In effetti, `e
possibile verificare che `e sempre possibile costruire, data una qualunque condizione iniziale,
una soluzione debole monodroma dellequazione di conservazione.
Si consideri, ad esempio, il seguente problema a condizioni iniziali per lequazione di
Burgers

1
x<0

u
u
0x1.
+u
= 0,
u0 (x) = 1 x
(1.26)

t
x

0
x>1

CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

La soluzione classica di questo problema (rappresentata in figura 1.4a) `e continua e monodroma fino al tempo T = 1; a partire da da questo tempo esiste una regione dove la soluzione
assume tre valori distinti. Se ad esempio si considera il punto P (x , t ), per esso passano
le tre caratteristiche 1 , 2 , 3 , e di conseguenza la soluzione dovrebbe assumere contem` facile per`o constatare che il problema ammette anche la
poraneamente tre valori distinti. E
u

t
u

2
1

xs

(a)
s=

1
2

(b)
Figura 1.4: Soluzione del problema a condizioni iniziali (1.26). (a) soluzione (polidroma) calcolata
col metodo delle caratteristiche; (b) soluzione debole.

seguente soluzione debole monodroma (rappresentata in figura 1.4b)


(
1
x < xs (t)
u(x, t) =
,
0
x > xs (t)

(1.27)

dove xs (t) = (1 + t)/2. Infatti, per la soluzione (1.27), ciascun punto del piano x t pu`o
essere ricollegato a un punto corrispondente al tempo t = 0, e a cavallo della discontinuit`
a `e
soddisfatta la relazione di salto (1.23), in quanto
s=

1.4

dxs
[f ]
1/2 0
1
=
=
= .
dt
[u]
10
2

(1.28)

Soluzioni di entropia

Lintroduzione della classe delle soluzioni deboli consente di garantire lottenimento di soluzioni
`
monodrome, cosa non sempre possibile nellambito della classe delle soluzioni classiche. E

1.4. SOLUZIONI DI ENTROPIA

t
u = x/t
u=0

u=1

(a)

s=

u=0

1/2

u=1

(b)
t
s=

s=0

s1

s2

s=

u=0

u=1
x

(c)
Figura 1.5: Soluzioni del problema differenziale (1.29). (a) soluzione classica (1.30); (b) soluzione
debole (1.31); (c) soluzione debole (1.32).

lecito tuttavia chiedersi se questa classe di soluzioni non sia per caso troppo ampia, ovvero se
un dato problema non possa ammettere pi`
u di una soluzione debole. Si consideri per esempio
il seguente problema ai valori iniziali per lequazione di Burgers

u0 (x) =

x<0

x>0

(1.29)

` immediato verificare che la soluzione


E

u(x, t) =

x0
0xt,
xt

(1.30)

10

CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

` altrettanto facile
riportata in figura 1.5a, `e una soluzione classica del problema in esame. E
verificare che anche la seguente soluzione
(
0
x < t/2
u(x, t) =
,
(1.31)
1
x > t/2
riportata in figura 1.5b, `e una soluzione debole del problema, essendo compatibile con la (1.29)
e con la relazione di salto (1.23) (s = 1/2). Un altro esempio di soluzioni deboli ammissibili
per il problema in esame `e costituito dalla seguente famiglia ad un parametro di soluzioni,
riportata in figura 1.5c

0
x < s1 t


s1 t < x < s2 t
u(x, t) =
,
(1.32)

+
s2 t < x < s3 t

1
x > s3 t

dove > 1, s1 = /2, s2 = 0, s3 = (1 + )/2.


La conclusione `e che, avendo ampliato la classe delle soluzioni possibili includendo quelle
discontinue, si presenta il problema di garantire lunicit`
a della soluzione ottenuta. In effetti,
tra tutte le (infinite) soluzioni deboli possibili per un dato problema a condizioni iniziali,
quella fisicamente realizzabile `e lunica che soddisfa alla condizione (1.6), ottenuta cio`e come
limite per 0 di una famiglia di soluzioni (u ) della equazione di convezione-diffusione (1.3).
Per scegliere lunica soluzione di entropia tra le molteplici soluzioni deboli matematicamente
possibili `e sufficiente che sia soddisfatta la seguente condizione
Condizione di entropia di Oleinik: la soluzione debole u(x, t) `e la soluzione di entropia
se, per ogni discontinuit`
a, vale la disuguaglianza
f (u) f (ur )
f (u) f (ul )
,
s
u ul
u ur

u : min(ul , ur ) u max(ul , ur ).

(1.33)

La (1.33) esprime una semplice condizione geometrica sulla forma della funzione flusso nellintervallo dei valori di u compresi tra ul e ur (fare riferimento alla figura 1.6). Poiche s rappresenta la pendenza della secante condotta alla f (u) tra ul e ur (si veda lequazione (1.23)),
la condizione di Oleinik implica che, se ul < ur il grafico di f (u) deve trovarsi interamente al
di sopra della secante condotta da ul a ur per tutti i valori di u compresi in tale intervallo,
viceversa se ul > ur il grafico della funzione flusso deve trovarsi sempre al di sotto della
` evidente che per funzioni flusso prive di punti di flesso, convesse (f (u) > 0 u,
secante. E
come nel caso dellequazione di Burgers), o concave (f (u) < 0 u), la relazione (1.33) si
semplifica notevolmente, perche equivale a richiedere che sia
f (ul ) s f (ur ),

(1.34)

`
come `e immediato verificare con semplici considerazioni geometriche (si veda la figura 1.7). E
importante osservare che nel caso dellequazione di Burgers (e in generale per funzioni flusso
convesse) la condizione di entropia implica
ul ur .

(1.35)

Si osservi inoltre che la condizione (1.34) ha una significativa interpretazione fisica, perche

11

1.4. SOLUZIONI DI ENTROPIA

f (u)

df
du

f (u l
f (u ) u l
u

)
df
du

s=

f (u

)
u f (ur )
ur

[f ]
[u]

ur

ul

(a)
f (u)
df
du =

f(

s=

u)

u f (u
ur r )

[f ]
[u]

df
du

)
f (u l
f (u ) u l

ul

ur

(b)
Figura 1.6: Rappresentazione grafica della condizione di entropia (1.33). (a) ul ur ; (b) ul ur .

equivale ad imporre che le caratteristiche immediatamente adiacenti a una discontinuit`


a confluiscano nella discontinuit`
a stessa (si veda la figura 1.8a). Tenendo conto dellinterpretazione delle linee caratteristiche come linee lungo le quali linformazione si propaga (essendo
u =cost), questo implica che linformazione non pu`o uscire da una discontinuit`
a, la quale
rappresenta quindi una sorta di orizzonte degli eventi. Si noti che questo `e consistente con il
principio di causalit`a, perche se cos` non fosse esisterebbero caratteristiche che non potrebbero essere in alcun modo ricondotte alla condizione iniziale (come si verifica ad esempio
nella figura 1.8b). Discontinuit`
a che soddisfano la relazione di salto di Rankine-Hugoniot e
la condizione di entropia vengono dette urti.
Tornando al problema (1.29), `e facile vedere che lunica soluzione consentita dalla disuguaglianza di Oleinik `e la (1.30), perche sia la (1.31), sia la (1.32) non soddisfano la (1.35) a
cavallo di tutte le discontinuit`
a. In generale si pu`o dimostrare che il problema (1.5) ammette
ununica soluzione debole le cui discontinuit`
a soddisfano tutte la condizione (1.33), e tale
soluzione coincide con la soluzione di entropia definita dalla (1.6).

12

CAPITOLO 1. LEGGI DI CONSERVAZIONE SCALARI 1D

=
df
du

[f ]
[u]

(u r)

=f

s=

df
du

f (
ul )

f (u)

ul

ur

(a)
f (u)

df
du =

)
ul
f(

[f ]
[u]

f (
ur )

df =
du

s=

ul

ur

(b)
Figura 1.7: Condizione di entropia nel caso di funzione flusso concava (a) e funzione flusso convessa
(b).

Soluzione ammissibile

Soluzione non ammissibile

Figura 1.8: Rappresentazione di soluzioni di entropia (e non) nel piano x t.

Capitolo 2

Metodi elementari per equazioni


iperboliche scalari
In questo capitolo saranno illustrati alcuni metodi elementari per la soluzione di problemi di
convezione pura scalari mono-dimensionali, le cui propriet`a matematiche sono state illustrate
nelle sezione precedente

u + f (u) = 0
,
< x < +, t 0.
(2.1)
t
x

u(x, 0) = u0 (x)

Allo scopo di ricavare schemi elementari si far`


a inizialmente riferimento allequazione di
convezione lineare (linear advection equation, LAE), ottenuta ponendo f (u) = c u, con c
costante

u + c u = 0
t
x
.
(2.2)

u(x, 0) = u0 (x)

La (2.2) presenta notevoli vantaggi in termini di semplicit`a di analisi in quanto possiede una
soluzione esatta, data da
u(x, t) = u0 (x c t).
(2.3)
Per risolvere la (2.2) in maniera approssimata, si discretizzi il piano (x, t) con una griglia
equi-spaziata nelle direzioni x e t. Siano h la spaziatura in x e k il passo di avanzamento
temporale (si veda la figura 2.1), assunti essere costanti. Si definiscono nodi del reticolo le
coppie coordinate (xj , tn ), con
xj = j h,
n

t = n k,

j = . . . , 1, 0, 1, 2, . . .

(2.4)

n = 0, 1, 2, . . .

(2.5)

Per la trattazione successiva sar`


a utile anche considerare nodi intermedi, individuati da indici
j frazionari
h
1
xj+1/2 = xj + = (j + ) h.
(2.6)
2
2
Detta v(x, t) u(x, t) la soluzione approssimata della (2.2) ricavata con un generico metodo
numerico, nel metodo delle differenze finite si assume di conoscerne i valori puntuali collocati
13

14

CAPITOLO 2. METODI ELEMENTARI

tn+1

tn
xj+1/2 xj

xj+1/2

xj

Ij
Figura 2.1: Nomenclatura per discretizzazione del piano x t.

nei nodi del dominio di calcolo, e si indica il valore di v nel nodo xj al tempo tn con la
notazione
Ujn = v(xj , tn ).
(2.7)
Nel metodo dei volumi finiti si assumono noti i valori medi integrali di v. A tal fine, si
definisce cella j-ma lintervallo
Ij = [xj1 /2 ; xj+1/2 ],
(2.8)
e le incognite discrete sono definite come
Z
1 xj+1/2
Ujn =
v(x, tn ) dx.
h xj1/2

(2.9)

Nel metodo dei volumi finiti i nodi intermedi definiti nella (2.6) sono detti intercelle.
Per buona parte della trattazione seguente non si far`
a distinzione tra metodo dei volumi
finiti e delle differenze finite, e si user`a il simbolo Ujn per indicare indifferentemente valori
puntuali o valori medi di cella di v. Una giustificazione per questa (parziale) identificazione
`e data dal fatto che i valori Ujn definiti dalla (2.7) e dalla (2.9) differiscono al pi`
u per termini
2
di ordine h , cio`e
Z
1 xj+1/2
v(xj , tn ) =
v(x, tn ) dx + O(h2 ).
(2.10)
h xj1/2
Per verificare la (2.10) `e sufficiente espandere v(x, tn ) in serie di Taylor intorno a (xj , tn ),
v(x, tn ) = v(xj , tn ) + (x xj )

(x xj )2 2 v
v
(xj , tn ) +
(xj , tn ) + O(h3 ).
x
2
x2

(2.11)

Integrando sulla cella Ij si ottiene


 2
 3


Z xj+1/2
1 v
h
h
h2
h3
1 2v
n
n
n
n
v(x, t ) dx = h v(xj , t )+
(xj , t )

(xj , t )
+
+
+O(h5 ),
2
2
x
4
4
6
x
8
8
xj1/2
(2.12)
dalla quale, dividendo per h, si ricava facilmente la (2.10).
La maniera pi`
u immediata per costruire approssimazioni discrete della (2.2) `e sostituire le
derivate parziali con differenze di valori puntuali della soluzione approssimata v. Ovviamente
`e possibile costruire molti schemi diversi, considerando approssimazioni centrali, in avanti o
allindietro e combinando vari modi di discretizzare la derivata temporale e quella spaziale.

2.1. SCHEMI BASATI SUL METODO DELLE CARATTERISTICHE

15

Lesempio pi`
u semplice si ottiene considerando unapprossimazione in avanti della derivata
temporale (Forward-Time) nel nodo (xj , tn )
Ujn+1 Ujn
v(xj , tn + k) v(xj , tn )
v
n
(xj , t )
=
,
FT :
t
k
k

(2.13)

e una centrale per la derivata spaziale (Central-Space)


CS :

n Un
Uj+1
v(xj + h, tn ) v(xj h, tn )
v
j1
(xj , tn )
=
.
x
2h
2h

(2.14)

Sostituendo nella (2.2) si ottiene il seguente schema alle differenze (detto FTCS)
Ujn+1 = Ujn

n
ck
n
n
(U n Uj1
) = Ujn (Uj+1
Uj1
),
2h j+1
2

(2.15)

essendo = ck/h il numero di Courant. Considerando unapprossimazione centrale per la


derivata temporale (Central-Time) del tipo
CT :

Ujn+1 Ujn1
v(xj , tn+k ) v(xj , tnk )
v
(xj , tn )
=
,
t
2k
2k

(2.16)

che, combinata con la (2.14), d`a luogo allo schema detto Leapfrog o CTCS
n
n
Ujn+1 = Ujn1 (Uj+1
Uj1
).

(2.17)

E possibile anche considerare approssimazioni allindietro e in avanti per le derivate spaziali


(Backward-Space e Forward-Space, rispettivamente)
n
Ujn Uj1
v(xj , tn ) v(xjh , tn )
v
(xj , tn )
=
,
x
h
h
n Un
Uj+1
v(xj+h , tn ) v(xj , tn )
v
j
FS :
(xj , tn )
=
.
x
h
h

BS :

(2.18)
(2.19)

Combinando le (2.18) e (2.19) con la (2.13) si ottengono i seguenti schemi


n
FTBS(UW+ ) : Ujn+1 = Ujn (Ujn Uj1
)

(2.20)

n
FTFS(UW ) : Ujn+1 = Ujn (Uj+1
Ujn )

(2.21)

Una variazione sul tema dello schema FTCS, dettata da esigenze di stabilit`
a dello schema,
come si vedr`
a meglio nel seguito, `e costituita dallo schema di Lax-Friedrichs, in cui nella (2.15)
si sostituisce Ujn con la semisomma dei valori nei nodi adiacenti, ottenendo
n
1 n
n
n
+ Uj1
) (Uj+1
Uj1
).
LF : Ujn+1 = (Uj+1
2
2

2.1

(2.22)

Schemi basati sul metodo delle caratteristiche

Un livello di sofisticazione superiore rispetto agli schemi fin qui elencati si ottiene disegnando
schemi basati non pi`
u sulla discretizzazione diretta delle derivate nellequazione (2.2), quanto sul metodo delle caratteristiche, gi`a discusso per equazioni di conservazione scalari. Per

16

CAPITOLO 2. METODI ELEMENTARI

Ujn+1

tn+1

tn
xj1

xj

xj+1

Figura 2.2: Discretizzazione basata sul metodo delle caratteristiche (c > 0).

lequazione di convezione lineare le caratteristiche sono un fascio di rette parallele con pendenza c, lungo le quali la soluzione si mantiene costante. Si pu`o pensare di sfruttare questa
propriet`a per imporre (vedere figura 2.2)
Ujn+1 = v(x , tn ),

(2.23)

essendo x lintercetta della caratteristica condotta per (xj , tn+1 ) con lasse t = tn . Sfruttando
la conoscenza della pendenza della caratteristica si ha
x = xj c k.

(2.24)

Il problema `e dunque ricondotto a calcolare il valore (interpolato) di v nel punto x , a partire


dalla conoscenza dei valori puntuali in tutti i nodi al tempo t = tn . Lidea pi`
u immediata
`e di costruire una interpolazione basata sui nodi immediatamente adiacenti, xj e xj1 , che
tenga conto quindi delle caratteristiche di direzionalit`
a del segnale (in questo caso stiamo
assumendo c > 0). Considerando un polinomio interpolatore di primo grado
p(x) = a + b (x xj ),

(2.25)

n , si ottiene a = U ,
e imponendo le condizioni di interpolazione p(xj ) = Ujn , p(xj+1 ) = Uj+1
j
n
n
b = (Uj Uj1 )/h. Si avr`a allora

Ujn+1 = p(x ) = p(xj c k) = Ujn +

n
Ujn Uj1
n
(xj c k xj ) = Ujn (Ujn Uj1
), (2.26)
h

che coincide con lo schema FTBS riportato nella (2.20).


Si assuma ora una interpolazione centrale, basata sui nodi j 1, j, j + 1. Considerando
il polinomio interpolatore di secondo grado
p(x) = a + b (x xj ) + c (x xj )2 ,
e imponendo le condizioni di interpolazione
n
p(xj1 ) = Uj1
,

p(xj ) = Ujn ,
n
p(xj+1 ) = Uj+1
,

(2.27)

2.1. SCHEMI BASATI SUL METODO DELLE CARATTERISTICHE

17

n U n )/2h, c = (U n 2U n + U n )/2h2 , dai quali si ottiene lo


si ricava a = Ujn , b = (Uj+1
j1
j+1
j
j1
schema (detto di Lax-Wendroff)

LW : Ujn+1 = Ujn

2 n
n
n
n
(Uj+1 Uj1
) + (Uj+1
2Ujn + Uj1
).
2
2

(2.28)

Si osservi che la (2.28) riproduce esattamente lo schema FTCS, salvo laggiunta di un ulteriore
termine, che pu`o essere interpretato come derivante dalla discretizzazione centrata di una
derivata seconda, e che come vedremo, ha la funzione di stabilizzare lo schema di base.
Considerando un interpolazione one-sided basata sui nodi j 2, j 1 e j, si ottiene
facilmente lo schema (detto di Beam-Warming)
BW+ : Ujn+1 = Ujn

2
n
n
(3Ujn 4Uj1
+ Uj2 ) + (Ujn 2Uj1
+ Uj2 ).
2
2

(2.29)

Lapice + sta ad indicare che lo schema `e specificamente adatto a problemi con velocit`a di
propagazione positiva (c > 0), e in cui le caratteristiche sono quindi inclinate come mostrato in
figure 2.2. Se si avesse al contrario c < 0, la scelta one-sided pi`
u naturale per linterpolazione
sarebbe speculare rispetto al caso precedente, e basata sui nodi j, j + 1 e j + 2. Lo schema
risultante risulterebbe
BW : Ujn+1 = Ujn +

2
n
n
(3Ujn 4Uj+1
+ Uj+2 ) + (Ujn 2Uj+1
+ Uj+2 ).
2
2

(2.30)

Generalizzazioni ulteriori possono essere costruite considerando un set di nodi pi`


u esteso per

calcolare il valore interpolato v(x ). Considerando, ad esempio, una interpolazione basata


sui nodi j 2, j 1, j, j + 1 si otterrebbe uno schema detto UW3+ (schema upwind del terzo
ordine).
Altri schemi possono essere costruiti combinando linearmente gli schemi ricavati direttamente col metodo delle caratteristiche. Ad esempio, considerando la media aritmetica dello
schema di Lax-Wendroff e Beam-Warming+ , si ottiene un nuovo schema, detto di Fromm.
Nella tabella 2.1 sono riassunti gli schemi alle differenze relativi a tutti gli schemi numerici
fin qui considerati. Tutti gli schemi che abbiamo considerato finora sono
- completamente discretizzati (fully discrete), ovvero gi`a nella forma di schemi alle differenze;
- espliciti, ovvero schemi in cui la soluzione al livello temporale n + 1 `e calcolata in
maniera esplicita sulla base della soluzione ai livelli temporali precedenti;
- lineari, nel senso che il secondo membro (RHS) degli schemi contiene combinazioni
lineari dei valori Ujn ;
- salvo lo schema Leapfrog, sono tutti schemi a due livelli, ovvero sono coinvolti nella
discretizzazione solo i livelli temporali n e n + 1.
Per ogni schema descritto `e utile rappresentare lo stencil, ovvero linsieme dei nodi coinvolti
nel processo di discretizzazione. La figura 2.3 mostra gli stencil associati ai vari schemi
fin qui discussi. Si noti la differenza fondamentale tra schemi che presentano uno stencil
simmetrico rispetto al nodo j, e che vengono detti centrali, e gli schemi che presentano uno
stencil asimmetrico, detti schemi upwind. Per ogni schema upwind esistono due versioni, una

18

CAPITOLO 2. METODI ELEMENTARI

FTCS
FTBS (UW+ )
FTFS (UW )
LF
LW
BW+
BW
FROMM+

FROMM
UW3+

UW3

Schema alle differenze




n Un
Ujn+1 = Ujn 2 Uj+1
j1


n
Ujn+1 = Ujn Ujn Uj1


n
Ujn+1 = Ujn + Ujn Uj+1





n
n + Un
n
Ujn+1 = 21 Uj+1
j1 2 Uj+1 Uj1




2
n Un
n 2U n + U n
Uj+1
Ujn+1 = Ujn 2 Uj+1
j1
j1 + 2
j




2
n + Un
n + Un
Ujn 2Uj1
Ujn+1 = Ujn 2 3Ujn 4Uj1
j2 + 2
j2




2
n + Un
n + Un
Ujn 2Uj+1
Ujn+1 = Ujn + 2 3Ujn 4Uj+1
j+2 + 2
j+2


n + 3U n 5U n + U n
Ujn+1 = Ujn 4 Uj+1
j
j1
j2


2
n
n
n
n
+ 4 Uj+1 Uj Uj1 + Uj2


n+1
n + 3U n 5U n + U n
Uj
= Ujn + 4 Uj1
j
j+1
j+2


2
n Un Un + Un
+ 4 Uj1
j
j+1
j+2


n+1

n
2
n
n + Un
Uj
= Uj 6 2Uj+1 + 3Uj 6Uj1
j2




3
2
n
n
n
n
n + 3U n U n
+ 2 Uj1 2Uj + Uj+1 + 6 Uj2 3Uj1
j
j+1


n+1

2
n
n
n
n
Uj
= Uj + 6 2Uj1 + 3Uj 6Uj+1 + Uj+2




2
3
n 2U n + U n
n 3U n + 3U n U n
U

+ 2 Uj1
j
j1
j+1
j
j+1
j+2
6

Tabella 2.1: Schemi alle differenze fully discrete per lequazione di convezione lineare.

con stencil sbilanciato a sinistra del nodo j (e indicata con lapice +), e una (speculare alla
prima) con stencil sbilanciato a destra di j (e indicata con lapice -).
Nel seguito saranno considerati esclusivamente schemi espliciti a due livelli temporali; uno
schema di questo tipo pu`o essere indicato in forma simbolica come
U n+1 = H (U n ),

(2.31)

dove U n `e il vettore (eventualmente a infinite componenti) delle incognite nodali al livello


temporale n, e H `e loperatore (in generale non-lineare) di avanzamento temporale discreto.
Per gli schemi visti finora loperatore H `e lineare (`e una matrice), tale che
U

n+1

= HU

(H U )j =

q
X

n
al Uj+l

(2.32)

l=p

dove i coefficienti al variano da schema a schema. Ad esempio, considerando lo schema di


Lax-Wendroff (si veda la (2.28)) si ha
a1 =

2
+ ,
2
2

a0 = 1 2 ,

mentre tutti gli altri coefficienti al sono nulli.

a+1 =

2
+ ,
2
2

(2.33)

19

2.2. ACCURATEZZA

FTCS

CTCS

FTBS

FTFS

LF

LW

BW+

BW

Figura 2.3: Diagramma dello stencil associato a diversi schemi alle differenze.

Nel seguito verranno analizzate le propriet`a degli schemi alle differenze fin qui considerati,
analizzandone laccuratezza, la stabilit`
a, e la convergenza.

2.2

Accuratezza

Il concetto di consistenza (e accuratezza) `e legato alla corrispondenza formale tra lequazione


di conservazione da risolvere e lo schema alle differenze risultante dal processo di discretizzazione, al tendere a zero della spaziatura della griglia computazionale (h, k 0). Si consideri il generico operatore differenziale L (nel caso dellequazione di convezione lineare,
L = /t + c /x). Lequazione differenziale corrispondente pu`o scriversi simbolicamente
nella forma
L u = 0,
(2.34)
dove u(x, t) `e la soluzione esatta della PDE (equazione a derivate parziali). Discretizzando gli
operatori di derivata che compaiono in L (come mostrato nella sezione precedente) si giunge a
uno schema alle differenze che coinvolge i valori puntuali della soluzione approssimata v. Ad
esempio, considerando lequazione di convezione lineare discretizzata con lo schema FTCS,
lo schema alle differenze corrispondente risulta essere (si veda la (2.15))
v(x, t + k) v(x, t)
a
+
(v(x + h, t) v(x h, t)) = 0,
k
2h

(2.35)

che pu`o essere rappresentata in forma compatta come


L v = 0

(2.36)

avendo introdotto loperatore differenziale discretizzato L . Si faccia attenzione al fatto che


L dipende ovviamente da L, ma anche dal tipo di discretizzazione usata. Per definizione,
la (2.34) e la (2.36) sono soddisfatte in maniera esatta rispettivamente dalla u e dalla v.

20

CAPITOLO 2. METODI ELEMENTARI

Si definisce errore di troncamento T (u) il residuo ottenuto applicando loperatore differenziale discretizzato L alla soluzione esatta u. Assumendo che gli operatori L ed L siano
lineari, e sfruttando la (2.34) si ottiene
T (u) = L u = (L L) u.

(2.37)

Si dice che lo schema definito dalla (2.36) `e consistente se


lim

h0, k/h=

T = 0,

(2.38)

essendo il limite preso tenendo costante il mesh ratio k/h = O(1). Inoltre, lo schema si
dice formalmente accurato a ordine r se lerrore di troncamento scala come la potenza r-ma
della spaziatura della griglia, ovvero se
h0

T (u) hr .

(2.39)

Considerando invece il residuo ottenuto inserendo la soluzione approssimata v nellequazione


differenziale, si ha
L v = (L L ) v = (L L) v = T (v).
(2.40)
Dallanalisi della (2.40) si osserva che la soluzione approssimata v non soddisfa lequazione
differenziale di partenza in maniera esatta; soddisfa invece in maniera esatta una equazione
modificata
L v = T (v),
(2.41)
in cui il termine aggiuntivo a secondo membro `e legato alla forma dellerrore di troncamento
dello schema numerico.
A titolo di esempio, si consideri lo schema FTCS applicato allequazione di convezione
lineare. Espandendo u in serie di Taylor intorno a (xj , tn ) si ha
k2
utt (xj , tn ) + O(k 3 ),
2
h2
h3
u(xj h, tn ) = u(xj , tn ) h ux (xj , tn ) + uxx (xj , tn ) uxxx (xj , tn ) + O(h4 ).
2
6
u(xj , tn + k) = u(xj , tn ) + k ut (xj , tn ) +

(2.42)
(2.43)

Sostituendo nella (2.35), e sfruttando lidentit`


a ut +a ux = 0, si ricava lerrore di troncamento
associato allo schema alle differenze
T (u) = L u = . . . =

k
utt + O(h2 , k 2 ).
2

Derivando rispetto a x e t lequazione di convezione lineare si ha


(
utt + c uxt = 0
utt = c2 uxx ,
utx + c uxx = 0

(2.44)

(2.45)

e si arriva a scrivere lerrore di troncamento dello schema nella forma


T (u) =

h 2
h 2
c uxx + O(h3 ) =
uxx + O(h2 ).
2
2

(2.46)

21

2.3. DIFFUSIONE E DISPERSIONE NUMERICA

Sulla base delle definizioni (2.38) e (2.39), si pu`o dunque affermare che lo schema FTCS `e
consistente e formalmente accurato al primo ordine, e lequazione modificata ad esso associata
risulta essere
h 2
vxx + O(h2 ).
(2.47)
vt + c vx =
2
` importante osservare che il coefficiente che moltiplica il termine di derivata seconda vxx `e
E
negativo, e induce quindi un comportamento antidiffusivo dello schema numerico. In effetti,
come si vedr`
a nella sezione successiva, lo schema FTCS `e inutilizzabile nella pratica in quanto
produce inevitabilmente soluzioni divergenti. Il primo termine nellespansione dellerrore di
Schema
FTCS
UW+
LF
LW
BW+
FROMM+
UW3+

T (u)
a
2 h uxx
(1)
h uxx
2
(1 2 )
h uxx
2
(1 2 )a 2
h uxxx
6
(23+ 2 )a 2
h uxxx

6
(13+2 2 )a 2
h uxxx
12
(22 2 + 3 )a 3
h uxxxx

24

Tabella 2.2: Errore di troncamento di diversi schemi alle differenze.

troncamento degli schemi considerati fino a questo momento `e riportato nella tabella 2.2. Si
noti che, per gli schemi upwind di tipo -`e sufficiente sostituire nella 2.2 .

2.3

Diffusione e dispersione numerica

Allo scopo di predire il comportamento qualitativo delle soluzioni numeriche prodotte dai vari
schemi alle differenze, `e importante analizzare levoluzione della soluzione delle equazioni
modificate ad essi associate. A tale scopo si osservi che i termini dominanti nellerrore di
troncamento di tutti gli schemi fin qui visti (salvo lo schema UW3 ) `e esprimibile nella
forma T (u) = uxx + uxxx , e lequazione modificata corrispondente risulta perci`o del tipo
vt + c vx = vxx + vxxx ,

(2.48)

dove i coefficienti , sono funzioni di c, h, k. Si assumano soluzioni di tentativo per la


(2.48) nella forma di onde sinusoidali monocromatiche con numero donda w = 2/
v(x, t) = v(t) eiwx ,

(2.49)

essendo v(t) lampiezza complessa della soluzione al tempo t. Sostituendo nellequazione (2.48)
si ricava
d
v
+ i c w v = w2 v i w3 v
dt

v(t) = v(0) e w

e quindi
v(x, t) = v0 e w

t i w[x(c+ w2 ) t]

t i w(c+ w2 ) t

(2.50)

(2.51)

22

CAPITOLO 2. METODI ELEMENTARI

Nel caso dellequazione di convezione lineare pura si avrebbe evidentemente


v(x, t) = v0 ei w(xc t) .

(2.52)

Confrontando la (2.50) con la (2.52) si pu`o constatare che, mentre per la soluzione esatta
dellequazione di convezione lineare |
v (t)| = |
v (0)| = cost., la soluzione di uno schema alle
differenze comporta un decadimento o una amplificazione esponenziale di |
v (t)| associata al
coefficiente , tanto pi`
u rapido quanto pi`
u alto `e il numero donda w, con un effetto del
tutto analogo a quello di un termine di diffusione fisica. Si noti per`o che il termine diffusivo
che compare nella (2.48) `e legato esclusivamente al processo di discretizzazione, e per questo
motivo il coefficiente prende il nome di viscosit`
a numerica. La presenza di un coefficiente
6= 0 invece comporta che la velocit`a di propagazione associata ad unonda con numero
donda w `e pari a c = c + w2 , e non identicamente pari a c. Leffetto del termine di derivata
terza `e quindi quello di causare una dispersione delle armoniche della soluzione a causa delle
approssimazione introdotte col processo do discretizzazione; tale effetto prende il nome di
dispersione numerica, e il coefficiente viene detto coefficiente di dispersione numerica.

2.4

Stabilit`
a lineare: analisi di Von Neumann

Affinche uno schema numerico rivesta utilit`


a ai fini pratici, `e necessario che un (piccolo) errore
introdotto nella soluzione al tempo iniziale non si amplifichi esponenzialmente nel corso del
calcolo. Si fa riferimento a questo requisito generale per uno schema numerico col nome di
stabilit`
a.
Si consideri un generico schema alle differenze, esplicito, lineare, a due livelli temporali
U n+1 = H U n ,

Ujn+1 =

q
X

n
al Uj+l
.

(2.53)

l=p

Si parte col definire un errore puntuale per la soluzione dello schema alle differenze (legato
a imprecisioni nellimporre le condizioni iniziali e/o a errori di arrotondamento) come la
differenza (nel nodo j, al passo temporale n) tra il valore della soluzione approssimata e
quello della soluzione della (2.53) ricavata in assenza di errori di natura numerica (indicata
n
con U j ) 1
n
nj = Ujn U j .
(2.54)
Affinche lo schema (2.53) sia stabile si richiede quindi che lerrore nj non si amplifichi inn+1

= H U , e in virt`
u
definitamente nel tempo. Essendo per definizione U n+1 = H U n , U
n
della assunta linearit`
a dello schema alle differenze H, anche il vettore , contenente gli errori
puntuali al livello temporale n, obbedisce allo schema
n+1 = H n .

(2.55)

Imporre che lerrore non cresca indefinitamente col tempo equivale dunque a richiedere che
anche la soluzione approssimata v(x, t) non cresca.
Nella analisi di stabilit`
a lineare classica degli schemi alle differenze (dovuta a Von Neumann), si considera come modello lequazione di convezione lineare (2.2), assumendo una
n

Attenzione U j 6= u(xj , tn ), poiche non `e la soluzione esatta dellequazione differenziale, bens` la soluzione
dello schema alle differenze in assenza di errori numerici!
1

` LINEARE: ANALISI DI VON NEUMANN


2.4. STABILITA

23

condizione iniziale sinusoidale monocromatica, con lunghezza donda (e numero donda


w = 2/) e ampiezza complessa v0
v0 (x) = v0 eiwx ,

(2.56)

` utile
La griglia di calcolo `e assunta uniforme, con spaziatura h e passo temporale k. E
ricordare che per il teorema del campionamento di Nyquist, la lunghezza donda minima
rappresentabile sul reticolo di calcolo (min ) `e pari al doppio della spaziatura (h), cui corrisponde un numero donda massimo pari a wmax = /h. La soluzione esatta dellequazione
di convezione lineare al tempo T = n k ottenuta a partire dalla (2.56) `e data da
u(x, T ) = u
n eiwx ,

u
n = v0 ein ,

(2.57)

dove wh `e il numero donda ridotto. Il numero donda ridotto `e una quantit`


a legata
al numero di punti di griglia usati per discretizzare una singola lunghezza donda (pointsper-wavelength, P P W = /h = 2/), e per quanto detto sopra riguardo allesistenza di
un numero donda massimo che `e possibile risolvere su una griglia con spaziatura finita,
|| (0, ] (si veda lesempio riportato in figura 2.4, corrispondente a PPW= 4, = /2).
Poiche la soluzione numerica obbedisce allequazione (2.53), tenendo conto che
Ujn = vn eiwxj = vn eiwjh = vn eij ,

(2.58)

risulta
Ujn+1

ij

= vn+1 e

q
X

n
al Uj+l

l=p

q
X

i(j+l)

al vn e

l=p

vn+1 = vn

q
X

al eil .

(2.59)

l=p

Introducendo il fattore di amplificazione dello schema alle differenze, definito come


g() =

q
X

al eil ,

(2.60)

l=p

levoluzione temporale della ampiezza complessa della soluzione numerica `e governata dalla
relazione di ricorrenza
vn+1 = g() vn .
(2.61)
Si osservi che il fattore di amplificazione di uno schema numerico `e in genere una quantit`
a
complessa, dipendente dai coefficienti al che definiscono lo schema alle differenze, e dal numero

Figura 2.4: Discretizzazione di unonda sinusoidale con 4 PPW.

24

CAPITOLO 2. METODI ELEMENTARI

donda ridotto. Tenendo conto che la funzione v ha valori reali, `e poi facile mostrare che
g() = g ().
Prendendo il modulo dellequazione (2.61) si ottiene infine
|
vn+1 | = |g()| |
vn |,

(2.62)

dalla quale `e evidente che, affinche la soluzione numerica v (e quindi lerrore) rimangano
limitati per t , `e necessario che
|g()| 1

(0, ].

(2.63)

La (2.63) definisce una regione di stabilit`


a sul piano complesso della variabile g data dalla
regione interna al cerchio centrato nellorigine e di raggio unitario (tratteggiato nelle figure
di esempio che seguono).

Schema FTCS
Si consideri lo schema FTCS riportato in (2.15). In base alla notazione (2.53) risulta a1 = /2,
a0 = 1, a1 = /2. Dalla (2.60), il fattore di amplificazione dello schema risulta essere
g() =

i
e
+ 1 ei = 1 i sin .
2
2

(2.64)

Al variare di la (2.64) definisce un segmento di retta che `e esterno alla regione di stabilit`
a,
come mostrato in figura 2.5. Lo schema FTCS, come gi`a previsto per altra via, si dimostra
incondizionatamente instabile, e quindi inutile ai fini pratici.

Schema FTBS
Per lo schema FTBS (riportato in (2.20)) si ha a1 = , a0 = 1 . Quindi il fattore di
amplificazione dello schema risulta
g() = (1 ) + ei .

(2.65)

Al variare di , la (2.65) descrive nel piano complesso una circonferenza centrata in (1 , 0)


e avente raggio ||. A seconda del valore di si possono presentare avere le tre situazioni
Im(g)
F T CS

11111111111
00000000000
(1, i )
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
Re(g)
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
(1, i )
00000000000
11111111111
Figura 2.5: Diagramma di stabilit`
a relativo allo schema FTCS.

replacemen

` LINEARE: ANALISI DI VON NEUMANN


2.4. STABILITA

Im(g)

Im(g)

1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111

Im(g)
F T BS( > 1)

F T BS(0 1)

Re(g)

25

11111111111
00000000000
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111

Re(g)

F T BS( < 0)

11111111111
00000000000
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111

Re(g)

Figura 2.6: Diagramma di stabilit`


a relativo allo schema UW+ (FTBS).

rappresentate in figura 2.6. Analizzando le tre situazioni, si conclude che lo schema FTBS `e
stabile per 0 1.
La tabella (2.3) riporta le condizioni di stabilit`
a ottenute con lanalisi di stabilit`
a di
` importante osservare che
Von Neumann per gli schemi alle differenze fin qui considerati. E

Schema
FTCS
UW+
UW
LF
LW
BW+
BW
FROMM+
FROMM
UW3+
UW3

Interv. di stabilit`
a
incond. instabile
01
1 0
1 1
1 1
02
2 0
01
1 0
01
1 0

Tabella 2.3

per gli schemi centrali (LF, LW), per i quali p = q (nella notazione (2.53)), la stabilit`
a
non `e influenzata dal segno di , e quindi del segno della velocit`a del suono c. E quindi
possibile pensare di estendere luso degli schemi centrali anche a problemi in cui la velocit`a
di propagazione non sia nota a priori (ad esempio problemi di conservazione non-lineari).
Al contrario, la stabilit`
a degli schemi upwind dipende in maniera cruciale dal segno di c.
In particolare, schemi upwind sbilanciati a sinistra (di tipo +) sono adatti per onde che
propagano nel verso delle x positive, mentre schemi upwind sbilanciati a destra (di tipo -)
sono adatti per onde che propagano nel verso delle x negative.

26

2.5

CAPITOLO 2. METODI ELEMENTARI

Condizione CFL

La condizione CFL (o principio di Courant-Friedrichs-Lewy) `e una condizione necessaria per


la stabilit`
a di un algoritmo numerico, basata sul concetto di dominio di dipendenza. Il dominio
di dipendenza fisico rappresenta linsieme dei punti che influenzano il valore della soluzione
in un dato punto P (x, t). Analogamente, il dominio di dipendenza numerico associato a uno
schema alle differenze rappresenta linsieme dei punti del reticolo di calcolo che influenzano
il valore della soluzione numerica nel nodo xj al tempo tn . La condizione di stabilit`
a CFL
richiede che il dominio di dipendenza fisico sia interamente incluso allinterno nel dominio
di dipendenza numerico. Se tale condizione non fosse soddisfatta, sicuramente la soluzione
numerica non potrebbe convergere alla soluzione fisica, poiche alterando la soluzione in punto
del dominio di dipendenza fisico ma esterno a quello numerico non avrebbe effetto sul valore
numerico della soluzione calcolato con lo schema alle differenze.
Per maggiore chiarezza, si consideri lequazione di convezione lineare, e si faccia riferimento alla figura 2.7. Il dominio di dipendenza fisico associato al punto (xj , tn ) `e dato dai
punti dellunica caratteristica passante per quel punto. La traccia del dominio di dipendenza
al tempo tnm < tn consiste quindi del solo punto
Df (xj ; tn , tm ) = {xj c m k},

(2.66)

indicato con un simbolo quadrato in figura 2.7. Considerando una discretizzazione lineare
esplicita a due livelli della equazione di convezione lineare del tipo
Ujn+1

q
X

n
al Uj+l
,

(2.67)

l=p

il dominio di dipendenza numerico al tempo tnm `e dato dallinsieme dei punti


Dn (xj ; tn , tm ) = {xjmp , . . . , xj , . . . , xj+mq },

(2.68)

ed `e rappresentato con simboli circolari nella figura 2.7 (in cui si `e assunto p = q = 1). La
condizione CFL si esprime imponendo
Df (xj ; tn , tm ) Dn (xj ; tn , tm ),

(2.69)

tn

tnm

xjmp

xj cmk

xj

xj+mq

Figura 2.7: Illustrazione della condizione CFL.

2.6. DISSIPAZIONE E DISPERSIONE NEL DOMINIO DI FOURIER

27

che nel caso in question implica


p m h c m k q m h

q p.

(2.70)

Si osservi che la condizione CFL, essendo una condizione necessaria per la stabilit`
a, `e soddisfatta da tutti gli algoritmi riportati in tabella 2.3. Spesso, per`o, la condizione non `e sufficiente
a garantire la stabilit`
a lineare di un algoritmo numerico, ed `e necessario ricorrere a una analisi
di stabilit`
a di Von Neumann completa.

2.6

Dissipazione e dispersione nel dominio di Fourier

Lanalisi condotta per determinare le caratteristiche di stabilit`


a lineare di uno schema numerico consente anche una interessante interpretazione del fenomeno della dissipazione e
dispersione numerica nel dominio di Fourier. In particolare, dalla (2.57) si ricava il valore del
fattore di amplificazione associato alla soluzione esatta dellequazione di convezione lineare
g () =

u
(t + k)
= 1 ei c w k = 1 ei .
u
(t)

(2.71)

Lequazione (2.71) sta ad indicare che la soluzione esatta avanza da un passo temporale
al successivo in maniera che lampiezza complessa u
rimane invariata in modulo (essendo
|g ()| = 1), mentre la fase varia di ( ). Per la soluzione discreta si ha
g() =

vn+1
= g() = |g()| ei = |g()| ei c w k
vn

(2.72)

dove = arg(), e dove c, confrontando la (2.72) con la (2.71), pu`o essere interpretata come
una velocit`a di fase discreta. Poiche in generale |g ()| =
6 1, si osserva che, contrariamente alla
soluzione esatta, la soluzione discreta evolve in maniera tale che ad ogni passo le armoniche si
amplificano o si smorzano, a seconda del valore di |g()|. Risulta quindi ragionevole definire
lerrore di dissipazione (nello spazio di Fourier) associato a uno schema numerico come
d ()

|g|
= |g()|,
|g |

(2.73)

per quantificare il rateo di dissipazione (o amplificazione) associato a una armonica di numero


donda ridotto . In particolare, se `e rispettata la condizione di stabilit`
a, sar`
a d () 1 .
Si osservi pure che, in generale c 6= c, e quindi la velocit`a di fase numerica sar`
a diversa
da quella esatta, d sar`
a funzione del numero donda. E lecito quindi definire lerrore di
dispersione (nello spazio di Fourier) associato a uno schema numerico come
() =

c
=
.
c

(2.74)

Se per unonda sinusoidale (con dato numero donda ridotto ), se > 1 la velocit`a di
propagazione discreta sar`
a maggiore rispetto alla velocit`a di fase esatta, e viceversa se < 1.
Nella tabella 2.4 sono riportate le espressioni del fattore di amplificazione dei vari schemi
fin qui considerati, e nelle figure seguenti sono riportati i corrispondenti grafici dellerrore di
dissipazione e dispersione per diversi valori del numero di Courant.
I risultati ottenuti
confermano le caratteristiche di stabilit`
a degli schemi e le valutazioni gi`a svolte sulla base

28

CAPITOLO 2. METODI ELEMENTARI

Schema
FTCS
UW+
LF
LW
BW+
FROMM+
UW3+

g(, )
1 i sin()
1 + ei
1
i 1 ( 1)ei
2 ( + 1)e
2

2
1 + 2 ( + 1)ei + 2 ( 1)ei
1 + 2 ( 3) + 2 ( 1)e2i ( 2)ei
1 4 ( + 3) + 4 ( 1)e2i 4 ( 5)ei + 4 ( 1)ei

1
2
2
2i + (1 + )(2 )ei
2 (1 )(2 ) + 6 ( 1)e
2

i
+ 6 ( 1)(2 )e

Tabella 2.4: Espressione del fattore di amplificazione associato a diversi schemi alle differenze.

dellanalisi asintotica dellerrore di troncamento degli schemi. In particolare, che gli schemi
UW+ e LF sono stabili nellintervallo 0 1, e mostrano deviazioni apprezzabili di
d rispetto al valore unitario. Per lo schema LW si ha < 1 in quasi tutto lintervallo
dei numeri donda ridotti, a prescindere dal valore assunto da ; tale comportamento lascia
supporre che soluzioni numeriche ottenute con lo schema di Lax-Wendroff siano tipicamente
in ritardo di fase rispetto alla soluzione esatta. Al contrario lo schema BW+ non presenta
una caratterizzazione dispersiva univoca, ma in genere produce soluzioni in anticipo di fase
per 0 1 (dove > 1) e in ritardo di fase per 1 2 (essendo < 1). Analogo
andamento si riscontra per lo schema di FROMM+ , per il quale il cambiamento di segno
dellerrore di dispersione avviene in corrispondenza di = 0.5. E importante notare che
lerrore di fase associato allo schema di Fromm `e molto minore (specialmente per < /2)
rispetto a quello dei due schemi (LW e BW) dai quali deriva. Allo schema UW3+ , infine,
sono associati dei valori estremamente contenuti degli errori sia dissipativo e dispersivo, in
particolare nella zona dei numeri donda prossima allorigine.
Si pu`o mostrare che lanalisi riportata nella presente sezione e nella sezione 2.3 sono
strettamente legate fra loro. In particolare, si pu`o mostrare che lerrore di troncamento di
uno schema numerico `e legato alla forma delle funzioni d (), () per 0. In effetti,
lanalisi dellerrore di troncamento di uno schema numerico, basato su una espansione in
serie di Taylor, fornisce solo informazioni asintotiche nel limite h 0, e dunque valide solo
per 0. Lanalisi dellerrore in serie di Fourier caratterizza invece le propriet`a di uno
schema numerico in maniera molto pi`
u completa, essendo valida anche per valori di finiti,
e quindi anche per h = O(1).

2.7

Convergenza

La convergenza `e la propriet`a di uno schema numerico per la quale al tendere a zero della
spaziatura della griglia di calcolo la soluzione calcolata numericamente tende alla soluzione
dellequazione differenziale da cui lo schema deriva. Si noti che il concetto di convergenza differisce sia da quello di consistenza, in cui si confronta lequazione differenziale con lo
schema alle differenze, sia da quello di stabilit`
a, che fa riferimento esclusivamente al comportamento della soluzione dello schema alle differenze. Per quantificare il concetto si parte
dalla definizione di errore globale (in cui cio`e confluiscono sia lerrore di discretizzazione che

29

2.7. CONVERGENZA

1.3

Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

1.2

0.9

1.1

0.8

1
0.7

0.9
0.8

0.6

0.5
0.4

0.7
0.6
0.5
0.4

0.3

0.3

Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.2

0.2

0.1

0.1
0

UW+
1
5

Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.9
4.5
0.8
4
0.7
3.5
0.6

0.5
0.4

0.3

1.5
Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.2
0.1
0

2.5

1
0.5
0

LF
1
Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.9
0.8
1
0.7

0.6

0.5
0.4

0.5

0.3
0.2

Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.1
0

LW
Figura 2.8: Errore di dissipazione e dispersione per alcuni schemi alle differenze.

30

CAPITOLO 2. METODI ELEMENTARI

1
Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0
Courant = 1.5
Courant = 2.0

0.9
0.8

1.5

0.7

0.6

0.5
0.4
0.5

Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0
Courant = 1.5
Courant = 2.0

0.3
0.2
0

BW+
1
Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.9
0.8
1
0.7

0.6

0.5
0.4

0.5

0.3
0.2

Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.1
0

Fromm+
1
Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.9
0.8
1
0.7

0.6

0.5
0.4

0.5

0.3
0.2

Courant = 0.25
Courant = 0.5
Courant = 0.75
Courant = 1.0

0.1
0

UW3+
Figura 2.8: Errore di dissipazione e dispersione per alcuni schemi alle differenze.

31

2.7. CONVERGENZA

quello legato alla approssimazione con cui si risolve lo schema alle differenze) nel nodo xj al
tempo tn
enj = Ujn u(xj , tn ),
(2.75)
e si introduce la norma dellerrore globale al livello

max |enj |

j=1,N

u
t1
(enj )2
N
||en || =
j=1

1 X n

|ej |

temporale tn come
Norma
Norma 2

(2.76)

Norma 1

j=1

Uno schema alle differenze si dice convergente se, per ogni fissato tempo T = nk, risulta
lim

h0,k/h=

||en || = 0,

(2.77)

essendo al solito il limite inteso a costante. Si noti che nella (2.77) non si `e specificato
il tipo di norma considerata, e la convergenza di un metodo pu`o in generale dipendere dal
tipo di norma usata per definire lerrore globale. In particolare la norma- richiede la convergenza puntuale della soluzione, e tale condizione `e molto difficile (se non impossibile) da
ottenere in presenza di soluzioni discontinue. La convergenza (o meno) di uno schema numerico alla soluzione esatta (se questa `e data) si pu`o misurare tramite esperimenti numerici
` conveniente a tale scopo rappin cui si considerano griglie di calcolo via via pi`
u raffinate. E
resentare i risultati in un grafico bi-logaritmico, riportando la norma dellerrore in funzione
della spaziatura della griglia h. In genere, per h 0, lerrore globale scala come una potenza
della spaziatura h
||en || c hp
=
log ||en || p log h,
(2.78)
e per determinare p, detto ordine di accuratezza globale (o velocit`a di convergenza) dello
schema numerico, `e sufficiente misurare la pendenza asintotica delle curve di errore nel piano

0
-1
-2

ln(e)

-3
-4
-5
-6
-7

1.9996
1.9997
2.0000

-8

ln(e1)
ln(e2)
ln(einf)

-9
-7

-6

-5

-4

-3

-2

ln(h)

Figura 2.9: Curva di convergenza tipica di uno schema del secondo ordine (Lax-Wendroff).

32

CAPITOLO 2. METODI ELEMENTARI

bi-logaritmico. Il risultato tipico di una analisi di convergenza (in questo caso per lo schema
li Lax-Wendroff) `e mostrato nella figura 2.9.

Teorema di equivalenza di Lax


Un ponte tra i concetti precedentemente introdotti, relativi alla consistenza, stabilit`
a e
convergenza di uno schema numerico, `e fornito dal seguente teorema.
Teorema di equivalenza (Lax) Uno schema numerico lineare, consistente e stabile, converge (in ogni norma) alla soluzione esatta dellequazione di conservazione da cui deriva.
Inoltre, lordine di accuratezza globale coincide con lordine di accuratezza formale.
Si presti attenzione al fatto che il teorema si applica solo a soluzioni dotate di opportune condizioni di regolarit`
a. Nel caso di soluzioni discontinue non `e possibile espandere la
soluzione in serie di Taylor, e quindi dimostrare la consistenza dello schema numerico. In
tale caso si osserva tipicamente una mancanza di convergenza della soluzione, o si constata
unordine di accuratezza globale inferiore rispetto a quello formale. Lutilit`a del teorema
di Lax per la gasdinamica numerica `e quindi alquanto limitata, in quanto le equazioni di
conservazione hanno natura non-lineare, e le soluzioni di interesse sono spesso discontinue.

Capitolo 3

Leggi di conservazione non-lineari;


schemi conservativi
In questo capitolo saranno illustrate le tecniche per la soluzione numerica dellequazione di
conservazione scalare (1.5). Rispetto al caso dellequazione di convezione lineare (discusso
nel precedente capitolo) si possono identificare ulteriori potenziali problemi per uno schema
alle differenze, tra i quali:
1. formazione di discontinuit`
a a partire da condizioni iniziali continue;
2. velocit`a di propagazione (a(u) = f (u)) diverse (anche in segno) da punto a punto;
3. oscillazioni possono condurre a instabilit`a non-lineare e a soluzioni non fisiche (es p < 0,
< 0 nel caso delle equazioni di Eulero);
4. possibile convergenza a soluzioni deboli che non soddisfano la condizione di entropia;
5. possibile convergenza a soluzioni che non soddisfano le relazioni di salto di RankineHugoniot (e quindi non sono soluzioni deboli del problema differenziale).
Iniziamo col discutere lultimo dei punti sopraelencati. Per chiarire la questione `e opportuno
considerare come esempio il seguente problema di Riemann per lequazione di Burgers (qui
scritta in forma quasi-lineare)
(
1
x<0
ut + u ux = 0,
u0 (x) =
,
< x < +, t 0
(3.1)
0
x>0
Si consideri la seguente discretizzazione di (3.1)
n
Ujn+1 = Ujn Ujn (Ujn Uj1
)

(3.2)

` facile verificare che lo schema (3.2) `e consistente con la (3.1), e accurato al primo ordine.
E
Tuttavia, la soluzione ottenuta con questo schema risulta essere (verificare)
Ujn = Uj0

j, n; ,

(3.3)

ovvero consiste di una discontinuit`


a stazionaria che separa due stati uniformi. Tale discontinuit`
a tuttavia non soddisfa le relazioni di salto (1.23), che impongono che una (even` altres` facile verificare che
tuale) discontinuit`
a dovrebbe muoversi con velocit`a s = 1/2. E
33

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI

34

lo schema alle differenze (ricavato discretizzando lequazione di Burgers scritta nella forma
conservativa (1.5))
n
Ujn+1 = Ujn /2 [(Ujn )2 (Uj1
)2 )]
(3.4)
produce una soluzione evolutiva che (nel limite di h 0) converge alla soluzione debole del
problema.

3.1

Schemi conservativi

Si dice che uno schema numerico `e conservativo se esiste una funzione (h, detta funzione
flusso numerico)
n
n
n
fj+
(3.5)
1 = h(Ujp+1 , . . . , Uj+q )
2

tale che `e possibile scrivere lo schema alle differenze nella forma (detta conservativa)
n
n 1 )
Ujn+1 = Ujn (fj+
1 f
j
2

(3.6)

n
dove fj+
1 prende il nome di flusso numerico al nodo intermedio xj+1/2 . Si osservi che lo stencil
2

associato allo schema (3.6) comprende i nodi con indici j p, . . . , j + q. Si noti pure che in
generale la funzione h dipende sia dalla funzione flusso f (u), sia dal tipo di discretizzazione.
` inoltre possibile mostrare che, affinche lapprossimazione (3.6) sia consistente, `e sufficiente
E
che sia soddisfatta la propriet`a
h(u, u, . . . , u) = f (u).

(3.7)

` opportuno notare che lo schema alle differenze dato da (3.6)+(3.5) `e uno schema nonE
lineare, esplicito a due livelli, dove la non-linearit`
a `e contenuta nella funzione f (u) e/o nella
forma della funzione flusso numerico.

3.2

Propriet`
a di conservazione integrali. Teorema di
Lax-Wendroff

Considerando lapprossimazione conservativa (3.6), e sommando su tutti i nodi con indici da


M a N > M si ottiene
h

N
X

Ujn+1

N
X

Ujn

j=M

j=M

=k

N 
X

j=M


n
n 1 .
fj+
1 f
j
2

(3.8)

Espandendo la sommatoria a secondo membro si ha


N 
X

j=M

n
n 1
fj+
1 f
j
2

n
n
n
n
n
n
= fM
+1/2 fM 1/2 + fM +3/2 fM +1/2 + fM +5/2 fM +3/2 + . . .
n
n
n
n
n
n
+ . . . fN
5/2 fN 3/2 fN 3/2 fN 1/2 fN 1/2 fN +1/2 ,

nella quale tutti i contributi si annullano a due a due (propriet`a detta di telescopicit`
a), salvo
quelli di bordo, e la (3.8) si riduce a
h

N
X
Ujn+1 Ujn

j=M

n
n
= fN
+1/2 fM 1/2 .

(3.9)

3.3. FORMULAZIONE CONSERVATIVA PER SCHEMI BASATI SULLE


CARATTERISTICHE

35

Ponendo xM +1/2 = a, xN +1/2 = b, e osservando che (Ujn+1 Ujn )/k u/t, si ha


h

N
X
Ujn+1 Ujn

j=M

d
dt

u dx.

(3.10)

n
n
Inoltre, poiche fM
u della consistenza del flusso numeri1/2 f (a), fN +1/2 f (b) in virt`
co, si pu`o concludere che lequazione (3.9) riproduce, in senso discreto, lequazione di conservazione integrale (1.1). Ricordando che le relazioni di salto di Rankine-Hugoniot (ricavate in Sezione 1.3) sono ricavate dalle equazioni di conservazione scritte in forma integrale,
questo giustifica il fatto che gli schemi conservativi tendono a catturare eventuali discontinuit`
a presenti nella soluzione in maniera appropriata. Esiste, a tale proposito, una propriet`a
matematica esatta degli schemi conservativi:
Teorema di Lax-Wendroff : si consideri uno schema numerico conservativo consistente.
Se lo schema converge (almeno nella norma-1), allora converge a una soluzione debole della
legge di conservazione.
Il teorema di Lax-Wendroff fornisce un forte supporto teorico alluso di schemi conservativi, in quanto garantisce che non si verifichino patologie quale quella mostrata nellesempio
(3.2). Tuttavia si noti che la convergenza dello schema numerico compare come ipotesi del
teorema, e quindi deve essere verificata per altra strada. Inoltre, si noti che il teorema di
Lax-Wendroff non vieta la possibile convergenza a soluzioni deboli che per`o non sono soluzioni
di entropia del problema di conservazione.

3.3

Formulazione conservativa per schemi basati sulle


caratteristiche

Riprendendo gli schemi sviluppati per lequazione di convezione lineare nel Capitolo 2, `e
immediato verificare che tutti possono essere riscritti nella forma conservativa (3.6), a patto
di definire opportunamente il flusso numerico. Nella tabella 3.1 sono riportati i flussi numerici
associati a tutti gli schemi finora incontrati, sia centrali che upwind.
Schema
FTCS
UW+
UW
LF
LW
BW+
BW

n
fj+1/2


c
n + Un
U
j
j+1
2

cUjn

n
cUj+1


c
n + Un
n
U
j
j+1 1/(2) Uj+1/2
2


c
n + Un
n
U
1/2 c2 Uj+1/2
j+1
j
2


c
n
n
2
n
2 3Uj Uj1 1/2 c Uj1/2


c
n Un
2
n
3U
j+1
j+2 1/2 c Uj+3/2
2

Tabella 3.1: Flusso numerico associato a diverse discretizzazioni dellequazione di convezione lineare.

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI

36

Lestensione dei flussi numerici elencati allequazione di conservazione nella sua forma
generale (1.5) pu`o essere effettuata tramite le sostituzioni formali
cUjn ; fjn ,

c ; aj+1/2 ,

dove fjn = f (Ujn ), e la velocit`a del suono nello stato intermedio j + 1/2 `e definita come segue
(si faccia anche riferimento alla figura 3.1) 1
anj+1/2 =

n
n
n
6 0
=
Uj+1/2
/Uj+1/2
fj+1/2
.
n

n
Uj+1/2 = 0
f (Uj )

(3.11)

f (u)
aj+1/2

Uj

Uj+1

Figura 3.1: Definizione della velocit`


a del suono nello stato intermedio aj+1/2 .

Schema
FTCS

n
fj+1/2


1
n + fn
f
j+1
j
2

UW+

fjn

UW

n
fj+1


n
n
1/2 fjn + fj+1
1/(2) Uj+1/2


n
n
1/2 fjn + fj+1
1/2 a2j+1/2 Uj+1/2


n
n
1/2 3fjn fj1
1/2 a2j1/2 Uj1/2


n fn
2
n
1/2 3fj+1
j+2 1/2 aj+3/2 Uj+3/2

LF
LW
BW+
BW

Tabella 3.2: Flusso numerico associato a diverse discretizzazioni dellequazione di conservazione nonlineare (1.5).

Nel seguito si user`


a la notazione zj+1/2 = zj+1 zj , per indicare la variazione di una generica variabile
discreta z a cavallo del nodo intermedio j + 1/2.

` ARTIFICIALE
3.4. VISCOSITA

3.4

37

Viscosit`
a artificiale

Si consideri lequazione di convezione-diffusione (1.3), e si applichi una discretizzazione di


tipo FTCS. Si ottiene in maniera immediata il seguente schema alle differenze
Ujn+1 = Ujn

 h

n
n
n
n
2 Uj1
,
fj+1 fj1
2Ujn + Uj+1
2
k

(3.12)

il quale, a valle di semplici manipolazioni, pu`o essere riscritto nella forma conservativa (3.6),
a patto di definire il flusso numerico come segue

1 n
n
n
n
Uj+1/2
fj + fj+1
,
fj+1/2
=
2
h

(3.13)

dato dal contributo del flusso numerico dello schema FTCS applicato alla (1.5) (come da tabella 3.2), pi`
u un contributo legato alla diffusione fisica (N.B.: qui rappresenta un coefficiente
di diffusione fisica!).
num /LF
1

LW

W
U

U
W+

LF

j+1/2

Figura 3.2: Coefficienti di diffusione numerica (normalizzati per il valore corrispondente allo schema
di Lax-Friedrichs).

Confrontando lespressione dei flussi numerici per lequazione di conservazione non viscosa (1.5) associati ai diversi schemi riportati in tabella 3.2 (limitandoci agli schemi con
stencil a tre punti, con p = q = 1), si nota che sono tutti esprimibili in maniera formalmente
analoga alla (3.13) (detta forma di viscosit`
a numerica), a patto di definire il coefficiente di
diffusivit`
a in maniera opportuna, e variabile da schema a schema, come riportato nella
tabella 3.3. Si noti che in questo caso non `e legato a meccanismi diffusivi di natura fisica,
ma emerge come un puro risultato della discretizzazione numerica. Per tale motivo si fara
riferimento a tale coefficiente come coefficiente di diffusione numerica (e sar`
a indicato con la
notazione num ).
La tabella 3.3 mostra che la diffusione artificiale di uno schema numerico dipende tipicamente (oltre che dallo schema in questione), dalla spaziatura del dominio di calcolo, e dalla
velocit`a del suono locale. Risulta utile rappresentare i coefficienti di diffusione numerica in
forma grafica normalizzandoli rispetto a quello associato allo schema di Lax-Friedrichs (come
mostrato in figura 3.2). Si noti che il risultato pu`o essere espresso in termini del numero di

38

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI
Schema
FTCS
UW+

num
0
aj+1/2 h/2

UW

aj+1/2 h/2

LF
LW

h/(2)
ha2j+1/2 /2

Roe

|aj+1/2 |h/2

LFFS-UW

h/2

Tabella 3.3: Coefficiente di diffusione numerica per schemi fully discrete a tre punti (con p = q = 1).

Courant locale j+1/2 = h aj+1/2 , perche, per esempio,


U W /LF
LW /LF

aj+1/2 h 2

= j+1/2
2
h
a2j+1/2 h 2
2

= j+1/2
.
=
2
h
=

(3.14)
(3.15)

Il fatto che il flusso numerico associato a uno schema alle differenze riproponga (in senso
discreto) meccanismi di diffusione fisica che erano originariamente stato soppressi passando
dalla equazione di convezione-diffusione (1.3) alla equazione di convezione pura (1.3) `e di
estrema importanza. Si noti infatti che, per tutti gli schemi considerati (salvo il caso in
h0

cui aj+1/2 = 0), num 0. Questo implica che la viscosit`


a numerica di uno schema alle
differenze ha il ruolo della viscosit`
a (fisica) evanescente che compare nella definizione della
soluzione di entropia di una equazione di conservazione (si veda la discussione riportata in
sezione 1.4). La presenza di un contributo di diffusione artificiale (positivo) in uno schema
numerico consente lecitamente di sperare nella convergenza dello stesso alla corretta soluzione
di entropia dellequazione di conservazione.
Lesame del coefficiente di diffusione numerica di uno schema alle differenze consente di
trarre diverse conclusioni importanti circa il suo comportamento qualitativo. Anzitutto, `e
lecito attendersi che, affinche lo schema sia stabile, sia necessario che il relativo coefficiente di
diffusione numerica num sia positivo. In caso contrario infatti, ricordando la (1.3), leffetto
della discretizzazione numerica sarebbe analogo allintroduzione di una anti-dissipazione, con
conseguente divergenza esponenziale della soluzione (si ricordi anche la sezione 2.6). Osservando la tabella 3.3, si pu`o quindi dedurre che schemi upwind di tipo + possono essere
stabili solo quando aj+1/2 0 (cio`e per onde che propagano da sinistra verso destra), mentre
il contrario vale per schemi upwind di tipo -.
In secondo luogo, alcuni degli schemi (segnatamente UW, LW) comportano un annullamento del coefficiente di diffusione numerica quando aj+1/2 = 0. Una situazione di questo
tipo si verifica tipicamente in presenza di transizioni soniche, ovvero in situazioni in cui a(u)
varia in segno da Uj a Uj+1 (si veda la figura 3.3). In una situazione di questo tipo ci si
possono aspettare problemi nella convergenza alla corretta soluzione di entropia, i quanto
vengono meno i meccanismi dissipativi incorporati nella (1.3).

` LINEARE
3.5. STABILITA

39
f (u)

aj+1/2 0

Uj

Uj+1

Figura 3.3: Rappresentazione di una situazione di transizione sonica nel piano u-f (u).

3.5

Stabilit`
a lineare

Lanalisi di stabilit`
a di Von Neumann non pu`o essere estesa in maniera immediata allanalisi degli schemi numerici considerati nel presente capitolo, in quanto viene meno lipotesi
fondamentale di linearit`
a, che implica levoluzione autonoma delle armoniche che compon`
gono la soluzione. E tuttavia legittimo pensare che, affinche uno schema non-lineare del
tipo (3.6)+(3.5) sia stabile, sia necessario che la condizione di stabilit`
a di Von Neumann sia
soddisfatta localmente in ogni punto. Ad esempio, la stabilit`
a lineare dello schema UW+
per lequazione LAE richiede (vedi sezione 2.4) che 0 1. Per estrapolazione, ai fini della stabilit`
a locale dello schema UW+ applicato alla (1.5), si pu`o supporre necessario
che 0 j+1/2 1. Inoltre, tale condizione deve essere soddisfatta per ogni nodo intermedio, quindi j. La validit`
a di questa ipotesi `e (quasi) sempre verificata nella pratica. In
effetti, almeno nel caso di soluzioni smooth, uno schema numerico risulta essere stabile se la
condizione di Von Neumann `e verificata in ogni punto. Nel caso di soluzioni discontinue invece possono verificarsi condizioni di instabilit`a non-lineare che portano alla esplosione della
soluzione numerica, anche se le condizioni di stabilit`
a lineare locale sono soddisfatte.

3.6

Schemi centrali e upwind

Sulla base delle considerazioni fatte nella precedente sezione, e ricordando quanto detto a
proposito della stabilit`
a degli schemi per lequazione di convezione lineare, risulta naturale
suddividere gli schemi numerici in due categorie:
1. schemi centrali, la cui stabilit`
a non dipende dal segno della velocit`a del suono locale;
2. schemi upwind, la cui stabilit`
a dipende dal segno della velocit`a del suono locale.
Nella prima categoria ricadono gli schemi FTCS, LF, LW, nella seconda gli schemi UW ,
BW , FROMM , UW3 . Per quanto riguarda gli schemi della seconda categoria, lestensione
al caso di equazioni di conservazione generali, per le quali a(u) pu`o cambiare, anche in segno,
da punto a punto, richiede molta cautela.
Lidea pi`
u semplice per estendere gli schemi upwind al caso di equazioni di conservazione
non-lineari consiste nel verificare il segno della velocit`a di propagazione locale relativo al
generico stato intermedio j + 1/2, e sulla base di questa definire il flusso numerico relativo,
applicando uno schema upwind di tipo + qualora aj+1/2 0, e uno schema upwind di tipo

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI

40

-, qualora aj+1/2 < 0. Considerando lo schema upwind del primo ordine, lestensione al caso
non-lineare conduce al seguente flusso numerico 2
(
fjn anj+1/2 0
n
fj+1/2 =
,
(3.16)
n
fj+1
anj+1/2 < 0
che pu`o essere manipolato facilmente come segue, per arrivare a scriverlo in forma di viscosit`
a
numerica


 |anj+1/2 |
1
1 n
1
n
n
n
n

fj + fj+1
1 + sgn(anj+1/2 ) fjn + 1 sgn(anj+1/2 ) fj+1
=
Uj+1/2
.
fj+1/2
=
2
2
2
2
(3.17)
Lo schema alle differenze definito dal flusso numerico (3.17) prende il nome di schema
di Roe, e rappresenta il prototipo di schema upwind del primo ordine per una equazione
di conservazione non-lineare. Il coefficiente di diffusione numerica associato risulta essere
ROE = |aj+1/2 |h/2, e il suo grafico `e dato dellunione dei rami stabili dei coefficienti di diffusione numerica associati agli schemi UW (si veda la figura 3.2). Come per questi due ultimi
schemi, ROE si annulla in corrispondenza di transizioni soniche, per cui lo schema di Roe
eredita dagli schemi costituenti problemi nella convergenza a soluzioni di entropia.
Esistono approcci molto pi`
u generali rispetto a quello di Roe per costruire schemi upwind
generalizzati, che verranno descritti nelle due sezioni seguenti.

3.7

Flux splitting

Lidea di base della procedura di flux splitting consiste nel decomporre (a livello matematico)
la funzione flusso f (u) in una parte associata esclusivamente a onde che propagano da sinistra
verso destra (f + (u)) e una associata a onde che propagano da destra verso sinistra (f (u)).
Ricordando la definizione di velocit`a del suono locale data nella sezione 1.2, questo equivale
a richiedere che siano soddisfatte le seguenti condizioni
f (u) = f + (u) + f (u),

a+ (u) =

df +
0,
du

a (u) =

df
< 0,
du

u.

(3.18)

+
Detto fj+1/2
il flusso numerico ricavato da una discretizzazione upwind di tipo + applicata

+
a f (u), e detto fj+1/2
il flusso numerico ricavato da una discretizzazione upwind di tipo

- applicata a f (u), il flusso numerico dello schema complessivo si ottiene ricombinando i


contributi associati ai due flussi splittati, ottendendo
+

fj+1/2 = fj+1/2
+ fj+1/2
.

(3.19)

Ad esempio, lapplicazione dei flussi del primo ordine UW conduce a

fj+1/2 = fj+ + fj+1


,

(3.20)

dove, al solito, fj = f (Uj ).


Esistono diversi tipi di flux splitting che soddisfano la condizione (3.18), dei quali citiamo
due esempi.
2

La funzione segno `e definita come sgn(x) = x/|x|.

41

3.8. METODO DI GODUNOV

Flux splitting di Steger & Warming


Questo splitting (detto anche physical flux splitting), `e basato sulla seguente decomposizione
della funzione flusso


0
f (u) 0
f (u) f (u) 0

+
,
(3.21)
, f (u) =
f (u) =

f (u) f (u) < 0


0
f (u) < 0
che pu`o essere anche riscritta in maniera pi`
u sintetica come
f (u) =


1
1 sgn(f (u)) f (u).
2

(3.22)

` immediato verificare che la decomposizione 3.21 soddisfa i requisiti (3.18). Il flux splitting
E
di Steger & Warming, pur conducendo di solito a schemi piuttosto accurati, soffre per la
presenza di punti angolosi nelle funzioni flusso splittate f (u) in corrispondenza dei punti
dove f (u) cambia segno. Pertanto solitamente si preferisce usare un flux splitting alternativo,
che conduce a schemi meno accurati, ma decisamente pi`
u robusto.

Flux splitting di Lax & Friedrichs


Il flux splitting di Lax & Friedrichs `e basato sulla seguente decomposizione della funzione
flusso
1
f (u) = (f (u) u) , = max |f (u)|,
(3.23)
u
2
dove il parametro rappresenta il massimo valore possibile della velocit`a di propagazione,
` immediato verificare che
preso su tutti i valori assunti dalla soluzione a un certo tempo. E
la (3.23) soddisfa in maniera automatica alla condizione (3.18).
Applicando il flux splitting (3.23) alla (3.20) si ottiene uno schema, detto di Lax-Friedrichs
generalizzato (LFFS-UW), il cui flusso numerico `e dato da

1 n
n
n
n
Uj+1/2
fj + fj+1
.
fj+1/2
=
2
2

(3.24)

Similmente allo schema di Lax-Friedrichs, tale schema presenta una viscosit`


a artificiale che
non dipende dalla velocit`a di propagazione locale aj+1/2 , e che non si annulla mai. Di conseguenza, `e lecito attendere che siano evitati problemi legati alla possibile convergenza a
soluzioni che non soddisfano la condizione di entropia. Inoltre, `e immediato verificare che
LFFSUW /LF = , dove
= ,
(3.25)
`e il cosiddetto numero di Courant globale, pari al massimo valore assoluto dei numeri di
Courant locali. Si noti che, per la stabilit`
a lineare dellalgoritmo, |j+1/2 | 1, j, che
`e sicuramente soddisfatta se 1. Ci`
o implica che LFFSUW /LF 1, e quindi lo
schema LFFS-UW `e meno dissipativo rispetto allo schema di Lax-Friedrichs nella sua forma
originaria.

3.8

Metodo di Godunov

Lapproccio flux splitting `e normalmente usato per sviluppare schemi upwind nellambito
del metodo delle differenze finite. Lo sviluppo di schemi upwind per il metodo dei volumi

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI

42

finiti segue tradizionalmente strade molto diverse, anche se conducono a risultati finali simili a
quanto gi`a visto. La strategia comunemente usata fu sviluppata originariamente da Godunov,
ed `e basata sulla discretizzazione dellequazione di conservazione scritta in forma integrale.
Integrandolequazione (1.5)
regione rettangolare del piano x t definita dal prodotto
 sununa
n+1
] (come in figura 3.4), si ottiene
cartesiano xj1/2 , xj+1/2 [t , t
Z

xj+1/2

n+1

v(x, t
xj1/2


) v(x, t ) dx +

tn+1

tn+1

tn

xj+1/2

xj1/2

v f (v)
+
t
x

dxdt =


f (v(xj+1/2 , t)) f (v(xj1/2 , t)) dt, (3.26)

tn

dove si `e sfruttato il teorema della divergenza per integrare parzialmente il primo integrando
rispetto a t, e il secondo integrando rispetto x. Ricordando che nel metodo dei volumi finiti
le incognite discrete sono rappresentate dai valori medi integrali sulle celle della soluzione
approssimata, come definito nellequazione (2.9), e introducendo un flusso numerico definito
come
Z n+1
n
fj+1/2
=

tn

f (v(xj+1/2 , t)) dt,

(3.27)

lequazione (3.26) conduce a



n
n
,
Ujn+1 = Ujn fj+1/2
fj+1/2

(3.28)

la quale coincide con la generica forma conservativa di uno schema alle differenze (come
da equazione (3.6)). Si noti che la valutazione del flusso numerico (3.27) richiede il calcolo
dellintegrale di f (v) lungo il bordo (in questo caso il lato destro, evidenziato in rosso in
figura 3.4) della cella di controllo. In linea di principio, tale calcolo richiede a sua volta
la conoscenza dei valori della soluzione approssimata v(xj+1/2 , t) allintercella xj+1/2 , per
t [tn , tn+1 ].
t

tn+1

tn

1111111111111111
0000000000000000
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111

xj1/2

xj

xj+1/2

Figura 3.4: Cella del piano x t per integrazione dellequazione (1.5).

Nellapproccio di Godunov la valutazione del flusso numerico alle intercelle passa tramite
la soluzione di una serie di problemi di Riemann. Si assuma, infatti, che, cella per cella, la

43

3.8. METODO DI GODUNOV

soluzione approssimata (di cui si conoscono solo i valori medi integrali sulle celle Ujn , j),
abbia la seguente rappresentazione funzionale (al tempo tn )
v(x, tn ) = Ujn ,

x [xj1/2 , xj+1/2 ],

(3.29)

che `e evidentemente consistente con la condizione (2.9). La ricostruzione3 espressa dalla (3.29)
equivale a supporre che la soluzione approssimata al tempo tn sia costante cella per cella. Di
conseguenza, se si considera lintercella xj+1/2 , a cavallo di questa si svilupper`a un problema
n .
di Riemann in cui lo stato left `e dato da ul = Ujn , e lo stato right `e dato da ur = Uj+1
Il calcolo del valore puntuale di v allintercella nellintervallo temporale [tn , tn+1 ] richiede
evidentemente la soluzione di tale problema di Riemann. Lanalisi `e semplificata in maniera
sostanziale dalla propriet`a di self-similarity delle soluzioni del problema di Riemann per la
equazione (1.5), in virt`
u della quale, in un intorno opportuno del punto (in questo caso xj+1/2 )
dove ha origine la discontinuit`
a, vale


x xj+1/2
v(x, t) = V
,
(3.30)
t tn
che equivale a dire che la soluzione si mantiene costante lungo raggi vettori spiccati dal punto
del piano x t dove nasce la discontinuit`
a (si veda la figura 3.5).
t

tn+1
(x xj+1/2 )/(t tn )=const.
tn

v = Ujn

xj1/2

xj

xj+1/2

n
v = Uj+1

Figura 3.5: Soluzione del problema di Riemann relativo allintercella xj+1/2 al tempo tn .

n
=cost., e lintegrale (3.27) si semplifica
Tale propriet`a implica che v(xj+1/2 , t) vj+1/2
drasticamente, dando luogo a
n
n
fj+1/2
= f (vj+1/2
).
(3.31)

Il problema di determinare il flusso numerico si riduce a quello di trovare una approssimazione


n .
n
) tra Ujn e Uj+1
per lo stato medio (vj+1/2
` opportuno notare come lo schema definito dal flusso numerico (3.31), detto schema di
E
n
, un
Godunov, presenta, indipendentemente dalla accuratezza con cui viene calcolato vj+1/2
3
Con il termine ricostruzione si indicher`
a nel seguito il procedimento tramite il quale, a partire dalla
conoscenza dei valori medi di cella di una funzione, si determina una approssimazione, pi`
u o meno accurata,
di suoi valori puntuali. Si noti che tale procedimento differisce dalla interpolazione classica, in cui si parte
dalla conoscenza dei valori puntuali della funzione.

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI

44

ordine di accuratezza formale pari a 1. Il motivo risiede nel fatto che, mentre per ricavare
la forma conservativa (3.28) non `e stata fatta alcuna approssimazione, lassunzione (3.29)
comporta un errore O(h) nella valutazione dei valori puntuali di v.
n
Ai fini della valutazione di vj+1/2
`e possibile adottare due approcci:
1. soluzione esatta del problema di Riemann;
2. soluzione approssimata del problema di Riemann.
Lapproccio 1. `e fattibile solo per problemi per i quali la soluzione esatta sia nota, cosa che
accade per lequazione scalare modello in considerazione, ma che non vale, ad esempio, per
le equazioni di Eulero. In tal caso la soluzione del problema di Riemann richiede un procedimento iterativo che rende proibitiva limplementazione di un solutore di Riemann esatto per
problemi di interesse applicativo. Di conseguenza si ricorre frequentemente allapproccio 2,
basato su stime approssimate della soluzione del problema di Riemann, che (possibilmente)
non inficino laccuratezza dello schema.

Solutore di Riemann esatto


Si consideri lequazione (1.5) con condizioni iniziali 4

ul x < 0
u(x, 0) =
,
ur x > 0

(3.32)

n . Si richiede di valutare la soluzione del


dove, per lo schema di Godunov, ul = Ujn , ur = Uj+1
problema di Riemann lungo la retta di equazione x = 0 (vj+1/2 nella nostra notazione).
Assumendo la convessit`
a della funzione flusso, ovvero f (u) 0, risultano possibili due
sotto-casi fondamentali

A. Espansione, se ul < ur ;
B. Urto, se ul > ur .
Nel primo caso infatti, le caratteristiche uscenti dagli stati left e right tendono a divergere,
essendo f (ul ) < f (ur ). Viceversa, nel caso B, le caratteristiche provenienti dallo stato left
tendono a superare quelle associate allo stato right, e la monodromia della soluzione implica
la formazione di un urto (si ricordi quanto detto in sezione 1.3). Esistono diversi sotto-casi,
per i quali si riportano nel seguito i diagrammi delle soluzioni nel piano x t e nel piano
u f.
A-1. Espansione subsonica
In questo caso si ha f (ul ) f (ur ) 0, e la soluzione del problema di Riemann (evidenziata
con un cerchio rosso in figura 3.6b) risulta essere vj+1/2 = ur .
A-2. Espansione supersonica
In questo caso si ha 0 f (ul ) f (ur ), e la soluzione del problema di Riemann risulta essere
vj+1/2 = ul .
4

Ovviamente la scelta dellorigine del sistema di riferimento non ha influenza sulla soluzione del problema,
per cui, senza perdere in generalit`
a, si considera un problema di Riemann centrato nellorigine del piano x t.

45

3.8. METODO DI GODUNOV

f (ul )

f (ur )

u = ur

u = ul

ur

ul

Figura 3.6: Soluzione del problema di Riemann per il caso A-1.

f (ur )

f (ul )

u = ur

u = ul

ul

ur

Figura 3.7: Soluzione del problema di Riemann per il caso A-2.

A-3. Espansione transonica


In questo caso si ha f (ul ) 0 f (ur ). La soluzione del problema di Riemann pu`o essere
ricavata osservando che la retta x = 0 coincide con una caratteristica del fan di espansione
avente inclinazione dx/dt = 0. Per la definizione di curva caratteristica (equazione 1.8), lungo
tale retta dovr`a risultare dx/dt = f (vj+1/2 ) = 0, dalla quale `e possibile ricavare vj+1/2 . Se
f (u) `e convessa, f (vj+1/2 ) si annulla (al pi`
u) per un valore di u (che indichiamo come u ), e
la soluzione del problema risulta essere vj+1/2 = u . Ad esempio, per lequazione di Burgers
(f (u) = u2 /2), u = 0.
f

f (ur )

f (ul )

u = ul

u = ur

ul

ur

Figura 3.8: Soluzione del problema di Riemann per il caso A-3.

46

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI

B-1. Urto subsonico


In questo caso si ha f (ur ) f (ul ) 0, e la soluzione del problema di Riemann risulta essere
vj+1/2 = ur .
f

f (ur )

s<0

f (ul )
u = ur

u = ul

ur

ul

Figura 3.9: Soluzione del problema di Riemann per il caso B-1.

B-2. Urto supersonico


In questo caso si ha 0 f (ur ) f (ul ), e la soluzione del problema di Riemann risulta essere
vj+1/2 = ul .
t

f (ul )
s>0

f (ur )
u = ul

u = ur

ur

ul

Figura 3.10: Soluzione del problema di Riemann per il caso B-2.

B-3. Urto transonico con s > 0


In questo caso si ha f (ur ) 0 f (ul ), e lurto che connette gli stati left e right ha una
velocit`a di propagazione s > 0. La soluzione del problema `e data da vj+1/2 = ul .
B-4. Urto transonico con s < 0
In questo caso si ha f (ur ) 0 f (ul ), e lurto che connette gli stati left e right ha una
velocit`a di propagazione s < 0. La soluzione del problema `e data da vj+1/2 = ur .
Raccogliendo linformazione associata ai diversi sotto-casi di problema di Riemann, `e
possibile verificare che vale la seguente espressione per il flusso numerico (si ricordi che

47

3.8. METODO DI GODUNOV


t

s>0
f (ul )

f (ur )

u = ur

u = ul

ur

ul

Figura 3.11: Soluzione del problema di Riemann per il caso B-3.

s>0
f (u

r)

f (ul )

u = ul

u = ur

ur

ul

Figura 3.12: Soluzione del problema di Riemann per il caso B-4.

fj+1/2 = f (vj+1/2 ))
fj+1/2 =

minul uur f (u) ul ur


.
maxur uul f (u) ul ur

(3.33)

Solutore approssimato di Roe


Lidea di base del solutore approssimato dovuto a Roe `e di linearizzare localmente lequazione
di conservazione (1.5), e risolvere in maniera esatta il problema di Riemann risultante. Considerando la forma quasi-lineare (1.7) dellequazione di conservazione, la sostituzione della
velocit`a del suono locale a(u) con il suo valore allo stato intermedio j + 1/2 (in corrispondenza del quale siamo interessati a risolvere il problema di Riemann), conduce alla seguente
equazione linearizzata
u
u
+ aj+1/2
= 0,
(3.34)
t
x
per la quale si pu`o risolvere in maniera esatta il problema di Riemann con condizioni iniziali
(3.32). In effetti, lequazione di convezione lineare (3.34) presenta un campo di caratteristiche
nel piano x t tutte parallele tra loro (linclinazione `e ovviamente data da dx/dt = aj+1/2 ),
e propagantesi verso destra se aj+1/2 0, e verso sinistra se aj1/2 0. Di conseguenza
(si veda la figura 3.13) la soluzione del problema di Riemann per lo stato intermedio risulta
essere

ul aj+1/2 0
.
(3.35)
vj+1/2 =
ur aj+1/2 < 0,

48

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI
t

aj+1/2 < 0

aj+1/2 > 0

vj+1/2 = ur

vj+1/2 = ul

u = ul

u = ur

u = ul

u = ur

Figura 3.13: Diagramma delle caratteristiche per il problema di Riemann linearizzato (3.34)+(3.32).

e il corrispondente flusso numerico sar`


a dato da

f (ul ) aj+1/2 0

fj+1/2 = f (vj+1/2 ) =
.
f (ur ) aj+1/2 < 0

(3.36)

Si noti che il flusso numerico ricavato con la linearizzazione di Roe applicata allo schema
di Godunov risulta formalmente identico allo schema di Roe ricavato con il metodo delle
` immediato inoltre constatare che la (3.36) si
differenze finite (si veda lequazione (3.16)). E
pu`o scrivere in maniera equivalente come

min (f (ul ), f (ur )) ul ur

,
(3.37)
fj+1/2 =
max (f (ul ), f (ur )) ul ur
la quale, confrontata con la (3.37), mostra che la soluzione esatta viene ritrovata in tutti i
casi, eccetto quello di espansione transonica (A-3). In tal caso, la (3.37) fornisce fj+1/2 =
min(f (ul ), f (ur )), mentre la soluzione esatta imporrebbe fj+1/2 = f (u ).
` possibile provare (Godunov) che schemi della classe costruita in questa sezione (detti
E
appunto schemi alla Godunov) convergono alla corretta soluzione di entropia della equazione
di conservazione, a patto che il solutore di Riemann sottostante fornisca soluzioni consistenti
con la condizione di entropia. Sulla base di quanto visto, il solutore approssimato di Roe non
soddisfa a questo requisito.
Un esempio dei problemi associati con luso del solutore approssimato di Roe `e dato dal
seguente problema di Riemann per lequazione di Burgers

1 x < 0
u(x, 0) =
.
(3.38)
1 x>0
Dalla (3.38) si ricavano le seguenti condizioni iniziali discrete

1 j 0
0
.
Uj =
1 j>0

(3.39)

` immediato verificare che, applicando il flusso numerico dello schema di Roe (3.36), si
E
ottiene fj+1/2 = 1/2, j. Ci`
o implica che la soluzione dello schema alle differenze (3.28) al
passo 1 sar`
a identica alla soluzione al passo iniziale, ovvero Uj1 = Uj0 , j. Al diminuire della
spaziatura h la soluzione dello schema alle differenze quindi converge alla seguente soluzione
discontinua stazionaria,

1 x < 0
u(x, t) =
,
(3.40)
1 x>0

49

3.8. METODO DI GODUNOV

la quale soddisfa alle relazioni di salto di Rankine-Hugoniot (in quanto 0 = s = 1/2(1 +


1) = 0). Si noti tuttavia che tale soluzione non soddisfa la condizione di entropia, come
si pu`o facilmente verificare dalla analisi del campo delle rette caratteristiche (riportate in
figura 3.14a). In effetti, la soluzione di entropia del problema in esame `e data da
t

(a)

u = 1

(b)

u = +1

u = +1

u = 1

Figura 3.14: Diagramma delle caratteristiche per lequazione di Burgers con condizioni iniziali (3.38).
(a) soluzione prodotta dallo schema di Roe; (b) soluzione di
entropia.

x < t
1
1
x>t
u(x, t) =
.,

x/t t < x < t

(3.41)

e consiste quindi di un ventaglio di espansione centrato nellorigine (come in figura 3.14b).


Nellultimo esempio si `e verificato quanto preannunciato in sezione 3.4, ovvero la possibilit`a per schemi nei quali il coefficiente di diffusione numerica si annulla per aj+1/2 , di
mancata convergenza alla corretta soluzione di entropia. In effetti, il medesimo problema
osservato per lo schema di Roe si presenta (verificarlo) anche per lo schema di Lax-Wendroff.
Una maniera semplice di superare il problema consiste nel modificare lespressione del flusso
numerico al fine di evitare lannullamento del coefficiente di diffusione numerica. In particolare, si pu`o pensare di modificare il flusso numerico dello schema di Roe (scritto nella forma

2 / h

0.5

Roe
Roe + Harten

-1

-0.5

0.5

a j+1/2

Figura 3.15: Andamento del coefficienti di diffusione numerica per lo schema di Roe semplice con e
senza entropy fix di Harten.

50

CAPITOLO 3. LEGGI DI CONSERVAZIONE NON-LINEARI; SCHEMI


CONSERVATIVI

di viscosit`
a numerica (3.17)), come segue
 (anj+1/2 )
1 n
n
n
n
fj + fj+1

Uj+1/2
,
fj+1/2
=
2
2

dove la funzione , detta entropy fix, pu`o essere ad esempio definita come (Harten)

( 
1
2

+
a
/
|aj+1/2 |
2
j+1/2
(aj+1/2 ) =
,
|aj+1/2 |
|aj+1/2 | >

(3.42)

(3.43)

dove > 0 viene detto parametro di entropia. Tale correzione implica il fatto che il coefficiente di viscosit`
a artificiale per aj+1/2 = 0 risulta essere = h/4 6= 0 (si veda la
figura 3.15). Di conseguenza, come si pu`o verificare in esperimenti numerici, il problema di
mancata convergenza a soluzioni di entropia viene, se non eliminato, sicuramente ridotto.

Capitolo 4

Schemi numerici e oscillazioni


Il problema principale presentato dagli schemi numerici di cui si `e discusso finora `e rappresentato dalla nascita di oscillazioni (fenomeno di Gibbs) in presenza di discontinuit`
a nella
soluzione. Un caso tipico `e mostrato nella figura 4.1, in cui `e riportata la soluzione di un problema con soluzione discontinua, approssimata con diversi schemi numerici. La figura consente
di fare diverse osservazioni interessanti. In primo luogo, consente di apprezzare la diversit`a
di comportamento tra schemi del primo ordine (in questo case UW+ e Lax-Friedrichs) e
schemi di ordine superiore. I primi infatti producono transizioni discrete monotone, anche
se lo spessore della discontinuit`
a (teoricamente nullo) `e fortemente sovrastimato, in particolare dallo schema di Lax-Friedrichs, che `e il pi`
u dissipativo tra tutti quelli esaminati (si
ricordi la discussione sullerrore di troncamento nella sezione 2.2, e sulla viscosit`
a artificiale
nella sezione 3.4). Al contrario, gli schemi di ordine 2 producono transizioni assai meno
diffuse, salvo produrre oscillazioni spurie nellintorno della zone di transizione. A tale proposito, si noti il comportamento qualitativamente diverso tra lo schema di Lax-Wendroff e di
Beam-Warming, come pure la diminuzione delle oscillazioni prodotta dagli schemi di Fromm
e UW3+ . Le oscillazioni spurie qui osservate nel caso dellequazione di convezione lineare
possono, nel caso di equazioni di conservazione non lineari, portare a instabilit`a non lineare
della soluzione numerica, e a soluzioni non fisiche (es. valori di pressione e densit`a negativi
nel caso delle equazioni di Eulero).
I problemi di interesse della gasdinamica sono tipicamente caratterizzati dalla presenza
di zone estese di flusso regolare, intervallate da onde durto, che coprono per`o una frazione
trascurabile dellintero campo di moto. Sulla base di quanto visto, schemi di ordine elevato
( 2) sono i candidati ideali per le regioni dove il flusso `e regolare, in quanto consentono di
ottenere un basso errore numerico con un numero ragionevole di punti di griglia (sono cio`e pi`
u
efficienti dal punto di vista computazionale). Viceversa, schemi del primo ordine sono ideali
per trattare eventuali discontinuit`
a nel campo di moto, in quanto, come osservato, producono
transizioni prive di oscillazioni. Sulla base di queste constatazioni si pu`o comprendere come
uno schema numerico ideale per la gasdinamica possa essere costruito applicando localmente
uno schema numerico del primo ordine nella zone in cui sono presenti discontinuit`
a, e uno
schema di ordine pi`
u elevato laddove la soluzione si presenta regolare. Schemi di questo tipo
prendono il nome di schemi ad alta risoluzione.

51

52

1.5

1.5

0.5

0.5

v(x)

v(x)

CAPITOLO 4. SCHEMI NUMERICI E OSCILLAZIONI

-0.5

-0.5

-1

-1

-1.5

-1.5
-0.4

-0.2

0.2

0.4

-0.4

-0.2

1.5

1.5

0.5

0.5

0.4

-0.5

-0.5

-1

-1

-1.5

-1.5
-0.4

-0.2

0.2

0.4

-0.4

Lax-Wendroff

-0.2

0.2

0.4

Beam-Warming

1.5

1.5

0.5

0.5

v(x)

v(x)

0.2

Lax-Friedrichs

v(x)

v(x)

UW+

-0.5

-0.5

-1

-1

-1.5

-1.5
-0.4

-0.2

0.2

0.4

-0.4

Fromm

-0.2

0.2

0.4

UW3+

Figura 4.1: Soluzione dellequazione di convezione lineare con condizioni iniziali discontinue determinata con diversi schemi numerici (la soluzione esatta `e indicata con una linea
nera).

4.1

Condizioni di stabilit`
a non lineare

Storicamente, gli schemi ad alta risoluzione sono stati sviluppati cercando di replicare a livello
discreto alcune propriet`a matematiche dellequazione modello di conservazione scalare. Tali
propriet`a prendono anche il nome di condizioni di stabilit`
a non lineare, in quanto consentono
di porre vincoli alla crescita della soluzione numerica anche nel caso di equazioni di conservazione non lineari. Alcune tra le propriet`a pi`
u utili ai fini della gasdinamica numerica sono
richiamate nel seguito.

` NON LINEARE
4.1. CONDIZIONI DI STABILITA

53

Range Diminishing
E possibile provare che soluzioni di entropia del problema a condizioni iniziali (1.3) + (1.4)
sono tali per cui il range (ovvero lintervallo di variazione della soluzione) non pu`o crescere col
tempo. In altre parole, detto R(u(, t)) = [minx u(x, t); maxx u(x, t)] il range della soluzione,
R(u(, t2 )) R(u(, t1 )),

t2 t1 ,

(4.1)

dove il segno di uguaglianza stretta vale solo se la soluzione `e ovunque continua. La propriet`a
di range diminishing `e legata al fatto che linformazione associata alle condizioni iniziali `e
trasportata in avanti nel tempo lungo le rette caratteristiche. Se le caratteristiche non si
incrociano mai linformazione iniziale rimane intatta, mentre, nel caso in cui si abbia la
formazione di onde durto, la condizione di entropia richiede che le caratteristiche convergano
nellurto, producendo una perdita di informazione. La condizione di range diminishing `e
palesemente violata nelle soluzioni illustrate in figura 4.1 da tutti gli schemi di ordine 2, i
quali presentano overshoot e/o undershoot rispetto al range di valori ammissibili.

Monotonicity Preservation
Soluzioni di entropia dellequazione di conservazione (1.3) con condizioni iniziali (1.4) monotone, ovvero tali per cui du0 /dx 0, rimangono monotone per ogni tempo, ovvero
u(x, t)
0,
x

t 0.

(4.2)

Questo implica in particolare che, se la condizione iniziale `e costituita da una discontinuit`


a
isolata, intorno a questa non possono nascere oscillazioni. Ancora un volta, la condizione di
monotonicity preservation (MP) `e violata in figura 4.1 da tutti gli schemi di ordine 2.

Total Variation Diminishing


Per introdurre questa condizione si introduce un
generica funzione v(x),
Z
T V (v) =

funzionale, detto variazione totale. Per una


dv
dx,

dx

(4.3)

dove, se v(x) `e discontinua, la derivata va intesa nel senso delle distribuzioni. La variazione
totale di una funzione ha una interpretazione geometrica notevole, in quanto rappresenta la
somma algebrica pesata di tutti gli estremi (propri e impropri) della funzione. Agli estremi
propri viene assegnato un peso pari a 2, mentre a quelli impropri (allinfinito) viene assegnato
un peso pari a 1; inoltre ai massimi viene attribuito il segno +, mentre ai minimi viene
attribuito il segno -. E possibile provare che soluzioni di entropia del problema (1.3) +
(1.4) presentano una variazione totale che non cresce nel tempo, ovvero
T V (u(, t2 )) T V (u(, t1 )),

t2 t1 ,

(4.4)

dove al solito il segno di uguaglianza vale solo se la soluzione `e ovunque continua. Ricordando linterpretazione geometrica della variazione totale, la condizione (4.4), detta di total
variation diminishing (TVD) implica in pratica che lammontare complessivo di oscillazioni
della soluzione non possa crescere col tempo.

54

CAPITOLO 4. SCHEMI NUMERICI E OSCILLAZIONI

Monotonicity
Si consideri il problema (1.3) con due condizioni iniziali differenti, u0 (x), v0 (x), tali per cui
v0 (x) u0 (x),

x.

(4.5)

x, t.

(4.6)

E possibile dimostrare allora che


v(x, t) u(x, t),

4.2

Schemi TVD

Una classe di schemi ad alta risoluzione che hanno avuto larga diffusione a partire dallinizio
degli anni 80, grazie al contributo di Harten, Osher, Chakravarthy, Sweby, e molti altri autori,
`e basata sul tentativo di imporre a livello discreto la condizione TVD (4.4). A tale scopo si
introduce una versione discreta della variazione totale definita nella (4.3). Assumendo una
spaziatura della griglia constante, e approssimando lintegrale con la regola dei rettangoli, si
ottiene la seguente rappresentazione della variazione totale della soluzione discreta al tempo
tn ,
+
+

X
X
n


n
Uj+1 Ujn =
(4.7)
T V (U n ) =
Uj+1/2 .
j=

j=

La condizione TVD (4.4) si traduce evidentemente a livello discreto come


T V (U n+1 ) T V (U n ).

(4.8)

Schemi numerici che soddisfano la condizione (4.8) prendono il nome di schemi TVD. Per
tale classe di schemi vale il seguente importante teorema di convergenza, simile al teorema di
equivalenza di Lax, ma che si applica anche a schemi alle differenze non lineari.
Teorema (Harten): uno schema conservativo consistente che soddisfa la condizione TVD
discreta (4.8) converge in norma-1 a una soluzione debole del problema differenziale (1.3) +
(1.4).
Si noti che in questo caso la convergenza non `e una ipotesi (come per il teorema di LaxWendroff), ma una conseguenza del fatto che lo schema `e TVD. Questo spiega il grande
successo raccolto dagli schemi TVD, anche se il teorema di Harten non assicura, in generale,
la convergenza alla corretta soluzione di entropia. Purtroppo verificare la condizione (4.8) in
maniera diretta `e piuttosto complicato, e si ricorre nella pratica a condizioni pi`
u forti, che
implicano la condizione TVD.

Condizioni di positivit`
a
Si consideri uno schema alle differenze scritto nella forma (detta wave-split form)
+
+
n
n
Ujn+1 = Ujn Cj1/2
Uj1/2
+ Cj+1/2
Uj+1/2
,

generici. Si dice che lo schema


con coefficienti Cj+1/2
seguenti diseguaglianze

+
Cj+1/2

Cj+1/2

+
(C
j+1/2 + Cj+1/2 )

(4.9)

(4.9) `e positivo se sono soddisfatte le


0,
0, ,
1,

j.

(4.10)

55

4.3. SCHEMI MONOTONI

E facile mostrare che uno schema positivo soddisfa alla condizione TVD discreta. In effetti,
si scriva la (4.9) nel nodo j + 1 e nel nodo j, e si sottragga membro a membro, ottenendo
n+1

+
+
n
n
n
n
Uj+1/2
= Uj+1/2
+ Cj+3/2
Uj+3/2
Cj+1/2
Uj+1/2
Cj+1/2
Uj+1/2
+ Cj1/2
Uj1/2



+
+
n
n
n
= Cj+3/2
Uj+3/2
+ 1 Cj+1/2
Cj+1/2
Uj+1/2
+ Cj1/2
Uj1/2
.

Prendendo il modulo dellultima uguaglianza, e tenendo conto delle condizioni (4.10), si


ottiene la disuguaglianza









n+1


n
n
n
+

Uj+1/2 Cj+3/2 Uj+3/2 + 1 Cj+1/2 Cj+1/2 Uj+1/2 + Cj1/2 Uj1/2 ,

dalla quale, sommando su tutti i valori di j, si ha


T V (U n+1 ) =

+

X
n+1
Uj+1/2

j=

+
X

j=

+
X

j=

+
+ 






X
X


n
n

n
+

Cj+1/2
1 Cj+1/2
Cj+1/2
Cj+1/2
Uj+1/2
Uj+1/2 +
Uj+1/2 +
j=

j=




n
Uj+1/2 = T V (U n ),

(4.11)

che implica la (4.8).

4.3

Schemi monotoni

La condizione di monotonicit`
a (4.6) pu`o essere implementata a livello discreto richiedendo
che, introducendo due soluzioni discrete dellequazione di conservazione Ujn u(xj , tn ), Vjn
v(xj , tn ), si abbia
Vjn Ujn ; Vjn+1 Ujn+1 , j.
(4.12)
Per uno schema esplicito a due livelli del tipo

n
n
,
Ujn+1 = H Ujp
, . . . , Uj+q

(4.13)

tale propriet`a `e sicuramente soddisfatta se loperatore di avanzamento temporale `e una


funzione non decrescente di ciascuno dei suoi argomenti, ovvero se
H
0,
Uj+

= p, . . . , q,

j.

(4.14)

Infatti, se Vjn Ujn j, la (4.14) implica


n
n
n
n
H(Vjp
, . . . , Vj+q
) H(Ujp
, . . . , Uj+q
) ; Vjn+1 Ujn+1 j,

e la (4.12) `e soddisfatta.
Gli schemi numerici monotoni godono delle seguenti propriet`a:

(4.15)

56

CAPITOLO 4. SCHEMI NUMERICI E OSCILLAZIONI

Teorema 1. (Harten): uno schema conservativo consistente che soddisfa la condizione


di monotonicit`
a discreta (4.12) converge in norma-1 alla soluzione di entropia del problema
differenziale (1.3) + (1.4).
Teorema 2. (Harten): uno schema monotono `e al pi`
u accurato al primo ordine.
Questo spiega limportanza e le limitazioni degli schemi monotoni. Se da un lato gli
schemi monotoni garantiscono la convergenza forte allunica soluzione fisicamente rilevante,
dallaltro sono inerentemente troppo poco accurati per essere usati in presenza di soluzioni
regolari.
E possibile verificare che tutti gli schemi di ordine 2 finora considerati non sono ne
monotoni ne TVD. E altres` possibile verificare che lo schema di Lax-Friedrichs (come pure lo
schema LFFS-UW) `e monotono se `e soddisfatta la condizione CFL (ovvero se |j+1/2 | 1),
mentre lo schema upwind del primo ordine generalizzato (schema di Roe) `e TVD, ma non `e
monotono.

4.4

Schema di Sweby

Lidea di base dello schema introdotto da Sweby (e poi generalizzato da molti altri autori) `e
quella di ibridizzare il flusso numerico di uno schema monotono con quello di uno schema di
ordine elevato, applicando localmente il primo schema laddove la soluzione presenta discontinuit`
a, e il secondo nelle regioni dove la soluzione `e regolare. In termini matematici, il flusso
numerico dello schema di Sweby `e cio`e definito come segue


LO
HO
LO
HO
LO
fj+1/2 = (1 j+1/2 ) fj+1/2
+ j+1/2 fj+1/2
= fj+1/2
+ j+1/2 fj+1/2
fj+1/2
, (4.16)
LO
indica il flusso numerico di uno schema monotono (ovvero low-order, LO), e
dove fj+1/2
HO
fj+1/2
indica il flusso numerico proprio di uno schema di ordine elevato (ovvero high-order,
HO). Per soddisfare il requisito di alta risoluzione, il limitatore di flusso j+1/2 deve essere
progettato in maniera da essere circa pari a 0 laddove la soluzione presenta discontinuit`
a, e
circa pari a 1 laddove la soluzione `e regolare. Si noti che il flusso numerico dello schema di
Sweby pu`o essere visto anche (si veda lultima delle (4.16)) come una correzione rispetto a
uno schema monotono, con un flusso correttivo dato da
C
HO
LO
fj+1/2
= fj+1/2
fj+1/2
.

(4.17)

Si consideri uno splitting della funzione flusso del tipo discusso nella sezione 3.7, e si
applichi la procedura (4.16) separatamente alla parte positiva e negativa del flusso. Nellapproccio originale di Sweby si seleziona il flusso di Lax-Wendroff per la parte high-order, e il
flusso upwind del primo ordine per la parte low-order del flusso numerico. Facendo riferimento alla parte positiva della funzione flusso (ponendo cio`e f = f + ), il flusso numerico ad essa
associato risulta pertanto


+
+
+
+UW
+
+LW
+UW

fj+1/2 = fj+1/2 + j+1/2 fj+1/2 fj+1/2 ,


(4.18)
dove

+UW
fj+1/2

fj+ ,

+LW
fj+1/2

 a+
1  +
j+1/2
+
=
fj + fj+1
Uj+1/2 ,

2
2

(4.19)

57

4.4. SCHEMA DI SWEBY

con lovvia definizione


+
a+
j+1/2 = fj+1/2 /Uj+1/2 .

(4.20)

Il flusso correttivo dello schema risulta essere, dopo semplici passaggi



1 
+
+
+C
1 j+1/2
fj+1/2
.
fj+1/2
=
2

(4.21)

Sostituendo il flusso numerico (4.18) nella (3.6) si ottiene il seguente schema alle differenze


+
+C +
+C
Ujn+1 = Ujn fj+ fj1
+ +
f
f
(4.22)
j+1/2 j+1/2
j1/2 j1/2 ,

dalla quale, definendo

+
j+1/2

+C
fj1/2
+C
fj+1/2

(4.23)

e sostituendo la (4.21) si ottiene

Ujn+1 = Ujn a+
j1/2 1 +

+
j+1/2
+
j+1/2

+
j1/2

!

+
1 j1/2

U n
j+1/2 .

Confrontando la (4.24) con la (4.9) si ottiene


"

 +
 + #
1j1/2

+
+

1 + +j+1/2 +
Cj+1/2
= j1/2
,

2
j1/2
j+1/2

Cj+1/2

+
(Cj+1/2
+ Cj+1/2
)

=
=

0,

(4.24)

(4.25)

+
Cj+1/2
,

Le condizioni di positivit`
a (4.10) sono quindi soddisfatte purche


!
+
1

+
j1/2
j+1/2
+
1 +
1,
0 j1/2
+
+
j1/2
2
j+1/2

(4.26)

che implica, a valle di semplici sviluppi

+
2
2
j+1/2

+
.
+
+
j1/2 +
1 j1/2
j+1/2
j1/2

(4.27)

+
Se la condizione di stabilit`
a lineare locale `e soddisfatta (ovvero se 0 j+1/2
1 j), allora
si ha
2
2

2,
2,
(4.28)
+
+
1 j1/2
j1/2

e la (4.27) `e sicuramente soddisfatta se


2

+
j+1/2
+
j+1/2

+
j1/2 2.

(4.29)

58

CAPITOLO 4. SCHEMI NUMERICI E OSCILLAZIONI


Uj
Uj+1
Uj+1/2 /h < 0
Uj1

Uj1/2 /h > 0

Figura 4.2: Pendenze della soluzione discreta in presenza di un massimo locale (Uj1/2 /Uj+1/2 <
0).

Condizione sufficiente affinche sia soddisfatta la (4.29) `e che


(
+
0 +
j+1/2 /j+1/2 2
, j.
+
0
j1/2
2

(4.30)

+
definita nella (4.23) rappE importante a questo punto osservare che la quantit`
a j+1/2
resenta una misura della regolarit`
a locale della soluzione. Per comprenderlo chiaramente si
consideri il caso dellequazione di convezione lineare (con c > 0), per la quale f = f + = c u,
+
a+
j+1/2 = c, j+1/2 = . In tal caso la (4.23) si riduce a
+
j+1/2
=

Uj1/2
,
Uj+1/2

(4.31)

che geometricamente rappresenta il rapporto tra due differenze in nodi di griglia consecutivi
+
`e pertanto anche detto slope ratio). Nel caso di soluzione localmente regolare ci si
(j+1/2
+
pu`o attendere ragionevolmente che j+1/2
1; in presenza di un estremo locale (la pendenza
+
della soluzione cambia di segno, vedere la figura 4.2) j+1/2
0; infine, in presenza di una
+
discontinuit`
a, la pendenza della soluzione aumenta bruscamente, e di conseguenza j+1/2
0.
+
Questa osservazione conduce a interpretare j+1/2 come una misura della regolarit`
a locale
della soluzione, e ad assumere, come annunciato in precedenza, che il limitatore di flusso sia
+
una funzione di j+1/2
, ovvero
+
+
(4.32)
j+1/2 = (j+1/2 ).
La condizione (4.30) pu`o quindi essere interpretata come un vincolo sulla forma della funzione
, che deve soddisfare le seguenti condizioni

0 ()/ 2
, .
(4.33)
0 () 2
Una ulteriore condizione viene normalmente richiesta per imporre che in presenza di soluzioni
regolari (dove cio`e 1) lo schema si riduca a quello di Lax-Wendroff (corrispondente a
= 1), il che implica
(1) = 1.
(4.34)
Diverse scelte sono possibili per soddisfare le condizioni (4.33)+(4.34), tra le quali (si veda
la figura 4.3 per i relativi grafici)

59

4.4. SCHEMA DI SWEBY

1. () = minmod(, 1)
2. () =

(limitatore Minmod );

+ ||
1+

(limitatore di Van Leer ),

3. () = max [0, min(1, 2), min(2, )]

(limitatore Superbee),

ordinati dal pi`


u al meno dissipativo, dove

x se |x| |y| , xy 0
minmod(x, y) = y se |x| > |y| , xy 0 .

0 se xy < 0

(4.35)

E importante notare che le condizioni di positivit`


a (4.33) implicano che () 0 per
< 0. Tale condizione si verifica in presenza di estremi locali della soluzione (come illustrato
in figura 4.2). Ci`
o implica che qualunque schema numerico che soddisfa le condizioni di
positivit`
a si riduce a uno schema upwind del primo ordine in presenza di estremi locali, anche
in assenza di discontinuit`
a della soluzione. Tale fenomeno di riduzione locale dellordine di
accuratezza prende il nome di clipping.
E possibile ripetere quanto fatto per la parte positiva del flusso con la corrispettiva
parte negativa In questo caso ovviamente occorre usare una discretizzazione del tipo UW
per quanto riguarda la componente upwind dello schema. Lanalogo della (4.18) sar`
a pertanto



UW
LW fUW
+
fj+1/2
= fj+1/2
f
,
(4.36)
j+1/2
j+1/2
j+1/2
dove

UW

,
fj+1/2 = fj+1

LW

fj+1/2

 a
1 
j+1/2

=
fj + fj+1
Uj+1/2 ,
2
2

(4.37)

limite zona TVD ristretta


minmod
superbee
Van Leer
ultrabee (Courant=0.5)

-3

-2

-1

-1

Figura 4.3: Andamento dei limitatori di flusso utilizzati per lo schema di Sweby (la curva tratteggiata
corrisponde al limite superiore della regione degli schemi TVD).

60

CAPITOLO 4. SCHEMI NUMERICI E OSCILLAZIONI

e con

a
j+1/2 = fj+1/2 /Uj+1/2 .

(4.38)

Il flusso correttivo risulta essere


1
C
fj+1/2
=
2

1 + j+1/2
fj+1/2
,

(4.39)

e lo schema alle differenze risultante `e





C
C
Ujn+1 = Ujn fj+1
fj +
f
f
j+1/2 j+1/2
j1/2 j1/2 ,

dalla quale, definendo

j1/2

C
fj+1/2
C
fj1/2

(4.40)

(4.41)

e, tenendo conto della (4.39) si ottiene




!

1
+

j+1/2
j1/2
U n


Ujn+1 = Ujn a
j+1/2 .

j+1/2
j1/2 1 +
2
j1/2
Confrontando la (4.42) con la (4.9) si ottiene
"


 #
1+j+1/2

1 + j1/2
= j+1/2
Cj+1/2
,

2
j+1/2
j1/2

+
Cj+1/2

+
(Cj+1/2
+ Cj+1/2
)

=
=

0,

(4.42)

(4.43)

Cj+1/2
,

Ragionando in maniera perfettamente analoga a quanto fatto per la parte positiva del flusso,

`e facile concludere che le condizioni (4.43) sono soddisfatte se


j+1/2 = (j+1/2 ), dove la
funzione `e vincolata a soddisfare le disuguaglianze (4.33).
Il flusso numerico dello schema di Sweby si ottiene ricomponendo i flussi associati alla
parte positiva e negative della funzione flusso, ottenendo quindi
+

fj+1/2 = fj+1/2
+ fj+1/2
=
"

4.5

fj+

fj+1

+
+
j+1/2 aj+1/2

(4.44)
+
(1 j+1/2
)

j+1/2 aj+1/2

(1 + j+1/2
)

Uj+1/2 .

Schemi ad alta risoluzione ai volumi finiti

Lo scopo della presente sezione `e illustrare lestensione del metodo ai volumi finiti di Godunov
per ottenere ricostruzioni non-oscillatorie di ordine maggiore di uno. Tale classe di schemi
(detti MUSCL, Monotone Upstream Schemes for Conservation Laws), introdotta dal lavoro
di da Van Leer, `e basata sullidea di sostituire la ricostruzione del primo ordine (3.29) propria
dellapproccio di Godunov, con ricostruzioni della soluzione approssimata v(x) di ordine pi`
u
elevato, a partire dalla conoscenza dei valori medi di cella Ujn . In particolare, si assume che
su ciascuna cella
v(x, tn ) = vj (x, tn ), x (xj1/2 , xj+1/2 ),
(4.45)

4.5. SCHEMI AD ALTA RISOLUZIONE AI VOLUMI FINITI

61

dove vj (x) indica la funzione (di solito un polinomio) usata per la ricostruzione. Concentrando
lattenzione sulla singola intercella xj+1/2 , i valori ricostruiti da sinistra e da destra risultano
essere (si veda la figura 4.4

vj+1/2
= vj (xj + 1/2),

+
vj+1/2
= vj+1 (xj + 1/2).

(4.46)

+
vj+1/2

Uj1

Uj+1

Uj

vj+1/2

Ij1

xj1/2

Ij

xj+1/2

Ij+1

Figura 4.4: Ricostruzione cella per cella di una funzione v(x) (linea rossa). Le ricostruzioni vj (x)
sono rappresentate con una linea blu. Le linee nere indicano i valori medi di cella di
v(x).

+
Essendo generalmente vj+1/2
6= vj+1/2
, a ciascuna intercella si configura un problema di
Riemann che per`o, contrariamente a quanto visto a proposito dello schema di Godunov, non `e
un problema di Riemann classico, nel senso che gli stati a sinistra e a destra delle intercelle non
sono costanti. La soluzione di tale problema di Riemann generalizzato `e alquanto difficile nel
caso generale, per cui ci limiteremo a illustrare il risultato nel caso dellequazione di convezione
lineare, per la quale `e possibile determinare una soluzione esatta. Si ricordi che, al fine di
determinare il flusso numerico di uno schema fully discrete ai volumi finiti occorre (vedere
lequazione (3.27)) conoscere il valore della soluzione del problema di Riemann allintercella
xj+1/2 per tn t tn+1 .
Si consideri una ricostruzione di v(x, tn ) lineare a tratti, ovvero si assuma

vj (x, tn ) = Ujn + snj (x xj ),

x (xj1/2 , xj+1/2 ),

(4.47)

dove snj rappresenta la pendenza (da determinarsi) della ricostruzione sulla cella Ij . Si noti
che la (4.47) soddisfa per costruzione alla condizione (2.9), qualunque sia snj . Ricordando
che, nel caso dellequazione di convezione lineare le caratteristiche sono una fascio di rette
parallele con inclinazione c (qui assunta positiva), e che la soluzione si mantiene costante
lungo le rette caratteristiche, `e facile mostrare che (si veda la figura (4.5))
v(xj+1/2 , t) = vj (xj+1/2 c, tn ).

(4.48)

62

CAPITOLO 4. SCHEMI NUMERICI E OSCILLAZIONI

tn+1
dx/dt = c
t
= t tn
tn
c
xj1/2

xj

xj+1/2

Figura 4.5: Schema per la determinazione della soluzione del problema di Riemann generalizzato
allintercella xj+1/2 nel caso dellequazione di convezione lineare.

Inoltre, tenendo conto che nel presente caso f (u) = c u, il flusso numerico (3.27) risulta
essere
Z k
Z k
 n

c
c
n
n

fj+1/2 =
vj (xj+1/2 c, t ) d =
Uj + snj (h/2 c ) d
k 0
k 0




2
2
 c k n
h
n
n
n
nh
n kh
n
n
= c Uj + sj h/2

s = c Uj + sj sj c
= c Uj + (1 )sj . (4.49)
k 2 j
2
h2
2
Al fine di definire in maniera compiuta lo schema numerico `e necessario definire la pendenza della ricostruzione snj . Consideriamo di seguito alcune tra le scelte possibili per definire
snj in maniera intuitiva.

n
/h. Tale scelta corrisponde ad approssimare la pendenza della ricostruzione
1. snj = Uj+1/2
sulla cella Ij con differenze in avanti. In questo caso la (4.49) si riduce a
n
Uj+1/2
 c2 n
ch
c
n
n
n

fj+1/2 = cUj + (1 )

=
Ujn + Uj+1
Uj+1/2 ,
(4.50)
2
h
2
2
che coincide col flusso numerico dello schema di Lax-Wendroff nel caso dellequazione
di convezione lineare (si veda la tabella 3.1).
n
/h. Tale scelta corrisponde ad approssimare la pendenza della ricostruzione
2. snj = Uj1/2
sulla cella Ij con differenze allindietro. In questo caso la (4.49) si riduce a
n
Uj1/2
 c2 n
c
ch
n
n
n

3Ujn Uj1
=

Uj1/2 ,
(4.51)
fj+1/2 = cUj + (1 )
2
h
2
2
che coincide col flusso numerico dello schema di Beam-Warming nel caso dellequazione
di convezione lineare.
n
n )/2h. Tale scelta corrisponde ad approssimare la pendenza della
3. snj = (Uj+1
Uj1
ricostruzione sulla cella Ij con differenze centrate. In questo caso la (4.49) si riduce a

ch
n
fj+1/2
= cUjn + (1)
2

n Un
Uj+1
 c2 n
c
c2 n
j1
n
n

4Ujn + Uj+1
Uj1
=
Uj+1/2
Uj1/2 ,
2h
2
4
4
(4.52)

4.5. SCHEMI AD ALTA RISOLUZIONE AI VOLUMI FINITI

63

che coincide col flusso numerico dello schema di Fromm nel caso dellequazione di
convezione lineare.

3/2

1/2

j = 2 j = 1 j = 0 j = 1

j=2

1/2

3/2

Lax-Wendroff

1/2

j = 2 j = 1 j = 0 j = 1

j=2

1/2

Beam-Warming
3/2

1/2

j = 2 j = 1 j = 0 j = 1

j=2

1/2

3/2

Fromm

1/2

j = 2 j = 1 j = 0 j = 1

j=2

1/2

Sweby
Figura 4.6: Ricostruzione di una funzione a gradino (linea rossa) ottenuta con diverse scelte della pendenza snj . Le funzioni ricostruite sono indicate con linee di colore blu. La
ricostruzione denominata Sweby `e determinata con la scelta (4.59).

E importante osservare come tutte le scelte proposte sopra per definire la pendenza della
soluzione ricostruita comportano linsorgenza di oscillazioni nel caso in cui la funzione da

64

CAPITOLO 4. SCHEMI NUMERICI E OSCILLAZIONI

ricostruire sia discontinua. Si consideri infatti la ricostruzione di una funzione a gradino



1 x < h/2
v(x) =
,
(4.53)
0 x > h/2
che, a livello discreto, implica
Uj =

1 j0
.
0 j>0

(4.54)

La soluzione ricostruita con i metodi illustrati sopra `e riportata (si provi a verificarlo) in
figura 4.6. La figura mostra chiaramente la nascita di over- e/o under-shoot nella soluzione
ricostruita, non compatibili con la condizione di range diminishing, e che inevitabilmente
conducono alla nascita di oscillazioni nella soluzione numerica (si ricordi la figura 4.1).
Il problema di evitare la nascita di oscillazioni pu`o essere risolto facilmente nel caso in
esame confrontando il flusso numerico (4.49) con il flusso numerico dello schema di Sweby
(equazione (4.18)), che, nel caso dellequazione di convezione lineare (essendo f = f + = c u,
+
a+
j+1/2 = c, j+1/2 = ), si riduce a
1
n
n
fj+1/2
= cUjn + j+1/2 c
Uj+1/2
.
2

(4.55)

Si noti che le formule (4.55) e (4.49) coincidono, a patto di definire la pendenza della soluzione
ricostruita in ciascuna cella come
snj =

U n
,
h j+1/2 j+1/2

(4.56)

dove, ricordando anche la (4.31),


j+1/2 =

n
Uj1/2
n
Uj+1/2

(4.57)

Nel caso particolare in cui si scelga il limitatore minmod, tenendo conto che dalla definizione
(4.35) segue che
minmod(1, ) = minmod(, ),
(4.58)
la (4.56) diviene



1
n
n
minmod Uj1/2
, Uj+1/2
.
(4.59)
h
La (4.59) ha una evidente interpretazione geometrica: tra due scelte possibili della pendenza
della soluzione ricostruita (delle quali una conduce allo schema di Lax-Wendroff, e laltra allo
schema di Beam-Warming), si sceglie quella minore in modulo, salvo il caso (corrispondente
alla presenza di un estremo locale) in cui la pendenza cambia localmente di segno.
Ovviamente `e possibile usare nella (4.56) anche qualunque altro limitatore di flusso che
soddisfi la condizione TVD, ottendendo diverse scelte per la pendenza della ricostruzione.
Nel presente contesto, basato sullapproccio MUSCL ai volumi finiti, i limitatori di flusso
vengono anche chiamati perci`o limitatori di pendenza.
Per verificare leffetto dellintroduzione di un limitatore di pendenza si riprenda ora lesempio relativo alla ricostruzione di una funzione a gradino (figura 4.6). Applicando la (4.59)
per determinare la pendenza della ricostruzione locale si ottiene il risultato riportato nellultimo riquadro della figura (4.6). Evidentemente, la soluzione ricostruita `e priva di oscillazioni.
snj =

4.5. SCHEMI AD ALTA RISOLUZIONE AI VOLUMI FINITI

65

1.5

v(x)

0.5

-0.5

-1

-1.5
-0.4

-0.2

0.2

0.4

Figura 4.7: Soluzione dellequazione di convezione lineare con condizioni iniziali discontinue determinata tramite lo schema di Sweby con limitatore minmod (la soluzione esatta `e indicata
con una linea nera).

Il comportamento dello schema di Sweby pu`o essere testato anche sul caso test riportato
nella figura 4.1. Il risultato, illustrato in figura 4.7 (per il caso del limitatore minmod) mostra
chiaramente che lintroduzione di un meccanismo non lineare quale un limitatore di flusso,
comporta una stabilizzazione rispetto agli schemi del secondo ordine, nel senso che vengono
soppresse tutte le oscillazioni spurie, e al contempo un miglioramento rispetto agli schemi del
primo ordine, in quanto lo spessore della discontinuit`
a risulta ridotto in maniera significativa.

Potrebbero piacerti anche