Sei sulla pagina 1di 53

Un'introduzione all'aerodinamica numerica

Metodi numerici per la soluzione dei


campi di moto

La descrizione continua del campo di moto sostituita da una


descrizione discreta

Discretizzazione: le funzioni che descrivono il campo di moto


sono sostituite da un sequenza discreta dei valori che assumono
in un certo numero di punti del dominio di calcolo
opportunamente scelti

Soluzione dei campi di moto soluzione di sistemi di equazioni


differenziali alle derivate parziali calcolo numerico delle
derivate di una funzione

Convergenza errore consistenza sta!ilit": concetti


fondamentali nei metodi numerici di soluzione dei campi di moto
Calcolo numerico della derivata di una funzione
Sia f(x) una funzione continua denita in un intervallo
(a, b), si denisce derivata di f in x
0
il limite per x 0
del rapporto incrementale:
f

(x
0
) = lim
h0
f(x
0
+h) f(x
0
)
h
Il modo pi` u semplice per calcolare f

(x
0
), in modo ap-
prossimato, consiste nello scegliere un valore di h suf-
cientemente piccolo e calcolare il valore del rapporto
incrementale:
f

(x
0
)
f(x
0
+h) f(x
0
)
h
(1)
E evidente che questo equivale ad avere approssima-
to con un andamento lineare il comportamento di f
nellintervallo (x
0
, x
0
+h).
Nella (1) si `e utilizzato un punto in avanti rispetto a
x
0
(formula forward).
Il rapporto incrementale pu` o anche essere calcolato
utilizzando un punto allindietro rispetto a x
0
otte-
nendo unapprossimazione backward della derivata:
f

(x
0
)
f(x
0
) f(x
0
h)
h
2
Valutazione dellerrore
Sia f(x) sviluppabile in serie di Taylor rispetto a x
0
e sia f(x) sucientemente regolare nellintorno di x
0
(per esempio dopo unopportuna normalizzazione f `e
di ordine unitario con tutte le sue derivate):
f(x
0
+h) = f(x
0
) +f

(x
0
)h +
1
2!
f

(x
0
)h
2
+
1
3!
f

(x
0
)h
3
+. . .
Si ricava facilmente:
f

(x
0
) =
f(x
0
+h) f(x
0
)
h

1
2!
f

(x
0
)h +. . .
1
2!
f

(x
0
)h `e quindi il termine principale dellerrore che
si commette nellapprossimare f

(x
0
) con la formula
forward.
Se f

(x
0
) `e di ordine unitario, lerrore che si commette
`e di O(h).
3
Formule di maggiore accuratezza
Si indichi con
x
j
, x
j+1
= x
j
+h, x
j1
= x
j
h
tre punti in (a, b) ed inoltre
f
j1
= f(x
j1
), f
j
= f(x
j
), f
j+1
= f(x
j+1
)
Sviluppando in serie f
j1
e f
j+1
rispetto al punto x
j
si
ottiene
f
j+1
= f
j
+f

j
h +
1
2!
f

j
h
2
+
1
3!
f

j
h
3
+. . .
f
j1
= f
j
f

j
h +
1
2!
f

j
h
2

1
3!
f

j
h
3
+. . . (2)
Sottraendo membro a membro:
f

j
=
f
j+1
f
j1
2h

1
3!
f

j
h
2
+. . .
si `e cos` ottenuta unapprossimazione centrale del-
la derivata prima che `e accurata al secondo ordine
(O(h
2
)).
E facile vericare che questa approssimazione `e equi-
valente ad avere assunto il comportamento di f(x)
parabolico nellintervallo (x
i1
, x
i+1
).
4
Altre formule
Forward a 3 punti:
f

j
=
1.5f
j
+2f
j+1
0.5f
j+2
h
+O(h
2
)
Centrale a 5 punti:
f

j
=
f
j2
8f
j1
+8f
j+1
f
j+2
12h
+O(h
4
)
Un esempio
f(x) = exp(x), h = 0.1
tipo formula f

(1) errore errore (prev.)


esatta 2.7183
forward 2.8588 0.1406 10
0
0.1359 10
0
backward 2.5868 0.1315 10
0
0.1359 10
0
centrale 2.7228 0.4533 10
2
0.4531 10
2
3 punti forw. 2.7085 0.9773 10
2
0.9061 10
2
5 punti centr. 2.7183 0.9072 10
5
0.9061 10
5
5
Approssimazione centrale della derivata seconda
Sommando membro a membro le (2) si ottiene:
f

j
=
f
j+1
2f
j
+f
j1
h
2

1
12
f
(iv)
j
h
2
+. . .
Il caso di passo h variabile
Le espressioni no ad ora mostrate sono state ricavate
nellipotesi di passo di discretizzazione h costante.
E possibile ripetere il procedimento mostrato per ri-
cavare formule analoghe nel caso di h variabile.
In questo caso, per` o, laccuratezza della formula alle
dierenze dipende anche dalla legge di variazione di
h.
Per garantire laccuratezza della formula alle dieren-
ze occorre assegnare una legge h(x) sucientemente
regolare.
Questo problema rende particolarmente delicata la di-
scretizzazione di domini di calcolo complessi (grid ge-
neration).
Nellapplicazione di metodi alle dierenze a problemi
di interesse pratico il turn-around time per ottenere
una simulazione corretta `e dominato dalla fase di grid
generation.
6
Approssimazione alle dierenze di unequazione
dierenziale
Problema lineare
Si supponga di dover risolvere nellintervallo (a, b) le-
quazione dierenziale lineare
F(x, y, y

, y

) = y

(x) +y

(x) g(x) = 0
dove g(x) `e una funzione nota, con le condizioni al
contorno
y(a) = y
a
y(b) = y
b
(3)
Un approccio alla soluzione di questo problema con-
siste nel rinunciare a conoscere lespressione analitica
della soluzione, cercando invece unapprossimazione
discreta della funzione y(x).
Si suddivida, ad esempio, lintervallo (a, b) in N inter-
vallini di lunghezza costante pari ad h.
i
a b
x
y
y
a
y
b
y
y
y
i
i+1
i1
i1 i+1
7
Si cercher`a di determinare un vettore y
j
con j =
0, . . . , N tale che y
j
y(x
j
) (x
0
= a, x
N
= b).
In ciascun punto griglia x
j
interno allintervallo (a, b)
si imponga che sia soddisfatta lequazione dieren-
ziale valutando le derivate con una delle formule alle
dierenze prima determinate.
Ad esempio utilizzando le espressioni centrali, per ogni
j = 1, . . . , N 1 deve essere vericato:

F
j
=
y
j+1
2y
j
+y
j1
h
2
+
y
j+1
y
j1
2h
g(x
j
) = 0
y
0
e y
N
non sono incognite, ma sono dati dalle condi-
zioni al contorno.
Si `e quindi ottenuto un sistema lineare in N 1 equa-
zioni e N 1 incognite.
Mediante le formule alle dierenze il problema die-
renziale `e stato trasformato in un problema algebrico.
La risoluzione del sistema lineare consente quindi di
determinare la soluzione approssimata y
j
.
8
Consistenza
Lesempio introdotto consente di denire limportante
concetto di consistenza.
Unapprossimazione alle dierenze si dice consistente
con lequazione dierenziale se per h 0 la solu-
zione del problema algebrico tende alla soluzione del
problema dierenziale.
Per quanto riguarda lesempio considerato `e facilmen-
te ricavabile la relazione che lega loperatore appros-
simato alle dierenze

F
j
[h, y
j1
, y
j
, y
j+1
] alloperatore
dierenziale esatto F[x
j
, y(x
j
), y

(x
j
), y

(x
j
)]:

F
j
= y

(x
j
) +y

(x
j
) g(x
j
) +
1
12
f
(iv)
j
h
2
+
1
3
f

j
h
2
+O(h
4
)
Si ha eettivamente che
lim
h0

F
j
= F(F[x
j
, y(x
j
), y

(x
j
), y

(x
j
)]
Lo schema introdotto `e consistente.
La consistenza di uno schema alle dierenze `e condi-
zione necessaria (ma non suciente) anche la solu-
zione del problema algebrico per h 0 tenda a quella
del problema dierenziale.
9
Cenni sui metodi numerici di soluzione di un si-
stema lineare
Sebbene lalgebra lineare fornisca un metodo esatto
per la soluzione di un sistema lineare ben posto (me-
todo di Cramer), questo costituisce ancora uno dei
problemi fondamentali del calcolo numerico.
Le ragioni principali che rendono questo problema non
banale sono due:
tempi di calcolo accettabili; la risoluzione di
un sistema lineare deve richiedere tempi di calco-
lo accettabili e compatibili con le risorse di cal-
colo disponibili (calcolatrice, personal computer,
supercomputer).
condizionamento; linevitabile troncamento del-
le cifre decimali dei numeri reali pu` o provocare
dicolt`a, in taluni casi insormontabili, nella so-
luzione del sistema se la matrice dei coecienti
risulta mal condizionata.
12
Tempi di calcolo
Se n `e il numero di incognite del sistema `e facile ve-
ricare che la regola di Cramer richiede, come ordine
di grandezza, n! operazioni matematiche.
Si supponga di avere un computer con una potenza
di calcolo di 100 Mops (milioni di operazioni in vir-
gola mobile al secondo) e di voler risolvere un sistema
lineare con 100 incognite.
Il tempo di calcolo necessario `e dato da:
T
100!
100
=
9.33 10
157
100
sec = 2.95 10
146
secoli!
Condizionamento
Il sistema lineare
_
x
1
+ 2x
2
= 1
x
1
+ 2.005x
2
= 1
ha soluzione
x
1
= 801, x
2
= 400
Si assuma che un piccolo errore cambi il coeciente
di x
2
nella seconda equazione (1.995 invece di 2.005).
La soluzione diventa
x
1
= 799, x
2
= 400
Una variazione dello 0.5% di un coeciente ha fatto
cambiare la soluzione del 200% !!!
13
Classicazione
Gli algoritmi di soluzione dei sistemi lineari si suddivi-
dono in due classi:
metodi diretti, in cui la soluzione viene determi-
nata direttamente ed in modo esatto nellipotesi
di assenza dellerrore di troncamento
metodi iterativi, in cui la soluzione viene deter-
minata iterativamente a partire da un valore di
tentativo e successivamente corretta no a quan-
do lerrore non raggiunge valori sucientemente
piccoli.
Entrambi hanno vantaggi e svantaggi che vanno cor-
rettamente valutati secondo il tipo di sistema che deve
essere risolto.
14
Metodi diretti
Un sistema lineare pu` o essere espresso in forma ma-
triciale:
A x = b
con x, b R
n
, A R
n
R
n
.
x `e il vettore delle incognite, b `e il vettore dei termini
noti, A la matrice dei coecienti.
Simbolicamente la soluzione `e x = A
1
b con A
1
la
matrice inversa di A.
Il calcolo diretto di A
1
basato sulla sua denizione e
sul calcolo dei determinanti con la regola di Laplace
non `e praticabile: anchesso comporta un numero di
operazioni di ordine n!.
15
Il metodo di Gauss
Non `e altro che il semplice algoritmo di eliminazione
dellincognita.
1. Da unequazione si ricava unincognita in funzio-
ne delle altre, questa relazione viene poi sostituita
nelle equazioni successive; ripetendo questa pro-
cedura n 1 volte si ottiene inne unequazione
in cui unincognita `e esplicitamente calcolata.
2. Con un processo di sostituzione allindietro pos-
sono essere ricavate tutte le altre incognite.
Il numero di operazioni matematiche necessario per
risolvere un sistema di ordine n `e proporzionale a n
3
.
Tornando allesempio precedente, un sistema di ordine
100 richiede quindi:
T
100
3
100
=
10
3
10
2
sec = 10sec
10 secondi di CPU con un calcolatore della potenza
di 100 Mops
16
Metodi iterativi
Sono unalternativa ai metodi diretti, soprattutto quan-
do il sistema `e di ordine elevato e la matrice dei
coecienti `e sparsa (con molti termini uguali a 0).
Infatti se A `e sparsa i metodi diretti classici eettuano
un inutile lavoro su termini che sono uguali a 0; inoltre
se n `e grande richiedono il dimensionamento di una
matrice molto grande per cui la risoluzione pratica
del sistema potrebbe essere limitata dalla memoria del
computer a disposizione.
Indicando con x
(k)
la soluzione di tentativo k-esima,
un algoritmo iterativo `e denito da
x
(k+1)
= f(x
(k)
)
Se x indica la soluzione esatta del sistema, Un algo-
ritmo iterativo si dice consistente se dando in input la
soluzione esatta questo restituisce la soluzione esatta;
cio`e, se x indica la soluzione esatta del sistema:
f(x) = x
Questa propriet`a `e molto importante perch`e garanti-
sce che una volta raggiunta la soluzione questa non
viene abbandonata.
27
Metodo di Jacobi
Lalgoritmo `e molto semplice; laggiornamento dellin-
cognita viene ottenuto ricavando la i-esima incognita
dalla i-esima riga in funzione dei valori di tentativo:
loop i = 1, n
xnew
i
= (b
i

i1
j=1
A
ij
xold
j

n
j=i+1
A
ij
xold
j
)/A
ii
end loop i
loop i = 1, n
xold
i
= xnew
i
end loop i
Si ponga A = DEF dove D ha la diagonale prin-
cipale uguale a quella di A e termini nulli fuori diago-
nale, E ha la parte triangolare bassa coincidente con
quella di A e coecienti nulli in diagonale e nella parte
triangolare alta, F ha la parte triangolare alta coin-
cidente con quella di A e coecienti nulli in diagonale
e nella parte triangolare bassa. Si ottiene:
Dx = (E+F) x +b
Il procedimento iterativo di Jacobi consiste in
x
(k+1)
= D
1
[(E+F) x
(k)
+b]
B x
(k)
+D
1
b
B viene chiamata matrice di iterazione. Se B non
cambia durante le iterazioni il procedimento iterativo
viene detto stazionario.
Il metodo di Jacobi `e consistente.
28
Metodo Gauss-Siedel
Consiste nellutilizzare, per il calcolo di x
i
dalla i-esima
riga i valori gi`a aggiornati a disposizione.
Lalgoritmo per la singola iterazione diventa:
loop i = 1, n
x
i
= (b
i

i1
j=1
A
ij
x
j

n
j=i+1
A
ij
x
j
)/A
ii
end loop i
La matrice di iterazione `e:
B = (BE)
1
F
Pu` o consentire di raggiungere la convergenza molto
pi` u velocemente, ma `e un algoritmo non esplicitamen-
te parallelo.
Se la matrice A `e sparsa, la matrice di iterazione, sia
per Jacobi che per Gauss-Siedel `e sparsa.
29
Metodi di rilassamento
Indicando con x
(k+1)
i
laggiornamento ottenuto con un
qualunque metodo iterativo, i metodi di rilassamento
consistono nel determinare laggiornamento denitivo
mediante la relazione
x
(k+1)
i
x
(k)
i
= ( x
(k+1)
i
x
(k)
i
)
dove , parametro di rilassamento, `e un numero reale
positivo.
Lutilit`a del rilassamento consiste nella possibilit`a di
aumentare la velocit`a di convergenza ( > 1, sovrari-
lassamento) o migliorare le propriet`a di convergenza
( < 1, sottorilassamento).
Si dimostra che < 2 `e condizione necessaria per la
convergenza di un metodo di rilassamento.
Metodo SOR (Successive Over Relaxation)
Consiste nellapplicare il rilassamento al metodo Gauss-
Siedel:
loop i = 1, n
x
i
= (b
i

i1
j=1
A
ij
x
j

n
j=i+1
A
ij
x
j
)/A
ii
x
i
= x
i
+(1 )x
i
end loop i
30
Studio della convergenza
x = B x +M
1
b (10)
x
(k+1)
= B x
(k)
+M
1
b (11)
Sottraendo la (11) alla (10):
e
(k+1)
= B e
(k)
(12)
dove e
(k)
= x x
(k+1)
`e il vettore errore alla k-esima
iterazione.
Applicando la (12) k volte a partire dalla prima itera-
zione si ottiene
e
(k)
= B
k
e
(0)
Anch`e il metodo converga deve risultare
lim
k0
B
k
= 0
che `e vericato se e soltanto se
(B) < 1
Risultato molto importante: la possibilit`a di risolvere
il sistema `e ancora una volta legata alle propriet`a della
matrice dei coecienti.
31
Test di arresto per un metodo iterativo
x
(k+1)
x
(k)
x
(k+1)

Si pu` o scegliere una qualsiasi delle norme di vettore


denite.
Velocit`a di convergenza
Si indichi con il fattore medio di riduzione dellerrore:

k
=
e
(k)

e
(0)

Quanto pi` u `e piccola B tanto maggiore `e la velocit`a


di convergenza.
Velocit`a di convergenza asintotica:
R(B) =log(B)
32
Lequazione del calore risolta alle dierenze
T
t
= T
xx
T(x, t) `e la temperatura, t il tempo, x la coordinata
spaziale, `e la diusivit`a termica.
Problema ai valori iniziali:
T(x, 0) =

T(x), con x (0, L).
T(0, t) = T
a
(t), T(L, t) = T
b
(t), con t > 0.
Schema FTCS
(Forward in Time, Centred in Space)
T
n+1
j
T
n
j
=
t
h
2
_
T
n
j1
2T
n
j
+T
n
j+1
_
(13)
J = 1, . . . , J
max
1, n = 0, 1, 2, 3, . . .
dove T
n
j
= T(jh, nt), h = L/J
max
, T
0
j
=

T(jh), T
n
0
=
T
a
(nt), T
n
J
max
= T
b
(nt).
Nota la soluzione iniziale, pu` o essere determinata la
soluzione al tempo n = 1, e via, via, successivamente
per n = 2, 3, . . ..
Lo schema `e consistente e lerrore che si commette `e
O(h
2
, t).
35
Punti coinvolti
j j+1 j1
n
n+1
Note
Lunico parametro che compare nella discretizza-
zione `e =
t
h
2
.
Non `e necessario risolvere alcun sistema lineare,
lo schema si dice esplicito.
Stabilit`a numerica di uno schema alle dierenze
Lo schema FTCS diventa instabile per >
1
2
.
E una grave limitazione perch`e costringe ad utilizzare
t O(h
2
) molto piccoli.
36
Il teorema di equivalenza di Lax
Dato un problema ai valori iniziali ben posto ed una
sua approssimazione alle dierenze che soddisfa la
condizione di consistenza, la stabilit`a dello schema `e
condizione necessaria e suciente per la sua conver-
genza.
Questo teorema `e di grande importanza in quan-
to, mentre come si `e visto `e relativamente sem-
plice vericare la stabilit`a di uno schema, `e mol-
to pi` u dicile provare la sua convergenza ver-
so la soluzione dellequazione a derivate parziali
corrispondenti.
La maggior parte dei problemi di uidodinami-
ca reali `e non lineare e di tipo misto inizia-
le/condizioni al contorno, per cui il teorema di
equivalenza di Lax non sempre pu` o essere appli-
cato rigorosamente. In questi casi deve essere
interpretato come una condizione necessaria, ma
non suciente per la convergenza.
Il teorema pu` o essere applicato non solo ai meto-
di alle dierenze, ma anche ad altre classi di pro-
blemi che si basano sulla denizione di incognite
in punti nodali (ad esempio metodi agli elementi
niti).
39
Lo schema Laasonen
Consiste nel discretizzare lequazione del calore nel
punto [jh, (n +1)t] utilizzando una derivata tempo-
rale backward:
j j+1 j1
n
n+1
T
n+1
j
T
n
j
=
t
h
2
_
T
n+1
j1
2T
n+1
j
+T
n+1
j+1
_
Scrivendo questequazione j = 1, . . . J
max
1 si ottiene
un sistema lineare tridiagonale che, risolto, fornisce
T
n+1
j
.
Come per lo schema FTCS laccuratezza `e O(h
2
, t).
Schemi di questo tipo si dicono impliciti.
Lanalisi di Von Neumann fornisce il fattore di ampli-
cazione:
G =
1
1 +2 [1 cos (h)]
40
Note
Se > 0 `e sempre vericato che G 1:
lo schema implicito Laasonen `e incondizionata-
mente stabile;
il prezzo da pagare `e la necessit`a di dover risolvere
un sistema lineare;
chiaramente t non pu` o essere scelto troppo gran-
de se `e richiesta accuratezza nel tempo;
al contrario se si `e interessati solo alla soluzio-
ne stazionaria, con uno schema implicito si pu` o
minimizzare il numero di iterazioni.
41
Lo schema Crank-Nicolson
Consiste nel discretizzare lequazione del calore nel
punto [(j +
1
2
)h, (n +1)t] utilizzando una derivata
temporale centrale e mediando le derivate spaziali in
n e n +1:
j j+1 j1
n
n+1
T
n+1
j
T
n
j
=

2
t
h
2
__
T
n+1
j1
2T
n+1
j
+T
n+1
j+1
_
+
_
T
n
j1
2T
n
j
+T
n
j+1
_
Lo schema `e implicito ed accurato O(h
2
, t
2
).
Il fattore di amplicazione `e:
G =
1 2 [1 cos (h)]
1 +2 [1 cos (h)]
Lo schema Crank-Nicolson `e incondizionatamente sta-
bile.
E il metodo pi` u utilizzato per la soluzione di problemi
parabolici in cui `e richiesta laccuratezza temporale.
42
Il trattamento delle condizioni al contorno
In problemi alla Dirichlet (`e noto il valore della funzio-
ne incognita sul contorno del dominio) il trattamento
numerico della condizione al contorno `e banale.
Non `e cos` per problemi alla Neumann, in cui `e noto
il valore della derivata normale dellincognita.
Si consideri ad esempio lo schema FTCS. Nel punto
i = 0 `e nota T
x
(0, t) = a(t).
Alle dierenze, questa condizione si pu` o scrivere uti-
lizzando una derivata forward:
T
n+1
1
T
n+1
0
h
= a[(n +1)t] (21)
che consente di determinare T
n+1
0
nota T
n+1
1
dallo
schema nei punti interni.
La condizione (21) `e accurata O(h), questo errore
allaumentare del tempo si propaga allinterno del do-
minio distruggendo laccuratezza O(h
2
) dello schema
interno.
Un rimedio consiste nellintrodurre un altro punto di
griglia ttizio allesterno del dominio di calcolo in x =
1h.
La condizione al contorno pu` o essere scritta con una
derivata centrale:
T
n+1
1
T
n+1
1
2h
= a[(n +1)t] (22)
mentre nel punto (0, n) pu` o essere scritta la stessa
espressione alle dierenze dei punti interni.
43
Il caso multidimensionale
IN 2D lequazione del calore diventa:
T
t
= (T
xx
+T
yy
)
Gli schemi introdotti precedentemente possono essere
estesi semplicemente al caso multidimensionale.
Schema FTCS:
T
n+1
j
=
x
T
n
j1,k
+(1 2
x
2
y
)T
n
j,k
+
x
T
n
j+1,k
+

y
T
n
j,k1
+
y
T
n
j,k+1
con
x
=
t
h
2
x
,
y
=
t
h
2
y
, mentre h
x
, h
y
sono rispet-
tivamente i passi di discretizzazione in direzione x e
y.
La stabilit`a secondo Von Neumann richiede che

x
+
y

1
2
Schema implicito Laasonen:

x
T
n+1
j1,k
+(1 +2
x
+2
y
)T
n+1
j,k

x
T
n+1
j+1,k

y
T
n+1
j,k1

y
T
n+1
j,k+1
= T
n
j,k
che `e incondizionatamente stabile.
Si nota per` o che, bench`e in ogni equazione compaiano
solo 5 incognite, la matrice dei coecienti `e sparsa ma
non a bande:
la soluzione del sistema lineare `e molto pi` u gravosa
rispetto al caso monodimensionale.
44
Il metodo ADI (Alternating Direction Implicit)
E il pi` u famoso esempio di multidimensional splitting.
Consiste nellutilizzare 2 sottopassi di discretizzazione.
Nel primo `e incognita T
n+
1
2
j,k
:
T
n+
1
2
j,k
T
n
j,k
t/2

_
_
T
n+
1
2
j1,k
2T
n+
1
2
j,k
+T
n+
1
2
j+1,k
h
2
x
+
T
n
j,k1
2T
n
j,k
+T
n
j,k+1
h
2
y
_
= 0
T
n+
1
2
j,k
pu` o essere determinata risolvendo K
max
sistemi
tridiagonali.
Il secondo sottopasso consente di determinare T
n+1
j,k
risolvendo J
max
sistemi tridiagonali:
T
n+1
j,k
T
n+
1
2
j,k
t/2

_
_
T
n+
1
2
j1,k
2T
n+
1
2
j,k
+T
n+
1
2
j+1,k
h
2
x
+
T
n+1
j,k1
2T
n+1
j,k
+T
n+1
j,k+1
h
2
y
_
= 0
Unattenta implementazione delle condizioni al con-
torno consente di ottenere unaccuratezza O(h
2
x
, h
2
y
, t
2
).
45
Convezione lineare
T
t
+uT
x
= 0
T `e uno scalare passivo che viene trasportato con
velocit`a costante u.
Si riconosce unequazione lineare iperbolica del pri-
mo ordine con una famiglia di curve caratteristiche di
equazione x ut = k.
Lintegrale generale `e T(x, t) = F(x ut), cio`e T `e
costante lungo la curva caratteristica che `e una retta.
Data una soluzione iniziale F(x) al tempo t = 0, al
tempo t F avr`a esattamente la stessa forma, ma sar`a
traslata di x = ut, cio`e `e unonda.
Lo schema FTCS
T
n+1
j
T
n
j
+u
t
h
_
T
n
j+1
T
n
j1
_
2
= 0
C = u
t
h
si chiama numero di Courant dello schema
ed `e lunico parametro numerico che compare.
Il fattore di amplicazione che si ottiene dallanalisi di
Von Neumann `e
G = 1 iC sin(h)
Lo schema FTCS per lequazione di convezione lineare
pura `e incondizionatamente instabile.
46
Lo schema upwind del I ordine
Si ottiene utilizzando per la derivata spaziale una for-
mula backward se u > 0 oppure forward se u < 0. Ad
esempio supponendo u > 0:
T
n+1
j
T
n
j
+C
_
T
n
j
T
n
j1
_
= 0
j j1
n
n+1
Si nota che la soluzione nel nodo (j, n) dipende solo
da valori dellincognita a monte cio`e, al contrario dello
schema FTCS viene rispettato il dominio di inuenza
matematico.
Il fattore di amplicazione `e
G = 1 C[1 cos (h)] iC sin(h)
Lo schema `e stabile se C 1, nota come condizione
di Courant-Friedrichs-Lewy (condizione CFL).
Questa condizione si ritrova in generale in tutti gli
schemi espliciti per problemi iperbolici. Da un punto
di vista sico indica che una particella di uido non
pu` o attraversare pi` u di una cella h nel tempo t.
E interessante notare che se C = 1 lo schema resti-
tuisce T
n+1
j
= T
n
j1
che `e la soluzione esatta dellequa-
zione dierenziale.
47
Utilizzando la tecnica dellespansione in serie di Taylor
si ottiene che lo schema `e consistente con
T
t
+uT
x
+
1
2
tT
tt

1
2
uhT
xx
+O(h
2
, t
2
) = 0 (23)
quindi `e solo accurato O(h, t).
Tenendo conto che dallequazione della convezione
stessa risulta T
tt
= u
2
T
xx
la (23) pu` o essere riscritta
come
T
t
+uT
x

1
2
uh(1 C)T
xx
+O(h
2
, t
2
) = 0 (24)
cio`e lo schema upwind `e anche consistente con le-
quazione:
T
t
+uT
x

T
xx
= 0 (25)
che `e unequazione di convezione in cui `e presente un
termine di diusione articiale.

pu` o essere inter-


pretato come una viscosit`a articiale (numerica) dello
schema.
Se si usa C = 1 la viscosit`a articiale introdotta `e
nulla e si ottiene la soluzione esatta del problema,
ma questa possibilit`a `e limitata solo al caso lineare a
coecienti costanti.
48
Lo schema Lax-Wendro
Utilizza una discretizzazione centrale della derivata
spaziale ed una discretizzazione del II ordine per la
derivata temporale che si ottiene tenendo conto che
T
t

T
n+1
j
T
n
j
t

1
2
tT
tt
=
T
n+1
j
T
n
j
t

1
2
tu
2
T
xx
Si pu` o allora scrivere lo schema Lax-Wendro:
T
n+1
j
T
n
j
+
1
2
C
_
T
n
j+1
T
n
j1
_
=
1
2
C
2
_
T
n
j+1
2T
n
j
+T
n
j1
_
Questo schema, accurato O(h
2
, t
2
), `e stabile per
C 1.
Si `e ottenuto uno schema centrale stabile anche per la
convezione, il prezzo da pagare `e stato lintroduzione
di un termine di viscosit`a articiale.
Si nota che, mentre nello schema upwind lintroduzio-
ne della viscosit`a articiale era implicito, nello schema
Lax-Wendro la derivata seconda nello spazio `e stata
esplicitamente inserita.
49
Dissipazione e dispersione numerica
Equazioni e sistemi di equazioni iperboliche sono ca-
ratterizzati dallassenza di fenomeni dissipativi, cio`e
una soluzione iniziale qualsiasi non si riduce in am-
piezza nel tempo.
Inoltre una soluzione iniziale qualsiasi viagger`a nel tem-
po alla velocit`a u, la possiamo ottenere nello spazio
di Fourier, come somma di innite componenti carat-
terizzate da un numero donda diverso. Poich`e tutte
le componenti in questo spazio viaggiano alla stes-
sa velocit`a u, come gi`a detto, questa non cambia di
forma.
Diremo che un problema `e dissipativo se lampiezza di
unonda si riduce nel tempo.
Diremo che un problema `e dispersivo se la velocit`a di
propagazione di unonda varia al variare del numero
donda.
I problemi lineari di convezione pura sono non dissi-
pativi e non dispersivi, per cui se vengono evidenzia-
ti nella soluzione numerica dissipazioni e dispersioni,
questi sono errori numerici.
Onda monocromatica piana con dissipazione:
T =

Te
p(m)t
e
im[xq(m)t]
(26)
In problemi lineari di pura convezione:
p(m) = 0 (non dissipativa) , q(m) = cost (non disper-
siva).
50
Lequazione convezione-diusione lineare:
T
t
+uT
x
T
xx
= 0
ammette soluzioni del tipo (26) con p(m) = m
2
,
q(m) = u, cio`e dissipative e non dispersive.
Lequazione di Kortweg de Vries lineare:
T
t
+uT
x
+T
xxx
= 0
ammette soluzioni del tipo (26) con p(m) = 0, q(m) =
ui m
2
, cio`e non dissipative e dispersive.
In generale:
derivate spaziali di ordine pari sono associate a
fenomeni dissipativi,
derivate spaziali dispari a fenomeni dispersivi
Lerrore (accuratezza) introdotto da uno schema nu-
merico `e dato, in genere, da una potenza di h e/o
T per una combinazione di derivate di ordine su-
periore, per cui lerrore numerico pu` o introdurre una
dissipazione e/o dispersione numerica che modicano
le propriet`a della soluzione numerica rispetto a quella
sica.
51
Convezione-diusione lineare
T
t
+uT
x
T
xx
= 0
E un ottimo modello elementare delle equazioni di
Navier-Stokes.
Tutti gli schemi introdotti no ad ora possono essere
estesi ed applicati a questo tipo di equazione
Schema FTCS
T
n+1
j
T
n
j
+C
_
T
n
j+1
T
n
j1
_
2

_
T
n
j+1
2T
n
j
+T
n
j1
_
= 0
La stabilit`a dello schema richiede
0 C
2
2 1
Risulta importante anche un altro parametro, il cosid-
detto numero di Reynolds della cella
R
cell
=
uh

=
C

che pu` o essere visto come una adimensionalizzazione


del passo di discretizazione spaziale.
Si dimostra che per R
cell
> 2/C possono comparire nel
dominio di calcolo oscillazioni della soluzione in zone
in cui si hanno forte variazioni della soluzione (strati
limite)
52
Schema Crank-Nicolson
Si ottiene mediando le derivate spaziali valutate a n e
n +1.
Indicando con
j
T
j
= T
j+1
T
j1
e con
2
j
T
j
= T
j+1

2T
j
+T
j1
lo schema `e dato da
T
n+1
j
T
n
j
+
C
4
_

j
T
n
j
+
j
T
n+1
j
_

2
_

2
j
T
n
j
+
2
j
T
n+1
j
_
= 0
Lo schema `e incondizionatamente stabile, ma `e ri-
chiesto R
cell
< 2 per evitare la comparsa di oscillazioni
nella soluzione.
53
Problemi non lineari
Equazione di Burgers 1D
Forma non conservativa:
u
t
+uu
x
u
xx
= 0
Forma conservativa:
u
t
+F
x
u
xx
= 0, con F =
u
2
2
Il caso iperbolico (senza dissipazione)
u
t
+uu
x
= 0 u
t
+F
x
= 0
Le curve caratteristiche sono rette di equazione x
ut = cost, ma, essendo u variabile le loro inclinazioni
sono variabili.
Ne risulta che in generale il dominio di esistenza della
soluzione non `e tutto il semi-piano t > 0.
54
Se la velocit`a di propagazione del disturbo lungo la ca-
ratteristica u diminuisce con x il dominio di denizione
della soluzione `e dato da
x
t
u
dominio
P
A B
t
P
A
u
B
Che succede per t > t
p
?
Troviamo la soluzione in P con il metodo delle carat-
teristiche:
Integrando lungo la caratteristica che passa per A si
ottiene u(P) = u
A
.
Integrando lungo la caratteristica che passa per B si
ottiene u(P) = u
B
.
In P la soluzione non `e pi` u continua, in particolare u
non `e dierenziabile e non pu` o pi` u essere soluzione di
unequazione dierenziale.
A partire dal punto P per t > t
P
nasce una supercie
di discontinuit`a della soluzione.
55
x
u
A
B
A
B
t
Attraverso questa supercie lequazione dierenziale
che governa il problema non `e soddisfatta, `e per` o
soddisfatta lequazione di bilancio integrale associa-
ta per un qualsiasi volume di controllo che contiene la
discontinuit`a:
d
dt
_
V
udx +F(x
2
) F(x
1
) = 0 con V = [x
1
, x
2
]
Facendo tendere il volume di controllo alla super-
cie di discontinuit`a stessa il bilancio integrale porta a
delle relazioni di salto che devono essere soddisfatte
attraverso la supercie.
In questo caso si dice che esiste una soluzione in forma
debole dellequazione dierenziale.
La velocit`a di propagazione della discontinuit`a `e data
da
u
s
=
u
A
+u
B
2
56
Equazioni di Eulero
Le equazioni di Eulero che governano il moto in uido
non viscoso costituiscono un sistema di equazioni non
lineari con propriet`a molto simili a quelle dellequazio-
ne di Burgers non viscosa.
Forma conservativa in 1D:

t
+

x
(u) = 0
(u)
t
+

x
(u
2
+p) = 0
(e
t
)
t
+

x
(Hu) = 0
Sono possibili discontinuit`a di pressione (onde durto)
e discontinuit`a di contatto (in 2D e 3D).
Le relazioni di salto che devono essere soddisfatte at-
traverso londa durto sono le relazioni di Rankine-
Hugoniot.
Dal punto di vista matematico sono possibili anche
altre discontinuit`a non siche.
Le discontinuit`a siche sono caratterizzate dal fat-
to che debbono soddisfare una condizione particolare
detta condizione di entropia.
57
Metodi alle dierenze per lequazione di Burgers
non viscosa
Si aggiunga un termine di viscosit`a articiale allequa-
zione di Burgers:
u
t
+F
x
=

u
xx
Si dimostra che per

0 la soluzione dellequazio-
ne (27) tende alla soluzione debole dellequazione di
Burgers non viscosa.
Lintroduzione di una viscosit`a articiale (esplicita o
implicita) consente quindi di risolvere numericamente
il problema.
Inoltre un coeciente di diusione positivo pu` o aiu-
tare a catturare solo discontinuit`a siche.
Un esempio: lo schema Lax-Wendro
u
n+1
j
= u
n
j

1
2
t
h
(F
n
j+1
F
n
j1
) +
1
2
_
t
h
_
2
_
A
j+1/2
(F
n
j+1
F
n
j
) A
j1/2
(F
n
j
F
n
j1
)

con A
j+1/2
=
u
n
j
+u
n
j+1
2
.
58
Schemi conservativi
La particolare costruzione del termine di viscosit`a arti-
ciale nello schema di Lax-Wendro consente di sod-
disfare limportante propriet`a di conservativit`a dello
schema.
Uno schema alle dierenze si dice conservativo se
una soluzione alle dierenze dello schema `e anche
soluzione dellequazione integrale di bilancio (cio`e di
conservazione) associata.
Questa propriet`a `e particolarmente utile quando, ad
esempio, si intende catturare soluzioni deboli di pro-
blemi iperbolici.
59

Le equazioni della fluidodinamica

$quazioni di %avier&Sto'es: sistema di


equazioni differenziali alle derivate parziali non
lineare:

Continuit"

(uantit" di moto

$nergia

Soluzione numerica delle equazioni
della fluidodinamica

)pproccio Lagrangiano * $uleriano

+n un approccio lagrangiano si segue il moto delle


particelle in un sistema solidale con esse: il dominio
di calcolo definito all'istante iniziale

%ell'approccio euleriano si definisce un dominio di


calcolo in cui si misurano le varia!ili del campo di
moto nel tempo e nello spazio

L'approccio euleriano tipicamente impiegato per la


soluzione numerica delle equazioni della
fluidodinamica: si usano i due approcci insieme per
descrivere il moto di particelle solide in un fluido

Discretizzazione del dominio di
calcolo

#er la soluzione numerica delle equazioni della fluidodinamica occorre la


definizione di un dominio di calcolo

+l dominio di calcolo viene ,discretizzato- opportunamente in modo da


ottenere una ,griglia computazionale- .mesh/

$sistono vari tipi di mesh computazionale a seconda del tipo di


discretizzazione

Mesh Strutturate * mesh non strutturate: a parit" di accuratezza le griglie


di calcolo strutturate consentono l'impiego di un minor numero di celle

%elle mesh strutturate lo spazio fisico e quello computazionale si


corrispondono direttamente: punti con coordinate adiacenti sono
adiacenti nell'arra0 che li contiene

$S$M#+ D+ M$S1 S23U22U3)2$ $ %4%
S23U22U3)2$

Metodi di risoluzione delle
equazioni della fluidodinamica

Metodi alle differenze finite .5DM/

Metodi agli elementi finiti .5$M/

Metodi ai volumi finiti .56M/

%ella soluzione numerica delle equazioni della fluidodinamica per lo


pi7 impiegato il metodo ai volumi finiti:

%ei metodi ai volumi finiti si risolvono le equazioni del !ilancio in forma


integrale e le incognite sono i valori medi della varia!ili nelle celle:
vantaggio di poter utilizzare griglie di calcolo strutturate8 per geometrie
complesse si usano anche griglie non strutturate

+ metodi agli elementi finiti .5$M/ sono ampiamente impiegati nel


calcolo strutturale: griglie di calcolo tipicamente non strutturate

2ipologia di soluzioni

Soluzione delle equazioni di %avier * Sto'es non viscose: si


trascurano i termini viscosi equazioni di $ulero

Soluzione in flussi laminari: non si considera la tur!olenza

Soluzione in flussi tur!olenti tre approcci:

3)%S 9 U3)%S .equazioni di %avier&Sto'es Mediate alla


3e0nolda/: la tipologia di soluzione pi7 largamente impiegata
per l'efficienza in termini di tempi di calcolo: si impiegano i
cosiddetti ,modelli di tur!olenza-

L$S

D%S

#er ogni tipologia di soluzione esistono dei requisiti tipici per la


generazione della griglia di calcolo

+mpostazioni di calcolo nella
soluzione delle 3)%S

Calcolo stazionario o non stazionario: in un


calcolo stazionario di tipo iterativo il pro!lema
fluidodinamico si formula come un pro!lema
,pseudo&stazionario- in cui la varia!ile tempo
considerata una varia!ile di evoluzione: la
soluzione non sar" accurata nel tempo:

#er avere una soluzione accurata nel tempo


occorre impiegare un solutore instazionario in
cui la varia!ile tempo non pi7 una semplice
varia!ile di evoluzione del metodo iterativo

Ulteriori impostazioni di calcolo

2ipo di fluido nel regime di moto considerato


comprimi!ile o incomprimi!ile

+n regime comprimi!ile le equazioni di %avier&


Sto'es vanno risolte accoppiate con
l'equazione dell'energia

Controllo della soluzione:
convergenza

La prima verifica della


,!ont"- della
soluzione si effettua
controllando la
convergenza ovvero
l'andamento
dell'errore .il residuo/