Sei sulla pagina 1di 140

Appunti per il Corso di

MODELLI E METODI NUMERICI


(Ingegneria Meccanica)
Claudio Canuto
Dipartimento di Scienze Matematiche
Politecnico di Torino
10129 Torino Italy
claudio.canuto@polito.it
http://calvino.polito.it/ccanuto
2 marzo 2014

Capitolo 1

Il modello del filo elastico


Nel seguito indichiamo con x = (x1 , x2 , x3 ) R3 il generico punto dello spazio, e con e1 =
(1, 0, 0), e2 = (0, 1, 0), e3 = (0, 0, 1) i vettori della base canonica in R3 . Talvolta porremo per
semplicit`a x = (x, y, z).

1.1

Derivazione del modello nel caso statico

Sia dato un filo elastico sottile di sezione circolare costante S. In assenza di forze esterne, il suo
asse occupa la posizione dellintervallo [0, L] lungo lasse delle coordinate x1 (si veda la Figura
1.1). Lelastico `e fissato alle estremit`a dellintervallo. Applichiamo al filo una (piccola) densit`a
volumica di forza f = 0e1 + 0e2 + f3 e3 , giacente nel piano x1 x3 e diretta normalmente allasse
del filo. Essa induce un (piccolo) spostamento u = u1 e1 + u2 e2 + u3 e3 del filo a partire dalla
posizione di riferimento; precisamente, u = u(x) denota lo spostamento della particella materiale
che nella posizione di riferimento si trova nel punto x. Lo spostamento sar`
a complanare con
la forza, dunque u2 = 0; inoltre, in prima approssimazione la componente u1 sar`
a trascurabile
rispetto alla componente u3 che descrive lo spostamento nella direzione della forza.
Sia x1 (0, L) e sia V0 = [x1 , x1 + x] S un elemento di filo elastico di lunghezza x,
nella posizione di riferimento; siano 0,x1 = {x1 } S e 0,x1 +x = {x1 + x} S le sezioni
che delimitano lelemento. Esso si trasforma nellelemento V per effetto della forza applicata;
x3
0

x2

V0
0,x1
0,x1+x
L
x1
Figura 1.1: Derivazione del modello del filo elastico
3

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

siano x1 e x1 +x le sezioni trasformate. Indichiamo con

1 12 13
= 21 2 23
31 23 3

(1.1)

il tensore degli sforzi del filo. Sia poi n la normale alla sezione trasformata del filo, orientata
nel senso crescente delle x1 . Lequazione di equilibrio `e
Z
Z
Z
n d = 0 .
(1.2)
n d
f dV +
x1 +x

x 1

Nellipotesi di spostamenti piccoli, possiamo in prima approssimazione confondere V con


V0 e le sezioni trasformate con quelle di riferimento. Questo e lipotesi di filo sottile ci permette
di passare a un modello monodimensionale. Infatti
Z

f dV

f dV =

V0

x1 +x Z

x1

f (x, x2 , x3 ) dx2 dx3


S

dx = |S|

x1 +x

f (x) dx ,

x1

avendo indicato con |S| larea della sezione S e con f (x) il valor medio di f sulla sezione S nel
punto x (0, L):
Z
1

f (x1 , x2 , x3 ) dx2 dx3 .


f (x1 ) =
|S| S
Procedendo in modo simile con gli integrali di superficie arriviamo alle equazioni approssimate
|S|

x1 +x
x1

|x1 +x |S|
n
|x1 = 0 .
n
f (x) dx + |S|

(1.3)

Dividiamo per |S| e, per non appesantire le notazioni, cancelliamo il simbolo ; inoltre notiamo
che, per le ipotesi fatte, n e1 . Otteniamo quindi
Z

x1 +x

f (x) dx + e1 |x1 +x e1 |x1 = 0 .

x1

(1.4)

Prendiamo ora la componente di tale equazione lungo lasse x3 , ossia formiamone il prodotto
scalare con e3 , ottenendo
Z

x1 +x
x1

f3 (x) dx + 31|x1 +x 31|x1 = 0 .

(1.5)

Dividendo per x e passando al limite per x 0, arriviamo alla relazione differenziale


f3 (x1 ) +

d31
(x1 ) = 0 ,
dx

x1 (0, L) ,

(1.6)

che esprime la condizione di equilibrio del filo.


Invochiamo ora la legge costitutiva di Hooke, che lega il tensore degli sforzi al tensore delle
deformazioni :
= 2 + tr()I ,
(1.7)

1.1. DERIVAZIONE DEL MODELLO NEL CASO STATICO

x3

u(x)
0

x1

Figura 1.2: Spostamento del filo elastico


dove > 0, > 0 sono i coefficienti di Lame del materiale elastico, `e il tensore delle
deformazioni


uj
1 ui
+
,
(1.8)
= (ij )1i,j3 ,
ij =
2 xj
xi
tr() = 11 + 22 + 33 = u `e la traccia del tensore delle deformazioni e I = (ij )1i,j3
`e il tensore identit`
a. Prendendo la componente 3, 1 dellequazione (1.7) e ricordando che u1 `e
trascurabile rispetto a u3 , otteniamo lequazione costitutiva approssimata
31 =

u3
.
x1

(1.9)

Infine, per semplicit`a omettiamo i pedici alle quantit`a u3 , 31 e f3 introdotte finora. Il coefficiente
, detto modulo di taglio, pu`
o essere espresso in funzione del modulo di Young E e del coefficiente
di Poisson come
E
.
(1.10)
=
2(1 + )
Siamo dunque arrivati al seguente sistema di equazioni:
d

+f =0
in (0, L) ,

dx
du
=
in (0, L) ,

dx

u(0) = u(L) = 0 ,

(1.11)

ove lultima relazione esprime il fatto che il filo `e fissato alle estremit`a dellintervallo [0, L].
Sostituendo lespressione di nella prima equazione otteniamo



d du = f in (0, L) ,
dx
dx
(1.12)

u(0) = u(L) = 0 .

Lo spostamento del filo elastico `e dunque soluzione di un problema ai valori al bordo (o al


contorno) per una equazione differenziale lineare del secondo ordine. Tale problema ammette

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

una e una sola soluzione (vedi Figura 1.2), se ad esempio ed f sono funzioni continue (o
continue a tratti) in [0, L].
` facile esprimere u in funzione di f mediante quadrature. Infatti, integrando la prima delle
E
(1.11) abbiamo
Z
x

(x) = C1

f (s) ds

(1.13)

mentre integrando la seconda delle (1.11) otteniamo


Z x
(s)
u(x) = C2 +
ds ;
0 (s)

(1.14)

sostituendo la (1.13) nella (1.14) giungiamo allespressione cercata di u. La condizione u(0) =


0 implica immediatamenteZ C2 = 0, mentre la costante C1 viene determinata imponendo la
L
(s)
ds = 0.
condizione u(L) = 0, cio`e
0 (s)
Tuttavia, il procedimento di soluzione analitica ora descritto pu`
o non essere di agevole realizzazione a causa del calcolo degli integrali. Inoltre, esso non `e generalizzabile a modelli in
dimensione 2.
Seguiamo quindi una strada diversa, consistente nella discretizzazione del problema (1.12) e
nella sua riduzione a un sistema algebrico lineare.

1.2

Discretizzazione mediante differenze finite

L
. Nellintervallo [0, L] introduciamo i nodi
N +1
equispaziati xj = hj, con j = 0, 1, . . . , N + 1. Abbiamo

Sia N un qualunque intero 1; poniamo h =

0 = x0 < x1 < . . . < xj1 < xj < xj+1 < . . . < xN < xN +1 = L .

(1.15)

Tali nodi formano la griglia computazionale.


Associamo a ciascun nodo xj un valore uj che intendiamo come una approssimazione dello
spostamento u in tale nodo, vale a dire uj u(xj ). Le condizioni al bordo forniscono immediatamente i valori u0 = uN +1 = 0. Dunque, restano da determinare i valori di uj nei nodi
interni, che sono in numero di N . Tali valori sono le nostre incognite discrete. Per realizzare
ci`o, facciamo uso delle equazioni differenziali in opportuni punti interni allintervallo [0, L].
Un metodo alle differenze finite si basa sui seguenti due ingredienti fondamentali:
1. lapprossimazione delle derivate che compaiono nelle equazioni, mediante formule di derivazione numerica (quali ad esempio rapporti incrementali) che fanno intervenire nodi
contigui della griglia;
2. la richiesta che le equazioni risultanti siano verificate nei nodi interni.
Per quanto riguarda il passo 1., ricordiamo le principali formule di derivazione numerica riassunte nel Paragrafo 7.3, e la loro precisione (dipendenza dellerrore dal passo di discretizzazione).
Una scelta semplice e naturale appare quella di approssimare ogni derivata prima che compare
nelle (1.11) mediante un rapporto incrementale centrato, basato su due punti simmetricamente
disposti rispetto al punto in cui si vuole approssimare la derivata; tale approssimazione risulta
pi
u precisa di quella fornita da un rapporto incrementale in avanti o allindietro, sempre su

1.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE

due punti. Per realizzare i rapporti incrementali centrati, `e conveniente (si veda la successiva
Osservazione 1.2.1) arricchire la griglia computazionale introducendo i nodi a indici semi-interi
xj+1/2 = h(j +1/2), con j = 0, . . . , N , situati a mezza strada tra due nodi contigui a indici interi.
Ad essi associamo valori approssimati j+1/2 (xj+1/2 ) dello sforzo di taglio. Introduciamo
allora le seguenti approssimazioni delle derivate prime di e di u:
j+1/2 j1/2
d
(xj )
dx
h

du
uj+1 uj
(xj+1/2 )
.
dx
h

(1.16)

Il passo 2. sopra citato `e realizzato imponendo lequazione approssimata di equilibrio nei nodi
a indici interi:
j+1/2 j1/2
+ fj = 0 ,
j = 1, . . . , N ,
(1.17)
h
e la legge costitutiva nei nodi a indici semi-interi:
j+1/2 = j+1/2

uj+1 uj
,
h

j = 0, . . . , N ,

(1.18)

avendo posto fj = f (xj ) e j+1/2 = (xj+1/2 ) (supponiamo in questo Paragrafo che f e siano
funzioni continue su [0, L]).
Facendo uso della (1.18) nella (1.17), otteniamo le relazioni


uj uj1
uj+1 uj
1

j1/2
j+1/2
= fj ,
j = 1, . . . , N ,
(1.19)
h
h
h
che possiamo ancora scrivere come

1
j1/2 uj1 + (j1/2 + j+1/2 )uj j+1/2 uj+1 = fj ,
2
h

j = 1, . . . , N ,

(1.20)

Siamo quindi giunti a un sistema di N equazioni lineari nelle N incognite uj . Esso pu`
o essere
scritto nella forma matriciale
Au = f ,
(1.21)
avendo definito i vettori colonna di RN

u1
u2

u = ...

uN 1
uN

e la matrice quadrata A di ordine N i cui

j1/2 + j+1/2

1 j1/2
ajk = 2
h
j+1/2

f1
f2
..
.

f =

fN 1
fN

(1.22)

elementi ajk sono dati da


se k = j ,
se k = j 1 ,
se k = j + 1 ,
altrimenti .

con 1 j N ,
con 2 j N ,
con 1 j N 1 ,

(1.23)

Si noti che la matrice `e tridiagonale, vale a dire gli elementi diversi da 0 si trovano solo sulla
diagonale principale e sulla prima sopra- e sotto-diagonale (si veda la Fig. 1.3). Questo `e un caso
particolare di matrice a banda, ossia di matrice i cui elementi diversi da 0 sono contenuti in una

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

10

15

20

25

30

10

15

20

25

30

nz=94

Figura 1.3: Posizione degli elementi non nulli della matrice A per N = 32. Se il coefficiente `e
costante, gli elementi indicati con valgono 2/h2 , quelli indicati con o valgono /h2
banda costituita da 2m + 1 diagonali disposte simmetricamente attorno alla diagonale principale
(lintero m dicesi semi-ampiezza di banda); nel nostro caso, abbiamo m = 1. A sua volta, una
matrice a banda con m molto pi`
u piccolo di N `e una caso particolare di matrice sparsa, ossia di
matrice i cui elementi diversi da 0 sono pochi rispetto alla totalit`a degli elementi; nel nostro
caso gli elementi non nulli sono 3N 2 su un totale di N 2 elementi.
La nostra matrice, inoltre, `e simmetrica, essendo aj,j+1 = aj+1,j per ogni j.
Un caso particolare notevole si ha quando il coefficiente elastico `e costante in [0, L]. In
d2 u
tale situazione, lequazione differenziale (1.12) che definisce lo spostamento diventa 2 = f ;
dx
corrispondentemente, lo schema numerico (1.20) assume la forma

uj1 2uj + uj+1


= fj ,
h2

j = 1, . . . , N ,

(1.24)

ossia pu`
o essere ottenuto approssimando la derivata seconda dello spostamento mediante il
rapporto incrementale secondo centrato con passo h (si veda la (7.11)). Gli elementi della
matrice A del sistema lineare (1.21) assumono ora la semplice espressione

ajk

2 se k = j ,

= 2 1 se k = j 1 ,
h

0 altrimenti .

(1.25)

Osservazione 1.2.1 Ritorniamo sulle formule di derivazione (1.16) per notare che se avessimo
usato soltanto nodi a indici interi per definire i rapporti incrementali, saremmo giunti a relazioni analoghe alle (1.20) ma facenti intervenire le incognite uj2 , uj e uj+2 , con un innaturale
disaccoppiamento tra incognite a indici pari e incognite a indici dispari.
` conveniente introdurre una notazione specifica per indicare le matrici tridiagonali
Notazione E
che hanno gli elementi uguali su ciascuna diagonale (salvo eventualmente quelli nella prima e/o

1.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE

lultima riga). Precisamente, indicheremo con

b c
a b c

a b c


tridiag [a b c] =

a b c

a b c
a b

(1.26)

una matrice tridiagonale avente i valori costanti a, b, c rispettivamente sulla prima sottodiagonale, sulla diagonale principale, sulla prima sopra-diagonale. Qualora gli elementi nella
prima e ultima riga siano diversi, porremo

b c
a b c

a b c

.
tridiag [b c ; a b c; a b ] =
(1.27)

a b c

a b c
a b

Le notazioni tridiag [b c ; a b c] oppure tridiag [a b c; a b ] saranno usate quando sono


diversi soltanto gli elementi della prima oppure dellultima riga.
Ad esempio, la matrice tridiagonale A i cui elementi sono dati dalle (1.25) verr
a indicata con
A=

1.2.1

tridiag [1 2 1] .
h2

Propriet`
a della matrice

Mostriamo innanzitutto che la matrice A `e non singolare; ci`o equivale al fatto che tutti gli
` naturale allora fare ricorso al teorema di Gerschgorin di
autovalori di A sono diversi da 0. E
localizzazione degli autovalori (Teorema 7.5.1). Determiniamo gli intervalli di Gerschgorin di A
(la matrice `e simmetrica). Si ha facilmente



 


1/2 1/2 + 23/2
1/2 + 3/2 3/2

C1 = x R : x
,
=
,

h2
h2
h2
h2



 


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


Cj = x R : x
= 0, 2
,

h2
h2
h2
j = 2, . . . , N 1 ,



 


N +1/2 2N 1/2 + N +1/2
N 1/2 + N +1/2 N 1/2


,
CN = x R : x
=
.
h2
h2
h2
h2

Dunque tutti gli autovalori di A sono strettamente positivi: infatti, ogni intervallo di Gerschgorin
`e contenuto nella semiretta positiva delle ascisse ed inoltre lorigine non appartiene a tutti gli
intervalli di Gerschgorin; pertanto 0 non pu`
o essere autovalore della matrice. Concludiamo che
A `e una matrice simmetrica e definita positiva.

10

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

Uno studio pi`


u approfondito permette di stimare lordine di grandezza degli autovalori minimo
e massimo, e quindi il numero di condizionamento della matrice nella norma euclidea, in funzione
del parametro di discretizzazione h. Supponiamo che il coefficiente elastico sia costante, di
modo che gli elementi di A siano dati da (1.25). Indicando con h gli autovalori della matrice
A, notiamo che il problema algebrico agli autovalori
Aw = h w

(1.28)

pu`
o essere visto come frutto della discretizzazione del problema differenziale agli autovalori

2
d w = w
in (0, L) ,
dx2

w(0) = w(L) = 0 .

(1.29)

Tale problema descrive lAnalisi modale di un filo elastico avente densit`a di massa unitaria (si
veda per maggiori dettagli il Paragrafo 4.2). La prima delle (1.29) `e unequazione differenziale
del secondo ordine lineare a coefficienti costanti, il cui integrale generale `e dato da
w(x) = C1 sin

+ C2 cos

imponendo la condizione di annullamento in x = 0potteniamo C2 = 0, mentre la condizione di


annullamento in x = L `e soddisfatta se e solo se / L = p con p = 1, 2, . . . . Dunque gli
autovalori p e le corrispondenti autofunzioni wp del problema (1.29) sono dati da
p =

2 2
p ,
L2

 
wp (x) = C sin p x ,
L

p = 1, 2, . . . ,

(1.30)

con C costante arbitraria 6= 0. Notiamo che gli autovalori sono tutti strettamente positivi e
formano una successione strettamente crescente e tendente a +.

Figura 1.4: Autofunzione w3 del problema (1.29) (tratto continuo) e componenti del
corrispondente autovettore w3 del problema (1.28) per N = 32 (rombi)

` CONSISTENZA, CONVERGENZA
1.3. STABILITA,

11

Tornando al problema (1.28), si dimostra che gli autovettori wp (p = 1, . . . , N ) della matrice


A hanno come componenti i valori nei nodi interni delle corrispondenti autofunzioni wp , ossia

 

h
j
(1.31)
wp = wp (xj ) j=1,...,N = C sin p
L
j=1,...,N

(si veda la Fig. 1.4 per un esempio). Verifichiamo tale propriet`a, e in tal modo calcoliamo gli
autovalori discreti h,p . Ponendo per semplicit`a C = 1, abbiamo per ogni j = 1, . . . , N
(Awp )j

=
=

wp (xj1 ) + 2wp (xj ) wp (xj+1 )


2
h 







h
h
h
(j 1) + 2 sin p
j sin p
(j + 1)
.
sin p
h2
L
L
L

Ricordando le formule di addizione e sottrazione sin( ) = sin cos cos sin , si ha


facilmente





h
h
2
j = (h,p wp )j ,
sin p
(Aw p )j = 2 1 cos p
h
L
L
avendo posto
h,p

2
= 2
h

h
1 cos p
L



2
= 2
h

p
1 cos
N +1



p = 1, . . . , N .

(1.32)

Osserviamo che 0 < N p+1 < per 1 p N e che cos t `e una funzione strettamente decrescente
nellintervallo [0, ]; pertanto gli autovalori discreti sono tutti strettamente positivi (come gi`
a
sapevamo dal teorema di Gerschgorin) e formano una successione strettamente crescente con p.
Ricordando che 1cos t 12 t2 per t 0 e che cos t 1 per t , otteniamo il comportamento
asintotico dellautovalore minimo h,1 e massimo h,N al tendere di h a 0 (o, equivalentemente,
al tendere di N a +):
 
2 1 h 2
2
4
h,1 2
= 2 = 1 ,
h,N 2 .
(1.33)
h 2 L
L
h
Se ne deduce in particolare che il numero di condizionamento di A in norma euclidea soddisfa
cond2 (A) =

h,N
4L2
2 h2 ;
h,1

(1.34)

dunque, la matrice diventa via via pi`


u malcondizionata al diminuire del passo h di discretizzazione.
Anche quando il coefficiente elastico non `e costante in [0, L], il comportamento degli au
tovalori di A `e analogo. Precisamente,
a prossimo
i se (x) in [0, L], allora h,1 sar`
h

a un valore nellintervallo
i
h
4 4
,
h2
h2 .

1.3

2
2
L2 , L2

, mentre h,N sar`


a prossimo a un valore nellintervallo

Stabilit`
a, consistenza, convergenza

Lo scopo di questa sezione `e lo studio delle propriet`a matematiche del metodo di discretizzazione
sopra considerato; in particolare, siamo interessati a stimate lerrore tra la soluzione esatta del

12

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

problema (1.12) e la soluzione dello schema numerico definita dal sistema (1.21), in funzione
del parametro di discretizzazione h. Per semplicit`a, supporremo qui costante il coefficiente
elastico , ma risultati del tutto simili si possono stabilire nel caso in cui sia una funzione
sufficientemente regolare di x.
Iniziamo osservando che il sistema (1.21) pu`
o essere scritto equivalentemente come u = A1 f .
Prendendo la norma euclidea (vedi (7.14)) di ambo i membri e usando la propriet`a (7.17),
otteniamo
kuk2 kA1 k2 kf k2 .

Ricordando la propriet`a (7.25), abbiamo kA1 k2 = 1


e, come abbiamo visto sopra,
h,1 ; poich`
h,1 1 per h 0, sar`
a h,1 c1 per una certa costante c, strettamente compresa tra 0 e 1,
indipendente da h. Concludiamo che
kuk2

1
kf k2 .
c1

(1.35)

Una disuguaglianza di questo genere `e un risultato di stabilit`


a dello schema numerico. Questa
propriet`a consiste nella possibit`a di controllare una norma della soluzione discreta mediante una
norma dei dati, attraverso una costante (in questo caso 1/(c1 )) indipendente dal parametro
di discretizzazione (in questo caso h). In assenza di una tale propriet`a, la soluzione discreta
potrebbe diventare arbitrariamente grande al tendere di h a 0, allontanandosi sempre pi`
u dalla
soluzione esatta.
Prima di procedere, introduciamo una nuova norma divettore, che indicheremo con kvk2,m ,
ottenuta semplicemente dividendo la norma euclidea per N ; in altre parole, poniamo
v
u
N
u1 X
1
t
|vi |2 .
kvk2,m = kvk2 =
N
N
i=1

Essa fornisce la media quadratica dei moduli delle componenti del vettore v; linformazione
rappresentata da questa norma `e in qualche modo normalizzata rispetto alla dimensione del
vettore, e dunque tale norma `e pi`
u appropriata, rispetto alla norma euclidea, per studiare il
passaggio al limite per h 0, vale a dire per N . Notiamo inoltre che, ricordando la
definizione di norma del massimo (vedi (7.15)), si ha |vi | kvk per ogni i e dunque si ha
kvk2,m kvk
Dividendo ambo i membri della (1.35) per
nella nuova norma, come
kuk2,m

per ogni v RN .

(1.36)

N , possiamo esprimere il risultato di stabilit`


a

1
kf k2,m .
c1

(1.37)

Introduciamo ora il vettore colonna ue = (u(xj ))1jN RN , le cui componenti sono i valori
della soluzione esatta nei nodi interni. Poich`e in generale ue =
6 u, il vettore
r = Aue f ,

(1.38)

detto vettore residuo o errore di troncamento, non sar`


a nullo; tuttavia, se lo schema numerico
ha da essere una approssimazione del problema (1.12), `e naturale attendersi che r tenda a 0 per

` CONSISTENZA, CONVERGENZA
1.3. STABILITA,

13

h 0. Le componenti di tale vettore sono date da


u(xj h) + 2u(xj ) u(xj + h)
f (xj )
h2


u(xj h) 2u(xj ) + u(xj + h) d2 u
2 (xj )
=
h2
dx

rj =

d2 u
(x) per ogni
dx2
x (0, L)); ne segue che tali componenti sono proporzionali allerrore di approssimazione della
derivata seconda di u mediante il rapporto incrementale secondo centrato (si veda la (7.11)). Tale
errore `e a sua volta proporzionale a h2 se la funzione u `e derivabile quattro volte nellintervallo
[0, L]. Pi`
u precisamente, usando la formula di Taylor con il resto di Lagrange, si pu`
o dimostrare
che
1 d4 u
u(xj h) 2u(xj ) + u(xj + h) d2 u
2 (xj ) = h2 4 (
xj ) ,
(1.39)
2
h
dx
12 dx
dove x
j `e un opportuno punto nellintervallo (xj h, xj + h). Derivando due volte lequazione
differenziale soddisfatta da u otteniamo
(ricordiamo che u `e la soluzione esatta di (1.12) e dunque si ha f (x) =

d2 f
d4 u
= 2 ,
4
dx
dx

dunque la (1.39) vale sotto lipotesi che f sia derivabile due volte in (0, L). Possiamo quindi
esprimere le componenti del vettore residuo come
rj =

1 2 d2 f
h
(
xj ) ,
12 dx2

1jN .

Introduciamo il vettore colonna D 2 f RN le cui componenti sono le quantit`a


viamo che se f ha derivata seconda continua in [0, L], si ha, grazie alla (1.36),
2

d f

2
2

kD f k2,m kD f k max 2 (x) .
x[0,L] dx

Si ha dunque

r=
da cui
krk2,m

d2 f
(
xj ); osserdx2

1 2 2
h D f,
12

2

d f

1 2
1 2
2
h kD f k2,m
h max 2 (x) .
=
12
12 x[0,L] dx

(1.40)

Pertanto, possiamo concludere che

r0

per h 0 .

(1.41)

Questa propriet`a `e detta consistenza del metodo numerico.


Infine, mostriamo come la stabilit`
a e la consistenza del metodo numerico ne implichino la
propriet`a di convergenza, vale a dire il fatto che
ue u 0

per h 0 .

(1.42)

14

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

Il vettore e = ue u, detto errore di discretizzazione, ha per componenti le differenze tra i


valori della soluzione esatta nei nodi interni e le corrispondenti approssimazioni generate dallo
schema numerico. Osserviamo che, per la (1.38), ue `e la soluzione del sistema algebrico
Aue = f + r ,
mentre ricordiamo che u `e la soluzione del sistema
Au = f ;
pertanto, per differenza, il vettore e `e la soluzione del sistema
Ae = r .
Applicando a tale sistema la disuguaglianza di stabilit`
a (1.37), otteniamo
kek2,m

1
krk2,m ;
c1

applicando poi la relazione di consistenza (1.40), concludiamo che


kue uk2,m

1
h2 kD 2 f k2,m .
12c1

(1.43)

Dunque, se il dato f `e sufficientemente regolare, lo scarto quadratico medio tra i valori della
soluzione esatta nei nodi interni e le corrispondenti approssimazioni generate dallo schema numerico tende a 0 per h 0; inoltre, la convergenza `e del secondo ordine, ossia quadratica in
h.
` possibile, con una diversa dimostrazione, ottenere una analoga stima dellerrore nella norma
E
del massimo, ossia

2

d f
(1.44)
max |u(xj ) uj | Ch2 max 2 (x) ,
1jN
x[0,L] dx

per una opportuna costante C > 0 indipendente da h e da f .

1.4

Discretizzazione mediante elementi finiti

I metodi agli elementi finiti si basano su una formulazione integrale, o variazionale, del problema
ai valori al bordo che si intende approssimare. Vediamo dapprima come si giunge a una tale
formulazione nel caso del filo elastico.
Consideriamo il problema (1.12), in cui supponiamo che la densit`a di forza f sia una funzione
continua a tratti su [0, L] (`e possibile considerare carichi pi`
u generali, ad esempio concentrati
in un punto, tuttavia questa ipotesi `e per ora sufficiente). Introduciamo una generica funzione
v, definita in [0, L], che rappresenta il generico spostamento che il filo elastico pu`
o compiere a
partire dalla posizione di riposo per effetto di sollecitazioni esterne. Con linguaggio fisico, diremo
che v `e uno spostamento ammissibile; con linguaggio matematico, diremo che v `e una funzione
` naturale che v sia una funzione continua (il filo elastico non si pu`
di forma. E
o rompere); inoltre
v si annulla agli estremi dellintervallo (il filo elastico `e fissato ai bordi). Moltiplichiamo ambo
i membri dellequazione differenziale per uno spostamento ammissibile v (che in questo ruolo
chiameremo funzione test) e integriamo i prodotti risultanti sullintervallo [0, L], ottenendo


Z L
Z L
du
d
f v dx .
(1.45)

v dx =

dx
0
0 dx

1.4. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

15

Applichiamo ora la formula di integrazione per parti a primo membro, assumendo quindi che v
sia derivabile (almeno) a tratti, con derivata continua. Lequazione diventa
Z



Z L
du L
du dv
f v dx .
dx v =

dx dx
dx 0
0

(1.46)

Tuttavia, ricordando che per ipotesi v(0) = v(L) = 0, i termini di bordo in x = 0 e in x = L


sono in realt`
a nulli. Indichiamo con V linsieme degli spostamenti ammissibili, ossia poniamo
V = {v : [0, L] R | v `e continua su [0, L], derivabile a tratti

con derivata continua, e tale che v(0) = v(L) = 0} .

Notiamo che la soluzione u del nostro problema `e essa stessa uno spostamento ammissibile (`e lo
spostamento compiuto dal filo elastico proprio in corrispondenza del carico f ), dunque u V ;
tale condizione contiene in s`e anche il vincolo di annullamento di u agli estremi dellintervallo.
Possiamo dunque dare la seguente formulazione integrale al problema (1.12):

u V e soddisfa
Z L
Z L
(1.47)
du dv

f v dx
per ogni v V .
dx =
dx dx
0
0

Diciamo che questa `e la formulazione variazionale, o debole, del problema del filo elastico. Essa
traduce in termini matematici quello che in Meccanica `e noto come Principio dei Lavori Virtuali : il lavoro compiuto dalla forza esterna in corrispondenza di uno spostamento ammissibile
(rappresentato dallintegrale a secondo membro della (1.47)) `e uguale al lavoro compiuto dalle
reazioni elastiche del materiale (espresso dallintegrale a primo membro).
La formulazione differenziale (1.12) e quella variazionale (1.47) sono equivalenti se i dati del
` infatti
problema ed f (e conseguentemente la soluzione u) sono sufficientemente regolari. E
possibile dimostrare che una funzione u V , che abbia derivate prima e seconda continue in
[0, L], soddisfa la (1.12) se e solo se essa verifica la (1.47). Questo risultato giustifica luso di
tale formulazione nellapprossimazione numerica del problema. Daltro canto, la formulazione
integrale permette di trattare i casi pi`
u generali di coefficiente elastico continuo a tratti o di
carico f concentrato in un punto.
La formulazione differenziale induce u a soddisfare infinite condizioni, una per ogni punto
dellintervallo [0, L]; similmente, la formulazione variazionale impone sulla u infinite condizioni,
una per ogni scelta della funzione test in V . Le funzioni test costituiscono un insieme molto
ricco; ad esempio, stanno in V tutti i polinomi algebrici, di qualunque grado, che si annullano
agli estremi dellintervallo. Si noti tuttavia che non tutte le equazioni variazionali rappresentate
dalla (1.47) sono indipendenti tra loro: a causa della propriet`a di linearit`
a dellintegrale definito
e della derivata, se v1 e v2 sono due spostamenti ammissibili che soddisfano lequazione
Z L
Z L
du dv
f v dx ,
dx =

dx dx
0
0
anche ogni loro combinazione lineare v1 + v2 , con , R arbitrari, sar`
a uno spostamento
ammissibile che automaticamente verificher`
a tale equazione.

Come nel metodo alle differenze finite abbiamo selezionato un numero finito di punti in [0, L]
in cui andare a imporre una forma discreta dellequazione differenziale, cos` possiamo definire un

16

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

metodo di discretizzazione a partire dalla formulazione variazionale (1.47), sostituendo a V un


suo sottoinsieme diciamo Vh contenente soltanto un numero finito di spostamenti ammissibili
indipendenti tra loro. Per quanto appena visto, `e naturale che Vh sia uno spazio vettoriale, ed
avr`a dunque dimensione finita: gli spostamenti ammissibili di Vh , detti spostamenti discreti,
saranno determinati da un numero finito di parametri, detti gradi di libert`
a dello spostamento.
Ovviamente, limitando gli spostamenti ammissibili a quelli discreti, non potremo aspettarci che
la corrispondente formulazione variazionale porti alla determinazione dello spostamento esatto
u; ci accontenteremo di definire uno spostamento discreto uh , che approssimi u.
Siamo pertanto portati a considerare la seguente formulazione variazionale discreta:

uh Vh e soddisfa
Z L
Z L
(1.48)
duh dvh

f vh dx
per ogni vh Vh .
dx =

dx dx
0
0

Il metodo degli elementi finiti costituisce un modo semplice ed efficace per definire spazi Vh
di spostamenti discreti da impiegarsi nella formulazione variazionale discreta appena introdotta.
Consideriamo ancora N + 2 nodi xj nellintervallo [0, L], soddisfacenti la condizione (1.15); per
garantire una maggiore generalit`
a al metodo, non supporremo che i nodi siano necessariamente
equispaziati. Essi definiscono una suddivisione di [0, L] in intervalli Ij = [xj1 , xj ], per j =
1, . . . , N + 1, di ampiezza hj = xj xj1 ; `e conveniente porre h = max hj .
j

La scelta pi`
u semplice per gli spostamenti discreti consiste nel considerare quegli spostamenti
ammissibili che su ogni intervallo Ij siano polinomi di grado al pi`
u uguale a 1. Poniamo dunque
Vh = {vh V | vh|Ij P1 per j = 1, . . . , N + 1} ,

(1.49)

avendo indicato con P1 linsieme dei polinomi di grado minore o uguale a 1 nellintervallo Ij . Lo
spostamento discreto vh `e univocamente e facilmente individuato dai suoi valori vj = vh (xj ) nei
nodi interni (j = 1, . . . , N ). Infatti, in ogni intervallo Ij esso si scrive come
vh (x) = vj1

x xj1
xj x
+ vj
.
hj
hj

Dunque possiamo identificare vh con il vettore colonna v = (v1 , v2 , . . . , vN 1 , vN )T RN .


Questa identificazione porta a definire in modo naturale una base in Vh , che permetta di esprimere ogni spostamento discreto come combinazione lineare delle funzioni di base. Ricordiamo
ogni v RN pu`
o essere espresso come
v = v1 e1 + v2 e2 + + vN 1 eN 1 + vN eN ,

(1.50)

dove ej = (jk ) `e il vettore colonna della base canonica, le cui componenti sono tutte uguali
a 0 tranne la componente j che `e uguale a 1. Il vettore ej identifica lo spostamento discreto
j Vh , che assume il valore 0 in tutti i nodi tranne che nel nodo xj in cui vale 1. Tale funzione
si scrive come

x xj1

se x Ij ,

hj
(1.51)
j (x) = xj+1 x se x Ij+1 ,

h
j+1

0
altrimenti ;

1.4. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

17

xj2

xj1

xj

xj+1

xj+2

Figura 1.5: Grafico della funzione a cappello j

vj

xj1 xj

vj j (x)

xj+1

Figura 1.6: Rappresentazione di uno spostamento ammissibile discreto vh come combinazione


lineare delle funzioni di base di Lagrange, secondo la (1.52)
il suo grafico, mostrato in Figura 1.5, ne giustifica il nome di funzione a cappello. Ricordando
la (1.50), possiamo rappresentare ogni vh Vh come
vh (x) = v1 1 (x) + v2 2 (x) + + vN 1 N 1 (x) + vN N (x) =

N
X

vj j (x) .

(1.52)

j=1

Tale rappresentazione `e illustrata dalla Figura 1.6. Le funzioni j , j = 1, . . . , N , costituiscono


la base di Lagrange in Vh .
Vediamo ora come il problema (1.48) possa tradursi in un sistema algebrico, mediante luso
della base appena definita in Vh . Scegliendo di volta in volta vh = j in (1.48), otteniamo
immediatamente che uh soddisfa
Z L
Z L
duh dj
f j dx
per j = 1, . . . , N .
(1.53)
dx =

dx dx
0
0

18

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

Notiamo che questo sistema di N equazioni `e equivalente al sistema di infinite equazioni dato
dalla (1.48). Infatti, ogni equazione contenuta in (1.48) si ottiene per combinazione lineare
N
X
vj j , `e sufficiente moltiplicare la j-esima equazione in (1.53) per vj e
delle (1.53): se vh =
j=1

sommare su j, ottenendo

N
X

vj

j=1

X
duh dj
vj
dx =
dx dx
j=1

f j dx ,
0

ora usiamo la linearit`


a dellintegrale definito e della derivata per scrivere tale relazione come

Z L
Z L
N
N
X
duh d X

vj j dx ,
vj j dx =
f
dx dx
0
0
j=1

j=1

che altro non `e che la (1.48).

Rappresentiamo ora uh nella base di Lagrange, come uh =


otteniamo

N
X

uk k . Sostituendo nella (1.53)

k=1

N
X

d
dx

uk k

k=1

dj
dx =
dx

f j dx

per j = 1, . . . , N ;

usando nuovamente la linearit`


a della derivata e dellintegrale definito, giungiamo al sistema di
equazioni algebriche
N
X
k=1

uk

dk dj
dx =
dx dx

Ponendo
ajk =
il sistema (1.54) si scrive come

N
X

f j dx

dk dj
dx ,
dx dx

ajk uk = fj

per j = 1, . . . , N .

(1.54)

(1.55)

fj =

f j dx ,
0

per j = 1, . . . , N

k=1

vale a dire, in forma matriciale,


Au = f ,

(1.56)

avendo posto
A = (ajk ) RN N ,

u = (uk ) RN ,

f = (fj ) RN .

La matrice A prende il nome di matrice di rigidezza (stiffness matrix, nella letteratura anglosassone); segnaliamo che piuttosto sovente essa viene denotata con K nei testi di Ingegneria
Numerica. Non ci resta che calcolarne gli elementi, insieme a quelli del termine noto f .
Calcolo della matrice di rigidezza

1.4. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

19

Notiamo innanzitutto che, in base alla definizione (1.55), la matrice `e simmetrica. Inoltre,
per la propriet`a di additivit`
a dellintegrale rispetto al dominio di integrazione, si ha
ajk =

N
+1 Z
X
m=1

Im

dk dj
dx ,
dx dx

ossia ogni elemento di matrice pu`


o essere ottenuto sommando i contributi provenienti da ciascun
intervallo della suddivisione.
Unaltra osservazione fondamentale `e che la funzione di base j `e identicamente nulla al di
fuori dellintervallo [xj1 , xj+1 ] (si veda ancora la Figura 1.5); tale intervallo prende il nome di
supporto di j . Pertanto, il prodotto
dk dj
dx dx
`e identicamente nullo se i supporti [xk1 , xk+1 ] e [xj1 , xj+1 ] hanno intersezione vuota, ossia se
|j k| > 2 (Figura 1.7, in alto). Se invece |j k| = 2, i supporti si intersecano in un solo punto
(Figura 1.7, al centro), ma ancora il prodotto `e uguale a 0 in ogni intervallo Im . In entrambi i
casi, e dunque per |j k| 2, lelemento di matrice ajk `e nullo.
Supponiamo ora k = j 1. Le funzioni j1 e j hanno supporti che si intersecano nellintervallo [xj1 , xj ] = Ij (Figura 1.46, in basso); pertanto, il prodotto delle derivate `e identicamente
nullo al di fuori di tale intervallo e dunque
Z
dj1 dj
dx .

aj,j1 =
dx dx
Ij
Su Ij , le funzioni di base sono lineari, quindi le loro derivate prime sono costanti; precisamente,
ricordando la (1.51), si ha
dj1
dj
1
1
= ,
=
;
dx
hj
dx
hj
pertanto,
aj,j1

1
= 2
hj

Ij

dx =

,
hj j1/2

R
avendo introdotto il valor medio
j1/2 = h1 j Ij dx del coefficiente elastico sullintervallo
Ij . Tale valore sovente non `e calcolabile esattamente, e quindi pu`
o essere approssimato ad
esempio con il valore j1/2 = (xj1/2 ) del coefficiente nel punto medio xj1/2 = (xj1 + xj )/2
dellintervallo. In conclusione, porremo
aj,j1 =

.
hj j1/2

Consideriamo infine lelemento diagonale ajj . Abbiamo


ajj =

Ij

con

dj
1
=
dx
hj

dj
dx

su Ij ,

2

dx +

Ij+1

dj
dx

dj
1
=
dx
hj+1

2

dx

su Ij+1 .

20

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

j3

xj4 xj3 xj2

xj

xj1

j2

xj4

xj+1

xj3 xj2 xj1 xj

j1

xj4

xj+1

xj3 xj2

xj1

xj

xj+1

Figura 1.7: Interazione tra la funzione di base j e alcune funzioni di base k con k < j
Pertanto, con la medesima approssimazione del coefficiente elastico applicata sopra, otteniamo
1
1

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

ajj =

Riassumendo, la matrice di rigidezza `e tridiagonale



j+1/2
j1/2

hj
hj+1

j1/2
hj
ajk =
j+1/2

hj+1

Calcolo del termine noto


Abbiamo

fj =

Ij

f j dx +

simmetrica ed ha la seguente espressione:

Ij+1

se k = j ,
se k = j 1 ,
se k = j + 1 ,
altrimenti .

f j dx .

(1.57)

` DELLA DISCRETIZZAZIONE
1.5. PROPRIETA

21

Per una densit`a di forza generica, non `e possibile calcolare esattamente gli integrali; ciascuno di
essi viene
R b pertanto approssimato mediante una formula di quadratura. Usando la formula dei
trapezi a g dx (g(a) + g(b))(b a)/2 e ricordando che j `e nulla in xj1 e in xj+1 e vale 1 in
xj , otteniamo il valore approssimato
fj = f (xj )

hj + hj+1
.
2

(1.58)

Rb
Usando invece la formula del punto medio a g dx g((a + b)/2)(b a), otteniamo il valore
approssimato

1
fj = f (xj1/2 )hj + f (xj+1/2 )hj+1 .
(1.59)
2

` interessante confrontare la struttura del sistema algebrico (1.21) ottenuto dalla discretizzaE
zione mediante differenze finite, che scriviamo ADF uDF = f DF , con quella del sistema algebrico
(1.56), che scriviamo AEF uEF = f EF . Si nota che ogni elemento della matrice AEF o del termine noto f EF `e dellordine di h volte il corrispondente elemento di ADF o di f DF , dove h
indica il passo locale di discretizzazione spaziale. Ci`
o `e perfettamente logico, se si ricorda che
la formulazione variazionale del problema del filo elastico, che ha generato la discretizzazione
agli elementi finiti, `e ottenuta integrando sullintervallo spaziale la formulazione differenziale,
che sta alla base della discretizzazione alle differenze finite. Nel caso di suddivisione equispaziata dellintervallo [0, L] (h costante) e di uso della formula (1.58) per il termine noto, abbiamo
addirittura AEF = hADF e f EF = hf DF e pertanto uEF = uDF : i due metodi forniscono la
stessa approssimazione dello spostamento u.

1.5

Propriet`
a della discretizzazione

Applicando il teorema di Gerschgorin alla matrice (1.57), otteniamo i seguenti intervalli di


Gerschgorin:


3/2
1/2 1/2
,
+2
,
C1 =
h1
h1
h2


j+1/2
j1/2
+2
,
j = 2, . . . , N 1 ,
Cj = 0, 2
hj
hj+1


N +1/2 N 1/2
N +1/2
CN =
,2
+
.
hN +1
hN
hN +1
Deduciamo, come nel caso delle differenze finite, che tutti gli autovalori sono strettamente positivi, dunque la matrice `e non-singolare e pi`
u precisamente definita-positiva. Si pu`
o inoltre
dimostrare che, sotto lipotesi che tutti gli hj siano dello stesso ordine di grandezza, il numero
di condizionamento della matrice ha un comportamento del tipo
cond2 (A) ch2 ,

(1.60)

pertanto, il condizionamento peggiora al diminuire del passo di discretizzazione.


Vale un risultato di stabilit`
a analogo alla (1.37). Per quanto riguarda la convergenza, nel
metodi degli elementi finiti `e naturale stimare lerrore tra la soluzione esatta u e la soluzione
discreta uh in una norma di tipo integrale. Questa pu`
o essere la norma quadratica
1/2
Z L
2
v dx
kvk2 =
0

22

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

oppure la norma dellenergia


kvkE =

dv
dx

2

dx

!1/2

Supponendo che u ammetta derivata seconda ddxu2 in [0, L] avente norma quadratica limitata, si
hanno le seguenti stime dellerrore:
2
2


d u
2 d u

ku uh k2 Ch 2
e
ku uh kE Ch
(1.61)
dx2 ,
dx 2
2

in cui C `e una costante indipendente da u e da h. Le stime mostrano che la soluzione discreta


converge a quella esatta per h 0, con una velocit`a di convergenza (quadratica o lineare) che
dipende dalla norma usata per misurare lerrore.
` anche possibile stimare il massimo errore tra u(x) e uh (x) in [0, L]. Infatti, se u ammette
E
derivata seconda limitata in [0, L], ponendo
kvk = max |v(x)| ,
x[0,L]

si ha
ku uh k

1.6

Altre condizioni al bordo

d2 u

Ch2
dx2

(1.62)

Le condizioni poste agli estremi dellintervallo [0, L] in (1.12) obbligano la funzione incognita u
ad annullarsi in x = 0 e in x = L: le estremit`a del filo sono fissate sullasse delle x, nei punti di
coordinate (0, 0, 0) e (L, 0, 0). Pi`
u in generale, scelti arbitrariamente due numeri reali g0 e gL ,
possiamo imporre le condizioni
u(0) = g0 ,

u(L) = gL ;

in tal caso, le estremit`a del filo elastico saranno fissate nei punti di coordinate (0, g0 , 0) e
(L, gL , 0). Quando si assegna il valore della funzione incognita in un punto del bordo, si dice che si impone una condizione di Dirichlet; essa sar`
a detta omogenea se il valore assegnato `e
0, non omogenea altrimenti.
In alternativa, `e possibile assegnare lo sforzo di taglio in uno dei punti di bordo, ossia,
ricordando la (1.9), imporre la condizione

du
(0) = 0 ,
dx

oppure

du
(L) = L .
dx

Una tale condizione viene della condizione di Neumann, rispettivamente omogenea o non omogenea a seconda che il valore assegnato sia o non sia uguale a 0. Dal punto di vista fisico, la
condizione du
a destra del filo `e libera di scorrere lungo la retta
dx (L) = 0 significa che lestremit`
di equazione x = L nel piano (x, y, 0) in cui giace il filo, e nessuno sforzo `e applicato in tale
estremit`a. Notiamo che non sarebbe possibile assegnare una condizione di Neumann in entrambi
gli estremi dellintervallo, in quanto ci`
o non determinerebbe univocamente la posizione del filo:
data una soluzione y = u(x) del problema, anche y = u(x) + c, con c reale arbitrario, lo sarebbe.

1.6. ALTRE CONDIZIONI AL BORDO

23

Rimandiamo al Cap. 5 per altre interpretazioni fisiche, in ambito termico, delle condizioni di
Dirichlet e di Neumann, e per un altro tipo di condizione al bordo, detta di Robin.
Per illustrare il modo di imporre una condizione di Dirichlet non omogenea o una condizione
di Neumann allinterno di un metodo di discretizzazione mediante differenze finite o elementi
finiti, consideriamo il problema ai valori al bordo



du
d

=f
in (0, L) ,
dx
dx
(1.63)

u(0) = g0 , du (L) = L ,
dx
che chiameremo problema ai valori al bordo di tipo misto Dirichlet/Neumann.

1.6.1

Discretizzazione mediante differenze finite

Il valore u0 nel bordo sinistro x = 0 `e determinato dalla condizione di Dirichlet, ossia u0 = g0 .


Esso viene sostituito nellequazione (1.20) per j = 1, che diventa

1
1
= f1 + 2 1/2 g0 .
(
+

)u

u
1
2
1/2
3/2
3/2
2
h
h

(1.64)

Dunque la condizione di Dirichlet non omogenea in x = 0 comporta la modifica della prima


componente del vettore f , mentre le altre componenti di tale vettore, cos` come la matrice del
sistema, non risentono della condizione.
La condizione di Neumann in x = L porta invece ad introdurre una nuova incognita del
problema, la quantit`
a uN +1 u(xN +1 ) = u(L); i vettori u e f avranno dunque dimensione
` necessario aggiungere una nuova
N + 1 anzich`e N , mentre la matrice A sar`
a di ordine N + 1. E
equazione alle equazioni (1.20) che valgono nei nodi interni. Una prima possibilit`a consiste
nellimporre la condizione di Neumann in modo approssimato, sostituendo alla derivata prima
in x = L il rapporto incrementale allindietro, ossia
uN +1 uN
du
(L)
;
dx
h
la nuova equazione del sistema sar`
a dunque
N +1

uN +1 uN
= L ,
h

con N +1 = (L). Tuttavia, lapprossimazione della derivata prima fornita dal rapporto incrementale allindietro `e accurata solo al primo ordine (si ricordi la (7.5)), mentre tutte le approssimazioni fatte nella Sez. 1.2 sono accurate al secondo ordine, come riflesso dal comportamento
dellerrore espresso nella (1.43) oppure nella (1.44).
` preferibile invece imporre leq. (1.20) anche nel nodo di bordo xN +1 , ottenendo
E

1
N +1/2 uN + (N +1/2 + N +3/2 )uN +1 N +3/2 uN +2 = fN +1 ;
2
h

(1.65)

ci`o fa intervenire una incognita aggiuntiva uN +2 corrispondente ad un nodo fittizio xN +2 = L+h


al di fuori dellintervallo [0, L]. Tale incognita, per`
o, viene immediatamente eliminata imponendo nel nodo xN +1 anche lapprossimazione della condizione di Neumann ottenuta mediante il
rapporto incrementale centrato (vedi la (7.7)), ossia
N +1

uN +2 uN
= L .
2h

24

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

Sostituendo lespressione uN +2 = uN + 2hL /N +1 ottenuta da tale relazione nella (1.65) e


ponendo N +3/2 = N +1/2 , si ottiene, dopo divisione per 2, lequazione
 1
1
1 N +1/2
= fN +1 +

u
+

u
L ,
N
N
+1
N
+1/2
N
+1/2
2
h
2
h N +1

(1.66)

che costituisce la (N + 1)-esima equazione del sistema.


In definitiva, la discretizzazione mediante differenze finite del problema (1.63) pu`
o essere
scritta in forma matriciale come
Au = f ,
(1.67)
avendo definito i vettori colonna di RN +1

f1 + h12 1/2 g0
u1
u2

f2

.
u = ...
f = ..
,

uN

fN
1 N+1/2
1
uN +1
2 fN +1 + h N+1 L

(1.68)

e la matrice quadrata A di ordine N + 1 i cui elementi ajk sono dati da

ajk

j1/2 + j+1/2

N +1/2
1
= 2 j1/2
h

j+1/2

se k = j N ,
se k = j = N + 1 ,
se k = j 1 ,
se k = j + 1 ,
altrimenti .

(1.69)

Si noti che la matrice A `e ancora tridiagonale simmetrica, e si dimostra essere ancora definita
positiva. Nel caso in cui sia costante, abbiamo

2 se k = j N ,

1 se k = j = N + 1 ,

ajk = 2
(1.70)
h
1 se k = j 1 ,

0 altrimenti
(si confronti con la (1.25)), ossia, con la notazione introdotta in (1.27),
A=

1.6.2

tridiag [1 2 1; 1 1] .
h2

Discretizzazione mediante elementi finiti

Per le condizioni al bordo in (1.63), gli spostamenti ammissibili v devono rispettare il vincolo
v(0) = g0 in x = 0, mentre nessuna condizione `e imposta in x = L. Dunque linsieme degli
spostamenti ammissibili, o funzioni di forma, `e ora dato da
V (g0 ) = {v : [0, L] R | v `e continua su [0, L], derivabile a tratti

con derivata continua, e tale che v(0) = g0 } .

1.6. ALTRE CONDIZIONI AL BORDO

25

La soluzione u del problema (1.63) sta in V (g0 ). Dati due spostamenti ammissibili v1 e v2 , la loro
differenza, o variazione, v1 v2 , soddisfa la condizione (v1 v2 )(0) = g0 g0 = 0; introduciamo
dunque anche linsieme
V (0) = {v : [0, L] R | v `e continua su [0, L], derivabile a tratti

con derivata continua, e tale che v(0) = 0}

delle variazioni ammissibili, o funzioni test. Nel caso di condizioni di Dirichlet non omogenee,
vi `e dunque differenza tra le funzioni di forma, che soddisfano tali condizioni, e le funzioni test,
che soddisfano le condizioni omogenee associate.
Nella definizione delle funzioni di forma o test, non si tiene conto della condizione di Neumann
in x = L; infatti, essa riguarda gli sforzi, non gli spostamenti. Tale condizione viene imposta
allinterno della formulazione variazionale, nel modo seguente. Partiamo dalla (1.46), ottenuta
dalla (1.46) per integrazione per parti; ora le funzioni test stanno in V (0). Il termine di bordo
vale


du
du
du L
v = (L)v(L) (0)v(0) = L v(L) ,
dx 0
dx
dx
avendo appunto imposto la condizione di Neumann in x = L e tenuto conto dellannullarsi delle
funzioni test in x = 0. Portando tale espressione a secondo membro, otteniamo la seguente
formulazione variazionale del problema (1.63):

u V (g0 ) e soddisfa
Z L
Z L
du dv

dx =
f v dx + L v(L)

dx dx
0
0

per ogni v V (0) .

(1.71)

La discretizzazione mediante elementi finiti lineari `e ottenuta restringendo gli spostamenti


ammissibili e le variazioni ammissibili a quelle funzioni che su ogni intervallo Ij sono polinomi
di grado al pi`
u uguale a 1. Si pone quindi
Vh (g0 ) = {vh V (g0 ) | vh|Ij P1 per j = 1, . . . , N + 1} ,
e
Vh (0) = {vh V (0) | vh|Ij P1 per j = 1, . . . , N + 1} ,
e si considera la formulazione variazionale discreta

uh Vh (g0 ) e soddisfa
Z L
Z L
duh dvh

f vh dx + L vh (L)
dx =

dx dx
0
0

per ogni vh Vh (0) .

(1.72)

Le nuove condizioni al bordo richiedono lintroduzione di due nuove funzioni di base di Lagrange, oltre alle funzioni a cappello j , j = 1, . . . , N, considerate in (1.51). Esse sono la funzione
0 che vale 1 nel nodo di bordo x0 = 0 e 0 in tutti gli altri nodi,

h1 x se x I ,
1
h1
0 (x) =
(1.73)
0
altrimenti ,

26

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

1
0

N +1

x1

x0 = 0

xN

xN +1 = L

Figura 1.8: Funzione di base 0 e N +1 , associate rispettivamente ai nodi di bordo x0 = 0 e


xN +1 = L
(avente come supporto il solo intervallo I1 ), e la funzione N +1 che vale 1 nel nodo di bordo
xN +1 = L e 0 in tutti gli altri nodi,

x xN se x IN +1 ,
hN +1
(1.74)
N +1 (x) =
0
altrimenti ,

(avente come supporto il solo intervallo IN +1 ). I grafici di tali funzioni sono rappresentati in
Fig. 1.8.
La soluzione uh Vh (g0 ) del problema discreto (1.72) si rappresenta quindi come
uh (x) = g0 0 (x) +

N
+1
X

uk k (x) ,

(1.75)

k=1

mentre una funzione test discreta vh Vh (0) si rappresenta come


vh (x) =

N
+1
X

vj j (x) .

j=1

Traduciamo ora la formulazione variazionale discreta (1.72) in un sistema algebrico


Au = f

(1.76)

nelle incognite u = (uk )1kN +1 . Scegliendo di volta in volta vh = j in (1.72), abbiamo


Z L
Z L
duh dj

f j dx + L j (L)
per j = 1, . . . , N + 1 .
(1.77)
dx =
dx dx
0
0
Sostituendo lespressione (1.75) di uh , otteniamo
N
+1
X
k=1

uk

dk dj
dx =
dx dx

f j dxg0
0

d0 dj
dx+L j (L)
dx dx

per j = 1, . . . , N +1 .
(1.78)

1.6. ALTRE CONDIZIONI AL BORDO

27

Gli elementi di matrice


ajk =

dk dj
dx ,
dx dx

1 j, k N + 1 ,

si calcolano come descritto nella Sez. 1.4. Lunica differenza `e il termine diagonale aN +1,N +1 ,
che dipende dal solo intervallo IN +1 in quanto, come gi`a osservato, il supporto di N +1 `e dato
da questo solo intervallo; si ha dunque


Z
dN +1 2
1

aN +1,N +1 =

.
dx =
dx
hN +1 N +1/2
IN+1
Pertanto, la matrice di rigidezza A = (ajk )1j,kN +1 ha la seguente espressione:

j+1/2
j1/2

+
se k = j N ,

hj
hj+1

N +1/2

se k = j = N + 1 ,

hN +1

ajk = j1/2
se k = j 1 ,

hj

j+1/2

se k = j + 1 ,

hj+1

0
altrimenti .

(1.79)

Per quanto riguarda il secondo membro delle (1.78), i termini dipendenti dalle condizioni al
bordo compaiono solo per j = 1 e j = N + 1. Si ha infatti
(
Z L
h11 1/2 se j = 1 ,
d0 dj

dx =
dx dx
0
altrimenti ,
0
a causa dellintersezione dei supporti di 0 e j , e
(
1
j (L) = j (xN +1 ) =
0
Le espressioni

se j = N + 1 ,
altrimenti .

f j dx possono essere calcolate in modo approssimato mediante la formula

dei trapezi o del punto medio, come in (1.58) o (1.59); si noti per`
o che, sempre a causa del
supporto di N +1 , si ha

Z
Z L
f (xN +1 ) hN+1
(formula dei trapezi) ,
2
f N +1 dx
f N +1 dx =
h
N+1
f (x
IN+1
0
(formula del punto medio) .
N +1/2 ) 2
In definitiva, indicando con

fj

lespressione

f j dx oppure una sua approssimazione nume-

rica, il termine noto del sistema algebrico (1.76) `e

f1 + h1 1/2 g0
fj = fj


fN +1 + L

dato da f = (fj )1jN +1 con


se j = 1 ,
se 2 j N ,
se j = N + 1 .

(1.80)

28

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

` interessante notare che, nel caso di suddivisione equispaziate dellintervallo [0, L] con passo
E
h e di coefficiente elastico costante in un intorno di x = L, si ha ancora
AEF = hADF

f EF = hf DF ;

dunque le discretizzazioni mediante differenze finite e mediante elementi finiti forniscono la stessa
approssimazione dello spostamento u.

1.7

Un modello con richiamo

Consideriamo ora un modello di filo elastico un poco pi`


u complesso. Precisamente, supponiamo
che sul filo agisca, oltre alla densit`a volumica di forza f , anche una (densit`a di) forza di richiamo
r, proporzionale allo spostamento u e diretta nel verso opposto:
r = u ,

(1.81)

con 0 coefficiente di proporzionalit`


a. In altri termini, possiamo pensare che su ogni elemento
di volume V del filo agisca una molla, con costante elastica , che si oppone allo spostamento
dellelemento e tende a richiamarlo nella sua posizione di riferimento V0 . (Se = 0, intendiamo
che su quellelemento non agisca il richiamo.)
Il corrispondente modello matematico pu`
o essere ottenuto procedendo come nel Paragrafo
1.1, semplicemente sostituendo a f la nuova espressione f u. Assumendo il filo fissato agli
estremi dellintervallo, la (1.11) diventa

ossia

+ f u = 0 in (0, L) ,

dx
du
=
in (0, L) ,

dx

u(0) = u(L) = 0 ,




d du + u = f
dx
dx

u(0) = u(L) = 0 .

in (0, L) ,

(1.82)

(1.83)

Anche tale problema ai valori al bordo ammette una e una soluzione, se ad esempio > 0, 0
ed f sono funzioni continue (a tratti) in [0, L].
La discretizzazione di tale problema mediante differenze finite o elementi finiti conduce ancora
ad un sistema algebrico della forma
Au = f ,
(1.84)
dove A `e la matrice di rigidezza, u `e il vettore degli spostamenti nei nodi e f `e il vettore dei
` utile osservare che, essendo il primo membro della (1.83) somma
termini noti, dipendenti da f. E
du
d
a come somma di due matrici,
di due contributi, dx dx e u, anche la matrice A si scriver`
A = A() + A() ,

(1.85)

la prima associata agli effetti di taglio, la seconda agli effetti di richiamo.


Vediamo ora lespressione del sistema (1.84) per le discretizzazioni mediante differenze finite
ed elementi finiti.

1.7. UN MODELLO CON RICHIAMO

29

Discretizzazione mediante differenze finite


Le equazioni (1.20) diventano ora

1
+ j uj = fj ,

u
+
(
+

)u

u
j1
j
j+1
j1/2
j1/2
j+1/2
j+1/2
h2

j = 1, . . . , N , (1.86)

avendo posto j = (xj ). La matrice A() `e data dalla (1.23), mentre A() `e la matrice diagonale
A() = diag ((j )1jN ) .

(1.87)

In pratica, la matrice A si ottiene dalla A() sommando i coefficienti j , j = 1, . . . , N , agli


elementi sulla diagonale principale. Essa `e dunque simmetrica; inoltre, essendo j 0 per
ogni j, il teorema di Gerschgorin assicura ancora che A `e definita positiva, e ne permette la
localizzazione degli autovalori. I vettori u e f sono ancora dati dalla (1.22).
Discretizzazione mediante elementi finiti
La formulazione variazionale discreta (1.48) diventa ora

uh Vh e soddisfa

Z L
Z L
duh dvh

f vh dx
+ uh vh dx =

dx dx
0
0

per ogni vh Vh ,

la quale mediante introduzione della base di Lagrange d`


a luogo alle equazioni

Z L
Z L
duh dj

+ uh j dx =
f j dx
per j = 1, . . . , N ,
dx dx
0
0

(1.88)

(1.89)

ossia
N
X
k=1

uk

Z

dk dj
dx +

dx dx

k j dx

f j dx

per j = 1, . . . , N ,

(1.90)

che generalizzano le (1.54).


Gli elementi della matrice A() sono ancora dati dalle (1.55), vale a dire dalle (1.57). Invece,
gli elementi della matrice B = A() sono dati da
Z L
k j dx .
(1.91)
bjk =
0

Tale matrice `e simmetrica, ed `e tridiagonale come la precedente, ancora come conseguenza della
localizzazione delle funzioni di base: infatti, solo gli elementi bj,j1 , bjj e bj,j+1 possono essere
non nulli in ciascuna riga.
Abbiamo
Z
j1 j dx ;
bj,j1 =
Ij

possiamo facilitare il calcolo dellelemento di matrice, nel caso in cui non sia costante su
Ij , approssimando tale funzione con una costante j1/2 , data ad esempio dal suo valor medio
sullintervallo o dal suo valore nel punto medio dellintervallo. In altri termini, al posto della
relazione precedente scriviamo
Z
bj,j1 = j1/2
j1 j dx .
Ij

30

CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

Usando lespressione (1.51) per le funzioni j1 e j sullintervallo Ij ed eseguendo il cambiamento di variabile di integrazione x = xj1 + shj con 0 s 1, da cui dx = hj ds,
abbiamo
Z xj
Z
1
(xj x)(x xj1 ) dx
j1 j dx =
h2j xj1
Ij


Z
1 3 1
1 2 1 3 1 1
= hj
s s
=
h
(1 s)s ds = hj
2
3
6
h2j j 0
0
e dunque

1
bj,j1 = j1/2 hj .
6
Per quanto riguarda il termine diagonale
Z
Z
bjj =
2j dx +
2j dx ,
Ij

Ij+1

procedendo come sopra otteniamo


1
1
bjj = j1/2 hj + j+1/2 hj+1 .
3
3
In definitiva, gli elementi della matrice B sono dati da

3 (j1/2 hj + j+1/2 hj+1 )

1
6 j1/2 hj
bjk =
1

6 j+1/2 hj+1

se k = j ,
se k = j 1 ,
se k = j + 1 ,

(1.92)

altrimenti .

Notiamo che nel caso particolare in cui sia costante su [0, L] e la suddivisione dellintervallo
sia equispaziata con passo h, lespressione precedente si semplifica in

se k = j ,

3
1
bjk = h
(1.93)
se k = j 1 ,
6

0 altrimenti ,

ossia si ha

B = h tridiag

1

2
3

1
6

(1.94)

Applicando il teorema di Gerschgorin, deduciamo facilmente che tutti gli autovalori della
matrice B sono 0; tuttavia non possiamo escludere che alcuni di essi siano nulli, se qualche
coefficiente j+1/2 `e nullo (ricordiamo che abbiamo supposto 0 in [0, L]). Dunque sotto
questa ipotesi la matrice B `e solo semidefinita positiva, ossia soddisfa xT Bx 0 per ogni
x RN ; essa `e definita positiva se > 0 in [0, L]. Tuttavia, `e immediato vedere che la somma
di una matrice definita positiva (quale la A() ) e di una matrice semidefinita positiva (quale la
B = A() ) `e ancora definita positiva; concludiamo pertanto che la matrice A data dalla (1.85)
`e simmetrica definita positiva.
In un contesto fisico diverso (si veda il Paragrafo 4.1), la matrice B ora introdotta viene detta
matrice di massa. Il coefficiente assume allora il significato fisico di densit`a lineare di massa.

Capitolo 2

Il modello della membrana elastica


2.1

Il modello

La deduzione del modello di membrana elastica estende alle due dimensioni spaziali quella del
modello di filo elastico vista nel Paragrafo 1.1.
Consideriamo una membrana elastica sottile, di spessore 2, la cui sezione mediana occupa in
posizione di riposo una regione limitata del piano x1 x2 ; in altri termini, in assenza di forze
esterne la membrana `e data da [, ]. Supponiamo che la membrana sia fissata lungo la
superficie laterale [, ], dove indica il bordo di . Applichiamo ad essa una (piccola)
densit`a volumica di forza f = 0e1 + 0e2 + f3 e3 , diretta normalmente alla sezione mediana
della membrana. Essa induce un (piccolo) spostamento u = u1 e1 + u2 e2 + u3 e3 a partire dalla
posizione di riferimento; in prima approssimazione le componenti u1 e u2 saranno trascurabili
rispetto alla componente u3 che descrive lo spostamento nella direzione della forza.
Sia V0 = [, ] un elemento di membrana nella posizione di riferimento; siano 0 =
[, ] la superficie laterale dellelemento. Esso si trasforma nellelemento V per effetto
della forza applicata; sia la superficie laterale trasformata. Indichiamo con il tensore degli
sforzi della membrana, dato dalla (1.1), e con n la normale a , orientata nel verso uscente da
V . Lequazione di equilibrio `e
Z
Z
(2.1)
n d = 0 .
f dV +
V

Nellipotesi di spostamenti piccoli, possiamo in prima approssimazione confondere V con


V0 e la superficie laterale trasformata con quella di riferimento. Questo e lipotesi di membrana
sottile ci permette di passare a un modello bidimensionale. Procedendo come nel Paragrafo 1.1,
giungiamo allequazione di equilibrio approssimata sullelemento V0 di sezione mediana
Z
Z
n ds = 0 ,
f dx1 dx2 +
(2.2)

dove
1
f (x1 , x2 ) =
2

f (x1 , x2 , x3 ) dx3

1
(x1 , x2 ) =
2

(x1 , x2 , x3 ) dx3

sono i valori medi di f e lungo lo spessore della membrana, mentre n = (n1 , n2 , 0)T `e il
vettore normale a orientato nel verso uscente, che dora in avanti confonderemo con il vettore
bidimensionale n = (n1 , n2 )T . Si noti che la (2.2) `e lanaloga della (1.4) nel caso bidimensionale.
31

32

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

Prendiamo ora la componente di tale equazione lungo lasse x3 , ossia formiamone il prodotto
scalare con e3 , ottenendo
Z
Z

31 n1 + 32 n2 ds = 0 .
f3 dx1 dx2 +

Applichiamo ora il Teorema della divergenza (7.1) in R2 al campo vettoriale bidimensionale 3 = (31 , 32 )T (supponiamo qui che tanto il bordo quanto il campo vettoriale siano
sufficientemente regolari). Abbiamo
Z
Z
f3 dx1 dx2 + 3 dx1 dx2 = 0 ;

essendo arbitrario in , necessariamente dovr`a valere la relazione differenziale


f3 + 3 = 0

in ,

(2.3)

che esprime la condizione di equilibrio della membrana.


A questo punto, invochiamo ancora la legge costitutiva di Hooke (1.7); prendendo le componenti 3, 1 e 3, 2 di tale equazione e ricordando che u1 e u2 sono trascurabili rispetto a u3 ,
otteniamo lequazione costitutiva approssimata
31 =

u3
,
x1

32 =

u3
,
x2

(2.4)

che possiamo scrivere in modo compatto come


3 = u3 ,

(2.5)

avendo indicato con u3 il gradiente di u3 (rispetto alle variabili x1 e x2 ).


Omettendo per semplicit`a i pedici alle quantit`a u3 , 3 e f3 , otteniamo il seguente sistema di
equazioni a derivate parziali:
(
+f =0
in ,
(2.6)
= u
a cui va aggiunta la condizione al bordo di Dirichlet
u=0

su ,

(2.7)

che esprime il fatto che la membrana `e fissata al bordo. Sostituendo lespressione di data dalla
seconda delle (2.6) nella prima equazione, otteniamo il problema ai valori al bordo

(u) = f in ,
(2.8)
u = 0
su .

nellincognita u. Notiamo che lequazione in si esplicita come






u

=f ,

x
x
y
y
avendo posto per semplicit`a x = x1 e y = x2 .

2.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE

33

yN +1 = L

(x , ym )

ym

x0 = y 0 = 0

(xN +1 , ym )

xN +1 = L

Figura 2.1: La griglia computazionale con i vari tipi di nodi: nodi interni forti (pallini scuri),
nodi interni deboli (quadrati), nodi di bordo (rombi)
Nel caso in cui il coefficiente sia costante in , otteniamo lequazione di Poisson
u = f
dove lespressione
u =

in ,

2u 2u
+ 2
x2
y

(2.9)

(2.10)

indica il Laplaciano della funzione u.

2.2

Discretizzazione mediante differenze finite

In questo paragrafo, supponiamo per semplicit`a che sia costante; consideriamo dunque lequazione (2.9) con la condizione al bordo (2.7). Supponiamo inoltre che sia un quadrato, avente
lunghezza del lato uguale a L; possiamo scegliere gli assi cartesiani in modo che = (0, L)2 .
In analogia con quanto fatto nel caso del filo elastico, fissiamo un passo di discretizzazione
L
(con N 1), uguale in ciascuna direzione. Consideriamo la griglia equispaspaziale h =
N +1
ziata Gh in = [0, L]2 formata dai nodi (x , ym ) con x = h per 0 N + 1, e ym = hm
per 0 m N + 1. Notiamo che i nodi interni al quadrato hanno indici , m soddisfacenti
1 , m N ; al contrario, i nodi di bordo sono caratterizzati dallavere almeno uno dei due
indici uguale a 0 oppure a N + 1. La Figura 2.1 illustra la situazione. Per brevit`a, nel seguito
useremo il simbolo (, m) per denotare il nodo (x , ym ).
Indichiamo con um u(x , ym ) una approssimazione dello spostamento u nel nodo (x , ym );
poniamo inoltre fm = f (x , ym ). Nei nodi di bordo lo spostamento `e nullo, dunque definiamo
um = 0

se

{0, N + 1} oppure m {0, N + 1} .

(2.11)

I restanti valori di um , relativi ai nodi interni, sono definiti imponendo in ciascuno di tali nodi
unapprossimazione dellequazione (2.9), ottenuta sostituendo alle derivate parziali seconde di

34

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

j+N

(, m + 1)

( 1, m)

(, m)

( + 1, m)

j 1

(, m 1)
S

j +1

jN

Figura 2.2: La molecola computazionale del metodo delle differenze finite per il Laplaciano:
numerazione dei nodi a due indici (a sinistra), numerazione a un indice quando il centro della
molecola `e un nodo interno forte (a destra)
u che compaiono nel termine u i rapporti incrementali secondi centrati (si ricordi la (7.11)).
Precisamente, osservando che x h = x1 e che ym h = ym1 , si ha
u1,m 2um + u+1,m
2u
u(x1 , ym ) 2u(x , ym ) + u(x+1 , ym )
(x , ym )

x2
h2
h2

(2.12)

u,m1 2um + u,m+1


u(x , ym1 ) 2u(x , ym ) + u(x , ym+1 )
2u
(x , ym )

.
2
2
y
h
h2

(2.13)

Pertanto, nei nodi interni imponiamo le seguenti equazioni:

(u,m1 u1,m + 4um u+1,m u,m+1 ) = fm ,


h2

1 , m N .

(2.14)

Ciascuna equazione lega tra loro i valori dello spostamento discreto in cinque nodi contigui: il
nodo in cui `e imposta lequazione e i nodi immediatamente al di sotto, a sinistra, a destra e al di
sopra di questo. Essi formano una cosiddetta molecola computazionale, tipica dello schema alle
differenze finite considerato. Con linguaggio geografico, i nodi della molecola attorno a quello
centrale sono talvolta indicati come i nodi a Nord, Sud, Est e Ovest (si veda la Figura 2.2, a
sinistra).
Le equazioni (2.14) sono in numero di N 2 ; le incognite di spostamento nei nodi interni sono
anchesse N 2 . Non in tutte le equazioni compaiono per`
o esattamente 5 incognite. Per chiarire
ci`o, distinguiamo tra nodi interni forti e deboli. I primi sono caratterizzati dal fatto che la loro
molecola computazionale `e interamente costituita da nodi interni; gli indici , m dei nodi interni
forti soddisfano quindi 2 , m N 1. Al contrario, i secondi sono quelli la cui molecola
computazionale include uno o due nodi di bordo; ci`o accade quando uno almeno tra gli indici
, m del nodo vale 1 oppure N (si veda ancora la Figura 2.1).

2.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE

35

In ogni equazione (2.14) relativa a un nodo interno forte compaiono esattamente 5 incognite
di spostamento. Invece, in unequazione relativa a un nodo interno debole compare un numero
minore (3 oppure 4) di incognite. Infatti, una tale equazione fa intervenire anche i valori di
spostamento in alcuni nodi di bordo; tali valori sono definiti dalle (2.11) e pertanto non sono
incogniti; essi vanno sostituiti nellequazione. Dopo questa fase, tutte le equazioni (2.14) conterranno solamente incognite di spostamento nei nodi interni. Ad esempio, lequazione relativa
al nodo debole (1, 1) diventa

(4u11 u21 u12 ) = f11 ,


(2.15)
h2
quella relativa a un nodo debole (, 1) con 2 N 2 assume la forma

(u1,1 + 4u1 u+1,1 u2 ) = f1 ,


h2

(2.16)

mentre quella relativa a un nodo debole (N, m) con 2 m N 2 `e

(uN,m1 uN 1,m + 4uN m uN,m+1 ) = fN m .


h2

(2.17)

Per tradurre il sistema di equazioni algebriche cos ottenuto nella forma Au = f , `e necessario
passare dalla numerazione a due indici (, m) dei nodi interni ad una numerazione ad un solo
indice, sia esso j. Ci`
o viene realizzato adottando lordinamento lessicografico, in cui sono elencati
dapprima gli N nodi della prima riga dal basso (m = 1), poi quelli della seconda riga (m = 2),
e cos` via; allinterno di ogni riga la numerazione procede da sinistra verso destra. Si vede
facilmente che
j = + (m 1)N
e si ha
1 j N2 .
(2.18)
Al contrario, dato j si pu`
o risalire a (, m) eseguendo la divisione intera di j per N ; detto q il
quoziente e r il resto, si pone
(
= r, m = q + 1 se 0 < r < N ,
(2.19)
= N, m = q
se r = 0 .
La Figura 2.2, a destra, mostra la numerazione a un indice della molecola computazionale di un
nodo interno forte. Poniamo poi uj = um e fj = fm. Con tali notazioni, lequazione (2.14)
relativa a un nodo interno forte diventa

(ujN uj1 + 4uj uj+1 uj+N ) = fj .


h2

(2.20)

Gli elementi della corrispondente riga (la j-esima) della matrice A sono dati da

ajk

4 se k = j ,

= 2 1 se k = j 1 oppure k = j N ,
h

0 altrimenti .

(2.21)

Le equazioni relative ai nodi interni deboli contengono soltanto le incognite (in numero di 3
oppure 4) associate ai nodi interni della molecola computazionale. Ad esempio, lequazione
(2.15) si esprime come

(4u1 u2 uN ) = f1 ;
(2.22)
h2

36

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

10

15

20

25
0

10

15

20

25

nz = 105

Figura 2.3: Struttura della matrice A per N = 5. I pallini indicano la posizione degli elementi
non nulli
le equazioni (2.16) si esprimono come

(uj1 + 4uj uj+1 uj+N ) = fj


h2

(2.23)

con j = , = 2, . . . , N 1, mentre le equazioni (2.17) si esprimono come

(ujN uj1 + 4uj uj+N ) = fj


h2

(2.24)

con j = mN , per m = 2, . . . , N 1. Le corrispondenti righe della matrice differiscono dalla


(2.21) per avere soltanto 2 (nel caso (2.22)) oppure 3 (nei casi (2.23 o (2.24)) elementi non nulli
fuori dalla diagonale principale.
La matrice A risultante `e simmetrica e pentadiagonale, cio`e ha 5 diagonali contenenti elementi
6= 0. Esse sono la diagonale principale, (ajj ), e le sopra- e sotto-diagonali (aj,j1 ) e (aj,jN ).
Gli elementi nella parte triangolare superiore della matrice sono

4 se k = j ,

1 se k = j + 1 con j 6= pN ,
(2.25)
ajk = 2
h
1
se
k
=
j
+
N
,

0 altrimenti .

Si noti che i termini aj,j+1 per j = pN , p = 2, . . . , N 1, sono nulli; ci`o traduce il fatto che nelle
equazioni (2.24) non compare lincognita uj+1 . La struttura della matrice, nel caso N = 5, `e
mostrata in Figura 2.3.
Vediamo ora qualche propriet`a della matrice A. Applicando il teorema di Gerschgorin, otteniamo immediatamente che i suoi autovalori sono tutti contenuti nellintervallo (0, 8
); pertanto,
h2
A `e una matrice simmetrica e definita-positiva. Inoltre, nella Sez. 4.2.1 si dimostra che, come

2.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE

37

nel casa del filo elastico, il numero di condizionamento peggiora con il raffinamento della griglia;
si ha precisamente
cond2 (A) ch2 CN 2 .
(2.26)
Lo schema alle differenze finite in due dimensioni ora considerato gode di propriet`a di stabilit`a, consistenza e convergenza analoghe a quelle del corrispondente schema monodimensionale,
presentate nel Paragrafo 1.3. In particolare, se la soluzione esatta u ammette derivate parziali
quarte in ciascuna variabile limitate in , si ha la stima dellerrore
 4 4 
u u
2
max |u(x , ym ) u,m | Ch max 4 + 4 .
(2.27)
0,mN
x
y
x
Ci`
o mostra che lo schema ha convergenza quadratica.

utile evidenziare la struttura tridiagonale a blocchi della matrice A. A tale scopo, raggrupE
piamo le incognite in blocchi di N elementi, corrispondenti ai nodi che stanno su una stessa riga
della griglia, cio`e ai nodi di indici , m con m fissato. Introduciamo dunque, per m = 1, . . . , N ,
i vettori colonna N dimensionali

um = (um )1N = u+(m1)N 1N .
Possiamo allora identificare il vettore delle incognite u = (uj )1jN 2 con il vettore colonna N dimensionale (um )1mN i cui elementi sono a loro volta i vettori um . Una analoga partizione
viene effettuata sul termine noto, ponendo
f = (f m )1mN

con f m = (fm )1N .

Conseguentemente, la matrice A risulta partizionata in modo naturale in N N matrici quadrate


di ordine N , del tipo

Amn = a+(m1)N,p+(n1)N 1,pN ;
(2.28)
precisamente, si ha

Amn

D = h2 tridiag [1 4 1] se n = m ,
= C = h2 I
se n = m 1 ,

O
altrimenti ,

(2.29)

dove I e O indicano rispettivamente la matrice identit`a e la matrice nulla di ordine N . Ci`


o
mostra la struttura tridiagonale a blocchi della matrice. (Ad esempio, la matrice rappresentata
in Fig. 2.3 pu`
o essere scritta come

D C
C D C

,
A=
C D C

C D C
C D

con D, C blocchi 5 5; per semplicit`a, abbiamo omesso i blocchi nulli.) Pi`


u in generale, con la
notazione introdotta in (1.27), possiamo scrivere
A = tridiag [C D C] .

38

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

Le equazioni del sistema Au = f possono allora essere scritte in forma compatta come

Du1 + Cu2 = f 1 ,
(2.30)
Cum1 + Dum + Cum+1 = f m ,
2mN 1.

CuN 1 + DuN = f N ,

Il sistema lineare scritto in tale forma pu`


o essere risolto attraverso un metodo diretto basato
sulleliminazione gaussiana a blocchi, oppure attraverso un metodo iterativo a blocchi (Jacobi,
Gauss-Seidel, rilassamento).
Osservazione 2.2.1 Nel caso in cui la condizione al bordo di Dirichlet sia non omogenea, cio`e
u=g

su ,

(2.31)

con g funzione continua assegnata, le (2.11) diventano


um = gm

se

{0, N + 1} oppure m {0, N + 1} .

(2.32)

con gm = g(x , ym ). Tali valori vanno sostituiti nelle (2.14) relative ai nodi interni deboli, in
corrispondenza degli spostamenti di bordo che compaiono a primo membro. Dopo le sostituzioni,
si porta a secondo membro tutto ci`
o che `e noto. Pertanto, si perviene a un sistema lineare
Au = f in cui A `e la stessa matrice del caso omogeneo, mentre f dipende anche dai valori di
bordo g.
Il trattamento di una condizione di Neumann

u
=,
n

(2.33)

(con n normale esterna al bordo) assegnata su un lato del quadrato, ad esempio

u
u
=
= L
n
x

sul lato vertcale x = L ,

(2.34)

si effettua applicando, riga per riga della griglia, la procedura illustrata nel Paragrafo 1.6.1. I
dettagli sono lasciati al lettore.

2.3

Discretizzazione mediante elementi finiti

Come per il modello monodimensionale del filo elastico, una discretizzazione del modello bidimensionale della membrana elastica mediante elementi finiti si basa su una formulazione integrale, o variazionale, del problema ai valori al bordo (2.8). Introduciamo quindi dapprima tale
formulazione.

2.3.1

Formulazione variazionale del problema

Indichiamo con V linsieme degli spostamenti ammissibili della membrana, o funzioni di forma.
Un elemento di V `e una funzione definita in = , nulla su in conseguenza della
condizione di Dirichlet (2.7) e soddisfacente opportune condizioni di derivabilit`
a, su cui torneremo pi`
u avanti. La soluzione u del problema (2.8) `e un elemento di V . Poich`e la condizione di
Dirichlet imposta `e omogenea, le funzioni di forma coincidono con le funzioni test (si veda a tale

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

39

proposito la Sez. 1.6), che vengono usate per imporre lequazione di equilibrio in (la prima
delle (2.8)) in modo integrale. A tale scopo, moltiplichiamo tale equazione per una generica
funzione test v V e integriamo su , ottenendo
Z
Z
f v dx .
(2.35)
(u)v dx =

Per scrivere in forma equivalente il primo membro, ricordiamo il Teorema della divergenza 7.1 e
applichiamolo in (supponendo quindi che tutte le ipotesi per la sua validit`
a siano verificate)
al campo vettoriale g = wv, dove w = u e v `e la funzione test scelta. Abbiamo
Z
Z
Z
(w n) v ds ,
(wv) n ds =
(wv) dx =

essendo n il vettore normale a , uscente da . Ora, applicando la regola di derivazione di un


prodotto, si ha

 

w1
w2

v
v
(w1 v) +
(w2 v) =
v + w1
v + w2
(wv) =
+
x
y
x
x
y
y




w1 w2
v
v
=
+
+ w2
v + w1
= ( w) v + w v .
x
y
x
y
Pertanto,

ossia

( w) v dx +

w v dx =

w v dx =

( w) v dx +

(w n) v ds ,

(w n) v ds .

Ponendo w = u, otteniamo
Z
Z
Z
u v dx = (u) v dx +

u
v ds ,
n

(2.36)

u
= u n la derivata normale di u su . Infine, a secondo membro,
n
usiamo la (2.35) sul primo integrale, mentre osserviamo che il secondo integrale `e nullo in quanto
le funzioni test si annullano su .
Siamo quindi giunti alla seguente formulazione integrale, o variazionale, del problema (2.8):

u V e soddisfa
Z
Z
(2.37)

f v dx
per ogni v V .
u v dx =
avendo indicato con

Si noti la perfetta analogia formale con la formulazione (1.47) del problema monodimensionale.
Non abbiamo finora specificato le condizioni di derivabilit`
a sulle funzioni di V ; farlo in modo
rigoroso richiederebbe lintroduzione di strumenti matematici avanzati (i cosiddetti spazi di
Sobolev ). Ci limitiamo a dire, in modo impreciso, che V contiene le funzioni nulle al bordo per
le quali i due integrali che compaiono nella (2.37) sono finiti. Ci`
o accade, supponendo che il
coefficiente sia limitato in e che il termine noto f sia di quadrato integrabile in , ossia
soddisfi
Z
|f |2 dx < + ,

40

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

T3

T1

T2

T2

T1

Figura 2.4: Situazioni non ammissibili in una triangolazione: i due triangoli T1 e T2 sono
parzialmente sovrapposti (a sinistra); lintersezione tra i triangoli T1 e T2 , oppure T1 e T3 , non
`e un intero lato per entrambi (a destra)
se richiediamo alle funzioni di V di essere anchesse di quadrato integrabile in ,
Z
|v|2 dx < + ,

insieme ai loro gradienti,

kvk2 dx < + .

La definizione rigorosa di V `e data in modo tale da garantire che il problema (2.37) ammetta
una e una sola soluzione.
Tra le funzioni di V ci sono tutte le funzioni continue con derivate parziali prime continue in
; ma stanno in V anche le funzioni continue in ed ivi derivabili a pezzi, ossia per le quali
esista una suddivisione di in un numero finito di regioni chiuse C1 , . . . , Cm tali che v ammetta
derivate parziali prime continue e limitate allinterno di ciascuna regione Ci .
` la presenza in V di questultimo tipo di funzioni che permette lapprossimazione del proE
blema variazionale (2.37) mediante il metodo degli elementi finiti. Introduciamo quindi tale
discretizzazione.

2.3.2

Triangolazione del dominio

Supponiamo dora in avanti che sia un poligono. Decomponiamo nellunione di un numero


finito di triangoli non degeneri T (gli elementi geometrici del metodo), soddisfacenti la seguente
condizione di ammissibilit`
a: lintersezione di due triangoli distinti pu`
o soltanto essere
- un intero lato comune ad entrambi i triangoli, oppure
- un vertice comune ad entrambi i triangoli, oppure
- linsieme vuoto.
Con tale condizione, escludiamo quindi che due triangoli possano parzialmente sovrapporsi,
o possano avere soltanto una parte di lato in comune (si veda la Fig. 2.4). Chiamiamo

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

22

42

30
57

16

41

55
38

39

56

16

24

21

51

14

46

18

26

36

20

13
29

39

24

40

44
5

44
65

14

31

22

34
10

15
11

43

33

25

3
7

53

45
12

32

37

19
66

31

46

23

10

67

54
1

28
37
12

35
27

25

36

21

45
15

59
28

32
29

41

68

30
43 63

23
50

38
60

52

64

17
33
47

35

49

58

62

61

11

40
27

42

17 19

20

18

34
48

26

41

13

Figura 2.5: Esempio di triangolazione ammissibile di una regione poligonale


triangolazione di un insieme T = {T } di triangoli ammissibili che ricoprono . Si ha dunque
[
=
T .
T T

Una triangolazione di `e un esempio di griglia (mesh nella letteratura anglosassone) in (si


` possibile costruire griglie formate da quadrilateri oppure da
veda la Fig. 2.5 per un esempio). E
un misto di triangoli e quadrilateri.
Dato un triangolo T T , indichiamo con hT = diam(T ) il suo diametro, ossia la massima
distanza tra i suoi punti (che coincide con la lunghezza del lato maggiore). Poniamo poi
h = max hT ;
T T

tale parametro rappresenta una misura della finezza della triangolazione. Talvolta scriveremo
T = Th per evidenziare questa lunghezza caratteristica della griglia.
I vertici x dei triangoli di T sono detti i nodi della triangolazione. Distinguiamo tra i nodi
interni, appartenenti a , che supponiamo essere in numero di Nhi , e i nodi di bordo, appartenenti
a , che supponiamo essere in numero di Nhb . Il numero totale di nodi della triangolazione sar`
a
` utile supporre, al fine di una semplificazione logica della presentazione,
dunque Nh = Nhi +Nhb . E
che i nodi interni siano numerati progressivamente da 1 a Nhi ed i nodi di bordo siano numerati
da Nhi + 1 a Nh ; tuttavia tale convenzione, che noi adotteremo nel seguito, non `e affatto richiesta
nella implementazione pratica del metodo.
Indichiamo con xj il j-esimo nodo della triangolazione, avente coordinate (xj1 , xj2 ) = (xj , yj ).
Linsieme
T (j) = {T T : xj T }
(2.38)
contiene tutti i triangoli che hanno xj come vertice (si veda la Fig. 2.6).
Sia T T un qualunque triangolo della triangolazione, e siano xj , xk , xl i suoi tre vertici
(vedi ancora la Fig. 2.6). Lipotesi che il triangolo non sia degenere (cio`e che i tre vertici non

42

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

siano allineati) equivale alla condizione che i due vettori xj xl e xk xl non siano paralleli,
ossia che il loro prodotto vettoriale non sia nullo:
(xj xl ) (xk xl ) 6= 0 .
Posto
G=

xj1 xl1 xj2 xl2


xk1 xl1 xk2 xl2

(2.39)

si ha
(xj xl ) (xk xl ) = (det G) e3
e dunque la condizione di non degenerazione di T equivale alla non singolarit`a della matrice G.
Abbiamo inoltre una espressione per larea di T in funzione dei suoi vertici; infatti, ricordando
che il modulo di un prodotto vettoriale rappresenta larea del parallelogramma individuato dai
due vettori, otteniamo
1
(2.40)
area(T ) = |det G| .
2

2.3.3

Funzioni di forma e test discrete

Definiamo ora le funzioni di approssimazione che useremo in ogni triangolo (gli elementi funzionali del metodo). Esse sono polinomi (in x e y) di grado complessivo k, dove k 0 `e un intero
fissato (il grado complessivo `e il massimo delle somme degli esponenti di x e di y nei monomi
che compongono il polinomio). Il caso pi`
u semplice, lunico che verr`
a da noi sviluppato, `e quello
dei polinomi di grado complessivo 1, ossia delle funzioni affini di tipo p(x, y) = x + y + .
Poniamo dunque
P1 (T ) = {p : T R | p(x, y) = x + y + ,

con , , R} ,

(2.41)

che `e uno spazio vettoriale di dimensione 3.

xk
T
xj

Figura 2.6: Il generico triangolo T T di vertici xj , xk e xl ; linsieme T (j) di tutti i triangoli


che hanno il nodo xj come vertice

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

43

Ricordando che gli spostamenti ammissibili possono essere funzioni globalmente continue e
derivabili a pezzi, e osservando che i polinomi sono certamente funzioni derivabili, introduciamo linsieme Vh delle funzioni continue che su ogni triangolo di T coincidono con una funzione
affine, ossia poniamo
Vh = {vh : R : vh `e continua e vh|T P1 (T ) per ogni T T } .

(2.42)

Per il problema di Dirichlet omogeneo (2.37), gli spostamenti ammissibili discreti (le funzioni di
forma e test discrete) saranno gli elementi di Vh che si annullano sul bordo ; poniamo quindi
Vh = {vh Vh : vh = 0 su } .

(2.43)

Prima di introdurre la forma discreta dalla formulazione variazionale (2.37), `e opportuno


approfondire la conoscenza delle funzioni di Vh e di Vh .
Una prima osservazione significativa `e la seguente. Dato un elemento T T , una funzione p
P1 (T ), p(x, y) = x + y + , `e univocamente determinata assegnando 3 condizioni linearmente
indipendenti (dette i gradi di libert`
a sullelemento T ) che ne determinino i coefficienti , , .
Tali condizioni possono essere ad esempio i valori che p assume in 3 punti non allineati di T :
infatti, `e noto dalla geometria elementare che per 3 punti non allineati dello spazio passa uno e
un solo piano. Una situazione notevole `e quella in cui i 3 punti in cui si assegnano i valori sono
i 3 vertici, siano essi xj , xk , xl , del triangolo T : le condizioni p(xj ) = vj , p(xk ) = vk , p(xl ) = vl
(dove vj , vk , vl sono i valori assegnati) danno luogo al sistema

xj1 + xj2 + = vj
xk1 + xk2 + = vk

xl1 + xl2 + = vl
ossia

xj1 xj2 1

vj
xk1 xk2 1 = vk ,
xl1 xl2 1

vl

(2.44)

la cui matrice ha determinante det G 6= 0 (dove G `e la matrice definita in (2.39)), come si vede
sottraendo la terza equazione dalle prime due; pertanto, il sistema ammette una e una sola
soluzione.
Altri gradi di libert`
a possono essere i valori di p nei 3 punti medi dei lati, xjk = 12 (xj + xk ),
1
xkl = 2 (xk + xl ), xlj = 12 (xl + xj ), oppure i 3 momenti di ordine 1 di p,
Z
Z
Z
p(x, y) y dxdy .
p(x, y) x dxdy ,
p(x, y) dxdy ,
T

La scelta dei gradi di libert`


a sullelemento incide sulla possibilit`a di imporre la continuit`
a nel
passaggio tra due elementi contigui (come richiesto alle funzioni di Vh ), oppure le condizioni
al bordo di Dirichlet (come richesto alle funzioni di Vh ). A tal fine, la seguente osservazione `e
fondamentale. Ogni funzione p P1 (T ), ristretta ad un lato L del triangolo T , `e una funzione
affine sul lato, cio`e un polinomio di primo grado in una variabile; possiamo scrivere p|L P1 (L).
Supponiamo infatti che L sia il lato di estremi xj e xk ; se esso non `e disposto verticalmente, la
sua equazione `e
xj2 xk2
(x xk1 ) ,
y = xk2 +
xj1 xk1

44

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA


xk
T2
L
T1
xj

Figura 2.7: Due polinomi di primo grado in T1 e T2 , che coincidono in xj e in xk , coincidono


lungo tutto il lato L
mentre se il lato `e verticale lequazione `e semplicemente x = xj1 = xk1 . Sostituendo tali
espressioni in p(x, y) = x + y + , si vede che p|L `e un polinomio di primo grado nella sola
variabile x o nella sola variabile y.
Supponiamo ora che i triangoli T1 e T2 abbiano un lato L in comune (si veda la Fig. 2.7).
Due funzioni p1 P1 (T1 ) e p2 P1 (T2 ) danno luogo a una funzione vh continua attraverso L,
definita da
(
p1 (x) se x T1 ,
vh (x) =
p2 (x) se x T2 ,
se e solo se

p1|L = p2|L .
Poich`e questi sono due polinomi di primo grado in una variabile, essi coincideranno se ad esempio
assumono lo stesso valore in due punti distinti del lato. La scelta pi`
u naturale di tali punti `e
ovviamente quella degli estremi del lato, ossia dei due vertici comuni ai triangoli T1 e T2 . Quindi,
per incollare due funzioni affini attraverso il lato comune a due triangoli contigui, `e sufficiente
incollare le due funzioni nei due vertici comuni ai due triangoli.
Estendendo tale ragionamento ad ogni coppia di triangoli contigui della triangolazione T , si
vede che per costruire una funzione vh Vh `e sufficiente assegnare i suoi valori vj = vh (xj ), j =
1, . . . , Nh , nei nodi della triangolazione; allinterno di ogni triangolo T lespressione di p = vh|T
sar`
a ottenuta risolvendo il sistema lineare (2.44); il ragionamento precedente ci garantisce che
vh sar`
a automaticamente continua attraverso i lati della triangolazione.
Dunque, una funzione vh Vh `e univocamente determinata dai suoi valori nei nodi della
triangolazione. Possiamo quindi associare ad essa il vettore colonna v = (vj )1jNh RNh .
Notiamo che la scelta di altri gradi di libert`
a in ogni triangolo, quali i valori nei punti medi
dei lati o i momenti di ordine 1 menzionati sopra, non avrebbe permesso un cos` semplice
incollamento delle funzioni affini attraverso i lati; pertanto, quei gradi di libert`
a non sono
indicati per costruire funzioni discrete che siano globalmente continue in .
Supponiamo infine che T sia un triangolo avente un lato L sul bordo . Una funzione
p P1 (T ) si annulla su L se e solo se il polinomio di primo grado in una variabile p|L `e
identicamente nullo; ci`
o accade se esso si annulla in due punti distinti di L, quali ad esempio gli
estremi del lato. Dunque, per annullare una funzione affine su un lato di bordo di un triangolo, `e
sufficiente annullarla nei due vertici del triangolo che definiscono il lato. Pertanto, una funzione
vh Vh sar`
a determinata dai suoi valori vj = vh (xj ), j = 1, . . . , Nhi , nei nodi interni della
triangolazione, mentre i valori nei nodi di bordo saranno nulli. Possiamo quindi associare a vh
i
il vettore colonna v = (vj )1jN i RNh .
h

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

45

Figura 2.8: Funzione di base a piramide l associata a un nodo interno xj


Prima di procedere, notiamo gli ingredienti che concorrono a definire un elemento finito:
essi sono il supporto geometrico (nel nostro caso, un triangolo non degenere T ), lo spazio di
funzioni definite sul supporto geometrico (nel nostro caso, P1 (T ), lo spazio 3-dimensionale delle
funzioni affini su T ) e linsieme dei gradi di libert`
a che individuano le funzioni (nel nostro caso,
i valori delle funzioni nei vertici di T ). Lelemento finito che abbiamo introdotto, estremamente
semplice e versatile, e per questo molto popolare, `e noto come elemento di Courant. Esso fu
proposto dal matematico Richard Courant nel 1942 ed `e probabilmente il primo elemento finito
della storia.
` naturale considerare la
Basi di Lagrange Introduciamo ora delle basi in Vh e in Vh . E
base di Lagrange in Vh , formata dalle funzioni di tale insieme che valgono 1 in un nodo della
triangolazione e 0 in tutti gli altri. Sia quindi j Vh la funzione tale che
j (xk ) = jk ,

1 j, k Nh .

(2.45)

Osserviamo che se il triangolo T non contiene il vertice xj , allora j si annulla nei 3 vertici del
triangolo e dunque sar`
a identicamente nulla su T . Pertanto, j `e diversa da 0 in tutti e soli i
triangoli che hanno xj come vertice, cio`e nei triangoli di T (j). Il supporto di j `e definito come
lunione di tali triangoli, ossia poniamo
supp j =

T .

(2.46)

T T (j)

Il grafico di j , nel caso in cui xj sia un nodo interno, spiega perch`e tali funzioni siano dette

46

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

funzioni a piramide (si veda la Fig. 2.8). Le funzioni j formano una base di Vh ,
Vh = vett {j : 1 j Nh } ,
in quanto ogni funzione vh Vh pu`
o essere espressa come
vh (x) =

Nh
X

vj j (x) ,

con vj = vh (xj ) .

(2.47)

j=1

Se infatti calcoliamo il valore del secondo membro in un qualunque nodo xk , abbiamo


Nh
X
j=1

vj j (xk ) =

Nh
X

vj jk = vk = vh (xk ) .

j=1

Pertanto, i due membri della (2.47) coincidono in tutti i nodi della triangolazione, e dunque
coincidono ovunque.
Per ottenere una base di Lagrange in Vh , `e sufficiente limitarsi alle funzioni j con 1 j Nhi .
Infatti, se vh Vh , si ha vj = vh (xj ) = 0 per Nhi + 1 j Nh e dunque la (2.47) diventa
i

vh (x) =

Nh
X

vj j (x) ,

(2.48)

j=1

ossia
Vh = vett {j : 1 j Nhi } .

2.3.4

Formulazione variazionale discreta

Possiamo ora tornare al problema (2.8) e introdurre la forma discreta dalla formulazione variazionale (2.37). Per semplicit`a, dora in avanti indicheremo con N = Nhi la dimensione di
Vh .
La formulazione variazionale discreta del problema (2.8) `e la seguente:

uh Vh e soddisfa
Z
Z
(2.49)

f vh dx
per ogni vh Vh .
uh vh dx =

Mediante la base di Lagrange in Vh possiamo ridurre tale problema a un sistema algebrico di N


equazioni in N incognite; la riduzione `e del tutto simile a quella fatta nella Sez. 1.4 relativamente
al filo elastico.
Scegliendo di volta in volta vh = j in (2.49), otteniamo immediatamente le N equazioni
soddisfatte da uh :
Z
Z
f j dx ,
1jN .
uh j dx =

Rappresentando uh nella base di Lagrange come uh =

N
X

uk k e usando la linearit`
a della

k=1

derivazione e dellintegrazione, otteniamo


Z
Z
N
X
f j dx ,
k j dx =
uk
k=1

1jN .

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

47

Dunque la formulazione (2.49) si scrive in forma matriciale come


Au = f ,

(2.50)

avendo posto
A = (ajk ) RN N ,
con
ajk =

u = (uk ) RN ,

k j dx ,

fj =

f = (fj ) RN ,
Z

f j dx .

(2.51)

Studiamo ora le propriet`a della matrice di rigidezza A, che in particolare ci garantiranno


che il sistema lineare (2.50) ammette una e una sola soluzione, e ci forniranno indicazioni sulle
migliori strategie di soluzione di tale sistema; successivamente, analizziamo brevemente come
costruire in modo efficiente gli elementi della matrice e del vettore termine noto.

2.3.5

Propriet`
a della matrice di rigidezza

La matrice A, i cui elementi sono definiti in (2.50), `e innanzitutto simmetrica, ajk = akj , come
conseguenza della simmetria del prodotto scalare tra due vettori.
Inoltre, essa `e sparsa, ossia la maggior parte dei suoi elementi sono nulli; inoltre, al crescere
della dimensione N come conseguenza del raffinamento della triangolazione, la percentuale degli
elementi non nulli si riduce via via. Per comprendere ci`o, usiamo innanzitutto il fatto che `e
unione dei triangoli di T e scriviamo
XZ
k j dx .
ajk =
T T

Ricordiamo poi che se T 6 T (j), allora j `e identicamente nulla su T e dunque anche il suo
gradiente sar`
a ivi identicamente nullo; quindi
Z
k j dx = 0
se T 6 T (j) oppure se T 6 T (k) ,
T

ossia

ajk =

T T (j)T (k)

Se k = j, abbiamo quindi
ajj =

X Z

T T (j) T

k j dx .

(2.52)

kj k2 dx ;

gli elementi diagonali sono tutti strettamente positivi e sono ottenuti per integrazione sul
supporto della corrispondente funzione di base (si ricordi la (2.46)).
Sia ora k 6= j. Se esiste un triangolo T appartenente a T (j) T (k), esso ha i nodi xj e xk
come vertici; ovviamente, ci`
o `e possibile se e solo se i due nodi sono collegati da un lato della
triangolazione. Dunque, se xj e xk stanno su uno stesso lato (necessariamente non di bordo),
allora T (j) T (k) non `e vuoto: esso `e formato dai due triangoli T1 e T2 che condividono quel
lato; avremo quindi
Z
Z
k j dx ,
con T1 , T2 T (j) T (k) ,
k j dx +
ajk =
T1

T2

48

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

e tale elemento di matrice `e potenzialmente diverso da 0. Viceversa, T (j) T (k) `e vuoto, e


dunque
ajk = 0 ,
se xj e xk non stanno su uno stesso lato di T .
Fissato un qualunque indice di riga j, gli elementi non nulli di tale riga sono al pi`
u pari al numero di lati della triangolazione uscenti dal nodo xj , aumentato di 1 (per lelemento diagonale).
Tale numero `e in genere piuttosto basso, ed `e limitato da una costante C1 > 0 indipendente da
h. Infatti, nel caso di problemi isotropi (cio`e privi di una direzione spaziale privilegiata) come il
problema modello della membrana elastica che stiamo considerando, `e consigliabile per motivi di
accuratezza usare triangoli il pi`
u possibile vicini a triangoli equilateri; pertanto, langolo minimo
di ciascun triangolo non `e piccolo. Il numero di lati uscenti da un vertice pu`
o crescere al pi`
u in
modo inversamente proporzionale allangolo minimo dei triangoli che condividono il vertice, e
dunque non `e grande.
Possiamo quindi affermare che il numero degli elementi di A diversi da 0 `e limitato da C1 N ,
mentre il numero totale di elementi di A `e N 2 . Circa la posizione degli elementi non nulli rispetto
alla diagonale principale della matrice, essa dipende dalla numerazione dei nodi, in particolare
dalla differenza di numerazione tra due nodi che stanno su uno stesso lato. Se questa differenza
` possibile numerare
`e piccola, il corrispondente elemento star`
a vicino alla diagonale
principale. E

i nodi in modo che tale differenza sia maggiorata da C2 N , con C2 > 0 indipendente da h. Se
si adotta una numerazione di questo tipo, la matrice A sar`
aa banda, cio`e tale che ajk = 0 se
|j k| > m, con semi-ampiezza di banda m proporzionale a N .
Sono state sviluppate sofisticate tecniche di riordinamento (reordering) dei nodi, a partire
dalla numerazione prodotta durante la generazione della triangolazione. Esse hanno lo scopo di
limitare il fenomeno dello riempimento (fill-in) nella successiva fattorizzazione di A, quando si
usi un metodo diretto per la risoluzione del sistema lineare (2.50) (di tipo Gauss, basato sulla
fattorizzazione PA = LU, oppure di tipo Cholesky, basato sulla fattorizzazione A = LLT ). Pi`
u
precisamente, tali tecniche evitano il pi`
u possibile la generazione di elementi non nulli nei fattori
L o U, in corrispondenza degli elementi nulli di A. Ci`
o riduce sia il costo di fattorizzazione, sia
il costo di risoluzione del sistema lineare per sostituzione allindietro e in avanti. Si rinvia alla
letteratura specialistica per maggiori dettagli.
Mostriamo infine che la matrice di rigidezza `e definita positiva. Non avendo a disposizione
una semplice espressione per gli elementi di matrice, come nella Sez. 1.2, a causa della arbitrariet`
a della triangolazione, non possiamo usare il teorema di Gershgorin per dimostrare che tutti
gli autovalori di A sono strettamente positivi. Verifichiamo invece la condizione equivalente
v T Av > 0 per ogni vettore v 6= 0. La componente j-esima del vettore Av `e data da
!
Z
Z
N
N
N
X
X
X

(Av)j =
k j dx =
ajk vk =
vk k j dx ,
vk
k=1

k=1

k=1

ancora per la linearit`


a dellintegrazione e della derivazione. Quindi
v T Av =

N
X

vj (Av)j =

vj

j=1

j=1

N
X

N
X
k=1

vk k

N
X
k=1

vk k

N
X
vj j dx .

j=1

j dx

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

49

P
PN
Indichiamo con vh Vh la funzione N
k=1 vk k =
j=1 vj j (le due espressioni coincidono, in
quanto k e j sono indici muti di somma). Abbiamo quindi
Z
Z
T
kvh k2 dx 0
(2.53)
vh vh dx =
v Av =

per ogni v RN (ricordiamo che il coefficiente elastico `e strettamente positivo).


La verifica `e conclusa se facciamo vedere che v T Av = 0 implica v = 0. Se v T Av = 0,
allora necessariamente la funzione integranda in (2.53), non negativa, deve essere identicamente
nulla. Si ha cio`e kvh k 0 in , da cui vh 0 in per la propriet`a della norma. Dunque,
vh `e costante in (supposto connesso, cio`e non costituito da domini tra loro disgiunti). Ma
le funzioni
P di Vh si annullano su : pertanto, vh `e identicamente nulla in . Si ha quindi
vh (x) = N
e le funzioni k formano una base in Vh ,
k=1 vk k (x) = 0 per ogni x , ma poich`
necessariamente vk = 0 per 1 k N , cio`e il vettore v `e nullo.
Il risultato appena ottenuto assicura che il sistema lineare (2.50) ammette una e una soluzione. Qualora la dimensione del sistema lo consenta, esso pu`
o essere risolto con un metodo
diretto quale ad esempio il metodo di Cholesky (basato sulla fattorizzazione A = LLT con L
triangolare inferiore ad elementi diagonali > 0); tale metodo diretto `e il pi`
u appropriato per matrici simmetriche e definite positive. Qualora la dimensione del sistema ecceda una certa soglia,
diventa pi`
u conveniente, o addirittura rappresenta lunica strada percorribile, risolvere il sistema
lineare mediante un metodo iterativo, quale il metodo del gradiente coniugato (precondizionato)
trattato nel Cap. 3.

2.3.6

Costruzione della matrice di rigidezza e del vettore dei termini noti

Abbiamo visto (si ricordi la (2.52)) che il generico elemento non nullo della matrice di rigidezza
`e una somma di contributi provenienti
da un certo numero di triangoli di T . Lo stesso vale per
R
il termine noto: lelemento fj = f j dx pu`
o essere scritto come
X Z
f j dx .
(2.54)
fj =
T T (j) T

In un codice a elementi finiti, la costruzione della matrice di rigidezza e del vettore dei termini
noti pu`
o essere logicamente suddivisa in due fasi distinte:
- un ciclo sui triangoli di T , in cui per ogni triangolo si calcolano i contributi di quel
triangolo alla matrice di rigidezza e al vettore dei termini noti;
- lassemblaggio della matrice e del vettore, in cui i contributi provenienti dai vari triangoli
vengono sommati opportunamente per dar vita agli elementi di matrice e di vettore.
In realt`
a, per motivi di efficienza, la seconda fase si realizza in pratica nel corso dellesecuzione
della prima: man mano che i contributi di un triangolo si rendono disponibili, essi sono aggiunti
al valore corrente dei corrispondenti elementi di matrice e di vettore (inizialmente posti a 0);
solo al termine del ciclo sui triangoli, tutti gli elementi di matrice e di vettore avranno assunto
il valore corretto.
Fissiamo dunque la nostra attenzione su un generico triangolo T della triangolazione, che
supponiamo avere vertici xj1 , xj2 e xj3 , con 1 j1 , j2 , j3 Nh . Se tutti i vertici di T sono

50

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA


x57 = x[2]

x56 = x[1]

x63 = x[3]

Figura 2.9: Esempio di passaggio dalla numerazione globale dei nodi a quella locale sul triangolo.
Gli indici locali sono racchiusi tra parentesi quadre per distinguerli da quelli globali
a contributo agli elementi di matrice
interni (cio`e se 1 j1 , j2 , j3 Nhi = N ), allora il triangolo d`
aj1 ,j1 , aj1 ,j2 , aj1 ,j3 , aj2 ,j2 , aj2 ,j3 , aj3 ,j3 e a quelli con indici scambiati, e agli elementi di vettore
fj1 , fj2 , fj3 . Se invece uno o due vertici sono di bordo, allora saranno utilizzati nel caso di
condizioni al bordo di Dirichlet omogenee solo i contributi relativi ai nodi interni, perch`e solo
a questi nodi sono associate delle incognite. Tuttavia, di norma vengono calcolati i contributi
relativi a tutti i vertici del triangolo, in quanto essi intervengono nel caso di condizioni al bordo
di Dirichlet non omogenee e di Neumann (si veda la Sez. 2.3.8).
` conveniente passare dalla numerazione globale j1 , j2 , j3 dei nodi alla numerazione locale che
E
usa gli indici 1, 2, 3 (si veda la Fig. 2.9 per un esempio di corrispondenza tra numerazioni locale
e globale). Nel seguito useremo lettere greche (, , . . . ) per indicare gli indici locali. Dunque,
nel seguito indicheremo con x , = 1, 2, 3, i vertici xj del triangolo, e con le restrizioni
a T delle funzioni di base, j |T . Le funzioni P1 (T ) valgono 1 nel nodo e 0 negli altri
due nodi, cio`e sono le funzioni della base di Lagrange locale su T . Nella numerazione locale, il
contributo
Z
Z
dx ,
1 , 3 ,
j j dx
si rappresenta come
T

e similmente
Z

f j dx

si rappresenta come

f dx ,
T

13.

Possiamo dunque introdurre la matrice di rigidezza dellelemento, cio`e del triangolo, (detta
elemental stiffness matrix nella letteratura anglosassone)
Z
(T )
(T )
dx ,
con a =
A(T ) = (a )1,3 R33 ,
T

e il vettore dei termini noti dellelemento


f

(T )

(f(T ) )13

R ,

con

f(T )

f dx ,
T

(non si confonda lapice (T ), che fa riferimento al triangolo T , con lapice T che indica la
trasposizione di una matrice o di un vettore).

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

51

Calcolo dei contributi di un elemento Vediamo ora come calcolare gli elementi di matrice
e di vettore appena introdotti. Osserviamo che `e un vettore costante in T , in quanto `e
una funzione affine. Dunque
Z
(T )
a =
dx = T area(T ) ,
(2.55)
T

avendo indicato con


T =

1
area(T )

dx

il valor medio di su T . Se `e costante su T , allora T = , altrimenti T pu`


o essere
approssimato con il valore (xb ) nel baricentro xb = 31 (x1 + x2 + x3 ) del triangolo.
Per calcolare i gradienti, possiamo operare nel modo seguente. Ricordando la formula di Taylor
per funzioni di pi`
u variabili, osserviamo innanzitutto che se x e x0 sono punti del triangolo T ,
la variazione di tra x0 e x pu`
o essere scritta come
(x) (x0 ) = (x x0 ) ,
in quanto `e affine e quindi tutte le sue derivate di ordine superiore al primo sono nulle. Si
ha dunque, applicando la formula precedente ai vertici del triangolo,
1 = (x ) (x ) = (x x ) ,

0 = (x ) (x ) = (x x ) ,

con 6= ,

con 6= , 6= .

Pertanto le componenti ,x e ,y di sono le soluzioni del sistema algebrico




  
x1 x1 x2 x2
,x
1
=
,
x1 x1 x2 x2
,y
0

(2.56)

dove e indicano i due indici diversi da nellinsieme {1, 2, 3}; si noti che la matrice del
sistema `e una particolare matrice G come definita in (2.39). Si ha quindi
,x =

x2 x2
,
det G

,y =

x1 x1
.
det G

(2.57)

Ricordando la (2.40), se i nodi x , x e x si susseguono in senso antiorario (come in Fig. 2.9)


si ha det G = 2area(T ) > 0 e dunque le formule precedenti diventano
,x =

x2 x2
,
2area(T )

,y =

x1 x1
;
2area(T )

(2.58)

in modo esplicito, considerando i tre casi (, , ) = (1, 2, 3), (, , ) = (2, 3, 1) e (, , ) =


(3, 1, 2), si ha
x22 x32
,
2area(T )
x32 x12
,
=
2area(T )
x12 x22
,
=
2area(T )

x21 x31
,
2area(T )
x31 x11
=
,
2area(T )
x11 x1
=
.
2area(T )

1,x =

1,y =

2,x

2,y

3,x

3,y

Una giustificazione di natura pi`


u geometrica di tali formule viene data nellOsservazione 2.3.1.

52

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA


x

Figura 2.10: Linee di livello e vettore gradiente della funzione


` utile osservare che la funzione affine 1 + 2 + 3 vale 1 in ciascuno dei vertici di T , dunque
E
`e costante:
1 (x) + 2 (x) + 3 (x) = 1
per ogni x T .
(2.59)
Applicando il gradiente, si deduce lidentit`a
1 + 2 + 3 = 0 ,

(2.60)

che permette ad esempio di calcolare il gradiente di una funzione di base, noti gli altri due. Una
conseguenza di questultima relazione `e che la somma gli elementi di ogni riga (o colonna) della
matrice A(T ) `e nulla. Infatti, per = 1, 2, 3, si ha

Z
3
3 Z
3
X
X
X
(T )
(2.61)
dx

dx =
a, =
T

=1 T

=1

=1

0 dx = 0 .

(2.62)

Tale propriet`a fornisce unutile prova del 9 sulla correttezza del calcolo degli elementi della
matrice di rigidezza di un elemento.
Anche per la matrice di rigidezza globale A vale la propriet`a che la somma gli elementi di
ogni riga (o colonna) `e nulla, relativamente per`
o alle righe (o colonne) associate ai vertici v j tali
che tutti i vertici dei triangoli di T (j) siano nodi interni di T . Infatti, in tal caso, la somma di
tutte le funzioni di base `e costante = 1 sul supporto di j .
` possibile giungere alle (2.58) anche attraverso un ragionamento puraOsservazione 2.3.1 E
mente geometrico. Si osservi infatti che la funzione affine si annulla lungo il lato L di estremi
x e x (che supponiamo ordinati in senso antiorario) ed `e costante lungo ogni retta parallela a
tale lato. Conseguentemente, il suo gradiente `e perpendicolare al lato,
(x x ) = 0 ;
tenendo conto che la funzione cresce muovendosi dal lato L verso il vertice opposto x , il
suo gradiente punter`
a verso linterno del triangolo (si veda la Fig. 2.10), si ha quindi
= (x2 x2 , (x1 x1 ))

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

53

per un opportuno > 0. Tale costante `e determinata dal fatto che, muovendosi nella direzione
del gradiente dal lato L al vertice x , la funzione si incrementa di 1; in altri termini, detta
HT laltezza del triangolo rispetto alla base L, si ha
1 = k k HT .
Essendo |L| HT = 2area (T ) con |L| = kx x k lunghezza del lato L, si ottiene facilmente
= 1/2area (T ).
Osservazione 2.3.2 Per calcolare le componenti di , in alternativa alluso delle formule
(2.57) o (2.58), pu`
o essere pi`
u agevole sfruttare il fatto che esse sono costanti in T : `e quindi
sufficiente individuare due segmenti, disposti rispettivamente in posizione orizzontale e verticale,
alle estremit`a dei quali si conoscano i valori di . I rapporti incrementali di costruiti sui
due segmenti forniscono le componenti cercate. Lesempio seguente illustra la procedura.
Esempio 2.3.3 Costruiamo la matrice di rigidezza del Laplaciano ( = 1) sul triangolo T di
vertici x1 = (h, 0), x2 = (0, h) e x3 = (h, 0).
Calcoliamo i gradienti delle funzioni di base, usando la procedura descritta nellOsservazione
precedente. La funzione 1 passa dal valore 0 al valore 1 lungo il segmento orizzontale di estremi
x3 e x1 , dunque
1
10
1
=
=
,
x
h (h)
2h
mentre passa dal valore

1
2

al valore 0 lungo in segmento verticale di estremi lorigine e x2 , dunque


0 12
1
1
=
=
;
y
h0
2h



1
1
1
1
, 2h
. Similmente, si ha 3 = 2h
, 2h
. Invece, la funzione 2 `e
pertanto, 1 = 2h
costante = 0 sul segmento orizzontale di estremi x3 e x1 , mentre passa dal
 valore 0 al valore 1
lungo in segmento verticale di estremi lorigine e x2 ; quindi 2 = 0, h1 .
Larea del triangolo vale h2 . Applicando la formula (2.55), otteniamo facilmente la matrice
cercata:
1

1
0
2 2

A(T ) = 12
1 21 .
0 12

1
2

Si osservi che le relazioni (2.60) e (2.61) sono verificate.

Passiamo infine al calcolo degli elementi del vettore dei termini noti. Usiamo la seguente
formula di integrazione numerica
Z

1
(2.63)
g dx g(x1 ) + g(x2 ) + (x3 ) area(T ) ,
3
T

che `e esatta per funzioni affini e generalizza al caso bidimensionale la formula dei trapezi su un
intervallo reale.

54

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

Scegliendo g = f e ricordando i valori di nei vertici del triangolo, possiamo definire il


vettore dei termini noti dellelemento come il vettore f (T ) di componenti
1
f (x )area(T ) ,
= 1, 2, 3 .
(2.64)
3
R
Se f `e costante su T , tale espressione coincide con il valore esatto T f dx.
Si noti che, assemblando le componenti del vettore dei termini noti provenienti dal vari triangoli, la definizione precedente porta alla seguente espressione per la componente j-esima del
vettore f dei termini noti:
X
1
1
area(T ) = f (xj ) area(supp j ) .
(2.65)
fj = f (xj )
3
3
f =

T T (j)

2.3.7

Comportamento dellerrore

Valgono anche nel caso bidimensionale risultati analoghi a quelli esposti nel Paragrafo 1.5.
Vale la stima (1.60) per la crescita del numero di condizionamento della matrice A in funzione
del parametro h.
Inoltre, la convergenza a zero dellerrore u uh pu`
o essere stimata nel modo seguente. Sia
1/2
Z
v 2 dx
kvk2 =

la norma quadratica,
kvkE =
la norma dellenergia e

Z

1/2
kvk dx
2

kvk = max |v(x)|


x

la norma del massimo di una funzione v V (sufficientemente regolare). Supponiamo che la


soluzione esatta u abbia le derivate parziali seconde di norma quadratica limitata, ossia che

2
X
2u


kukH,2 =
xi xj < + .
2
i,j=1

Sotto questa ipotesi, per una triangolazione regolare, si ha che lerrore tende a zero quadraticamente in h se misurato nella norma quadratica, ossia
ku uh k2 Ch2 kukH,2 ,
e linearmente in h se misurato nella norma dellenergia, ossia
ku uh kE ChkukH,2 .
Se in aggiunta u ha le derivate parziali seconde di norma del massimo limitata, ossia se
2
u
< + ,
kukH, = max
1i,j2 xi xj

allora lerrore tende a zero quasi quadraticamente in h se misurato nella norma del massimo,
ossia si ha
ku uh k Ch2 | log h|3/2 kukH, .

Nelle formule precedenti, C indica una costante positiva indipendente da u e da h.

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

2.3.8

55

Altre condizioni al bordo

Indichiamo brevemente come modificare la discretizzazione a elementi finiti sopra presentata, nel
caso di condizioni al bordo di Dirichlet non omogenee o di condizioni di Neumann. Trattiamo
entrambi i casi nellambito di ununica formulazione, supponendo che il bordo sia suddiviso
in due parti disgiunte, D e N , di cui almeno D non sia vuota (la membrana elastica deve
essere vincolata almeno su una parte di bordo). Consideriamo il problema ai valori al bordo

(u) = f in ,

u=g
su D ,
(2.66)

=
su N ,
n

con g e funzioni assegnate. La seconda delle (2.66) esprime appunto la condizione di Dirichlet
non omogenea, mentre la terza esprime la condizione di Neumann, ovvero lassegnazione della
componente normale del flusso = u attraverso N . Ricordiamo che nella Sezione 1.6.2
abbiamo trattato lanalogo problema monodimensionale.

Linsieme V (g) degli spostamenti ammissibili, o funzioni di forma, `e ora composto da funzioni
che valgono g su D , mentre assumono valori arbitrari su N . Linsieme delle variazioni ammissibili, o funzioni di test, sar`
a V (0). La formulazioni variazionale si basa sulla relazione (2.36), in
cui u V (g) `e ora la soluzione del problema (2.66) mentre v V (0) `e una qualunque funzione
test. Lintegrale sul bordo a secondo membro pu`
o essere scritto come
Z
Z
Z
Z
u
u
u

v ds ,
v ds =
v ds +
v ds = 0 +

D n
N n
N
n
avendo tenuto conto che v si annulla su D e che u soddisfa la condizione di Neumann su N .
Pertanto, la formulazione variazionale del problema `e

u V (g) e soddisfa
Z
Z
Z
(2.67)

v ds
per ogni v V (0) .
f v dx +
u v dx =

Si noti come la condizione di Dirichlet sia presa in conto nella scelta delle funzioni di forma, mentre la condizione di Neumann sia inserita allinterno delle equazioni integrali. Si pu`
o dimostrare
che se u `e soluzione di (2.67) ed `e abbastanza regolare, allora `e anche soluzione di (2.66).
Passiamo ora alla discretizzazione. Supponiamo che la triangolazione sia stata costruita in
modo tale che D sia unione di lati di triangoli. Supponiamo inoltre (per pura semplicit`a
espositiva) che i nodi di bordo su N siano numerati per primi rispetto a quelli su D .
Linsieme degli spostamenti ammissibili discreti, o funzioni di forma discrete, viene definito
come
Vh (g) = {vh Vh : vh (xj ) = g(xj ) per ogni xj D } ,
(2.68)

dove Vh `e stato introdotto in (2.42); linsieme delle variazioni ammissibili discrete, o funzioni test
discrete, sar`
a dunque Vh (0). Le funzioni di Vh (g) e di Vh (0) sono univocamente determinate dai
loro valori nei nodi interni e appartenenti a N della triangolazione. Tali nodi sono dunque quelli
che portano i gradi di libert`
a; indichiamo ancora con N il loro numero (con Nhi N < Nh ). Si
avr`a pertanto
Vh (0) = vett {j : 1 j N } ,

56

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

mentre una funzione uh Vh (g) sar`


a rappresentabile come
uh (x) =

N
X

Nh
X

uk k (x) +

k=1

gk k (x) ,

(2.69)

k=N +1

avendo posto gk = g(xk ).


La formulazione variazionale discreta corrispondente alla (2.67) `e la seguente:

uh Vh (g) e soddisfa
Z
Z
Z

vh ds
per ogni vh Vh (0) .
f
v
dx
+
u

v
dx
=

h
h
h
N

(2.70)

Scegliendo di volta in volta vh = j , otteniamo immediatamente le N equazioni soddisfatte da


uh :
Z
Z
Z
j ds ,
1jN .
f j dx +
uh j dx =

Sostituendo lespressione (2.69) per uh a primo membro e portando a secondo membro quanto
dipende dal dato g, abbiamo
N
X
k=1

ajk uk =

f j dx +

avendo posto, come sempre, ajk =

j ds

Nh
X

k=N +1

ajk gk ,

1jN ,

(2.71)

k j dx. Si noti che ora tutte le funzioni di base,

sia quelle relative ai nodi interni sia quelle relative ai nodi di bordo, contribuiscono a definire
tali equazioni (per un dato g arbitrario). Si noti inoltre che lintegrale su N a secondo membro
`e nullo per tutte le funzioni j associate ai nodi interni; esse infatti assumono valore nullo su
.
Il sistema precedente pu`
o essere scritto come Au = f , essendo f il vettore (dipendente dai
dati f , g e ), che raccoglie i secondi membri delle (2.71). Le propriet`
a della matrice A sono
del tutto simili a quelle viste per il problema di Dirichlet omogeneo.
Condizioni al bordo di Robin
La condizione di Neumann su N in (2.66) pu`
o essere generalizzata nella cosiddetta condizione
di Robin
u

+ u =
su N ,
(2.72)
n
con 0 coefficiente assegnato. Ad esempio, si ottiene una tale condizione imponendo che lo
sforzo di taglio sia proporzionale alla differenza tra uno spostamento u
assegnato e lo spostamento
effettivo u, ossia
u
= (
u u)
su N ;
(2.73)

n
questa relazione ha la forma (2.72) ponendo =
u.
La condizione di Robin, come quella di Neumann, viene incorporata nella formulazione variazionale del problema attraverso la relazione (2.36). Imponendo ancora una condizione di
Dirichlet su D , si ha ora, per ogni funzione test v V (0),
Z
Z
Z
Z
Z
u
u
v ds .
u v ds +

(u + ) v ds =
v ds =
v ds =

N
N
N n
N
n

2.3. DISCRETIZZAZIONE MEDIANTE ELEMENTI FINITI

57

Sostituendo tale relazione nella (2.36) e usando lequazione (u) = f in , otteniamo la


nuova formulazione variazionale del problema:

u V (g) e soddisfa
Z
Z
Z
Z
(2.74)

v ds
per ogni v V (0) ;
f v dx +
u v ds =
u v dx +

essa differisce da quella relativa al problema di Neumann solo per la presenza dellintegrale su
N a primo membro.
La corrispondente discretizzazione fornisce ancora le equazioni algebriche (2.71), in cui ora gli
elementi della matrice di rigidezza sono dati da
Z
Z
k j ds .
ajk = k j dx +

Poich`e 0 per ipotesi, non `e difficile verificare che la matrice A, simmetrica, risulta ancora
definita positiva. Si noti che lintegrale su N `e nullo per tutte le funzioni j associate ai nodi
interni; in altri termini, la condizione di Robin modifica la matrice di rigidezza solo nelle righe
corrispondenti ai nodi che giacciono su N .

58

CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

Capitolo 3

Metodi iterativi per la risoluzione di


sistemi lineari
Il trattamento numerico di modelli differenziali conduce sovente alla necessit`a di risolvere sistemi
lineari di grandi dimensioni con matrici sparse. Scriveremo un tale sistema come
Ax = b ,

(3.1)

essendo A una matrice quadrata di ordine n, non singolare e sparsa (che supponiamo avere al
pi`
u m << n elementi diversi da 0 in ogni riga), b il vettore colonna dei termini noti e x il vettore
colonna delle incognite.
La soluzione del sistema mediante un metodo diretto, quale ad esempio il metodo di eliminazione di Gauss con pivoting parziale sulle righe, equivale a fattorizzare la matrice PA, ottenuta
effettuando una opportuna permutazione delle righe di A mediante lapplicazione di una matrice
di permutazione P, in forma
PA = LU ,
con L e U matrici triangolari, rispettivamente inferiore e superiore. Se A `e una matrice simmetrica e definita positiva, P pu`
o essere scelta come la matrice identica I, mentre U pu`
o coincidere
con LT ; in altri termini, si ha A = LLT (fattorizzazione di Choleski).
La soluzione del sistema (3.1), che indicheremo con x, `e ottenuta dalla relazione
LUx = PAx = Pb
risolvendo dapprima il sistema
Ly = Pb
per sostituzione in avanti, e poi risolvendo il sistema
Ux = y
per sostituzione allindietro. Luso di un metodo diretto pu`
o avere un costo proibitivo, sia
in termini di occupazione di memoria, poich`e in genere le matrici L e U hanno un numero
molto maggiore di elementi diversi da 0 di A (fenomeno del fill-in), sia in termini di numero di
operazioni richieste per ottenere la soluzione.
Un metodo iterativo per la risoluzione del sistema (3.1) genera, a partire da un valore di
tentativo x0 , una successione {xk }k0 che converge verso x. Esempi classici di metodi iterativi sono i metodi di Jacobi, di Gauss-Seidel e di rilassamento, che si basano su opportune
59

60

CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

decomposizioni della matrice A. Tra questi, il metodo concettualmente pi`


u semplice `e quello di Jacobi: esso parte dalla decomposizione della matrice del sistema in A = D + G, dove
D = diag(A) = diag(a11 , a11 , . . . , ann ) `e la diagonale di A mentre G = A D; supponendo
non nulli tutti gli elementi diagonali di A, il metodo genera la successione {xk }k0 mediante la
ricorsione
Dxk+1 + Gxk = b ,
ossia
xk+1 = D1 (Gxk + b) .
Nel seguito, studieremo invece metodi iterativi che fanno intervenire la matrice A soltanto
attraverso prodotti matrice-vettore del tipo Az. Tali metodi sono anche detti matrix-free, in
quanto non discriminano come i precedenti tra gli elementi della matrice; essi richiedono soltanto
una routine tipo scatola nera, che dato in ingresso un vettore z fornisca in uscita il vettore
Az.
` utile per il nostro studio introdurre il concetto di residuo dellequazione (3.1) relativo a un
E
vettore x, definito come
r(x) = b Ax .
(3.2)
Notiamo che

x `e soluzione di (3.1)
Inoltre, per k ,

xk x

r(x) = 0 .

rk = r(xk ) 0 .

Una situazione di notevole importanza `e quella in cui A `e una matrice simmetrica e definita
positiva. Associamo al sistema (3.1) il funzionale 1
J : Rn R,

J(x) =

1 T
x Ax xT b .
2

(3.3)

Esso gode della seguente propriet`a:


J(x) = minn J(x)
xR

(3.4)

e pi`
u precisamente x `e lunico punto di minimo di J. Infatti, osservando che b = Ax ed usando
la simmetria di A, si ha
J(x) =
=
=
=

1 T
x Ax xT Ax
2
1
1 T
1
x Ax xT Ax xT Ax
2
2
2
1 T
1 T
1 T
1
1
x Ax x Ax x Ax + xT Ax xT Ax
2
2
2
2
2
1
1 T
T
(x x) A(x x) x Ax .
2
2

Ponendo x = x in tale relazione, si ha J(x) = 21 xT Ax. Dunque, essendo A definita positiva,


otteniamo
1
J(x) = J(x) + (x x)T A(x x) J(x) , x Rn ,
(3.5)
2
con uguaglianza se e solo se x = x. Ne segue la tesi.
1

Dicesi funzionale (reale) ogni funzione definita in uno spazio vettoriale e a valori in R.

61

1
2

Derivando lespressione J(x) =

n
X

r,s=1

ars xr xs

conto della simmetria della matrice, abbiamo


n

n
X

br xr rispetto a xi , i = 1, . . . , n e tenendo

r=1

X
J
1X
1X
ais xs bi
ais xs +
ari xr bi =
(x) =
xi
2 s=1
2 r=1
s=1
e dunque il gradiente di J in x `e dato da
J(x) = Ax b = r(x) .

(3.6)

Notiamo che ci`


o `e coerente con la propriet`a (3.4), in quanto in un punto di estremo libero di
una funzione derivabile il suo gradiente si annulla. Derivando ulteriormente, abbiamo
2J
(x) = aij ,
xi xj

1 i, j n ;

dunque la matrice hessiana di J in ogni x Rn `e data da


HJ(x) = A .

(3.7)

Notiamo poi che se x denota un qualunque elemento di Rn e x un incremento arbitrario,


abbiamo
J(x + x) =

1
1
1
(x + x)T A(x + x) (x + x)T b = xT Ax xT b + (Ax b)T x + xT Ax
2
2
2

e dunque
1
1
J(x + x) = J(x) r(x)T x + xT Ax = J(x) + J(x)T x + xT HJ(x)x .
2
2

(3.8)

Lultima espressione rappresenta lo sviluppo di Taylor del funzionale J in x relativo allincremento x. Lassenza di ulteriori termini dopo quello del secondo ordine mostra che J `e un
funzionale quadratico (una parabola con la concavit`a rivolta verso lalto se n = 1, 
un paraboloi
2 1
de ellittico se n = 2, e cos via). Il caso n = 2 `e illustrato dalla Figura 3.1, per A =
1
2
 
3
eb=
.
0
Tale comportamento `e confermato dalla struttura delle variet`
a di livello di J, ossia degli
n
insiemi {x R : J(x) = costante} (curve di livello se n = 2, superfici di livello se n = 3, etc.).
Per comprendere tale struttura, incominciamo con lo studiare gli insiemi
{z Rn : zT Az = c2 },

con c > 0 arbitrario .

Poich`e A `e simmetrica e definita positiva, essa `e diagonalizzabile come A = WWT , con


= diag(1 , . . . , n ) e W = (w1 , . . . , wn ), essendo i e wi rispettivamente gli autovalori
(strettamente positivi) e i corrispondenti autovettori di A. Pertanto
zT Az = yT y =

n
X
i=1

i yi2 ,

avendo posto y = WT z ,

62

CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

Figura 3.1: Grafico del funzionale J (caso n = 2)


e dunque
zT Az = c2

n
X

i=1

yi2
c
i

2 = 1 .

(3.9)

Ci`
o mostra he le variet`
a di livello del funzionale K(z) = zT Az sono degli ellissoidi (ellissi se n =
2) aventi gli assi principali orientati secondo gli autovettori di A; la lunghezza di ciascun semiasse
`e proporzionale al reciproco della radice quadrata del corrispondente autovalore. Ricordando la
(3.5), le variet`
a di livello di J si ottengono da queste per traslazione nel punto x, come mostra
la Figura 3.2 nel caso n = 2.
Osservazione 3.0.4 Consideriamo il sistema (2.50) Au = f prodotto dalla discretizzazione
mediante elementi finiti del problema della membrana elastica. In tal caso, il funzionale J =
J(v) = 21 v T Av v T f `e definito su RN ; possiamo darne una interpretazione fisica nel modo
5

3
2

Figura 3.2: Curve di livello del funzionale J della Figura 3.1

`
3.1. I METODI DI DISCESA: GENERALITA

63

P
seguente. Sia vh = N
j=1 vj j Vh lo spostamento ammissibile discreto associato al vettore
v = (vj )1jN . Ricordiamo la (2.53) e parimenti osserviamo che

Z
Z
Z
N
N
X
X
T

vj j dx =
f vh dx .
f
f j dx =
vj
v f=
j=1

Pertanto, si ha

1
J(v) =
2

j=1

kvh k dx

f vh dx = E(vh ) ,

(3.10)

ove si `e introdotto, sullo spazio V degli spostamenti ammissibili, il funzionale


Z
Z
1
E : V R,
E(v) =
f v dx .
kvk2 dx
2

Esso rappresenta lenergia


totale della configurazione v, data dalla somma dellenergia di deR
1
formazione elastica 2 kvk2 dx
R associata alla deformazione rispetto alla configurazione a
riposo, e dellenergia potenziale f v dx associata alla forza esterna applicata.
La condizione di minimo (3.4), che qui scriviamo come
J(u) = min J(v) ,
v RN
ossia
E(uh ) = min E(vh ) ,
vh Vh

(3.11)

esprime quindi la propriet`a che la soluzione uh del problema variazionale discreto (2.49) `e la
configurazione che minimizza lenergia totale della membrana tra tutte le configurazioni discrete
ammissibili.
Similmente, si pu`
o verificare che la soluzione u V del problema variazionale esatto (2.37) `e
caratterizzata dalla condizione
E(u) = min E(v) ,
vV

che esprime quindi il Principio di Minimo dellEnergia Totale: la membrana assume allequilibrio
la configurazione che rende minima lenergia totale del sistema. Tale Principio `e del tutto
equivalente al Principio dei Lavori Virtuali.

3.1

I metodi di discesa: generalit`


a

La struttura del funzionale J, ed in particolare la (3.4), suggerisce una strategia per approssimare
x: costruire una successione {xk } avente la propriet`a che il valore del funzionale decresca nel
passaggio da xk a xk+1 , avvicinandosi via via al valore minimo. Un algoritmo costruito in base
a tale strategia prende il nome di metodo di discesa.
Un metodo di discesa `e definito da una relazione ricorsiva del tipo
xk+1 = xk + k pk ,

(3.12)

dove il vettore pk rappresenta il vettore di discesa, mentre lo scalare k rappresenta il passo di


discesa. Un vettore pk `e ammissibile come vettore di discesa se
J k
(x ) = J(xk )T pk < 0 ,
pk

(3.13)

64

CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

rk
1

xk+1

k pk

xk

J(xk )

pk
1

Figura 3.3: Rappresentazione grafica di un passo di discesa


ossia se muovendosi di un passo sufficientemente piccolo nella direzione e nel verso di pk il
funzionale decresce. Se J(xk ) 6= 0, cio`e se xk 6= x, esiste almeno un vettore di discesa.
Ponendo rk = r(xk ) = J(xk ), la relazione precedente pu`
o essere scritta come
(rk )T pk > 0 .

(3.14)

I vari metodi di discesa si differenziano per la scelta del vettore di discesa. Infatti, una volta
fissato tale vettore pk , il passo di discesa k `e determinato univocamente dalla condizione che
il funzionale J abbia la massima riduzione in quella direzione (line-search). Ci`
o significa che la
k
k
k
funzione () = J(x + p ) assume il valore minimo in . Ricordando la (3.8), si ha
1
() = J(xk ) (rk )T pk + 2 (pk )T Apk ,
2
il che mostra che () `e una parabola con la concavit`a rivolta verso lalto, essendo (pk )T Apk > 0.
Il punto di minimo, caratterizzato dalla relazione () = (rk )T pk +(pk )T Apk = 0, `e dunque
dato da
(rk )T pk
.
(3.15)
k = k T
(p ) Apk
Geometricamente, il punto xk+1 = xk + k pk `e il punto di tangenza della retta xk + pk con
una variet`
a di livello di J (si veda la Fig. 3.3). Ricordando che il gradiente in ogni punto `e
ortogonale alla variet`
a di livello passante per quel punto, si ha J(xk+1 )T pk = 0, ossia
(rk+1 )T pk = 0 .

(3.16)

Notiamo poi che il residuo in xk+1 pu`


o essere espresso in termini del residuo in xk , come
rk+1 = b Axk+1 = b Axk k Apk = rk k Apk .

(3.17)

Dora in avanti, k sar`


a sempre definito dalla (3.15). Passiamo a discutere la scelta del vettore
di discesa pk .

3.2. IL METODO DEL GRADIENTE

65

xk

k rk

xk+1

xk+2
rk+1

xk+3
rk+2

rk

2
1

Figura 3.4: Tre passi del metodo del gradiente

3.2

Il metodo del gradiente

Ricordando le (3.13)-(3.14), una scelta naturale consiste nel porre


pk = rk (= J(xk )) ,

(3.18)

vale a dire nel muoversi nella direzione di massima discesa locale (steepest descent). In base alla
(3.16), si ha
(rk+1 )T rk = 0 ,
(3.19)
ossia i gradienti sono a due a due ortogonali (si veda la Figura 3.4).
Lalgoritmo del gradiente `e dunque:
x0 arbitrario
r0 = b Ax0
Per k = 0, 1, . . . fino a convergenza
zk = Ark
(rk )T rk
k = k T k
(r ) z
k+1
x
= xk + k rk
rk+1 = rk k zk

(3.20)

Si noti che ad ogni iterazione si esegue un solo prodotto matrice-vettore (per il calcolo di zk ).
Esso costituisce la parte pi`
u costosa dellalgoritmo, richiedendo fino a mn operazioni (ricordiamo che m indica il massimo numero di elementi non nulli in una riga di A). Gli altri passi
dellalgoritmo (calcolo di prodotti scalari e aggiornamento di vettori) richiedono un numero di
operazioni dellordine di n.

66

CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

Si dimostra che, partendo da un qualunque punto iniziale x0 , la successione cos` generata


converge verso x. Pi`
u precisamente, introdotta la norma

kxkA = xT Ax ,
x Rn ,
associata alla matrice A (detta norma dellenergia), si pu`
o dimostrare che
k

kx xkA

cond2 (A) 1
cond2 (A) + 1

k

kx0 xkA ,

k0,

(3.21)

max
1 indica il numero di condizionamento di A nella norma euclidea. Si
min
noti che la quantit`
a
cond2 (A) 1
2
=1
<1
cond2 (A) + 1
cond2 (A) + 1

dove cond2 (A) =

`e tanto pi`
u vicina a 1 quanto cond2 (A) `e grande; dunque, la convergenza della successione {xk }
` facile stimare il numero massimo di
`e tanto pi`
u lenta quanto la matrice A `e malcondizionata. E
iterazioni necessarie a ridurre lerrore relativo, nella norma dellenergia, di una quantit`a > 0.
Infatti, tenuto conto della (3.21), imponiamo che
kxk xkA

kx0 xkA

cond2 (A) 1
cond2 (A) + 1

k

<;

passando ai logaritmi, si ha


2
k log 1
cond2 (A) + 1
da cui
k>

< log ,

log

.
log 1 cond22(A)+1

(3.22)

Ricordando che log(1 + t) t per t 0, per grandi numeri di condizionamento abbiamo




2
2
2
log 1

cond2 (A) + 1
cond2 (A) + 1
cond2 (A)
e dunque

1
(3.23)
k >
2 | log | cond2 (A) .
Se ne conclude che il numero di iterazioni necessarie a portare lerrore relativo al di sotto di una
soglia `e stimabile in modo proporzionale tanto al modulo del logaritmo di quanto al numero
di condizionamento di A.
In pratica, per arrestare lalgoritmo, si impone una condizione del tipo krk k/kr0 k < tol oppure
kxk xk/kxk k < tol, dove la norma `e quella euclidea e tol rappresenta una tolleranza relativa.
Nel caso di matrici malcondizionate, `e preferibile imporre entrambe le condizioni nel test di
arresto, vale a dire
kxk xk
krk k
<
tol
,
< tol2 .
1
kr0 k
kxk k

3.3. IL METODO DEL GRADIENTE CONIUGATO

3.3

67

Il metodo del gradiente coniugato

La scelta della direzione di J(xk ) come direzione di discesa pu`


o rivelarsi miope, in quanto non
tiene conto della struttura globale del funzionale J. Quando la matrice A `e malcondizionata,
gli ellissoidi di livello definiti dalla (3.9) sono molto allungati in certe direzioni; nei punti in
cui il gradiente `e quasi perpendicolare a tali direzioni, il muoversi lungo la direzione di J
pu`
o portare a una modesta riduzione del valore del funzionale. Daltro canto, se guardiamo la
Figura 3.4 supponendo di essere in dimensione n = 2, appare evidente quale sia la direzione di
discesa ottimale: quella della retta passante per xk+1 e per x ! Essa ci permette di giungere
in x in un solo passo, cercando il minimo del funzionale lungo tale retta. In due dimensioni,
questa direzione pu`
o essere determinata senza conoscere x: infatti, `e facile verificare che un
vettore p avente tale direzione `e caratterizzato dallessere A-ortogonale (o, come si dice in modo
equivalente, A-coniugato) alla direzione pk tangente alla curva di livello, nel senso che
(pk )T Ap = 0 .
In dimensione n qualunque, questa relazione definisce un sottospazio di direzioni A-coniugate a
pk , avente dimensione n 1. Il metodo del gradiente coniugato (CG method) seleziona il vettore
pk+1 in tale sottospazio, con la condizione aggiuntiva che appartenga al piano generato da pk e
da rk+1 . Scriviamo dunque
pk+1 = rk+1 + pk
e determiniamo in modo che
(pk )T Apk+1 = (pk )T Ark+1 + (pk )T Apk = 0 ,
ossia poniamo
k+1 =

(pk )T Ark
.
(pk )T Apk

(3.24)

Si noti che, se n 3, in generale la direzione cos` definita non ci permetter`a di giungere in x in


un solo passo; infatti, non `e detto che tale punto appartenga alla retta xk+1 + pk+1 . Tuttavia,
essa ci consente di avvicinarci al punto di minimo globale x meglio di quanto non faccia la scelta
pk+1 = rk+1 . Infatti, si pu`
o dimostrare che il punto xk+2 , ottenuto minimizzando J lungo la
retta xk+1 + pk+1 , risulta essere il minimo del funzionale anche su tutto il piano formato dai
vettori xk+1 + pk+1 + rk+1 , al variare di e in R (si veda la Figura 3.5).
` rimarchevole il fatto che, pur defininendo pk+1 attraverso la condizione che sia A-ortogonale
E
alla direzione precedente pk , esso risulta A-ortogonale a tutte le direzioni di discesa precedenti;
in altri termini, si dimostra che
(pj )T Apk = 0 ,

j, k 0 , j 6= k .

(3.25)

Inoltre si dimostra che i residui sono tutti ortogonali tra loro:


(rj )T rk = 0 ,

j, k 0 , j 6= k .

(3.26)

Mediante tali propriet`a, si pu`


o ottenere una espressione per k+1 equivalente alla (3.24) ma
computazionalmente preferibile, vale a dire
k+1 =

(rk+1 )T rk+1
.
(rk )T rk

(3.27)

68

CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

xk

xk+1

rk+1

pk+1

xk+2

pk

2
1

Figura 3.5: Un passo del metodo del gradiente coniugato. I vettori pk e pk+1 sono A-coniugati
Lagoritmo del gradiente coniugato `e dunque:
x0 arbitrario
r0 = b Ax0

p0 = r0
Per k = 0, 1, . . . fino a convergenza
zk = Apk
(rk )T pk
(pk )T zk
k+1
x
= xk + k pk
rk+1 = rk k zk

k =

(3.28)

(rk+1 )T rk+1
(rk )T rk
= rk+1 + k+1 pk

k+1 =
pk+1

Si noti che ancora lalgoritmo richiede un solo prodotto matrice-vettore per iterazione.
Discutiamo ora la convergenza del metodo. Una prima, notevole propriet`a segue dalla (3.26). I
residui r0 , . . . , rn1 formano un sistema ortogonale in Rn ; se essi sono tutti diversi da 0, formano
una base in tale spazio. Pertanto, l(n + 1)-esimo residuo rn , essendo ortogonale a ciascuno di
essi, sar`
a nullo, e dunque xn = x. In altri termini, il metodo del gradiente coniugato fornisce in assenza di errori dovuti allaritmetica di macchina - la soluzione del sistema lineare (3.1) in al
pi`
u n iterazioni. In effetti, tale metodo fu proposto nel 1952 da Hestenes e Stiefel come metodo
diretto. Esso viene ora considerato come un metodo iterativo perch`e, se n `e molto grande e la
matrice non `e malcondizionata, si ottiene una buona approssimazione della soluzione dopo un
numero di iterazioni molto minore di n. La successiva analisi di convergenza evidenzia questo
fenomeno.

3.4. CENNO AI METODI PER PROBLEMI NON SIMMETRICI

69

I metodi del gradiente e del gradiente coniugato fanno parte dei cosiddetti metodi di Krylov.
Fissato x0 arbitrario e posto r0 = b Ax0 , indichiamo con
K(A, r0 ; k) = span{r0 , Ar0 , . . . , Ak1 r0 } ,

k1,

lo spazio vettoriale, detto spazio di Krylov, generato dal residuo iniziale r0 e dalle successive
potenze di A applicate a tale vettore. Un metodo iterativo `e detto di Krylov se la successione
{xk } da esso generata `e tale che
xk x0 + K(A, r0 ; k)

per ogni k 1 .

Non `e difficile verificare che le successioni generate dai metodi del gradiente e del gradiente
coniugato soddisfano tale condizione. Nel caso del metodo del gradiente coniugato, ciascuna
iterata xk , che - ricordiamo - `e definita da un processo di minimizzazione del funzionale J lungo
una retta, risulta in realt`
a punto di minimo vincolato di J relativo a una variet`
a di dimensione
k; precisamente, si pu`
o dimostrare che
J(xk ) =

min

xx0 +K(A,r0 ;k)

J(x) .

Per k = n, si ha K(A, r0 ; n) = Rn , il che conferma il fatto che xn , essendo il punto di minimo


assoluto per J, coincide con x.
Per quanto riguarda la convergenza del metodo del gradiente coniugato, lerrore dopo n
iterazioni pu`
o essere stimato nel modo seguente:
kxk xkA 2

cond2 (A) 1

cond2 (A) + 1

!k

kx0 xkA ,

k0.

(3.29)

Procedendo come per il metodo del gradiente, qualora cond2 (A) >> 1, si stima il numero di
k xk
A
< in
iterazioni necessarie per avere kx
kx0 xkA
p
1
cond2 (A) .
k >
|
log
|
2

(3.30)

Dal confronto con la (3.23) appare evidente il guadagno rispetto al metodo del gradiente.

3.4

Cenno ai metodi per problemi non simmetrici

Se la matrice A non `e simmetrica e definita positiva, viene meno lequivalenza diretta tra la
risoluzione del sistema (3.1) e la minimizzazione di un funzionale quadratico.
Un modo per ricondursi a tale situazione `e quello di osservare che x `e soluzione di (3.1) se e
solo se `e soluzione del sistema
AT Ax = AT b .
(3.31)
Queste equazioni vengono dette le equazioni normali. La matrice simmetrica AT A risulta definita positiva se e solo se A `e non singolare; pertanto, il sistema precedente pu`
o essere risolto
mediante il metodo del gradiente coniugato. Tuttavia, il numero di condizionamento di AT A `e
il quadrato di quello di A, ed un prodotto matrice-vettore z = AT Ap costa il doppio rispetto
ad un prodotto z = Ap.

70

CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

Sono stati quindi proposti metodi alternativi, molti dei quali rientrano nella classe dei metodi
di Krylov. Essi definiscono xk+1 a partire da xk ancora nella forma
xk+1 = xk + k pk ,
con k definito da un processo di ottimizzazione monodimensionale e pk K(A, r0 ; k + 1). Ricordiamo, tra tali metodi, il metodo del gradiente bi-coniugato stabilizzato (BiCGStab method),
che si basa sulla costruzione di una successione di residui r0 , . . . , rk , . . . che non sono fra loro
ortogonali, ma sono ortogonali agli elementi di una successione ausiliaria r0 , . . . , rk , . . . . Un altro
metodo oggi molto popolare `e il metodo del minimo residuo generalizzato (GMRes method), che
si basa su un processo di ortogonalizzazione effettuato in ciascuno spazio di Krylov. Il metodo
GMRes offre la garanzia matematica della convergenza a x della successione da esso generata.
Tuttavia, il metodo richiede di tenere in memoria un numero di vettori pari al numero di iterazioni compiute. In pratica, ci`
o risulta proibitivo; esistono allora versioni computazionalmente
meno costose, quali ad esempio il Restarted GMRes method, in cui dopo aver effettuato un numero fissato di iterazioni di GMRes, si ricomincia dallultimo punto calcolato. Queste versioni,
per`
o, hanno la garanzia di convergere soltanto se la parte simmetrica 21 (A + AT ) della matrice
risulta definita positiva.

3.5

Il precondizionamento

Lanalisi di convergenza di tutti i metodi iterativi precedentemente considerati mette in evidenza


il ruolo cruciale del numero di condizionamento della matrice A. Le matrici generate dalla
discretizzazione di modelli differenziali hanno in genere un numero di condizionamento che cresce
in modo inversamente proporzionale ad una potenza del parametro di griglia h, cio`e cond2 (A)
ch per un certo > 0; la (1.34) `e un esempio di tale comportamento. (Nel caso di griglie
fortemente disuniformi, la situazione `e ancora peggiore perch`e il ruolo di h nella stima precedente
`e svolto dal pi`
u piccolo parametro di griglia hmin .)
Per ovviare a questo inconveniente, possiamo sostituire al sistema (3.1) il sistema equivalente
P1 Ax = P1 b ,

(3.32)

dove P `e una matrice non singolare avente le seguenti propriet`a: (i) cond2 (P1 A) << cond2 (A),
(ii) gli elementi di P sono calcolabili in modo poco costoso, (iii) un prodotto matrice-vettore
y = P1 v, o equivalentemente la risoluzione di un sistema lineare Py = v pu`
o essere effettuato
ad un costo confrontabile con quello del calcolo di y = Av. Una matrice avente queste propriet`a
dicesi matrice di precondizionamento per A. Ovviamente, la matrice che realizza in modo
ottimale la condizione (i) `e ... la matrice P = A, per la quale si ha cond2 (P1 A) = cond2 (I) = 1 !
Ma A non soddisfa le condizioni (ii) e (iii). Tuttavia losservazione suggerisce di cercare P come
una opportuna approssimazione della matrice A.
Una strategia che porta ad una matrice di precondizionamento sovente efficace consiste nel
costruire una fattorizzazione incompleta della matrice A. Illustriamo lidea nel caso particolare
ma significativo in cui A sia una matrice simmetrica e definita positiva, e molto sparsa. Essa
ammette allora la fattorizzazione di Choleski A = CCT , con C triangolare inferiore ad elementi
` possibile
diagonali strettamente positivi, ma non pi`
u sparsa a causa del fenomeno del fill-in. E
per`
o costruire facilmente una matrice sparsa C ancora triangolare inferiore e ad elementi diagonali strettamente positivi, con le seguenti propriet`a: gli elementi diversi da 0 sono soltanto
quelli aventi gli stessi indici degli elementi diversi da 0 nella parte triangolare inferiore di A;

3.5. IL PRECONDIZIONAMENTO

71

il prodotto CC T coincide con A in corrispondenza degli elementi diversi da 0 di A. In altri


termini, posto C = (cjk ), si ha
cjk = 0 ,

j>k,

ajk = 0 cjk = 0 ,
jk,
n
X
cjr ckr = ajk , j k .
ajk 6= 0
r=1

Poniamo allora P = CC T . Per unampia classe di metodi di discretizzazione che conducono a


matrici A simmetriche e definite positive, la condizione (i) precedente `e verificata; inoltre, C
`e sparsa tanto quanto A, e un sistema lineare Py = v pu`
o essere facilmente risolto mediante
sostituzione, risolvendo in cascata il sistema Cw = v seguito da C T y = w.
Lidea ora esposta pu`
o essere generalizzata, dando luogo a famiglie di matrici C aventi un
numero via via crescente di elementi diversi da zero anche laddove A ha elementi nulli: in tal
modo si pu`
o ridurre ulteriormente cond2 (P1 A), al prezzo di un incremento progressivo nel
costo della risoluzione del sistema lineare Py = v.
In ogni caso, si noti tuttavia che la matrice P1 A non `e simmetrica, dunque il metodo del
` possibile invece
gradiente coniugato non pu`
o essere applicato direttamente al sistema (3.32). E
trasformare il sistema (3.1) in forma simmetrica, scrivendo dapprima
C 1 Ax = C 1 b
e poi
C 1 A(C 1 )T C T x = C 1 b ,
= C 1 b,
= CT x e b
ossia, ponendo x
.
=b
C 1 A(C 1 )T x
La matrice C 1 A(C 1 )T `e simmetrica e definita positiva, e soddisfa cond2 (C 1 A(C 1 )T ) =
` dunque possibile applicare il metodo del gradiente coniugato a tale sistema.
cond2 (P1 A). E
Lalgoritmo risultante pu`
o essere formulato in termini dellincognita originale x. Si ottiene il
seguente metodo del gradiente coniugato precondizionato (PCG method):
x0 arbitrario
r0 = b Ax0

Py0 = r0
p0 = y 0

Per k = 0, 1, . . . fino a convergenza


zk = Apk
k =
xk+1

(yk )T rk
(pk )T zk
= xk + k pk

rk+1 = rk k zk
Pyk+1 = rk+1
(yk+1 )T rk+1
(yk )T rk
k+1
=y
+ k+1 pk

k+1 =
pk+1

(3.33)

72

CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

Metodo
Gradiente
Gradiente Coniugato
Gradiente Coniugato Precondizionato

Iter vs condizionamento

Iter vs h o N

O(cond2 (A))
p
O( cond2 (A))
q
O( cond2 (P 1 A))

O(h2 ) = O(N 2 )

O(h1 ) = O(N )

O(h1/2 ) = O( N )

Tabella 3.1: Costo di vari metodi iterativi in funzione dei parametri di griglia

3.5.1

Applicazione al caso delle matrici delle differenze finite e degli elementi


finiti

Consideriamo la matrice A generata dalla discretizzazione alle differenze finite centrate dellequazione di Poisson in due dimensioni, e definita in (2.25). La pi`
u semplice fattorizzazione
incompleta di Choleski consiste nel costruire il fattore triangolare inferiore C, avente elementi cjk
diversi da zero soltanto sulla diagonale principale (k = j) e sulle due sottodiagonali definite dalle
relazioni k = j 1 e k = j N . Tali elementi sono univocamente determinati dalle equazioni
2

N
X
r=1

cjr ckr =

k
X
r=1

cjr ckr = ajk ,

1 j N 2,

k = j, j 1, j N ,

che sono in numero pari agli elementi incogniti (si noti che nella seconda somma si `e tenuto
conto del fatto che ckr = 0 se r > k). Una variante, pi`
u efficiente, consiste nel determinare
P
gli elementi diagonali di C non attraverso le condizioni jr=1 c2jr = ajj , ma chiedendo che la
somma degli elementi in ciascuna riga del prodotto CC T coincida con la somma degli elementi
sulla corrispondente riga di A (row-sum condition).
` possibile dimostrare che con ognuna di queste scelte si ha cond2 (P 1 A) = O(h1 ) = O(N ),
E
in luogo di cond2 (A) = O(h2 ) = O(N 2 ) secondo la (2.25).
Tenendo conto delle stime (3.23) e (3.30), possiamo allora quantificare nella Tabella 3.1 il
costo della risoluzione di un sistema lineare Au = f in funzione dei parametri di griglia, in
termini di numero di iterazioni (Iter) necessarie a ridurre lerrore relativo al di sotto di una
soglia .
Risultati del tutto analoghi si hanno per la matrice A generata dalla discretizzazione agli
elementi finiti lineari dello stesso problema (si veda la (2.50)), quando la triangolazione sia
quasi-uniforme, vale a dire composta da elementi aventi ciascuno diametro dellordine di h.

Capitolo 4

Modelli dinamici di corpi elastici


Fino ad ora, abbiamo considerato le posizioni di equilibrio statico di un filo elastico o di una
membrana elastica. Estendiamo ora i modelli al caso in cui si considerino anche variazioni in
tempo del corpo elastico, per effetto di una sollecitazione iniziale oppure di una forzante variabile
nel tempo.
Consideriamo il caso della membrana, lasciando al lettore le ovvie semplificazioni nel caso del
filo; facciamo riferimento alle notazioni della Sez. 2.1. Indichiamo dunque con u = u(x, t) lo
spostamento verticale (supposto piccolo) della membrana nel punto x = (x, y) al tempo
2u
rappresenta laccelerazione della membrana nella direzione
t, e notiamo che la quantit`
a
t2
verticale. Sia poi = (x) la densit`a superficiale di massa della membrana, e f = f (x, t) la
densit`a superficiale di forza applicata dallesterno al tempo t. Applicando la legge di Newton,
otteniamo, in luogo della prima delle (2.6), la seguente relazione valida ad ogni istante temporale
t:
2u
f + = 2
in ;
(4.1)
t
sostituendo lespressione di fornita dalla legge di Hooke in tale equazione, otteniamo
2u
(u) = f
in .
(4.2)
t2
Tale equazione prende il nome di equazione delle onde. Ad essa vanno aggiunte le condizioni al
bordo; supponendo ad esempio che la membrana resti fissato al bordo ad ogni istante temporale
t, abbiamo
u(x, t) = 0
su .
(4.3)

Inoltre, sono necessarie condizioni che descrivano il tipo di moto della membrana. Consideremo
a tale proposito due situazioni:
Moto periodico libero. Sia f identicamente nulla, e cerchiamo u come prodotto di una
funzione periodica della sola variabile t per una funzione della sola variabila x, nulla al
bordo. In altri termini, eseguiamo una separazione delle variabili di tempo e di spazio,
scrivendo u o in forma complessa come
u(x, t) = eit w(x) ,

(4.4)

dove i indica lunit`


a immaginaria, /2 rappresenta una frequenza di pulsazione e w `e una
variabile complessa, oppure in forma reale come
u(x, t) = cos(t + )w(x) ,
73

(4.5)

74

CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

dove rappresenta una fase e w `e una variabile reale. In entrambi i casi, u `e una funzione periodica in tempo di periodo 2/; sostituendo la sua espressione nella (4.2) e
semplificando il fattore comune dipendente da t, otteniamo lequazione
2 w (w) = 0

in

(4.6)

soddisfatta da w. La condizione al bordo (4.3) si traduce in unanaloga condizione per w.


In conclusione, ponendo = 2 , i moti periodici liberi della membrana fissata al bordo
sono determinati dalle soluzioni del problema agli autovalori

(w) = w in ,
(4.7)
w = 0
su .
Lo studio di tale problema costituisce lanalisi modale o spettrale della membrana elastica.

Moto dipendente dalle condizioni iniziali e da una forzante. Supponiamo che ad un certo
istante temporale, che per semplicit`a scegliamo come t = 0, si conosca per ogni x
tanto la posizione della membrana, ossia lo spostamento u(x, 0) = u0 (x), quanto la sua
u
(x, 0) = v0 (x). Allora, nota la forzante f (x, t)
velocit`
a, rappresentata dalla funzione
t
per tutti i tempi t [0, T ], dove T > 0 rappresenta il tempo finale di osservazione, lo
spostamento u per t [0, T ] `e univocamente determinato risolvendo il problema ai valori
iniziali e al bordo
2
u

2 (u) = f in ,
0<tT ,

t
(4.8)
u=0
su , 0 < t T,

u = u0 , u = v0
in ,
t=0.
t
Si noti che il numero (due) di condizioni iniziali sulla incognita u `e determinato dallordine
di derivazione in tempo nella legge di Newton, rappresentata dalla prima delle (4.8).

4.1

La matrice di massa

Nella discretizzazione mediante elementi finiti del problema agli autovalori (4.7), o del problema
ai valori iniziali e al bordo (4.8), o ancora del successivo problema del calore (5.6), interviene una
nuova matrice, oltre alla matrice di rigidezza, che viene detta matrice di massa (mass matrix
nella letteratura anglosassone). Nel caso monodimensionale, tale matrice `e gi`a stata introdotta
nel Paragrafo 1.7 (si vedano le (1.91)(1.93)), dando al coefficiente che qui rappresenta la densit`a
un significato fisico diverso.
La matrice di massa trae origine dalla rappresentazione algebrica di un termine integrale del
tipo
Z
wh vh dx ,

quando wh sia espressa come combinazione lineare delle funzioni di base e vh sia scelta di volta in
volta come una delle funzioni di base. Precisamente, supponiamo che lo spazio Vh delle funzioni
di forma e delle funzioni test discrete sia dato da (2.43); siano j , 1 j Nhi = N , le relative

4.1. LA MATRICE DI MASSA

75

funzioni di base, soddisfacenti le relazioni (2.45). Scrivendo wh =


vh = j , si ha
Z
Z
N
X
wh j dx =
k j dx .
wk

PN

k=1 wk k

e scegliendo

k=1

La matrice di massa, che indicheremo con B (segnaliamo che nella letteratura ingegneristica
essa viene sovente indicata con M ), `e dunque definita da
Z
N N
k j dx .
(4.9)
B = (bjk ) R
,
con bjk =

Come la matrice di rigidezza, anche la matrice di massa `e simmetrica, definita positiva e


sparsa. La struttura della matrice (posizione degli elementi a priori diversi da 0) `e la stessa, in
quanto in analogia con la (2.52), si ha
Z
X
k j dx .
(4.10)
bjk =
T T (j)T (k)

Identica `e pure la modalit`


a di costruzione, basata sul calcolo delle matrici di massa dei singoli
elementi e sul successivo assemblaggio.
Adottando le stesse notazioni della Sez. 2.3.6, siano
Z
(T )
dx
b, =
T

gli elementi della matrice di massa B (T ) R33 dellelemento T T . Possiamo supporre che la
densit`a sia costante = T in T , altrimenti la approssimiamo con il suo valor medio su T
Z
1
dx ,
T =
area(T ) T
oppure con il suo valore T = (xb ) nel baricentro del triangolo. In ogni caso, poniamo
Z
(T )
dx .
(4.11)
b, = T
T

Si ha allora

B (T ) = T area(T )

1
6
1
12
1
12

1
12
1
6
1
12

1
12
1
12
1
6

(4.12)

Per giustificare questo risultato, possiamo procedere in questo modo. Consideriamo dapprima
1 = (1, 0), x
2 = (0, 1) e x
3 = (0, 0). Indichiamo con
il triangolo di riferimento T di vertici x

= (
x
x, y) il generico punto in T . Le funzioni di base su tale triangolo sono date da
1 (
x) = x
,

2 (
x) = y ,

3 (
x) = 1 x
y ;

infatti, si verifica facilmente che si ha (


v ) = per 1 , 3. Un semplice calcolo
mostra che
Z
Z
1
1
,
d
x=
,
1 6= 3 .
(4.13)
2 d
x=
12
24
T
T

76

CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

Applichiamo ora la trasformazione affine F : R2 R2 , F (


x) = x, che trasforma ogni vertice
nel corrispondente vertice x , 1 3, e dunque T in T . Lespressione di F `e data da
x
  
  

x
x11 x31 x12 x32
x

x31
=
+
,
(4.14)
y
x21 x31 x22 x32
y
x32
ossia
x = G
x + x3 ,
essendo G una particolare matrice di tipo (2.39). Le funzioni di base su T vengono trasformate
nelle corrispondenti funzioni di base su T , ossia (x) = (F 1 (x)) = (
x), 1 3.
Inoltre, ricordando la (2.40), si ha dx = |det G|d
x = 2area(T )d
x. Dunque
Z
Z
x,
1 , 3 ;
dx = 2area(T ) d
T

da queste relazioni e dalle (4.13) segue immediatamente la (4.12).

e che
In alcuni casi, si preferisce sostituire alla matrice di massa B una matrice diagonale B,
ne surroga gli effetti. Essa `e ottenuta concentrando la massa nei nodi, cio`e sostituendo ad
ogni elemento diagonale di B la somma degli elementi che stanno nella corrispondente riga.
Questo procedimento prende il nome di concentrazione della massa (mass lumping in inglese)
viene chiamata matrice di massa concentrata (lumped mass matrix ).
e la risultante matrice B
Gli elementi di tale matrice sono dunque dati da

!
Z
N
N

X
X

bjk =
k j dx; , se j = j ,
bjj =
(4.15)

k=1
k=1

0
se j 6= j .

La concentrazione pu`
o essere realizzata a livello di singolo triangolo, in quanto assemblando
matrici locali diagonali si ottiene una matrice globale diagonale. Supponiamo dapprima che T
sia un triangolo i cui vertici sono tutti portatori di una incognita (ossia le tre funzioni di base
locali sono restrizioni a T di funzioni di base globali). La matrice B (T ) definita in (4.12) viene
quindi sostituita dalla matrice
e (T ) = T area(T ) 1 I
(4.16)
B
3
(T )
(dove I R33 indica la matrice identit`a). Notiamo che lelemento diagonale b `e dato da

Z
Z
3 Z
3
X
X
b(T ) = T

dx = T
dx = T
dx

=1 T

=1

grazie alla (2.59). Ricordando che il volume di una piramide `e dato da 13 area(base) altezza, si
ha subito
Z
1
dx = area(T ) ,
3
T

e (T ) da B (T ) `e quello di calcolare
coerentemente
R con la (4.16). Un modo equivalente per ottenere B
gli integrali T dx che compaiono nella (4.11) in maniera approssimata usando la formula
dei trapezi (2.63). Tenendo conto dei valori delle funzioni di base nei nodi, si ha
(
Z
1
area(T ) , se = ,
dx = 3
0
se 6= ,
T

4.2. ANALISI MODALE

77

che corrisponde nuovamente alla (4.16). Se invece T contiene nodi non portatori di incognita
(cio`e nodi di bordo su cui `e imposta una condizione di Dirichlet), allora `e necessario dapprima
cancellare dalla matrice (4.12) le righe e le colonne corrispondenti a tali nodi, e poi procedere
con la somma degli elementi su ciascuna riga rimanente. In pratica, se un solo nodo non porta
e (T ) sar
una incognita, B
a data dalla matrice 2 2
e (T ) = T area(T ) 1 I ,
B
4

e
mentre se sono due i nodi a non portare unincongnita, B

(T )

si ridurra allo scalare

e (T ) = T area(T ) 1 .
B
6

Tali matrici concentrate locali intervengono nellassemblaggio della matrice concentrata globale.
Per comodit`
a del lettore, concludiamo questo paragrafo riportando le matrici di massa globali
(esatte e concentrate) nel caso monodimensionale, supponendo che la densit`a sia costante
nellintervallo [0, L] e che la partizione dellintervallo sia fatta con passo costante h = L/(N + 1).
Se si impongono condizioni di Dirichlet su entrambi gli estremi, gi`a sappiamo che la matrice di
massa `e una matrice N N avente la struttura (si veda la (1.94))
B = h tridiag
La sua versione concentrata `e data da
e = h diag
B

5

6;

1
6

2
3

1
6

1 . . . 1;

(4.17)

5
6

(4.18)

Se invece si impongono condizioni di Neumann su entrambi gli estremi, la matrice di massa `e


una matrice (N + 2) (N + 2) avente la struttura
B = h tridiag
La sua versione concentrata `e data da

1

e = h diag
B

1

2;

1
6;

1
6

2
3

1
6;

1 . . . 1;

1
6

1
2

1
3

(4.19)

(4.20)

Le varianti nel caso di combinazione di una condizione di Dirichlet e una di Neumann sono ovvie.

4.2

Analisi modale

Affrontiamo qui lo studio e la discretizzazione del problema (4.7). Ogni coppia (, w) che risolve
tale problema (con w non identicamente nulla) viene detta una autosoluzione del problema; la
funzione w `e lautofunzione associata allautovalore . Le autofunzioni di un operatore differenziale lineare, nel nostro caso loperatore w 7 Aw = (w) che opera sulle funzioni
nulle al bordo di , sono concettualmente lanalogo degli autovettori di una matrice A, che `e
un operatore lineare w 7 Aw sui vettori.

78

CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

4.2.1

Approssimazione mediante differenze finite

Studiamo dapprima il caso di una membrana quadrata, gi`a considerata nella Sez. 2.2. Supponiamo che e siano costanti. In tal caso, il problema agli autovalori diventa

w = w in ,
(4.21)
w = 0
su .

Le autosoluzioni di tale problema sono note in forma analitica. Consideriamo infatti lanalogo
problema monodimensionale

2
d w = w
in (0, L) ,
(4.22)
dx2

w(0) = w(L) = 0 ,

che descrive le vibrazioni libere di un filo elastico fissato agli estremi; tale problema `e stato gi`
a
trattato in (1.29), limitatamente al caso = 1. Le autosoluzioni (p , wp ) di (4.22) sono date da
p =

 
wp (x) = C sin p x ,
L

2 2
p ,
L2

Ora, ricordando lespressione =


coppie (pq , wpq ), con
pq = p + q

2
x2

2
y 2

p = 1, 2, . . .

(4.23)

delloperatore di Laplace, `e facile verificare che le

wpq (x, y) = wp (x)wq (y) ,

p, q = 1, 2, . . .

(4.24)

sono autosoluzioni del problema (4.21), e si pu`


o dimostrare che non vi sono altre autosoluzioni.
In altre parole, ogni autofunzione del problema bidimensionale `e il prodotto di due qualunque
autofunzioni del problema monodimensionale, luna espressa nella variabile x, laltra nella variabile y (questa operazione prende il nome di prodotto tensoriale); lautovalore `e la somma
dei corrispondenti autovalori. Tale struttura particolare dipende dal fatto che il dominio `e un
prodotto cartesiano di intervalli ed i coefficienti dellequazione sono costanti.
Una struttura del tutto analoga si ritrova a livello algebrico, se si discretizza il problema
mediante differenze finite centrate su una griglia equispaziata. Facciamo qui riferimento alle
notazioni della Sez. 2.2. Ponendo wm w(x , ym ) e h , la discretizzazione del problema
(4.21) `e data da

(w,m1 w1,m + 4wm w+1,m w,m+1 ) = h wm ,


h2

1 , m N .

(4.25)

In termini matriciali, ci`


o si esprime come
Aw = h w ,

(4.26)

dove A `e la matrice pentadiagonale simmetrica definita in (2.25) e w = (wk ) `e il vettore dei


valori nodali wm ordinati lessicograficamente. Dunque le quantit`a h sono gli autovalori della
matrice A, mentre w sono i corrispondenti autovettori. Detti




 
h
h
2
k
,
p = 1, . . . , N ,
e
wp = C sin p
h,p = 2 1 cos p
h
L
L
k=1,...,N
(4.27)

4.2. ANALISI MODALE

79

gli autovalori e gli autovettori del problema discreto monodimensionale (si vedano le (1.31)(1.32)), si ha ancora che le autosoluzioni (h,pq , w pq ) del problema (4.26) sono espresse da
h,pq = h,p + h,q

wpq = (wp ) (w q )m

1,mN

p, q = 1, . . . , N

(4.28)

(avendo per comodit`


a usato la notazione a due indici, anzich`e quella lessicografica, per le
componenti degli autovettori w pq ).
Ricordando la (1.33), possiamo in particolare stimare gli autovalori minimo h,11 e massimo
h,N N di A; precisamente, si ha
h,11

2 2
= 11
L2

h,N N

8 1
.
h2

(4.29)

Ne segue che il numero di condizionamento di A nella norma euclidea soddisfa


cond2 (A)

4L2 2
h ,
2

(4.30)

esattamente come nel caso monodimensionale (si ricordi la (1.34)).


Gli autovalori del problema (4.26) possono essere calcolati numericamente mediante listruzione eig(A) di MATLAB. Un confronto con i valori analitici dati dalle (4.27)-(4.28) si vedano le
Esercitazioni testimonia la grande accuratezza della procedura numerica usata in MATLAB.

4.2.2

Approssimazione mediante elementi finiti

Consideriamo ora il caso di un dominio poligonale arbitrario e studiamo la discretizzazione


del problema (4.7) mediante elementi finiti lineari. Facciamo qui riferimento alle notazioni della
Sez. 2.3. Osserviamo innanzitutto che la formulazione variazionale del problema `e la seguente:

w V, R e soddisfano
Z
Z
(4.31)

per ogni v V .
w v dx = w v dx

Il fatto che gli autovalori siano reali e le autofunzioni siano a valori reali `e conseguenza del
`
carattere simmetrico del problema (gli integrali dipendono in modo simmetrico da w e v). E
possibile dimostrare che il problema ammette una successione {(n , wn )}n1 di autosoluzioni;
gli autovalori sono strettamente positivi e formano una successione crescente e tendente a +
per n +, mentre le autofunzioni sono a due a due -ortogonali, ossia soddisfano
Z
wn wm dx = 0
se n 6= m .

La discretizzazione mediante elementi finiti del problema (4.31) `e la seguente:

wh Vh , h R e soddisfano
Z
Z

wh vh dx
per ogni vh Vh .
wh vh dx = h

(4.32)

80

CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

Tale problema
viene espresso in forma algebrica, rappresentando wh nella base di Lagrange come
P
wh = N
w

k
k e scegliendo vh = j , j = 1, . . . , N , come funzioni test. Si ottiene
k=1
N
X
k=1

wk

k j dx = h

N
X
k=1

wk

k j dx ,

1jN .

Ponendo w = (wk )1kN , si perviene al problema algebrico agli autovalori generalizzato


Aw = h Bw ,

(4.33)

dove A `e la matrice di rigidezza (2.51) mentre B `e la matrice di massa (4.9).


Il carattere definito-positivo di tali matrici si riflette nel fatto che ogni autovalore h `e strettamente positivo. Infatti, moltiplicando ambo i membri della (4.33) a sinistra per wT , possiamo
scrivere h come quoziente di Rayleigh
h =

wT Aw
>0,
w T Bw

essendo w 6= 0. Una espressione equivalente `e data da


Z
kwh k2 dx
Z
,
h =
2
wh dx

che si ottiene dalla (4.32) scegliendo vh = wh .


Poich`e B `e non singolare, il problema agli autovalori generalizzato (4.33) `e equivalente al
problema agli autovalori di tipo classico
B 1 Aw = h w .

(4.34)

Anzi, essendo A e B simmetriche e definite positive, esso `e equivalente a un problema del tipo
Cz = h z ,

(4.35)

con C ancora simmetrica e definita positiva. Infatti, se B = LLT `e la decomposizione di


Choleski di B, con L matrice triangolare inferiore non singolare, moltiplicando a sinistra la
(4.33) per L1 , si ha L1 Aw = h LT w; da ci`o si ottiene la (4.35), ponendo z = LT w e
1
T
C = L1 A LT
= L1 A L1 .
Si noti, tuttavia, che le tecniche pi`
u efficienti per risolvere il problema (4.33), quali quella invocata nellesecuzione dellistruzione eig(A,B) di MATLAB, evitano il calcolo esplicito di matrici
inverse e fanno intervenire solo le fattorizzazioni delle due matrici A e B.
Il comportamento asintotico degli autovalori minimo e massimo `e analogo a quello dei corrispondenti autovalori del problema (4.26). Infatti, assumendo che tutti i diametri hT dei triangoli
in cui `e suddiviso siano dello stesso ordine di grandezza, si ha
h,min min

h,max C h2 ,

(4.36)

dove min indica lautovalore minimo del problema (4.31) (associato alla minima frequenza di
vibrazione della membrana). La prima delle relazioni precedenti `e conseguenza della doppia

4.3. PROBLEMI EVOLUTIVI

81

disuguaglianza 0 < h,min min c h2 , che dice che lautovalore minimo del problema discretizzato fornisce sempre una approssimazione per eccesso dellautovalore minimo del problema
esatto, e che lerrore tra le due quantit`a tende a 0 quadraticamente con h. Notiamo infine che
la (4.36) mostra che il numero di condizionamento nella norma euclidea della matrice C che
compare in (4.35) soddisfa
cond2 (C) C h2 ,

(4.37)

ossia ha un comportamento analogo a quello della matrice A relativa alla discretizzazione


mediante differenze finite (si veda la (4.30)).

4.3

Problemi evolutivi

Riprendiamo il problema ai valori iniziali e al bordo (4.8) per lequazione delle onde, allo scopo di
definirne una discretizzazione in spazio e in tempo. Seguiremo lapproccio del cosiddetto metodo
delle linee, che consiste nelleffettuare dapprima una discretizzazione in spazio, ottenendo un
sistema di equazioni differenziali ordinarie nella sola variabile tempo, e successivamente una
discretizzazione di tale sistema, attraverso uno dei metodi numerici per le equazioni differenziali
ordinarie. (Segnaliamo che `e possibile anche adottare lapproccio duale, detto metodo delle
linee trasverso, consistente nel discretizzare prima in tempo e poi in spazio, oppure discretizzare
simultaneamente in spazio e in tempo.)
Utilizzeremo per la discretizzazione in spazio il metodo degli elementi finiti lineari come presentato nella Sez. 2.3, a cui facciamo riferimento per le relative notazioni. La discretizzazione
spaziale potrebbe anche essere effettuata mediante il metodo alle differenze finite, adattando
quanto visto nella Sez. 2.2; lasciamo i dettagli al lettore. Le tecniche di avanzamento in tempo
descritte nel seguito si applicano ad entrambe i casi.
` conveniente introdurre la seguente notazione: se t `e un qualunque istante temporale, indiE
chiamo con u(t) la funzione, definita in a valori in R, tale che u(t)(x) = u(x, t) per ogni x .
Supponiamo che, per ogni tempo t [0, T ], u(t) appartenga allo spazio V degli spostamenti
ammissibili, definito nella Sez. 2.3.1.
La formulazione integrale del problema costituito dalla prima e dalla seconda delle equazioni
(4.8) si ottiene trattando il termine di accelerazione alla stessa stregua del termine forzante. Si
ha cio`e, per ogni t con 0 < t T ,

u(t) V e soddisfa
Z
Z
Z
2u

2 v dx +
f v dx
u v dx =
t

per ogni v V .

(4.38)

Si noti che ciascun integrale `e funzione del tempo t, attraverso u oppure f ; invece, le funzioni test
v sono indipendenti dal tempo. Le condizioni iniziali, date dalla terza delle (4.8), si esprimono
come
u
u(0) = u0 ,
(0) = v0 .
(4.39)
t
R
RT R
Supponiamo che u0 V , che v0 soddisfi v02 dx < + e che f soddisfi 0 f 2 dx dt < +.
Sotto tali ipotesi, si pu`
o dimostrare che esiste una e una soluzione del problema (4.38)-(4.39).

82

CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

4.3.1

La semidiscretizzazione in spazio

Consideriamo la discretizzazione del problema precendente rispetto alla sola variabile spaziale,
lasciando per il momento non discretizzata la variabile tempo. Otterremo in tal modo un
problema ai valori iniziali per un sistema di equazioni differenziali ordinarie.
La formulazione variazionale discreta `e ottenuta da quella presentata in (4.38), restringendo
come al solito a Vh lo spazio degli spostamenti ammissibili. Essa `e dunque la seguente: per ogni
t, con 0 < t T ,

uh (t) Vh e soddisfa
Z
Z
Z
(4.40)
2 uh


f
v
dx
per
ogni
v

V
.
u

v
dx
=
v
dx
+
h
h
h
h
h
h
t2

La condizione uh (t) Vh significa che uh si rappresenta come


uh (x, t) =

N
X

uk (t)k (x) ,

(4.41)

k=1

ossia `e una combinazione lineare delle funzioni di base di Vh , i cui coefficienti sono funzioni
incognite del tempo. Si realizza in tal modo una separazione delle variabili di spazio e di tempo.
Le derivate parziali di uh rispetto al tempo danno luogo a derivate ordinarie dei suoi coefficienti
rispetto a tali variabili. Precisamente, si ha
N

X duk
uh
(x, t) =
(t)k (x) ,
t
dt
k=1

dunque in particolare
uk ,

uh
t

X d2 uk
2 uh
(x,
t)
=
(t)k (x) ,
t2
dt2
k=1

2 uh
appartengono ancora a Vh , per ogni t. Per
t2
2
duk

k , indicher`
a ddtu2k .
dt ; similmente uk , oppure u

brevit`a, scriveremo

oppure u k , in luogo di
Per t = 0, le condizioni iniziali (4.39) suggeriscono di porre
uh (0) = uh,0 =

N
X

u0k k

con u0k = u0 (xk ) ,

(4.42)

con v0k = v0 (xk )

(4.43)

k=1

X
uh
(0) = vh,0 =
v0k k
t
k=1

(supponendo ora che u0 e v0 siano funzioni continue in ). In altri termini, le condizioni iniziali su
u forniscono le condizioni iniziali a cui devono sottostare le funzioni incognite uk (t), 1 k N ,
che definiscono uh in base alla (4.41). Si ha infatti
uk (0) = u0k

uk (0) = v0k ,

1kN .

(4.44)

Per tradurre le equazioni (4.40) in termini algebrici, scegliamo come vh le funzioni di base j ,
ottenendo, per 0 < t T ,
Z
Z
Z
2 uh

f j dx ,
1jN .
(4.45)
uh j dx =
j dx +
t2

4.3. PROBLEMI EVOLUTIVI

Osserviamo che

83

X
2 uh

dx
=
uk
j
t2

k=1

k j dx =

N
X

bjk uk ,

k=1

dove bjk sono gli elementi della matrice di massa B introdotta in (4.9). Inoltre, come nel caso
stazionario, si ha
Z
N
X
uh j dx =
ajk uk ,

k=1

con ajk elementi della matrice di rigidezza A definita in (2.51). Infine, poniamo
Z
f (x, t)j (x) dx ,
1jN .
fj (t) =

(4.46)

Introduciamo dunque la funzione vettoriale u : [0, T ] RN definita da u(t) = (uk (t))1kN ,


le cui derivate prima e seconda rispetto al tempo sono rispettivamente u (t) = (uk (t))1kN e
u (t) = (uk (t))1kN . Sia inoltre f : [0, T ] RN definita da f (t) = (fj (t))1jN .
Il sistema (4.45) si esprime allora nella forma
Bu + Au = f ,

0<tT ;

(4.47)

tenendo conto che B `e invertibile, esso `e un sistema differenziale lineare del secondo ordine di N
equazioni nelle N incognite uk (t), 1 k N . Le condizioni iniziali sono espresse dalle (4.44),
che si scrivono come u(0) = u0 e u (0) = v 0 , avendo posto u0 = (u0k )1kN e v 0 = (v0k )1kN .
Dobbiamo quindi risolvere un problema ai valori iniziali, o problema di Cauchy, per il sistema
(4.47). Scriviamo tale problema in forma compatta come

Bu + Au = f ,
0<tT ,
(4.48)
u(0) = u0 , u (0) = v 0 .

4.3.2

La discretizzazione in tempo: il metodo di Newmark

Il sistema differenziale precedente pu`


o essere scritto nella forma equivalente u = F (u, t) =
1
1
B Au + B f . Per discretizzare in tempo un tale sistema del secondo ordine possiamo
ricorrere al metodo di Newmark. Facendo riferimento alla Sez. 7.6 per le notazioni, esso si
scrive:
uk+1 2uk + uk1 = t2 (F (uk+1 , tk+1 ) + (1 2)F (uk , tk ) + F (uk1 , tk1 )) ,

(4.49)

dove 0 `e un parametro a scelta. Esplicitando, otteniamo


B(uk+1 2uk + uk1 ) + t2 A(uk+1 + (1 2)uk + uk1 ) =

= t2 (f (tk+1 ) + (1 2)f (tk ) + f (tk1 )) .

(4.50)

Il metodo definisce le approssimazioni a partire da k = 1. Esso richiede dunque due valori


iniziali, u0 e u1 . Tenendo conto della (4.48), il primo valore viene posto uguale a u0 , mentre
lo sviluppo di Taylor di u(t) nellorigine, u(t1 ) = u(0) + tu (0) + O(t2 ), suggerisce di porre
u1 = u0 + tv0 .

84

CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

Notiamo che se = 0 e se la matrice di massa B viene sostituita dalla matrice di massa


lo schema precedente `e esplicito. In ogni altro caso, lo schema `e implicito, e ad
concentrata B,
k+1
ogni passo u
`e determinato risolvendo un sistema lineare con matrice B + t2 A.
Per quanto riguarda laccuratezza, il metodo risulta del secondo ordine per ogni valore di .
Invece, per quanto riguarda la stabilit`
a asintotica, il metodo `e incondizionatamente stabile se
a
41 . Per < 41 , il metodo `e soltanto condizionatamente stabile; la condizione di stabilit`
asintotica `e
4
t2 h,max <
,
(4.51)
1 4

dove h,max denota lautovalore massimo della matrice B 1 A, ossia del problema (4.33). Abbiamo gi`a osservato che tale autovalore `e O(h2 ). Pertanto, la precedente condizione impone
una restrizione del tipo t C h sulla scelta del passo temporale. Tale condizione `e assai meno
stringente di quella relativa a un metodo condizionatamente stabile per lequazione del calore,
che `e di tipo t C h2 (si veda la (5.17)). Essa risulta sovente del tutto accettabile, in quanto
comunque richiesta dalla necessit`a di garantire laccuratezza in tempo della discretizzazione.
Segnaliamo infine una forma pi`
u generale del metodo di Newmark, dipendente da due parametri:
B(uk+1 2uk + uk1 )+t2 A(uk+1 + (1 2 + )uk + ( )uk1 ) =

= t2 (f (tk+1 ) + (1 2 + )f (tk ) + ( )f (tk1 )) ,

(4.52)

con > 0. Il metodo `e incondizionatamente asintoticamente stabile per (1 + )2 /4, mentre


per < (1 + )2 /4 la condizione di stabilit`
a sopra riportata si modifica in
t2 h,max <

4
.
(1 + )2 4

(4.53)

Per ogni valore di fissato, il metodo `e del primo ordine. Tuttavia, se si sceglie proporzionale
a t, si ottiene ancora un metodo del secondo ordine, con propriet`a migliori rispetto alla scelta
= 0.

Capitolo 5

Modelli di diffusione
5.1

Il modelli termico per la sbarra e la piastra

Lequazione del calore rappresenta un importante modello matematico per descrivere la propagazione del calore in un corpo conduttore. Ricordiamo la deduzione di tale equazione nel caso di
un corpo rigido tridimensionale che supponiamo sottile nella direzione e3 (piastra). Procedendo
come fatto nella Sez. 2.1, ossia integrando ogni quantit`a fisica rispetto allo spessore della piastra, possiamo scrivere una relazione di bilancio termico riferita alla sua sezione mediana, che
supponiamo essere un poligono limitato R2 .
Precisamente, indichiamo con u = u(x, t) la temperatura nel punto x al tempo t. Sia
= (x) la densit`a di massa per unit`
a di superficie del corpo e c = c(x) il suo calore specifico,
di modo che c ne rappresenta la capacit`
a termica per unit`
a di superficie. Se `e una
qualunque porzione di , di bordo sufficientemente regolare, la quantit`a
Z
c(x) (x) u(x, t) dx

rappresenta la quantit`
a di calore contenuta in al tempo t. La pi`
u semplice relazione di bilancio
che possiamo scrivere esprime il fatto che ad ogni tempo t la variazione temporale della quantit`
a
di calore contenuta in `e pari al flusso di calore entrante attraverso il bordo di ; in formula,
Z
Z
Z
d
n ds ,
(5.1)
(n) ds =
c u dx =
dt

dove indica appunto il flusso di calore e n, come sempre, la normale a orientata verso
lesterno.
Un modello un poco pi`
u complicato contempla la possibilit`
a di un apporto (positivo o negativo)
di calore ad in forma distribuita su tutta la superficie, ad esempio attraverso un irraggiamento.
In tal caso la (5.1) diventa
Z
Z
Z
d
q dx ,
(5.2)
n ds +
c u dx =
dt

dove la funzione q = q(x, t) rappresenta lapporto distribuito di calore per unit`


a di massa e
di superficie, che supponiamo noto. Osservando che , e c sono indipendenti dal tempo, ed
applicando (formalmente) il teorema della divergenza possiamo scrivere la relazione precedente
come
Z
Z
Z
u
c
q dx .
dx = dx +
t

85

86

CAPITOLO 5. MODELLI DI DIFFUSIONE

Poich`e `e arbitrario, necessariamante deve valere lequazione


c

u
= + q
t

(5.3)

in ogni x e per ogni tempo t.


Supponiamo ora che valga la legge di Fourier, che stabilisce una relazione di proporzionalit`
a
tra il flusso di calore e il gradiente della temperatura:
= u ,

(5.4)

dove = (x) > 0 `e il coefficiente di conducibilit`a termica del corpo nel punto x. Sostituendo
tale relazione nella (5.3), otteniamo lequazione del calore
c

u
(u) = q .
t

(5.5)

A tale equazione (di natura parabolica) associamo una condizione iniziale


u(x, 0) = u0 (x) ,

x,

che fissa la temperatura del corpo allistante t = 0 (scelto come istante iniziale di osservazione),
e una condizione in ogni punto del bordo ad ogni tempo t > 0. Precisamente, come nella
Sez. 2.3.8, supponiamo che il bordo sia suddiviso in due parti disgiunte, D e N ; su
D assegniamo un valore g = g(x, t) della temperatura, mentre su N assegniamo un valore
= (x, t) al flusso normale
u

= u n = n .
n
In conclusione, indicando con T > 0 il tempo finale di osservazione, la temperatura del corpo
`e determinata dal seguente problema ai valori iniziali e al bordo

c
(u) = q

u = g

u = u0

in ,

0<tT ,

su D , 0 < t T ,
su N

0<tT ,

in ,

t=0.

(5.6)

In alternativa alla condizione di Neumann su N , possiamo ivi assegnare la condizione di Robin

u
= (
u u)
n

(5.7)

gi`a considerata in (2.73), dove `e un coefficiente positivo mentre u


`e una temperatura nota.
Un analogo modello, in cui compare una sola variabile di spazio x e il simbolo `e sostituito
dalla derivata parziale /x, descrive levoluzione della temperatura u = u(x, t) in una sbarra
metallica.

5.1. IL MODELLI TERMICO PER LA SBARRA E LA PIASTRA

5.1.1

87

La semidiscretizzazione in spazio mediante elementi finiti

Come nel capitolo precedente, adottiamo il metodo delle linee e consideriamo dapprima la semidiscretizzazione in spazio del problema (5.6), usando elementi finiti lineari (per la discretizzazione
mediante differenze finite si veda la Sez. 5.1.3). Per semplicit`a, supporremo che su tutto il bordo
sia imposta una condizione di Dirichlet omogenea (cio`e che D = e g 0); il trattamento
delle condizioni al bordo pi`
u generali pu`
o essere fatto adattando quanto indicato nella Sez. 2.3.8
per il caso stazionario, e non presenta particolari difficolt`
a. Supponiamo inoltre che il calore
specifico c sia costante in ; anche in questo caso, lestensione alla situazione pi`
u generale non
pone problemi. Dividendo lequazione del calore per c e ponendo = /c ed f = q/c, il
problema (5.6) diventa

(u) = f in , 0 < t T ,

t
(5.8)
u=0
su , 0 < t T ,

u = u0
in , t = 0 .
Si noti che nel caso stazionario, cio`e quando la temperatura u `e indipendente dal tempo in quanto
il corpo `e in equilibrio termico, si ha u
e soluzione del problema ai valori al
t 0 e dunque u `
bordo (2.8), a cui nel Cap. 2 siano pervenuti considerando un fenomeno fisico completamente
` questo un esempio della trasversalit`
diverso. (E
a della Matematica rispetto a contesti applicativi
diversi.) Si notino inoltre le analogie e le differenze con il problema di evoluzione (4.8).

Seguiamo dora in avanti un procedimento analogo a quello usato nella Sez. 4.3.1 per discretizzare in spazio il problema (4.8).
Detto V lo spazio delle temperature ammissibili, la formulazione integrale del problema
costituito dalla prima e dalla seconda delle equazioni (5.8) `e la seguente: per ogni t con 0 < t T ,

u(t) V e soddisfa
Z
Z
Z
(5.9)
u

f v dx
per ogni v V .
u v dx =
v dx +

t

La condizione iniziale, data dalla terza delle (5.8), si esprime come


u(0) = u0 .

(5.10)

R
RT R
Se supponiamo che u0 soddisfi u20 dx < + e che f soddisfi 0 f 2 dx dt < +, si pu`
o
dimostrare che esiste una e una soluzione del problema (5.9)-(5.10).
La formulazione variazionale discreta `e ottenuta dalla (5.9), restringendo come al solito a Vh
lo spazio degli spostamenti ammissibili. Essa `e dunque la seguente: per ogni t, con 0 < t T ,

uh (t) Vh e soddisfa
Z
Z
Z
(5.11)
uh

f vh dx
per ogni vh Vh .
uh vh dx =
vh dx +

t

Scegliendo come vh le funzioni di base j , 1 j N , otteniamo, per 0 < t T ,


Z
Z
Z
uh

f j dx ,
1jN .
uh j dx =
j dx +
t

(5.12)

88

CAPITOLO 5. MODELLI DI DIFFUSIONE

Rappresentiamo poi uh (t) Vh nella forma (4.41), con uh (0) dato dalla (4.42). Poniamo u :
[0, T ] RN definita da u(t) = (uk (t))1kN , u0 = (u0k )1kN e f : [0, T ] RN definita da
f (t) = (fj (t))1jN , con fj (t) date dalla (4.46). Indichiamo come sempre con A la matrice di
rigidezza (2.51) e con B la matrice di massa (4.9). Giungiamo quindi al seguente problema ai
valori iniziali, o problema di Cauchy,

Bu + Au = f ,
0<tT ,
(5.13)
u(0) = u0 .

5.1.2

La discretizzazione in tempo

Al fine di applicare al problema (5.13) un metodo di avanzamento in tempo, quale ad esempio


uno di quelli considerati nella Sez. 7.6, `e conveniente scrivere il sistema differenziale nella forma
equivalente
u = F (u, t) = B 1 Au + B 1 f .
(5.14)
Sottolineiamo il fatto che questa trasformazione `e utile a livello concettuale, per tradurre nel
nostro contesto gli schemi di avanzamento in tempo generali. A livello di implementazione, la
moltiplicazione per linversa di B a secondo membro `e quasi sempre inefficiente e dunque da
evitare; `e consigliabile, invece, tenere la matrice a primo membro, come illustrato nel seguito.
Notiamo che la matrice A = B 1 A soddisfa le ipotesi fatte nella Sez. 7.6.2, cio`e `e diagonalizzabile con autovalori reali < 0. Infatti, `e autovalore di A, con autovettore w, se e solo se
Aw = ()Bw, cio`e se e solo se = h , soluzione del problema agli autovalori generalizzato
(4.33); gi`a sappiamo che tutti i h sono reali e strettamente positivi. Ricordando la (4.36), si
ha dunque che il sistema differenziale (5.14) `e tanto pi`
u stiff quanto il passo di discretizzazio` consigliabile pertanto usare un metodo di avanzamento in tempo
ne spaziale h `e piccolo. E
incondizionatamente stabile per la matrice A.
Vediamo ora come alcuni dei metodi descritti nella Sez. 7.6 si applicano al nostro problema.
Il metodo di Eulero esplicito (7.34), scritto per la (5.14), fornisce
uk+1 = uk tB 1 Auk + tB 1 f (tk ) ,

k0,

(5.15)

che riscriviamo come


Buk+1 = (B tA)uk + tf (tk ) ,

k0.

(5.16)

In questultima forma, il metodo non `e esplicito, richiedendo la risoluzione di un sistema lineare


definita in
con matrice B. Tuttavia, se si approssima B con la matrice di massa concentrata B
k+1
(4.16), che `e diagonale, il costo per ottenere u
`e sostanzialmente quello di un metodo esplicito.
Come anticipato sopra, il vero handicap del metodo `e dato dalla condizione di stabilit`
a asintotica
t <

2
C h2
max h

(5.17)

(con C proporzionale a = /c), che pone una restrizione sulla scelta del passo temporale spesso
inaccettabile. Anche i metodi di Runge-Kutta espliciti menzionati nella Sez. 7.6.3 soffrono di
tale limitazione.
Se consideriamo invece il metodo di Eulero implicito (7.35), abbiamo
uk+1 = uk tB 1 Auk+1 + tB 1 f (tk+1 ) ,

k0,

(5.18)

5.1. IL MODELLI TERMICO PER LA SBARRA E LA PIASTRA

89

ossia
(B + tA)uk+1 = Buk + tf (tk+1 ) ,

k0.

(5.19)

In tal caso, si deve risolvere un sistema lineare a ogni iterazione, con matrice B+tA simmetrica
e definita positiva. Se si tiene costante il passo t e si usa un metodo di risoluzione diretto del
sistema lineare, `e conveniente fattorizzare la matrice (ad esempio calcolando la fattorizzazione di
Choleski, vedi Cap. 3) una volta per tutte allinizio: ad ogni passo temporale si dovr`a soltanto
eseguire una sostituzione in avanti e allindietro. Se invece si usa un metodo iterativo, quale il
Gradiente Coniugato, la soluzione uk al passo precedente fornir`
a il valore iniziale della nuova
iterazione.
Il metodo dei trapezi (o di Crank-Nicolson) (7.37) fornisce, per il nostro problema, lo schema
(B +

k+1
t
2 A)u

= (B

k
t
2 A)u

t
2 ( f (tk ) +

f (tk+1 ) ) ,

k0.

(5.20)

Pertanto, con un lieve incremento nel costo del calcolo del secondo membro rispetto al metodo
di Eulero implicito, si ha un netto guadagno in termini di precisione, in quanto lordine del
metodo passa da uno a due. Tanto il metodo di Eulero implicito quanto quello di CrankNicolson, quanto ancora i metodi BDF citati nella Sez. 7.6.3, non pongono restrizioni alla scelta
del passo temporale, essendo incondizionatamente asintoticamente stabili. In particolare, essi
permettono di simulare efficacemente la convergenza verso uno stato stazionario di equilibrio
termico, attraverso la scelta dinamica del passo temporale (si ricordi lEsempio 7.6.3).
Da ultimo, consideriamo lerrore complessivo dovuto alla discretizzazione in spazio mediante
elementi finiti P
lineari e in tempo mediante un metodo di ordine p. Per 1 k K, definiamo la
k
k
k
k
funzione uh = N
j=1 uj j Vh , dove uj sono le componenti del vettore u prodotto dallo schema
di avanzamento in tempo. Vogliamo stimare lerrore u(tk ) ukh tra la soluzione esatta al tempo
R
1/2
tk e la sua approssimazione ora definita, tanto nella norma quadratica kvk2 = v 2 dx
1/2
R
.
quanto nella norma dellenergia kvkE = kvk2 dx
Se la soluzione esatta u del problema (5.8) `e sufficientemente regolare tanto nelle variabili
di spazio quanto nella variabile tempo (essenzialmente, se esistono e sono limitate le derivate
parziali seconde rispetto alle variabili x1 e x2 , e la derivate parziali di ordine p + 1 rispetto a t),
si hanno le seguenti maggiorazioni dellerrore:
max ku(tk ) ukh k2 C1 h + C2 tp ,

(5.21)

1/2
X
1

ku(tk ) ukh k2E C1 h + C2 tp ,


K

(5.22)

1kK

1kK

dove le costanti C1 e C2 dipendono dalle derivate parziali di u sopra citate. In altri termini,
riducendo i parametri h e t della discretizzazione, ci aspettiamo che lerrore tenda a zero
linearmente in h e come la potenza p-esima in t.

5.1.3

La semidiscretizzazione in spazio mediante differenze finite

Diamo un breve cenno alla discretizzazione del problema (5.8) mediante differenze finite centrate
del secondo ordine. Supponiamo che sia la piastra quadrata (0, L)2 . Supponiamo inoltre che

90

CAPITOLO 5. MODELLI DI DIFFUSIONE

sia costante, di modo che la prima delle (5.8) diventa

u
u = f
t

in ,

0<tT .

(5.23)

Consideriamo la griglia equispaziata Gh introdotta nella Sez. 2.2 (adotteremo nel seguito tutte
le notazioni di quella sezione). Sia
um = um (t) u(x , ym , t)
lapprossimazione della temperatura nel nodo (x , ym ) al tempo t; siano inoltre
um,0 = u0 (x , ym )
la temperatura iniziale,
m = (x , ym )
la densit`a, ed infine
fm = fm (t) = f (x , ym , t)
il termine noto al tempo t, calcolati nel nodo (x , ym ).
Ricordando la (2.14), la discretizzazione in spazio della (5.23) in ciascun nodo interno `e data
da
m um +

(u,m1 u1,m + 4um u+1,m u,m+1 ) = fm ,


h2

1 , m N ,

0<tT .
(5.24)

Nei nodi di bordo imponiamo le condizioni


um = 0

se

{0, N + 1} oppure m {0, N + 1} ,

0<tT ,

(5.25)

mentre al tempo iniziale imponiamo


um (0) = um,0 ,

1 , m N .

(5.26)

Come nel caso stazionario, eliminiamo i nodi di bordo e raccogliamo le incognite interne,
numerate in modo lessicografico, nel vettore

u = u(t) = uk (t) 1kN 2 .
Sia B la matrice diagonale che raccoglie i valori della densit`a nei nodi, ossia
B = diag (1 , . . . , k , . . . , N 2 ) ;
notiamo che nel caso di densit`a costante , si ha B = I. Detta A la matrice definita dalla
(2.25), le equazioni (5.24)-(5.25) danno luogo al sistema di equazioni differenziali ordinarie
Bu + Au = f ,

0<tT ,

mentre la (5.26) fornisce la condizione iniziale


u(0) = u0 ,
dove u0 raccoglie i valori di u0 nei nodi interni.

5.2. IL MODELLO DI CONVEZIONE-DIFFUSIONE TERMICA

91

Ci siamo dunque ricondotti alla (5.14). Tutte le considerazioni fatte nella sezione precedente
valgono inalterate; ricordiamo infatti che gli autovalori della matrice A soddisfano le relazioni
(4.29), dunque in particolare vale la condizione di stabilit`
a asintotica (5.17) per il metodo di
Eulero esplicito.
I tre metodi discussi nella sezione precedente assumono ora la presente forma:
Eulero esplicito:
uk+1 = (I tB 1 A)uk + tB 1 f (tk ) ,

k0;

(5.27)

Eulero implicito:
(B + tA)uk+1 = uk + tf (tk+1 ) ,
Crank-Nicolson:
(B +

k+1
t
2 A)u

= (B

k
t
2 A)u

t
2 ( f (tk ) +

k0;
f (tk+1 ) ) ,

(5.28)

k0.

(5.29)

Si noti che nel caso di Eulero esplicito, abbiamo esplicitamente invertito la matrice B, essendo
questa diagonale.

5.2

Il modello di convezione-diffusione termica

Consideriamo un fluido che occupa un volume V = [a, b] nello spazio, con regione limitata
del piano. Supponiamo che il moto del fluido sia bidimensionale, ossia che le sue variazioni nella
direzione z siano trascurabili. In tal caso, possiamo descriverlo attraverso funzioni definite in
. Nella descrizione, adottiamo il punto di vista euleriano, in cui se `e una variabile fisica
quale velocit`
a, pressione, temperatura, lespressione (x, t) indica il valore di associato alla
particella di fluido che allistante t si trova nel punto x . (Il punto di vista lagrangiano
intende invece (x, t) come la quantit`
a associata al tempo t alla particella che si trovava in x
ad un istante t0 prefissato ad esempio al tempo iniziale t0 = 0.) Indichiamo con a = a(x, t)
la velocit`a del fluido e con u = u(x, t) la sua temperatura. Supponiamo che densit`a , calore
specifico c e conducibilit`a termica siano costanti in spazio e tempo (dunque in particolare si
ha a = 0 in per ogni t).
Se il fluido `e in quiete, la sua temperatura obbedisce allequazione (5.5). Se invece il fluido
`e in moto, la derivata parziale u
t in tale equazione deve essere sostituita dalla derivata totale
(detta anche derivata lagrangiana, o particellare)
Du
u
=
+ a u ,
Dt
t

(5.30)

che rappresenta la derivata della temperatura di una particella di fluido seguita nel suo moto.
Per motivare ci`
o, ricordiamo che le particelle si muovono lungo le linee di corrente x = x(t)
definite come le soluzioni del sistema differenziale
dx
= a(x, t)
dt
(dunque il vettore velocit`
a `e tangente alle linee di corrente in ogni punto); in particolare, la
particella che ad un certo tempo t0 si trova nel punto x0 si muove lungo la linea di corrente
definita dal problema di Cauchy

dx = a(x, t)
dt
(5.31)

x(t0 ) = x0 ;

92

CAPITOLO 5. MODELLI DI DIFFUSIONE

indichiamo tale soluzione con x = x(t, x0 ). Allora la funzione


t 7 u(x(t, x0 ), t)
descrive levoluzione nel tempo della temperatura della particella che al tempo t0 transita in x0 .
Poniamo allora
Du
d
(x0 , t0 ) = u(x(t, x0 ), t)
.
t=t0
Dt
dt

Applicando la regola di derivazione di una funzione composta (regola della catena), abbiamo


Du
d
u
,
(x0 , t0 ) = u(x(t, x0 ), t) x(t, x0 ) +
(x(t, x0 ), t)
Dt
dt
t
t=t0

da cui, ricordando la (5.31), si ottiene che

u
Du
(x0 , t0 ) = u(x0 ), t0 ) a(x0 , t0 ) +
(x0 , t0 ) ,
Dt
t
ossia la (5.30).
Lequazione (5.5) diventa allora
c


u
+ a u u = q .
t

` opportuno dividere per c , ponendo


E
=

(coefficiente di diffusione termica) ,

f=

q
;
c

si ottiene cos` lequazione di convezione-diffusione


u
+ a u u = f
t

in ,

0<tT .

(5.32)

Essa `e di tipo parabolico come lequazione del calore, e pertanto richiede di specificare, oltre al
valore iniziale u(0) = u0 , una condizione su u in ogni punto del bordo di , per ogni tempo t.
A tale scopo, `e opportuno suddividere il bordo in
= in car out ,
dove, indicato come duso con n = n(x) il versore normale a orientato verso lesterno di ,
si pone:
in = {x : a n < 0}

(bordo di ingresso del fluido in ) ,

car = {x : a n = 0} (bordo caratteristico, lungo il quale scorre il fluido) ,


out = {x : a n > 0} (bordo di uscita del fluido da ) .
(Si veda la Fig. 5.1 per un semplice ma significativo esempio.) Si noti che, siccome a pu`
o
dipendere dal tempo, tale suddivisione di pu`
o anchessa variare nel tempo.
` ragionevole supporre di conoscere la temperatura del fluido che entra in , ossia imporre
E
la condizione di Dirichlet
u=g
su in , 0 < t T .

5.2. IL MODELLO DI CONVEZIONE-DIFFUSIONE TERMICA


replacemen

car
n

93

a
n

out

in
a

car

Figura 5.1: Suddivisione del bordo di un dominio occupato da un fluido in bordo di ingresso
in , bordo caratteristico car e bordo di uscita out
In uscita, la temperatura del fluido `e in genere incognita, mentre `e ragionevole fare ipotesi sul
flusso di calore uscente; ad esempio, imponendo la condizione di Neumann
u
=0
n

su out ,

0<tT ,

si suppone che ivi il flusso di calore uscente


n = (a n) c u

u
n

valga n = (a n) c u, cio`e sia tutto di natura convettiva. Infine, su car si pu`


o assegnare il
valore della temperatura (se la parete `e un termostato), oppure il flusso di calore (se ad esempio
la parete `e termicamente isolata).
Osservazione 5.2.1 Lequazione (5.32) descrive anche levoluzione temporale di una massa dispersa in un fluido; ad esempio, u pu`
o rappresentare la concentrazione di un inquinante disciolto
in un liquido. In questo caso, lequazione viene anche detta di diffusione-trasporto. In generale,
la (5.32) descrive levoluzione di uno scalare passivo u (passivo in quanto non influenza il moto
del fluido, ossia il campo di velocit`
a a non dipende da u).
Il numero di P
eclet
Come dice il nome stesso, lequazione (5.32) modellizza la compresenza di due fenomeni fisici,
la convezione del calore lungo le linee di corrente e la sua diffusione per interazione molecolare.
Il peso relativo dei due fenomeni `e descritto dal numero di Peclet
Pe =

AL
0,
2

dove A = max kak `e il massimo modulo della velocit`a, mentre L `e una lunghezza caratteristica
(ad esempio il diametro di ).
Se Pe `e dellordine di 1, convezione e diffusione hanno pari importanza. Se Pe << 1, gli effetti
diffusivi prevalgono su quelli convettivi (in particolare, se Pe = 0, cio`e a = 0 identicamente, si

94

CAPITOLO 5. MODELLI DI DIFFUSIONE

ha soltanto diffusione, cio`e si ritrova lequazione del calore). Se invece Pe >> 1, `e la convezione
a prevalere; il caso limite Pe = +, cio`e = 0, corrisponde alla sola equazione di convezione
u
+ a u = f ,
t

(5.33)

che sar`
a oggetto di studio nel Capitolo 6.
`
E importante tenere presente che da un punto di vista matematico lequazione di convezionediffusione `e sempre di natura parabolica, per ogni valore di Pe [0, +); ci`o implica, in particolare, che oltre alla condizione iniziale vada imposta una condizione al bordo su tutto . Al
contrario, lequazione limite (5.33) viene definita di tipo iperbolico e richiede lassegnazione di
una condizione al bordo solo laddove il fluido entra in , ossia su in .
Per Pe >> 1, la soluzione delequazione di convezione-diffusione tende a comportarsi, nella
maggior parte del dominio, come la soluzione dellequazione di convezione pura (5.33); dove
ci`o non avviene, si hanno strati limiti o strati interni termici, ossia repentine variazioni della
temperatura. Ad esempio, uno strato limite pu`
o nascere a ridosso di car oppure di out , quando
la temperatura trasportata lungo le linee di corrente interne `e obbligata bruscamente a soddisfare
le condizioni al bordo ivi imposte dalla natura parabolica dellequazione di convezione-diffusione.

5.2.1

Discretizzazione numerica

La prevalenza o meno del fenomeno convettivo su quello diffusivo influenza anche le prestazioni
degli schemi di discretizzazione, e conseguentemente la loro scelta. A livello numerico, il ruolo
del numero di Peclet `e giocato dal numero di Peclet di griglia, definito come
Peh =

Ah
,
2

dove h = maxj hj oppure h = maxT hT `e la massima ampiezza della griglia computazionale che
si vuole utilizzare; in altri termini, nella definizione si sostituisce alla lunghezza caratteristica
del dominio quella della griglia.
Si dice che il problema di convezione-diffusione `e, relativamente alla griglia considerata, a
diffusione dominante se Peh 1, e a convezione dominante se Peh > 1. (Una classificazione
pi`
u precisa discrimina in base al numero di Peclet locale PeT = kaT khT /(2), definito in ogni
elemento T della griglia.)
Nel primo caso, i metodi alle differenze finite o agli elementi finiti visti finora per lequazione del calore possono essere utilizzati con buoni risultati anche per lequazione di convezionediffusione. Nel secondo caso, tali metodi possono generare oscillazioni non fisiche tra i nodi di
griglia, e quindi vanno sostituiti con altri tipi di discretizzazione, che tengono conto del carattere
prevalentemente propagatorio del fenomeno modellizzato.
Esaminiamo con maggiore dettagli i due casi.
Caso della diffusione dominante (Peh 1)
Dapprima, consideriamo una discretizzazione dellequazione (5.32) mediante differenze finite
del secondo ordine su una griglia equispaziata di nodi xm = (x , ym ). In tal caso, il termine
convettivo a u viene discretizzato mediante rapporti incrementali centrati, analoghi al primo
membro della (7.7), nelle direzioni x e y. Abbiamo cio`e
(a u)(xm ) a1 (xm )

u,m+1 u,m1
u+1,m u1,m
+ a2 (xm )
;
2h
2h

5.2. IL MODELLO DI CONVEZIONE-DIFFUSIONE TERMICA

95

in definitiva, in analogia con la (5.24), otteniamo lo schema di semi-discretizzazione in spazio


a2 (xm )
a1 (xm )
(u+1,m u1,m ) +
(u,m+1 u,m1 )
2h
2h

+ 2 (u,m1 u1,m + 4um u+1,m u,m+1 )


h
= fm ,
1 , m N ,

um +

(5.34)
(5.35)
0 < t T . (5.36)

Passando ad esaminare il metodo degli elementi finiti lineari, la formulazione integrale discreta
dellequazione di convezione-diffusione, analoga alla (5.11), `e

uh (t) Vh e soddisfa
Z
Z
Z
Z
uh

f vh dx
per ogni vh Vh .
uh vh dx =
(a uh ) vh dx +
vh dx +

t
(5.37)
La corrispondente matrice di rigidezza A si decompone in
A=C+D ,
R

dove D = (djk ) con djk = k j dx indica ora la ormai familiare matrice simmetrica e
definita positiva che descrive la diffusione, mentre
Z
(a k ) j dx ,
(5.38)
C = (cjk ) ,
con cjk =

`e la matrice che descrive la convezione; essa risulta sparsa come la D, ma non `e simmetrica. Si
noti che essa dipende dal tempo attraverso la a, ossia in generale C = C(t).
` opportuno esaminare la struttura della matrice C (T ) relativa a un elemento T T , che
E
raccoglie il contributo di tale elemento alla matrice globale C. Usando le stesse notazioni della
Sezione 2.3.6, abbiamo
Z


(T )
(T )
(T )
33
C
= c
R
,
con c = (a ) dx .
1,3

Se, come duso, approssimiamo il valore di a su T mediante il suo valore aT nel baricentro del
triangolo, possiamo ridefinire la matrice ponendo
Z
Z
(T )
dx ,
c = (aT ) dx = aT
T

essendo aT costante su T ; daltro canto, T dx = 13 |T | qualunque sia (volume della


piramide di base T e altezza 1). Concludiamo che
(T )

c =

1
|T | aT ,
3

1 , 3 .

(5.39)

Dunque, la matrice C (T ) ha le tre righe uguali tra loro; inoltre, la somma degli elementi su
ciascuna riga `e nullo, essendo

3
3
X
X
1
(T )
c = |T | aT
= 0 .
3
=1

=1

96

CAPITOLO 5. MODELLI DI DIFFUSIONE

Da ultimo, esplicitiamo la matrice C nel caso monodimensionale. Precisamente, consideriamo


lequazione di convezione-diffusione in un intervallo [0, L] della retta reale, sottoposta a condizioni
al bordo di Dirichlet omogenee:

u
2u
u

+a
2 = f in (0, L) , 0 < t T ,

t
x
x
(5.40)
u(0,
t)
=
u(L,
t)
=0
0<tT

u(x, 0) = u0 (x)
in (0, L) ,

ove a = a(x, t) `e un coefficiente variabile in [0, L], mentre > 0 `e costante. La formulazione
variazionale discreta `e lanaloga monodimensionale della (5.37), ove la discretizzazione spaziale
`e quella definita nella Sezione 1.4 ed in particolare nella (1.49); la matrice C, data da
C = (cjk ) ,

con

cjk =

dk
j dx ,
dx

(5.41)

`e una matrice tridiagonale di ordine N . Calcoliamone gli elementi non nulli, dopo aver approssimato il valore del coefficiente a in ogni intervallo Ij mediante il valore aj1/2 = a((xj +xj+1 )/2, t)
nel punto medio dellelemento. Gli elementi della prima sottodiagonale sono dati da:

Z


Z
aj1/2
dj1
1 hj
1
aj1/2
cj,j1 =
j dx = aj1/2
j dx = aj1/2
=
.
dx
hj
hj 2
2
Ij
Ij
Gli elementi diagonali sono dati da
Z
Z
dj
dj
aj+1/2
aj1/2
j dx +
j dx
cjj =
dx
dx
Ij+1
Ij
 


aj1/2 aj+1/2
1 hj
hj+1
1
= aj1/2
+ aj+1/2
=

.
hj 2
hj+1
2
2
2
Infine, gli elementi della prima sopradiagonale sono dati da:

Z


Z
aj+1/2
hj+1
dj+1
1
1
j dx = aj+1/2
j dx = aj+1/2
=
.
aj+1/2
cj,j+1 =
dx
hj+1
hj+1
2
2
Ij+1
Ij+1
Riassumendo, la matrice di convezione C `e tridiagonale ed ha la seguente espressione:
a
aj+1/2
j1/2

se k = j ,

2
2

j1/2
se k = j 1 ,
2
cjk =
(5.42)
aj+1/2

se
k
=
j
+
1
,

0
altrimenti .

Osserviamo che se a `e costante, allora C si riduce alla forma


C=

a
tridiag [1 0 1]
2

ed `e antisimmetrica, ossia soddisfa C T = C.

5.2. IL MODELLO DI CONVEZIONE-DIFFUSIONE TERMICA

97

Figura 5.2: Soluzione numerica di un problema di convezione-diffusione in regime di convezione


dominante: a sinistra con schema centrato, a destra con schema upwind. La soluzione esatta `e
indicata con il tratto pi`
u sottile
Caso della convezione dominante (Peh > 1)
Per mettere in luce le difficolt`
a che nascono dalluso dei metodi di discretizzazione precedenti
quando Peh > 1, consideriamo la versione stazionaria ( ddt = 0) del problema (5.40), ossia

2
a du d u = f in (0, L) ,
dx
dx2

u(0) = u(L) = 0 ,

(5.43)

con a 6= 0 costante. Scegliamo f = 1, a = 1 e = 102 . Nella maggior parte dellintervallo, la


soluzione esatta `e vicina alla soluzione u
(x) = x del problema di convezione pura

u
a d
=f
in (0, L) ,
dx

u
(0) = 0 ;

solo in un intorno di ampiezza O() del punto di uscita x = 1, u si discosta da u


per adattarsi
alla condizione al bordo ivi imposta. Si ha cio`e uno strato limite, ben evidenziato nella Figura
5.2 (la soluzione esatta `e indicata con il tratto pi`
u sottile).
Poniamo h = 1/N e consideriamo la suddivisione di [0, L] in N parti uguali di ampiezza h,
per cui Peh = |a|h/. Usiamo una discretizzazione mediante differenze finite centrate su tale
griglia, ottenendo

a
(uj+1 uj1 ) + 2 (uj1 + 2uj uj+1 ) = fj ,
2h
h

1 j N 1 ,

(5.44)

in aggiunta a u0 = uN = 0. Per gli stessi valori di f , a e indicati sopra, i risultati numerici


corrispondenti alla scelta N = 16, che implica Peh = 100/32 > 1, sono mostrati nella Figura 5.2,
a sinistra; le oscillazioni spurie tra un nodo di griglia e laltro sono tipiche instabilit`
a legate alluso
di uno schema non appropriato per il caso di convezione dominante. (Un analogo fenomeno si
registra discretizzando mediante elementi finiti lineari senza alcun accorgimento particolare.)

98

CAPITOLO 5. MODELLI DI DIFFUSIONE

Per ovviare a tale problema, una possibilit`a consiste nel ridurre h, ossia raffinare la griglia,
in modo da portare il corrispondente numero di Peclet di griglia a valori 1. Se per`
o |a|/
`e cos` grande da richiedere un valore di h proibitivamente piccolo (soprattutto in problemi bie tridimensionali), si deve agire diversamente, mantenendo la stessa griglia ma cambiando il
modo di discretizzare il termine convettivo. Precisamente, nella (5.44) in luogo del rapporto
incrementale centrato
uj+1 uj1
du
,
a (xj ) a
dx
2h
si fa uso del rapporto incrementale allindietro
a

du
uj uj1
(xj ) a
dx
h

se a > 0 ,

e del rapporto incrementale in avanti


a

uj+1 uj
du
(xj ) a
dx
h

se a < 0 .

In altre parole, si discretizza il termine convettivo tenendo conto della direzione di moto delle
particelle, prendendo linformazione dalla parte da cui essa proviene. Tale filosofia porta ai
metodi upwind (sopra-vento), che verranno esaminati nel Capitolo 6. Il risultato delluso di
questo schema nellesempio sopra considerato `e illustrato nella Fig. 5.2, a destra: le oscillazioni
sono scomparse, pur essendo la griglia la stessa gi`a impiegata per la figura di sinistra.
` possibile dimostrare (si veda la (6.38)) che lo schema ora considerato `e equivalente ad uno
E
schema centrato di tipo (5.44), in cui `e sostituito da
= +

|a|
h
2

(ossia si `e aggiunta una diffusione artificiale, o numerica, proporzionale ad h), di modo che il
corrispondente numero di Peclet di griglia viene a soddisfare
|a|h
h = |a|h =
<1.
Pe
2

2 + |a|h
Nel caso multidimensionale, lapproccio upwind viene applicato in ciascuna variabile di spazio.
Ad esempio, lo schema centrato (5.34) diventa, supponendo per fissare le idee che a1 (xm ) > 0
e a2 (xm ) < 0,
a1 (xm )
a2 (xm )
(um u1,m ) +
(u,m+1 um )
h
h

+ 2 (u,m1 u1,m + 4um u+1,m u,m+1 )


h
= fm ,
1 , m N ,

um +

(5.45)
(5.46)
0<tT .

(5.47)

Anche il metodo degli elementi finiti viene modificato, in modo da tener conto nella formulazione integrale della presenza di un termine convettivo dominante. Uno degli schemi pi`
u
popolari `e il cosidetto metodo SUPG (Streamline-Upwind Petrov-Galerkin), con le sue varianti.
Si rimanda alla letteratura specialistica per i dettagli.

Capitolo 6

Modelli di trasporto e leggi di


conservazione
Chiamiamo legge di conservazione unequazione del tipo
u
+ F(u) = 0 ,
t

(6.1)

dove u = u(x, t) `e unincognita scalare definita, per t 0, in un dominio Rd e sul suo


bordo = , F(u) = F(u, x, t) `e una funzione a valori vettoriali in Rd , dipendente da u ed
eventualmente da x e da t, detta flusso di u (nel punto x al tempo t), mentre
F(u) =

F1 (u)
Fd (u)
+ +
x1
xd

indica la divergenza del campo vettoriale x 7 F(u(x, t), x, t) rispetto alle sole variabili spaziali.
La denominazione legge di conservazione si spiega nel modo seguente. Fissiamo una qualunque
regione V contenuta in , avente bordo V sufficientemente regolare in modo che in V valga
il Teorema della Divergenza (Teorema 7.1). Integrando lequazione su V ed applicando tale
teorema, si ottiene

Z
Z
Z 
d
u
F(u) dx
+ F(u) dx =
u dx +
0 =
t
dt V
V
V
Z
Z
d
F(u) n d ,
(6.2)
=
u dx +
dt V
V
dove n indica il versore normale a V, orientato verso lesterno di V. Lultimo integrale rappresenta il flusso di u attraverso il bordo di V. Integrando su un intervallo temporale [t , t ] e
R t

ricordando che t d
dt dt = (t ) (t ), abbiamo
Z t Z
Z
Z

F(u) n d dt .
(6.3)
u(x, t ) dx
u(x, t ) dx =
V

R
Ci`
o mostra che se il flusso di u attraverso V `e nullo, la quantit`a V u(x, t) dx `e conservata.
Altrimenti, la sua variazione `e pari al bilancio tra flusso entrante e flusso uscente attraverso V.
Richiediamo che la legge di conservazione sia soddisfatta in , per ogni tempo t (0, T ], dove
T > 0 `e un istante temporale fissato. Abbiamo dunque
u
+ F(u) = 0
t

in , 0 < t T .
99

(6.4)

100

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

A tale equazione, associamo la condizione iniziale


u = u0

per t = 0 ,

(6.5)

dove u0 `e una funzione assegnata in . Inoltre, se il bordo di non `e vuoto, per ogni tempo
t (0, T ] pu`
o essere necessario prescrivere anche una condizione su una parte del bordo. A tale
scopo, indicando con n(x) il versore normale a nel punto x , orientato verso lesterno di
, poniamo
(t) = {x : F(u(x, t), x, t) n(x) < 0} .
(6.6)
Tale insieme rappresenta la parte di bordo di in cui il flusso di u entra in . Si noti che in
genere (t) dipende da u; si noti inoltre che esso pu`
o essere vuoto.
Imponiamo allora la condizione al bordo
u=g

su (t), per t (0, T ] ,

(6.7)

dove g = g(x, t) `e una funzione assegnata su (0, T ].

6.1

Esempi

i) Lesempio pi`
u semplice di legge di conservazione `e lequazione in una sola variabile di
spazio
u
u
+a
=0,
con a costante 6= 0 .
(6.8)
t
x
Il flusso `e dato da F(u) = F (u) = au. Essendo F funzione lineare di u, lequazione `e
lineare (cioe se u e v sono due soluzioni e , R, allora la funzione u + v `e ancora
una soluzione).
Lequazione modellizza la propagazione di un segnale lungo lasse delle ascisse, con velocit`
a
costante di modulo |a|; precisamente, la propagazione avviene verso destra se a > 0, verso
sinistra se a < 0. Per comprendere ci`o, introduciamo le rette nel piano (x, t) definite
dallequazione
dx
=a,
(6.9)
dt
ossia le rette di equazione x(t) = at + b con b costante. Tali rette sono dette rette caratteristiche, o semplicemente le caratteristiche dellequazione (6.8). Sovente, esse si rappresentano nel piano (x, t) anzich`e nel piano (t, x), ed allora assumono lespressione t(x) = a1 x + c
con c costante.
Fissata una caratteristica, la funzione t 7 u(x(t), t) esprime il valore di u lungo tale linea,
in funzione del tempo. La sua derivata rispetto al tempo `e


d
u
u
dx
u
u
u(x(t), t) =
(x(t), t) (t) +
(x(t), t) =
+a
(x(t), t) = 0 ,
dt
x
dt
t
t
x
da cui
u(x(t), t) = costante ;

(6.10)

in altri termini, la funzione u `e costante lungo ogni caratteristica. Supponiamo allora


che ad un certo tempo t0 in un certo punto x0 la funzione u assuma il valore S, ossia

6.1. ESEMPI

101
t
t = t0 + a1 (x x0 )
t0 + t
t0

x0 + at

x0

Figura 6.1: Retta caratteristica delleq. (6.8) passante per (x0 , t0 )


u(x0 , t0 ) = S. La caratteristica passante per il punto (x0 , t0 ) ha equazione (si veda la Fig.
6.1)
x(t) = x0 + a(t t0 ) ,
o, equivalentemente, t(x) = t0 + a1 (x x0 ) ;
pertanto
u(x(t), t) = u(x(t0 ), t0 ) = u(x0 , t0 ) = S .
Scegliendo t = t0 + t, si ha x(t) = x0 + at e conseguentemente
u(x0 + at, t + t) = u(x0 , t0 ) = S ;
dunque, il segnale S che al tempo t0 si trovava nel punto x0 , ad un tempo successivo
t = t0 + t si trova nel punto x(t) = x0 + at, cio`e si `e mosso con velocit`a uguale ad a
(si veda la Fig. 6.2). Per questo motivo, lequazione (6.8) viene spesso detta equazione di
propagazione.
Il fatto che ogni soluzione di tale equazione sia costante sulle caratteristiche permette di
esprimere facilmente la soluzione di un problema ai valori iniziali (e al bordo) in termini
1.4

1.4

1.2

1.2

S
1

0.8

0.8

u(x, t0 )

0.6

u(x, t0 +t)

0.6

0.4

0.4

0.2

0.2

x
0

x0
0.2

0.2

0.4

0.6

x0 +at
0.8

1.2

1.4

1.6

1.8

0.2

0.2

0.4

0.6

0.8

1.2

1.4

1.6

Figura 6.2: Propagazione di un segnale dal tempo t = t0 al tempo t = t0 + t

1.8

102

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

(
x, t)

x
at

Figura 6.3: Soluzione del problema ai valori iniziali


dei dati. Si consideri il problema ai valori iniziali
u
u
+a
= 0 , x R, t > 0 ,
t
x
u(x, 0) = u0 (x) , x R .

(6.11)

Fissati arbitrariamente un istante temporale t > 0 e un punto x


, la caratteristica passante
per (
x, t) ha equazione
x(t) = x
+ a(t t) .

Essa incontra lasse x nel punto x(0) = x


at, detto piede della caratteristica (si veda la
Fig. 6.3). Pertanto
u(
x, t) = u(x(t), t) = u(x(0), 0) = u(
x at, 0) = u0 (
x at) .

(6.12)

Per larbitrariet`a di x
e t, possiamo concludere che la soluzione del problema ai valori
iniziali (6.11) `e data da
u(x, t) = u0 (x at) ,

x R, t 0 .

(6.13)

Supponiamo invece di voler risolvere lequazione (6.8) nellintervallo limitato = (0, L);
assumiamo nel seguito a > 0. Allora, la precedente relazione (6.12) definisce la soluzione
soltanto per valori di (
x, t) che si trovano al di sotto della semiretta x = at (si veda la
Fig. 6.4). Altrimenti, la retta caratteristica passante per (
x, t) incontra il bordo sinistro
x

dellintervallo allistante t(0) = t a 0. Prescrivendo il valore della soluzione desiderata


nel punto x = 0 in tale istante, sia esso g(t xa ), avremo quindi
u(
x, t) = u(0, t(0)) = g(t xa ) .
In definitiva, se consideriamo il problema ai valori iniziali e al contorno
u
u
+a
=0,
t
x
u(0, t) = g(t) ,

x (0, L), t > 0 ,


t0,

u(x, 0) = u0 (x) , x (0, L) ,

(6.14)

6.1. ESEMPI

103
t

(
x, t)
t

Figura 6.4: Soluzione del problema ai valori iniziali e al bordo


possiamo esprimerne la soluzione nella forma seguente:
(
u0 (x at) se x > at ,
u(x, t) =
se x at .
g(t xa )

(6.15)

Se fosse a < 0, assegneremmo il valore della soluzione nel bordo destro x = L. La scelta
del punto di bordo in cui prescrivere la soluzione (a sinistra se a > 0, a destra se a < 0)
traduce nella presente situazione la condizione espressa in generale dalla (6.7).
ii) Lequazione di Burgers
u
1 2
+
( u )=0
(6.16)
t
x 2
`e un esempio di legge di conservazione non lineare. Qualora la soluzione u sia derivabile,
o essere equivalentemente scritta
derivando il flusso F (u) = 21 u2 rispetto a x lequazione pu`
come
u
u
+u
=0,
(6.17)
t
x
ossia come una equazione di propagazione in cui la velocita di propagazione a coincide con
u.
iii) Supponiamo che una certa regione = Rd sia occupata da un fluido. Sia
a = a(x, t) la velocit`
a euleriana del fluido, vale a dire la velocit`a della particella che
allistante t occupa la posizione x. Sia u = u(x, t) uno scalare associato al fluido, quale ad
esempio la sua densit`a di massa oppure la concentrazione di un inquinante disciolto nel
fluido. Definiamo il flusso di u come il vettore
F(u) = au .

(6.18)

Assumendo, per ovvi motivi fisici, u > 0, la parte di bordo su cui si impone il valore di u
`e dunque data da
(t) = {x : a(x, t) n(x) < 0} .
Nel caso in cui u sia la densit`a di massa, lequazione (6.1) descrive la conservazione della
massa; la densit`a di massa `e dunque funzione della velocit`a del fluido. Daltro canto,

104

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

per i fluidi comprimibili, la velocit`a `e a sua volta legata alla densit`a attraverso una o pi`
u
equazioni aggiuntive. Si ottiene quindi complessivamente un sistema di equazioni, dette
equazioni di Eulero nel caso in cui si trascurino gli effetti di viscosit`a, oppure equazioni di
Navier-Stokes nel caso in cui tali effetti vengano presi in considerazione.
Qualora u rappresenti la concentrazione di un inquinante, lequazione (6.1) descrive la
conservazione dellinquinante. Usualmente si suppone che la velocit`a del fluido non sia influenzata dalla presenza dellinquinante; in tal caso, a `e un campo assegnato e linquinante
viene trasportato passivamente lungo le linee di corrente. Se il fluido `e incomprimibile, la
velocit`
a `e solenoidale, cio`e soddisfa
a=0

in , per ogni t ;

pertanto, applicando la regola di derivazione di un prodotto, si ha


F(u) = (au) = ( a)u + a u ,
e la legge di conservazione diventa
u
+ a u = 0 ,
t

(6.19)

che dicesi equazione del trasporto di uno scalare passivo. Le linee di corrente sono le curve
caratteristiche di tale equazione, vale a dire le soluzioni x = x(t) del sistema di equazioni
differenziali
dx
= a(x, t) .
(6.20)
dt
Si ha allora, generalizzando quando gi`a visto nel caso monodimensionale,
d
dx
u
u(x(t), t) = u(x(t), t) (t) +
(x(t), t) =
dt
dt
t


u
+ a u (x(t), t) = 0 ,
t

da cui
u(x(t), t) = costante ;
in altri termini, ogni soluzione della (6.19) `e costante lungo le linee di corrente.

6.2

Discretizzazione mediante volumi finiti

Alla base dei metodi ai volumi finiti, vi `e lidea di decomporre il dominio spaziale in un numero
finito di volumi elementari, detti celle (assimilabili agli elementi geometrici - quali ad esempio
intervalli, triangoli, tetraedri - nei metodi agli elementi finiti); in ciascuna cella, si impone che
valga la legge di conservazione (6.1), scritta nella forma integrale equivalente (6.2) ottenuta
applicando il teorema della divergenza. Gli elementi caratteristici di un metodo ai volumi finiti
sono dunque le medie di cella approssimate, definite dal metodo, ed i flussi numerici attraverso
i bordi delle celle, costruiti a partire dalle medie di cella circostanti.

6.2. DISCRETIZZAZIONE MEDIANTE VOLUMI FINITI

6.2.1

105

Il caso monodimensionale

Consideriamo il problema ai valori iniziali (6.11) per lequazione di propagazione, per la quale
ricordiamo che F (u) = au.
Introduciamo un passo di discretizzazione spaziale x > 0 ed i nodi equispaziati xj = jx,
j Z. I punti intermedi xj+1/2 = (j + 21 )x definiscono le celle Vj = [xj1/2 , xj+1/2 ] aventi
come centri i nodi xj . Introduciamo poi un passo di discretizzazione temporale t > 0 e gli
istanti temporali tn = nt, n 0; supponiamo che t sia scelto in modo tale che T = N t per
un certo N .
Poniamo V = Vj e t = tn , t = tn+1 nella relazione (6.3); otteniamo
Z xj+1/2
Z xj+1/2
u(x, tn ) dx
u(x, tn+1 ) dx =
xj1/2

xj1/2

Z

tn+1

F (u(xj+1/2 , t)) dt

tn

tn+1

tn

F (u(xj1/2 , t)) dt

Introduciamo le medie di cella della soluzione esatta


Z xj+1/2
1
n
u(x, tn ) dx
Uj =
x xj1/2
e le medie temporali dei flussi attraverso le interfacce tra le celle
n
Fj+1/2

1
=
t

tn+1
tn

F (u(xj+1/2 , t)) dt .

La relazione precedente diventa


n
n
x Ujn+1 = x Ujn (t Fj+1/2
t Fj1/2
).

(6.21)

Uno schema numerico ai volumi finiti si basa su tale relazione, assumendo come incognite
per ogni j ed n le medie di cella numeriche unj , approssimazioni delle medie di cella esatte
Ujn . A partire dalle medie di cella numeriche, si costruisce una approssimazione della soluzione
u(x, tn ) (fase detta di ricostruzione). La situazione pi`
u semplice `e quella in cui la soluzione
u(x, tn ) viene approssimata mediante la funzione costante a tratti che vale unj sulla cella Vj .
Tuttavia, tale funzione `e discontinua in corrispondenza delle interfacce tra le celle, cio`e proprio
` dunque necessario
laddove sono richieste dalla relazione (6.21) le medie temporali dei flussi. E
n
n
approssimare le quantit`
a Fj+1/2 mediante flussi numerici fj+1/2 , che facciano intervenire soltanto
le medie di cella numeriche relative a celle attigue allinterfaccia xj+1/2 . Ogni schema numerico
`e definito dalla scelta di un particolare flusso numerico. La situazione pi`
u semplice si ha quando
n
fj+1/2
dipende soltanto dalle medie di cella unj e unj+1 relative alle due celle aventi xj+1/2 come
interfaccia comune, ossia
n
fj+1/2
= f (unj , unj+1 ) ,
(6.22)
essendo f (u, v) una funzione assegnata di due variabili reali u e v. Nel seguito ci limiteremo a
questa situazione, esaminando alcuni esempi notevoli di flussi numerici.
Una volta effettuata la scelta del flusso numerico, lo schema numerico suggerito dalla (6.21)
`e dato da
n
n
x un+1
= x unj (t fj+1/2
t fj1/2
);
(6.23)
j

106

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

introducendo la costante
=

t
>0,
x

(6.24)

lo schema ai volumi finiti si scrive come


n
n
un+1
= unj (fj+1/2
fj1/2
).
j

(6.25)

Esso costituisce uno schema a un passo esplicito di avanzamento in tempo, fornendo le medie
di cella al tempo tn+1 come funzione esplicita di quelle al tempo tn . Ci aspettiamo quindi una
condizione di stabilit`
a nella scelta del passo temporale t in funzione di quello spaziale x; ci`
o
verr`
a discusso pi`
u avanti. Osserviamo infine che le medie di cella al tempo iniziale sono quelle
della funzione u0 (x) assegnata dal problema (6.11), o una loro approssimazione (ad esempio i
valori di u0 nei nodi xj ).
Esaminiamo ora alcuni schemi numerici notevoli.
i) Metodo di Eulero in avanti/centrato
Il flusso numerico f (u, v) `e dato da
fE (u, v) =
e lo schema risultante `e

a
(u + v)
2

(6.26)

1
un+1
= unj a(unj+1 unj1 ) .
j
2

(6.27)

Esso pu`
o essere scritto in forma equivalente come
unj
un+1
j
t

+a

unj+1 unj1
2x

=0,

(6.28)

e dunque corrisponde ad una discretizzazione alle differenze finite dellequazione di propagazione (6.8) nel punto (xj , tn ), in cui la derivata temporale `e approssimata con un rapporto incrementale in avanti mentre la derivata spaziale `e approssimata con un rapporto
incrementale centrato.
ii) Metodo di Lax-Friedrichs
Il flusso numerico f (u, v) `e dato da
fLF (u, v) =

1
a
(u + v) +
(u v)
2
2

(6.29)

e lo schema risultante `e
1
1
un+1
= (unj+1 + unj1 ) a(unj+1 unj1 ) .
j
2
2

(6.30)

Esso pu`
o essere scritto in forma equivalente come
un+1
unj
j
t

+a

unj+1 unj1
1 unj+1 2unj + unj1
x
=0.
2x
2
x2

(6.31)

6.2. DISCRETIZZAZIONE MEDIANTE VOLUMI FINITI

107

Il metodo corrisponde quindi ad una discretizzazione alle differenze finite, nel punto
(xj , tn ), dellequazione modificata
u
u
1 2u
+a
x
=0,
t
x
2 x2

(6.32)

ottenuta aggiungendo un termine di diffusione proporzionale a x; come sopra, la derivata


temporale `e approssimata con un rapporto incrementale in avanti mentre le derivate spaziali prima e seconda sono approssimate con rapporti incrementali centrati. La diffusione
aggiunta, non presente nel modello matematico da cui siamo partiti, prende il nome di
diffusione artificiale, o numerica.
iii) Metodo Upwind (sopra-vento)
Il flusso numerico f (u, v) `e dato da
|a|
a
(u v) =
fU (u, v) = (u + v) +
2
2

au
av

se a > 0 ,
se a < 0 .

(6.33)

e lo schema risultante `e
1
1
un+1
= unj a(unj+1 unj1 ) + |a|(unj+1 2unj + unj1 )
j
2
2
(
n
n
n
uj a(uj uj1 ) se a > 0 ,
=
unj a(unj+1 unj ) se a < 0 .

(6.34)
(6.35)

Esso pu`
o essere scritto in forma equivalente come
un+1
unj
j
t

oppure

+a

unj unj1
=0
x

se a > 0 ,

(6.36)

un+1
unj
j

unj+1 unj
+a
=0
se a < 0 .
(6.37)
t
x
Lo schema upwind corrisponde dunque ad una discretizzazione alle differenze finite dellequazione di propagazione (6.8) nel punto (xj , tn ), in cui la derivata temporale `e approssimata con un rapporto incrementale in avanti, mentre la derivata spaziale `e approssimata
con un rapporto incrementale allindietro se a > 0, in avanti se a < 0. Ricordando che
linformazione si propaga (con una espressione figurata, il vento tira) da sinistra verso
destra se a > 0 e da destra verso sinistra se a < 0, possiamo dire che lo schema definisce
le nuove medie di cella andando a prendere linformazione dalla parte da cui essa proviene
(dalla parte sopra-vento, da cui la denominazione dello schema).
Un altro modo di scrivere lo schema, equivalente alle (6.36)-(6.37), `e
un+1
unj
j
t

unj+1 unj1
|a| unj+1 2unj + unj1
+a
x
=0
2x
2
x2

(6.38)

(si confronti con la (6.31)). Il metodo corrisponde ancora ad una discretizzazione centrata
di una equazione modificata analoga alla (6.32); il coefficiente di proporzionalit`
a `e ora
dipendente dalla velocit`
a a.

108

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

iv) Metodo di Lax-Wendroff


Il flusso numerico f (u, v) `e dato da
fLW (u, v) =

a
1
(u + v) + a2 (u v)
2
2

(6.39)

e lo schema risultante `e
1
1
un+1
= unj a(unj+1 unj1 ) + (a)2 (unj+1 2unj + unj1 ) .
j
2
2

(6.40)

Esso pu`
o essere scritto in forma equivalente come
un+1
unj
j
t

+a

n
n
n
unj+1 unj1
a2 uj+1 2uj + uj1
x
=0.
2x
2
x2

(6.41)

Il metodo corrisponde quindi ad una discretizzazione alle differenze finite, nel punto
(xj , tn ), dellequazione modificata
u
a2 2 u
u
+a
x
=0,
t
x
2 x2
ottenuta ancora aggiungendo un termine di diffusione proporzionale a x, ma con un
coefficiente diverso da quelli dei metodi di Lax-Friedrichs o Upwind.
Il comportamento dei vari metodi sopra descritti `e illustrato dalla Fig. 6.5. La soluzione
esatta, al tempo t = 0, vale 1 nellintervallo [0.25, 0.5] ed `e nulla altrove; per t > 0, essa si muove
con velocit`a a = 1/2. Il grafico relativo al metodo di Eulero in avanti/centrato `e stato ottenuto
con x = 1/64; gli altri grafici con x = 1/128. Si notino la pessima qualit`a del metodo
di Eulero, la diffusione numerica dei metodi di Lax-Friendrichs e Upwind (pi`
u accentuata nel
primo), e la dispersione numerica del metodo di Lax-Wendroff.

6.3

Stabilit`
a, consistenza e convergenza

Vogliamo determinare condizioni sul flusso numerico f (u, v) e sui passi di discretizzazione x e
t che garantiscano la possibilit`a di ben approssimare la soluzione esatta del problema (6.11)
attraverso la conoscenza delle medie di cella generate dallo schema numerico corrispondente. In questa analisi, i concetti di stabilit`
a, di consistenza e di convergenza hanno un ruolo
fondamentale.

6.3.1

Stabilit`
a

Siano unj , j Z, n 0, le medie di cella generate dallo schema per una certa scelta di x e t.
Introduciamo la funzione costante a tratti
unx,t : R R ,

tale che unx,t (x) = unj se x Vj ,

xR;

(6.42)

essa rappresenta una approssimazione della soluzione esatta u al tempo tn . Una misura della
grandezza di tale funzione `e data dalla norma del massimo su R
kunx,t k,R = max |unx,t (x)| = max |unj | .
xR

jZ

(6.43)

` CONSISTENZA E CONVERGENZA
6.3. STABILITA,

1.4

1.4

Eulero

1.2

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

1.4

0.2

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

1.2

1.4

1.6

1.8

1.4

Upwind

1.2

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0.2

0.4

0.6

Cour = .8

0.8

Lax-Wendroff

1.2

Cour = .8

0.2

Cour = .8

0.8

Lax-Friedrichs

1.2

Cour = x/a

0.2

109

0.8

1.2

1.4

1.6

1.8

0.2

0.2

0.4

0.6

0.8

Figura 6.5: Confronto tra i diversi metodi di discretizzazione nel caso di una soluzione esatta
costante a tratti
Altre norme che possono essere utilizzate sono la norma quadratica

1/2
1/2
Z
X
= x
|unx,t(x)|2 dx
|unj |2
kunx,t k2,R =
,

(6.44)

(6.45)

jZ

oppure la norma del valore assoluto


kunx,t k1,R

|unx,t (x)| dx = x

X
jZ

|unj | .

Scegliamo una di queste norme, che indicheremo semplicemente con k kR . Supponiamo che
il dato iniziale u0 abbia norma ku0 kR finita; se le quantit`a u0j sono le medie di cella esatte di
u0 , si pu`
o verificare che ku0x,t kR ku0 kR . Tuttavia, nei passi successivi, la norma kunx,t kR
potrebbe crescere da un passo allaltro. Poiche per arrivare al tempo finale T sono necessari
T
, per t molto piccoli la norma potrebbe assumere valori arbitrariamente
N passi con N = t
grandi prima che tn raggiunga il valore T . In termini pratici, si potrebbe avere un overflow nel
calcolo delle medie di cella. La condizione di stabilit`
a (asintotica) di uno schema numerico di

110

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

avanzamento in tempo mira precisamente ad escludere questa situazione. Una definizione di


stabilit`
a `e la seguente:
Definizione 6.3.1 Uno schema numerico di tipo (6.25) si dice stabile nella norma k kR se
per ogni T > 0 esiste una costante CT > 0, che pu`
o dipendere da T ma `e indipendente da x e
t, tale che
kunx,t kR CT ku0 kR ,
per ogni n N .
Una definizione pi`
u restrittiva di stabilit`
a `e la seguente:
Definizione 6.3.2 Uno schema numerico di tipo (6.25) si dice fortemente stabile nella
norma k kR se
n
per ogni n 0 .
kun+1
x,t kR kux,t kR ,
Ovviamente, uno schema fortemente stabile `e stabile, con costante CT = 1.
Introduciamo ora una importante quantit`a nello studio della stabilit`
a, vale a dire il numero
di Courant
t
,
(6.46)
Cour = |a| = |a|
x
e chiamiamo condizione CFL (Courant, Friedrichs e Lewy) la condizione
Cour 1 ,

vale a dire

x
.
|a|

(6.47)

Tale diseguaglianza ha un preciso significato in termini di propagazione del segnale: ricordando


che la soluzione esatta u `e costante lungo le caratteristiche, `e facile vedere che Cour 1 se e solo
se, per ogni j e per ogni n, i valori di u al tempo tn+1 nella cella Vj dipendono solo dai valori
di u al tempo tn nelle celle Vj1 , Vj e Vj+1 (si veda la Fig. 6.6). Ci`
o `e coerente con lo schema
numerico, che, come sappiamo, definisce la media di cella numerica un+1
in funzione delle medie
j
di cella unj1 , unj e unj+1 . Non giunge dunque inaspettato il seguente risultato, che riportiamo
senza dimostrazione.
Teorema 6.3.3 i) La condizione CFL `e necessaria per la stabilit`
a di uno schema numerico di
tipo (6.25) rispetto a una qualunque delle norme considerate.
ii) Per i metodi di Lax-Friedrichs, Upwind e di Lax-Wendroff, la condizione CFL `e sufficiente
per la stabilit`
a forte nella norma del valore assoluto.
Nella pratica, per i metodi appena citati, si fissa un valore di Cour soddisfacente 0 < Cour 1
e, dopo aver scelto il passo spaziale x, si determina il passo temporale t tramite la relazione
t =

Cour
x ;
|a|

(6.48)

in tal modo, la condizione CFL `e soddisfatta.


Il caso Cour = 1 merita unattenzione particolare. Infatti, per quanto riguarda la soluzione
esatta, la posizione delle rette caratteristiche (si veda la Fig. 6.6, al centro) mostra che i suoi
valori al tempo tn+1 nella cella Vj dipendono solo dai suoi valori al tempo tn nella cella Vj1 se
a > 0, oppure nella cella Vj+1 se a < 0. In particolare, le medie di cella soddisfano
(
n
Uj1
se a > 0 ,
n+1
(6.49)
Uj
=
n
Uj+1 se a < 0 .

` CONSISTENZA E CONVERGENZA
6.3. STABILITA,

111

tn+1

tn
Vj1

Vj

Vj+1

Vj1

Vj

Vj+1

Vj1

Vj

Vj+1

tn+1

tn

tn+1

tn

Figura 6.6: Dipendenza della soluzione nella cella Vj al tempo tn+1 dai valori al tempo tn , per
a > 0, nei tre casi: Cour < 1 (in alto), Cour = 1 (al centro), Cour > 1 (in basso)
Per quanto riguarda invece gli schemi numerici, i metodi di Lax-Friendrichs, Upwind e LaxWendroff vengono tutti a coincidere se Cour = 1; ci`o si vede confrontando le (6.29), (6.33),
(6.39) ed osservando che Cour = 1 equivale a = |a|. Si vede immediatamente che la soluzione
comune a tutti i metodi soddisfa
(
unj1 se a > 0 ,
n+1
uj =
(6.50)
unj+1 se a < 0 .
Concludiamo quindi che le medie di cella numeriche coincidono con quelle esatte.
Infine, per quanto riguarda il metodo di Eulero esplicito/centrato, si pu`
o dimostrare che esso
T
/2
`e stabile nella norma quadratica con costante CT = e , a condizione che t (x/a)2 .
Il caso della velocit`
a variabile
. Nel caso in cui il coefficiente a non sia costante, ma dipenda da x e t in modo continuo,
n
il flusso numerico fj+1/2
= f (unj , unj+1 ) deve essere definito sostituendo al valore a il valore
anj+1/2 = a(xx+1/2 , tn ). Il numero di Courant, definito ora come
Courn = max |anj+1/2 | ,
j

112

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

viene a dipendere dallistante temporale corrente; la condizione CFL si esprime come Courn 1
per ogni n 0. Si noti che, anche imponendo Courn = 1, si potranno avere delle celle in cui
|anj+1/2 | < 1, e dunque in generale lo schema numerico perde la possibilit`a di riprodurre le
medie di cella esatte.

6.3.2

Consistenza

Una misura della qualit`a di uno schema numerico `e fornita dal seguente criterio. Le medie di
cella della soluzione esatta,
Z xj+1/2
1
n
u(x, tn ) dx ,
Uj =
x xj1/2
n
soddisfano le relazioni (6.21), dove gli Fj+1/2
sono i flussi esatti. Se invece calcoliamo i flussi
numerici delle medie di cella esatte, ponendo
n
n
Fj+1/2
= f (Ujn , Uj+1
),
n
in generale lo schema numerico (6.23) non sar`
a soddisfatto dalle quantit`a Ujn , Fj+1/2
, ossia
lespressione
n
n
x Ujn+1 x Ujn + (t Fj+1/2
t Fj1/2
)

non sar`
a in generale nulla. Dividendo per x t, introduciamo quindi le quantit`a
jn = jn (x, t) =

Ujn+1 Ujn
t

n
n
Fj+1/2
Fj1/2

(6.51)

detti errori locali di troncamento; in essi, si `e posto in evidenza la dipendenza dai parametri di
discretizzatione x e t. Infatti, diamo la seguente definizione:
Definizione 6.3.4 Uno schema numerico di tipo (6.25) si dice consistente se per ogni soluzione regolare u e per ogni j ed n si ha
jn (x, t) 0 ,

per x, t 0 .

` notevole il fatto che la condizione di consistenza appena enunciata equivalga a una semplice
E
condizione sul flusso numerico f (u, v) che definisce lo schema, vale a dire alla richiesta che
quando i due argomenti coincidono, il flusso numerico riproduca il flusso esatto; precisamente,
la condizione equivalente `e
f (u, u) = F (u) = au ,

per ogni u R .

(6.52)

` immediato vedere che tutti gli schemi numerici considerati sopra soddisfano tale condizione e
E
dunque sono consistenti.
I metodi consistenti possono essere classificati in base alla velocit`a con cui gli errori di
troncamento jn (x, t) tendono a 0 al tendere a 0 di x e t.
Definizione 6.3.5 Uno schema numerico consistente si dice di ordine (p, q) se, per ogni soluzione u sufficientemente regolare, lerrore di troncamento (x, t) in ogni punto arbitrario
(xj , tn ) soddisfa
(x, t) = c1 xp + c2 tq + o(xp , tq ) ,

per x, t 0 ,

dove le costanti c1 e c2 dipendono da opportune derivate di u nel punto (xj , tn ).

` CONSISTENZA E CONVERGENZA
6.3. STABILITA,

113

In genere, la determinazione dellordine di un metodo si effettua facendo uno sviluppo di Taylor


degli errori di troncamento rispetto a x e t.
Per i metodi sopra considerati, si ha:
i) Metodo di Eulero in avanti/centrato
Lerrore di troncamento del metodo soddisfa
E (x, t) c1 x2 + c2 t ,
dunque il metodo `e di ordine (2, 1).
ii) Metodo di Lax-Friedrichs
Lerrore di troncamento del metodo soddisfa
E (x, t) c1 x + c2 t + c3

x2
,
t

Legando t a x attraverso la relazione (6.48), si ottiene




c3 |a|
x + c2 t ,
LF (x, t) c1 +
Cour
dunque il metodo `e di ordine (1, 1). Si noti che scegliendo t via via pi`
u piccolo rispetto
a x (cio`e scegliendo numeri di Courant via via pi`
u piccoli), lapprossimazione peggiora.
iii) Metodo Upwind (sopra-vento)
Lerrore di troncamento del metodo soddisfa
U (x, t) c1 x + c2 t ,
dunque il metodo `e di ordine (1, 1).
iv) Metodo di Lax-Wendroff
Lerrore di troncamento del metodo soddisfa
LW (x, t) c1 x2 + c2 t2 ,
dunque il metodo `e di ordine (2, 2).

6.3.3

Convergenza

Indichiamo con un la soluzione esatta al tempo tn , ossia la funzione x 7 u(x, tn ).


Definizione 6.3.6 Uno schema numerico di tipo (6.25) si dice convergente nella norma k kR
se per ogni fissato T > 0, si ha
max kun unx,t kR 0 ,

0nN

dove N `e tale che N t = T .

per x, t 0 ,

114

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

Vale allora la seguente forma del Teorema di Lax-Richtmyer.


Teorema 6.3.7 Uno schema numerico di tipo (6.25), applicato al problema lineare ai valori
iniziali (6.11), `e convergente nella norma k kR se e solo se `e consistente e stabile in tale
norma.
Dunque, in base a quanto visto sopra, possiamo dire che i metodi di Lax-Friedrichs, LaxWendroff e Upwind sono convergenti nella norma del valore assoluto, mentre il metodo di Eulero
esplicito/centrato `e convergente nella norma quadratica se t e t tendono a 0 in modo da
rispettare la condizione t (x/a)2 .
Se la soluzione `e sufficientemente regolare, lordine (p, q) di consistenza del metodo definisce
lordine di convergenza a zero dellerrore tra le medie di cella esatte e quelle numeriche, rispetto
a x e t. Precisamente, indichiamo con U n = U n (x) la funzione costante a tratti che in ogni
cella Vj assume il valore Ujn . Si ha allora
max kU n unx,t kR C1 xp + C2 tq ,

0nN

per x, t 0 ,

dove le costanti C1 e C2 dipendono da T e da opportune derivate della soluzione u.

6.4

Cenno alle propriet`


a di diffusione e dispersione numerica

Consideriamo nuovamente il problema ai valori iniziali (6.11). Supponiamo che u0 sia una
funzione 2-periodica, soddisfacente quindi u0 (x + 2) = u0 (x) per ogni x R. Se u0 `e ad
esempio continua a tratti, `e noto dal corso di Analisi Matematica che essa pu`
o essere sviluppata
in serie di Fourier. Usando per comodit`
a la forma complessa, scriviamo quindi
X
0,k eikx ,
u0 (x) =
U
(6.53)
kZ

0,k di u0 sono definiti da


dove i coefficienti di Fourier U
Z 2
1

u0 (x) eikx dx .
U0,k =
2 0
Ricordiamo che ogni funzione
k (x) = eikx = cos kx + i sin kx
viene detta (funzione) armonica elementare, o onda elementare. Essa `e periodica di periodo
minimo 2/|k|, e quindi di frequenza |k|/(2); lintero |k| `e il suo numero donda.
Per ogni tempo t > 0, la soluzione u(x, t) del problema (6.11) `e ancora una funzione 2periodica. Infatti, ricordando la (6.13), abbiamo
X
X
X
0,k eik(xat) =
0,k eikat eikx =
k (t)eikx .
u(x, t) = u0 (x at) =
U
U
U
(6.54)
kZ

kZ

kZ

Lultima uguaglianza mostra che i coefficienti di Fourier della soluzione al tempo t,


Z 2
1

u(x, t) eikx dx ,
Uk (t) =
2 0

(6.55)

` DI DIFFUSIONE E DISPERSIONE NUMERICA


6.4. CENNO ALLE PROPRIETA

sono dati da

k (t) = U
0,k eikat .
U

Inoltre, le prime due uguaglianze della (6.54) possono essere scritte come
X
0,k k (x at) ,
U
u(x, t) =

115

(6.56)

(6.57)

kZ

e ci`o mostra che nella soluzione esatta le ampiezze delle armoniche elementari sono invarianti
nel tempo, mentre tutte le armoniche si muovono con la stessa velocit`a a.
Osservazione 6.4.1 Prima di passare alla discretizzazione numerica, `e utile per ci`o che segue
comprendere leffetto della moltiplicazione di una armonica elementare k (x) per un numero
complesso zk . Scriviamo tale numero in notazione esponenziale, come
zk = |zk |eik ,
ove |zk | 0 rappresenta il modulo di zk e k lopposto dellanomalia. Se > 0 indica un
intervallo temporale fissato, poniamo
ak =

k
,
k

ossia

k = kak ,

e dunque
zk = |zk |eikak .
Pertanto, possiamo scrivere
zk k (x) = |zk |eikak eikx = |zk |eik(xak ) = |zk |k (x ak ) .

(6.58)

Ci`
o mostra che leffetto della moltiplicazione di k (x) per zk `e doppio: da una parte lampiezza
dellonda viene modificata di un fattore |zk |, dallaltra londa viene traslata lungo lasse reale
con velocit`a ak per un tempo .
Vediamo ora come si comporta la soluzione discreta generata da uno degli schemi sopra
considerati. Fissato un intero N > 0, dividiamo lintervallo di periodicita`
a in 2N parti uguali,
`
vale a dire scegliamo x = (2)/(2N ) = /N . E immediato verificare che le medie di cella di
u0 (x), siano esse u0j , sono 2N -periodiche, ossia soddisfano u0j+2N = u0j per ogni j Z. Anche
le successive medie di cella unj definite per n > 0 dallo schema sono 2N -periodiche; ci`o segue
ricorsivamente dal fatto che ogni schema numerico sopra considerato `e della forma
un+1
= cm unj1 + c0 unj + cp unj+1 ,
j

(6.59)

per opportuni coefficienti reali cm , c0 , cp . La Tabella 6.1 fornisce lespressione di tali coefficienti
per i metodi di Lax-Friedrichs, Upwind e Lax-Wendroff, ottenuti riarrangiando rispettivamente
le espressioni (6.30), (6.34) e (6.40).
Possiamo allora dare una rappresentazione in serie di Fourier analoga alla (6.54) delle medie
di cella al generico passo n. Infatti, definendo i coefficienti di Fourier discreti
u
nk

2N 1
X n ikxj
uj e
,
=
N
j=0

N k < N ,

(6.60)

116

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

Tabella 6.1: Coefficienti in (6.59) di alcuni schemi numerici


Schema
1
2 (1

Lax-Friedrichs

cm

c0

+ a)

Upwind (a > 0)

Lax-Wendroff

1
2 a(a

cp
1
2 (1

1 a

+ 1)

a)
0

1 (a)2

1
2 a(a

1)

(che generalizzano quelli continui dati dalla (6.55)), `e possibile che dimostrare che vale la formula
di rappresentazione
N
1
X
n
per ogni j Z ;
(6.61)
u
nk eikxj
uj =
k=N

N
1
X

infatti, il polinomio trigonometrico pN (x) =

u
nk eikx interpola i valori delle medie di cella

k=N

nei centri delle celle xj , ossia soddisfa pN (xj ) = unj per ogni j Z. Notiamo poi che
unj1 =

N
1
X

u
nk eikxj1 =

N
1
X

u
nk eik(xj x) =

u
nk eikx eikxj ,

(6.62)

k=N

k=N

k=N

N
1
X

vale a dire lincremento o il decremento di ogni indice corrisponde alla moltiplicazione di ciascun
coefficiente di Fourier discreto per un opportuno numero complesso di modulo unitario.
Sostituendo le (6.61) e (6.62) nella (6.59), abbiamo allora la rappresentazione
un+1
=
j

N
1
X

k=N

N
1


X
u
nk k eikxj ,
u
nk cm eikx + c0 + cp eikx eikxj =

(6.63)

k=N

avendo introdotto i fattori di amplificazione caratteristici dello schema (6.60)


k = cm eikx + c0 + cp eikx .

(6.64)

Per confronto tra la (6.63) e la (6.61), si ha quindi u


n+1
=u
nk k , ossia ad ogni passo ciascun coefk
ficiente di Fourier discreto delle medie di cella viene moltiplicato per il fattore di amplificicazione
di pari indice. Da ci`
o segue che
unj

N
1
X

u
0,k (k )n eikxj ,

(6.65)

k=N

ossia
0,k (k )n ,
u
nk = u
avendo indicato con u
0,k = u
0k i coefficienti di Fourier discreti delle medie di cella del dato
iniziale. Si presti attenzione al fatto che, nelle due precedenti formule, lespressione (k )n significa
elevamento alla potenza n del numero k , mentre gli altri apici n indicano semplicemente quantit`
a

` DI DIFFUSIONE E DISPERSIONE NUMERICA


6.4. CENNO ALLE PROPRIETA

117

relative al passo n. Tuttavia, se rappresentiamo i fattori di amplificazione in forma esponenziale


secondo quanto sviluppato nellOsservazione 6.4.1, e precisamente come
k = |k |eik = |k |eikak t

avendo posto ak =

k
k
=
,
kt
kx

abbiamo (k )n = |k |n eikak tn . Pertanto,


0,k |k |n eikak tn ,
u
nk = u
che `e lanaloga discreta della (6.56). Inoltre, ricordando la (6.58), si ha la rappresentazione delle
medie di cella
N
1
X
n
uj =
u
0,k |k |n k (xj ak tn ) ,
(6.66)
k=N

che `e lanaloga discreta della (6.57).


Un confronto con la (6.57) mostra che lo schema numerico `e tanto pi
u fedele alla dinamica
esatta quanto pi`
u |k | 1 e ak a. Si pu`
o dimostrare che la stabilit`
a dello schema in norma
quadratica equivale al fatto che |k | 1 per ogni k.
Se la successione |k | tende a 0 monotonamente al crescere di |k|, le armoniche della soluzione
discreta si smorzeranno al crescere del tempo, tanto pi`
u velocemente quanto `e alta la frequenza
dellarmonica. Ci`
o corrisponde, dal punto di vista fisico, ad un fenomeno di diffusione, detto di
diffusione artificiale o numerica, analogo a quanto modellizzato dallequazione del calore.
Se le quantit`
a ak sono diverse tra loro, allora lo schema numerico avanzer`
a le singole armoniche con velocit`
a diverse, mentre abbiamo sopra notato che la dinamica esatta avanza tutte
le armoniche con la stessa velocit`
a a. Compariranno, in particolare in corrispondenza di una
discontinuit`
a o di un ripido fronte, delle oscillazioni di determinata frequenza, che tenderanno
ad aprirsi spazialmente al crescere del tempo. Un fenomeno di questo genere viene detto di
dispersione artificiale o numerica.
Nei metodi di Lax-Friedrichs e upwind, la diffusione numerica `e pi`
u rilevante della dispersione
numerica, mentre il contrario accade per il metodo di Lax-Wendroff. I moduli |k | dei fattori
di amplificazione e i rapporti ak /a tra velocit`a numeriche e velocit`a esatta per i metodi di LaxFriedrichs, Upwind e Lax-Wendroff, e per tre scelte del numero di Courant, sono mostrati in
Fig. 6.7. Una loro attenta analisi permette di spiegare i diversi comportamenti della soluzione
numerica, mostrati nella Fig. 6.5.

118

CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

ak /a

|k |
1

C B

B
C

A
1

N/2

N/2

k
N

N/2

N/2

ak /a

|k |
1
C

A
N

N/2

A
B
C

1
k

N/2

N/2

N/2

ak /a

|k |
1
C

B
1

A
N

N/2

N/2

k
N

N/2

N/2

Figura 6.7: Modulo |k | dei fattori di amplificazione (colonna di sinistra) e rapporto ak /a tra
velocit`a numeriche e velocit`
a esatta (colonna di destra) per i metodi di Lax-Friedrichs (in alto),
Upwind (al centro) e Lax-Wendroff (in basso), con tre scelte del numero di Courant: A : Cour =
0.5, B : Cour = 0.7, C : Cour = 0.9

Capitolo 7

Richiami e complementi
7.1

Classificazione delle equazioni a derivate parziali del secondo ordine

La pi`
u generale equazione a derivate parziali lineare del secondo ordine in due variabili indipendenti x1 e x2 si scrive come
a

2u
u
2u
2u
u
+
b
+p
+
c
+q
+ su = f ,
2
2
x1 x2
x1
x2
x1
x2

dove a, b, . . . , s, f sono funzioni reali note che possono dipendere da x1 e x2 , tali che a, b, c non
siano contemporaneamente nulle.
Lequazione viene classificata in uno dei tre tipi ellittico, parabolico e iperbolico. Tale classificazione `e molto importante, perch`e il tipo determina varie propriet`a qualitative della soluzione,
oltrech`e la struttura delle condizioni (al bordo, iniziali) che devono accompagnare lequazione
quando si voglia individuarne una particolare solutione di interesse.
La classificazione si effettua nel modo seguente: si introduce la matrice


a b/2
A=
,
b/2 c
che per ipotesi non `e identicamente nulla. Essendo simmetrica, essa avr`a due autovalori reali 1
e 2 , non entrambi nulli. Allora vale una e una sola delle seguenti possibilit`a:
i due autovalori sono diversi da zero e di segno concorde: diremo che lequazione `e ellittica;
un autovalore `e nullo: diremo che lequazione `e parabolica;
i due autovalori sono diversi da zero e di segno discorde: diremo che lequazione `e iperbolica.
Si osservi che il tipo dellequazione non dipende dai coefficienti p, q, s dei termini di ordine
inferiore al secondo. Si noti inoltre che quando i coefficienti a, b, c dipendono da x1 e x2 , il tipo
dellequazione potrebbe variare da punto a punto; nelle principali applicazioni, per`
o, questo non
accade.
La terminologia trae origine dal fatto che le curve di livello della forma quadratica
T A = a12 + b1 2 + c22
119

120

CAPITOLO 7. RICHIAMI E COMPLEMENTI

nel piano 1 , 2 sono delle ellissi nel primo caso, delle iperbole nel terzo caso e delle rette (ossia
parabole degeneri) nel secondo caso.
Lesempio tipico di equazione ellittica `e lequazione di Poisson
u =

2u 2u
+
=f ,
x21 x21

per la quale si ha A = I, matrice identit`a.


Lesempio tipico di equazione parabolica `e lequazione del calore in una sbarra,
u 2 u
2 =f
t
x


1 0
.
0 0
Lesempio tipico di equazione iperbolica `e lequazione delle onde in un filo elastico,

(ove si `e posto x = x1 e t = x2 ), per la quale si ha A =

per la quale si ha A =


1 0
.
0 1

2u 2u
2 =f ,
t2
x

Passiamo ora a considerare una equazione del secondo ordine in tre variabili indipendenti x1 ,
x2 e x3 ,
a

2u
2u
2u
u
u
2u
2u
u
2u
+
c
+
e
+
g
+q
+r
+ su = f ;
+
b
+
d
+p
x1 x2
x1 x3
x2 x3
x1
x2
x3
x21
x22
x23

in tal caso, la classificazione si basa sulla matrice

a b/2 d/2
A = b/2 c e/2 .
d/2 e/2 g

Se i suoi autovalori sono tutti diversi da zero e di segno concorde, lequazione sar`
a detta ellittica;
lequazione di Poisson
2u 2u 2u
u =
+
+
=f
x21 x22 x23
`e di questo tipo. Se invece uno degli autovalori di A `e nullo mentre i rimanenti sono diversi da
zero e di segno concorde, lequazione sar`
a detta parabolica; lequazione del calore in due variabili
di spazio,
u
u = f ,
t
dove ora indica il Laplaciano nelle sole variabili di spazio x1 e x2 mentre si `e posto t = x3 , `e
di questo tipo. Infine, se tutti gli autovalori di A sono diversi da zero e uno di essi `e di segno
discorde rispetto agli altri, lequazione si dir`
a iperbolica; lequazione delle onde in due variabili
di spazio,
2u
u = f ,
t2
con come sopra, `e di questo tipo.
Altri casi sono possibili, ma essi hanno una rilevanza fisica assai pi`
u limitata.

7.2. IL TEOREMA DELLA DIVERGENZA

7.2

121

Il teorema della divergenza

Sia A un insieme aperto e limitato di Rd , d = 2, 3, avente bordo A sufficientemente regolare


(ad esempio descrivibile mediante una parametrizzazione di classe C 1 , oppure poligonale se
d = 2 o poliedrico se d = 3). Indichiamo con n la normale a A orientata verso lesterno. Se
g : A A Rd `e un campo vettoriale di classe C 1 , allora vale il Teorema della divergenza
Z
Z
g n dx ,
(7.1)
g dx =
A

dove
g =
indica la divergenza del campo vettoriale g.

7.3

d
X
gi
xi

(7.2)

i=1

Derivazione numerica

Sia v una funzione derivabile un certo numero di volte in un intorno di un punto x R.


La derivazione numerica consiste nel definire approssimazioni delle derivate di v in x facendo
intervenire soltanto i valori di v in tale punto e in altri punti ad esso vicini. Lo strumento che
utilizziamo `e la formula di Taylor centrata in x.
Sia x > 0 un incremento sufficientemente piccolo. Lo sviluppo di Taylor di v al secondo
ordine in x `e
1
v(x + x) = v(x) + v (x)x + v (x)x2 + o(x2 ) ;
2
dividendo per x ricaviamo
v(x + x) v(x)
1
= v (x) + v (x)x + o(x) .
x
2

(7.3)

Lespressione a primo membro fornisce una approssimazione della derivata prima di v in x, detta
rapporto incrementale in avanti. Essa `e una approssimazione al primo ordine, in quanto lerrore
v(x + x) v(x)
1
v (x) v (x)x
x
2

(7.4)

`e proporzionale a x, per x tendente a 0 (a meno che v (x) non sia nulla, nel qual caso lerrore
tende a zero pi`
u velocemente); notiamo che lerrore dipende, oltrech`e dallincremento x, dalla

quantit`a v (x). Equivalentemente, possiamo dire che la formula di derivazione numerica a primo
membro della (7.3) `e esatta se v `e un polinomio di primo grado (infatti in tal caso la derivata
seconda e tutte le derivate successive di v sono identicamente nulle). Inoltre, non `e difficile
dimostrare che il rapporto incrementale in avanti rappresenta il valore esatto della derivata
prima del polinomio di primo grado (retta) che interpola v nei nodi x e x + x.
Una approssimazione equivalente viene definita usando lincremento x. Partendo dallo
sviluppo
1
v(x x) = v(x) v (x)x + v (x)x2 + o(x2 )
2
e procedendo come sopra si ottiene
1
v(x) v(x x)
= v (x) v (x)x + o(x) .
x
2

(7.5)

122

CAPITOLO 7. RICHIAMI E COMPLEMENTI

Lespressione a primo membro, detta rapporto incrementale allindietro, fornisce ancora una
approssimazione al primo ordine di v (x).
Una approssimazione pi`
u precisa pu`
o essere ottenuta combinando tre valori di v. Scriviamo
gli sviluppi di Taylor di v in x al terzo ordine, relativamente agli incrementi x. Abbiamo
1
v(x + x) = v(x) + v (x)x + v (x)x2 +
2
1

v(x x) = v(x) v (x)x + v (x)x2


2

1
v (x)x3 + o(x3 ) ,
6
1
v (x)x3 + o(x3 ) ;
6

(7.6)

sottraendo la seconda espressione dalla prima, otteniamo


1
v(x + x) v(x x) = 2v (x)x + v (x)x3 + o(x3 ) ,
3
da cui ricaviamo facilmente
1
v(x + x) v(x x)
= v (x) + v (x)x2 + o(x2 ) .
2x
3

(7.7)

Lespressione a primo membro prende il nome di rapporto incrementale centrato e fornisce una
approssimazione al secondo ordine di v (x), in quanto lerrore, rappresentato dai termini successivi a v (x) a secondo membro, tende a 0 almeno come x2 quando x tende a 0. Equivalentemente, la formula di derivazione a primo membro `e esatta se v `e un polinomio di secondo
grado. Si dimostra che il rapporto incrementale centrato rappresenta il valore esatto della derivata prima in x del polinomio di secondo grado (parabola) che interpola v nei punti x x, x,
x + x. Osserviamo anche che tale formula `e la media aritmetica tra i rapporti incrementali in
avanti e allindietro.
Combinando sviluppi di Taylor relativi a incrementi diversi si possono ottenere formule di derivazione di ordine superiore al primo di tipo non centrato. Ad esempio, considerando lincremento
2x, abbiamo
4
v(x + 2x) = v(x) + 2v (x)x + 2v (x)x2 + v (x)x3 + o(x3 ) .
3

(7.8)

Moltiplichiamo tale equazione per un coefficiente da determinarsi, e sommiamo il risultato


alla prima delle (7.6); imponiamo poi che il coefficiente risultante che moltiplica v (x) sia 0. In
tal modo otteniamo
1
v(x + 2x) + 4v(x + x) 3v(x)
= v (x) v (x)x2 + o(x2 ) ,
2x
3

(7.9)

il cui primo membro fornisce una approssimazione al secondo ordine in avanti di v (x).
Infine, vediamo come ottenere una formula di derivazione numerica per approssimare il valore
della derivata seconda di v in x. A tale scopo, possiamo sommare tra loro, anzich`e sottrarre
come fatto sopra, i due sviluppi di Taylor in (7.6); tuttavia, per valutare lerrore commesso, `e
necessario utilizzare sviluppi al quarto ordine anzich`e al terzo. Scriviamo dunque
1
v(x + x) = v(x) + v (x)x + v (x)x2 +
2
1
v(x x) = v(x) v (x)x + v (x)x2
2

1
v (x)x3 +
6
1
v (x)x3 +
6

1 (4)
v (x)x4 + o(x4 ) ,
24
1 (4)
v (x)x4 + o(x4 ) ;
24

(7.10)

7.4. NORME DI VETTORI E DI MATRICI

123

sommando e dividendo per x2 otteniamo


v(x + x) 2v(x) + v(x x)
1
= v (x) + v (4) (x)x2 + o(x2 ) .
x2
12

(7.11)

Il primo membro prende il nome di rapporto incrementale secondo centrato e fornisce una approssimazione di v (x) al secondo ordine: lerrore di derivazione numerica tende a 0 almeno
come x2 quando x tende a 0.

7.4

Norme di vettori e di matrici

Sia x = (xi )1in Rn un vettore colonna avente n componenti reali. Se p `e un qualunque


numero reale 1, chiamiamo norma p di x lespressione
!1/p
n
X
|xi |p
.
(7.12)
kxkp =
i=1

Di particolare importanza sono la norma 1


kxk1 =

n
X
i=1

|xi |

(7.13)

e la norma 2, o norma euclidea,


kxk2 =

n
X
i=1

|xi |2

!1/2

(7.14)

che `e associata al prodotto scalare tra due vettori


xT y =

n
X

xi y i

i=1

attraverso la relazione kxk2 = xT x. Estendiamo la definizione di norma p anche al caso


p = , definendo la norma , o norma del massimo, come
kxk = max |xi | .
1in

(7.15)

Ciascuna delle espressioni finora introdotte, che indicheremo genericamente con kxk, `e una
norma, ossia soddisfa le seguenti propriet`a:
kxk 0 per ogni x Rn ,

kxk = 0 se e solo se x = 0 ,

kxk = ||kxk per ogni R e per ogni x Rn ,

kx + yk kxk + kyk per ogni x, y Rn .

Sia poi A = (aij )1i,jn Rnn una matrice quadrata di ordine n. Ad ogni norma di vettore
kxk `e associata una norma di matrice kAk, definita dallespressione
kAk =

kAxk
=
max
kAxk .
max
n
xRn kxk=1
xR x=
6 0 kxk

(7.16)

124

CAPITOLO 7. RICHIAMI E COMPLEMENTI

Dalla definizione, si ha subito che


per ogni x Rn ,

kAxk kAk kxk

(7.17)

ed anzi il numero kAk `e il pi`


u piccolo valore della costante C per cui si abbia kAxk Ckxk
n
per ogni x R . Inoltre, si pu`
o mostrare che se B Rnn `e unaltra matrice quadrata di ordine
n, si ha
kABk kAk kBk .
(7.18)

Unaltra immediata conseguenza della definizione `e che la matrice identit`a I ha sempre norma
unitaria,
kIk = 1 .
(7.19)
Diamo ora una rappresentazione pi`
u esplicita di alcune norme di matrici notevoli. Usando la
norma del massimo, si dimostra che
kAk = max

1in

n
X
j=1

|aij | ,

(7.20)

n
X

(7.21)

mentre per la norma 1 si ha


kAk1 = kAT k = max

1jn

i=1

|aij | ,

dove AT = (aji )1i,jn indica la matrice trasposta di A. Per quanto riguarda la norma euclidea,
si dimostra che
q
kAk2 = (AT A) ,
(7.22)

dove (B) indica il raggio spettrale di una matrice B, ossia il massimo modulo degli autovalori
di B:
(B) = max{ || : `e autovalore di B } .

Se A `e una matrice simmetrica (e dunque con autovalori tutti reali), la matrice AT A = A2


ha come autovalori i quadrati degli autovalori di A; infatti
Aw = w

A2 w = A(Aw) = A(w) = Aw = 2 w .

Pertanto, per una tale matrice, (AT A) = max{ 2 : `e autovalore di A } e dunque


kAk2 = max{ || : `e autovalore di A } .

(7.23)

Se A `e una matrice simmetrica e definita positiva, con autovalori soddisfacenti


0 < 1 2 n ,
posto min = 1 e max = n si ha quindi
kAk2 = max .

(7.24)

Ricordando che gli autovalori della matrice inversa A1 sono i reciproci degli autovalori di A,
in quanto
Aw = w

w = A1 Aw = A1 (w) = A1 w

: 1 i n} = 1
ed osservando che max{ 1
1 , si ha quindi
i
kA1 k2 =

min

A1 w = 1 w ,

(7.25)

7.4. NORME DI VETTORI E DI MATRICI

7.4.1

125

Il numero di condizionamento di una matrice

Sia A una matrice quadrata non singolare. Il numero


condp (A) = kAkp kA1 kp

(7.26)

dicesi numero di condizionamento di A (nella norma p). Si ha sempre


condp (A) 1 ;

(7.27)

infatti, grazie alle propriet`a (7.19) e (7.18), si ha


1 = kIkp = kAA1 kp kAkp kA1 kp .
Un modo per comprendere limportanza del concetto di numero di condizionamento di una
matrice `e il seguente. Sia b Rn un vettore non nullo (che rappresenta i dati di un certo
problema, o lingresso di un sistema fisico), e sia x Rn la soluzione del sistema lineare
Ax = b ,
(che rappresenta la soluzione del problema, o luscita del sistema fisico). Supponiamo di
a causa di vari fattori (errori di misura, errori
conoscere non b ma una sua approssimazione b,
definita da
di rappresentazione numerica, etc.); corrispondentemente, abbiamo una soluzione x
;
A
x=b
sia una approssimazione di x. Il numero di condizionamento
`e ragionevole pensare che x
permette di mettere in relazione lerrore relativo sui dati (in norma p),
p
kb bk
kbkp
con lerrore relativo sulla soluzione,
kp
kx x
.
kxkp

si ha innanzitutto per la (7.18)


= A1 b,
Infatti, scrivendo x = A1 b e x
p kA1 kp kb bk
p;
kp = kA1 (b b)k
kx x
inoltre,
kbkp = kAxkp kAkp kxkp ,
ossia

Ne segue che

1
1
kAkp
.
kxkp
kbkp
p
kp
kx x
kb bk
condp (A)
.
kxkp
kbkp

(7.28)

Dunque il numero di condizionamento controlla di quanto al massimo lerrore relativo sui dati
possa amplificarsi dando luogo allerrore relativo sulla soluzione (ricordiamo che il numero di

126

CAPITOLO 7. RICHIAMI E COMPLEMENTI

cond2 (H n )

1
2
3
4
5
6
7
8
9
10

1
19.2815
524.0568
1.5514e+04
4.7661e+05
1.4951e+07
4.7537e+08
1.5258e+10
4.9315e+11
1.6025e+13

Tabella 7.1: Numeri di condizionamento in norma euclidea delle matrici di Hilbert H n al variare
dellordine n

condizionamento di una matrice `e sempre maggiore o uguale a 1). Se la matrice `e bencondizionata, cio`e se il suo numero di condizionamento non si discosta troppo dallunit`a, ci aspettiamo
che lerrore relativo sulla soluzione sia al pi`
u dello stesso ordine di grandezza dellerrore relativo
sui dati. Viceversa, se la matrice `e malcondizionata, cio`e se il suo numero di condizionamento
`e maggiore di 1 per diversi ordini di grandezza, pu`
o accadere che un piccolo errore relativo sui
dati dia luogo a un grande errore relativo sulla soluzione, con effetti disastrosi sullaffidabilit`a del
` dunque molto importante, quando si ha a che fare con una matrice, avere una qualcalcolo. E
che informazione sullordine di grandezza del suo numero di condizionamento (in una qualche
norma).
Per una matrice simmetrica e definita positiva, ricordando le espressioni (7.24) e (7.25), il
numero di condizionamento nella norma euclidea si rappresenta come
cond2 (A) =

max
.
min

(7.29)

Dunque una matrice simmetrica e definita positiva `e malcondizionata quando i suoi autovalori
hanno ordini di grandezza molto diversi tra loro.
Un classico esempio di matrici (simmetriche e definite positive) molto malcondizionate `e
costituito dalla famiglia di matrici di Hilbert H n (n 1), i cui elementi sono dati da
hij =

1
,
i+j1

1 i, j n ,

(queste matrici sono definite dal comando hilb di MATLAB). Riportiamo nella Tabella 7.1 i
numeri di condizionamento cond2 (H n ) (stimati attraverso il comando cond di MATLAB) al
crescere di n. Come si vede, si ha una crescita esponenziale!
Le matrici generate dalla discretizzazione mediante differenze finite o elementi finiti di un
problema differenziale ai valori al bordo hanno anchesse numero di condizionamento che cresce
con lordine n (che `e legato ai parametri di discretizzazione, quali il passo spaziale h); per
fortuna, la crescita `e algebrica, e non esponenziale, in n.

7.5. LOCALIZZAZIONE DEGLI AUTOVALORI DI UNA MATRICE

7.5

127

Localizzazione degli autovalori di una matrice

Il seguente teorema, noto come teorema di Gerschgorin, fornisce criteri di facile verifica per
localizzare nel piano complesso gli autovalori di una matrice.
Data una matrice A quadrata reale di ordine n, introduciamo i cerchi di Gerschgorin
Ci = {z C : |z aii | ri =

n
X

j=1,j6=i

|aij | } ,

i = 1, 2, . . . , n .

(7.30)

Notiamo che il cerchio Ci ha centro sullasse reale nel punto di ascissa aii , e raggio uguale alla
somma dei moduli degli elementi che stanno nella riga i, al di fuori della diagonale.
Teorema 7.5.1 Sia A una matrice reale quadrata di ordine n e siano Ci , i = 1, 2, . . . , n i suoi
cerchi di Gerschgorin. Allora:
1. Ogni autovalore di A sta nellunione C =

Sn

i=1 Ci

dei cerchi di Gerschgorin.

S
e lunione di m cerchi di Gerschgorin ed `e disgiunta dallunione dei ri2. Se C = m
k=1 Cik `
manenti nm cerchi (diciamo che C `e una componente connesa di C), allora esattamente
m autovalori di A stanno in C .
3. Sia A irriducibile, cio`e non esista nessuna permutazione di righe e colonne di A che la
trasformi in una matrice diagonale a blocchi
B=

A11 O
O T A22

con A11 , A22 matrici quadrate di ordine < n. Se un autovalore si trova sul bordo di C,
allora appartiene a tutti i cerchi di Gerschgorin di A.
Poich`e gli autovalori della matrice trasposta AT coincidono con quelli della matrice A, possiamo applicare il teorema di Gerschgorin anche a tale matrice, nellintento di ottenere una
localizzazione pi`
u precisa degli autovalori; i centri dei cerchi rimangono invariati, mentre i raggi
sono le somme dei moduli degli elementi non diagonali di ciascuna colonna di A.
Se la matrice A `e simmetrica, i suoi autovalori sono reali. Pertanto `e sufficiente analizzare gli
bi , dati dallintersezione dei cerchi di Gerschgorin Ci con lasse reale.
intervalli di Gerschgorin C
Esempio 7.5.2 Sia A la matrice simmetrica irriducibile di ordine 6

A=

3
0
1
0 2
0
1
0 1
0
1
0
0
1
0
1
0
0

0
0 1
1
1
0

0
0
0
.
5
0
3

0
6 3
3 3 18

128

CAPITOLO 7. RICHIAMI E COMPLEMENTI

C6

C2

C3

C1

C5

C4

18

C1
C2
C3
Figura 7.1: I cerchi di Gerschgorin e le relative componenti connesse, per lEsempio 7.5.2
Gli intervalli di Gershgorin sono
b1 = {x R : |x 3| 2 } = [1, 5] ,
C
b2 = {x R : |x + 2| 2 } = [4, 0] ,
C
b3 = {x R : |x + 1| 1 } = [2, 0] ,
C
b4 = {x R : |x 5| 4 } = [1, 9] ,
C

b5 = {x R : |x 6| 4 } = [2, 10] ,
C
b6 = {x R : |x 18| 7 } = [11, 25] ,
C

mentre i corrispondenti cerchi sono rappresentati in Fig. 7.1. Le componenti connesse sono
b = C
b2 C
b3 = [4, 0],
C
1

b = C
b1 C
b4 C
b5 = [1, 10],
C
2

b = C
b6 = [11, 25] .
C
3

Applicando il teorema di Gershgorin, deduciamo che due autovalori di A si trovano nellintervallo


aperto (4, 0), tre nellintervallo aperto (1, 10) e uno nellintervallo aperto (11, 25). Gli autovalori
di A, calcolati con MATLAB, sono:
1
2
3
4
5
6

7.6

= 2.2590...
= 1.2393...
=
3.1028...
=
4.1440...
=
5.8899...
= 19.3616...

Metodi di avanzamento in tempo

Consideriamo il problema ai valori iniziali (detto anche problema di Cauchy)

u = F (u, t) ,
0<tT ,
u(0) = u0 ,

(7.31)

per un sistema di n equazioni differenziali del primo ordine in n incognite. Qui u : [0, T ] Rn
`e il vettore, dipendente dal tempo in modo differenziabile, che raccoglie le incognite, mentre

7.6. METODI DI AVANZAMENTO IN TEMPO

129

F : Rn [0, T ] Rn `e una funzione assegnata, che supponiamo continua nel complesso delle
variabili u e t, e lipschitziana nella variabile u uniformemente in t. Questultima ipotesi significa
che esiste una costante L > 0 tale che (rispetto a una qualunque norma in Rn )
kF (u, t) F (v, t)k L ku vk ,

u, v Rn , t [0, T ] .

(7.32)

Chiameremo costante di Lipschitz di F ogni costante L per cui valga la relazione precedente.
Un esempio notevole `e dato dal caso in cui F `e una funzione affine della prima variabile, ossia
quando
F (u, t) = Au + b(t) ,
(7.33)
con A matrice quadrata di ordine n. In tal caso, ricordando la (7.17), si ha
kF (u, t) F (v, t)k = kA(u v)k kAk ku vk ;
dunque, la norma di A associata alla norma scelta in Rn `e una (addirittura, la pi`
u piccola)
costante di Lipschitz per F .
Tornando al caso generale, ricordiamo che, sotto le ipotesi fatte su F , il problema (7.31)
ammette una e una sola soluzione per ogni scelta del dato iniziale u0 Rn .
Per approssimare numericamente una tale soluzione, la strategia pi
u popolare consiste nel
definire un metodo di avanzamento in tempo. Ci`
o significa che si selezionano (con vari criteri)
K > 0 istanti temporali tk , con 0 = t0 < t1 < < tk < tk+1 < < tK = T , per ciascuno dei
quali si costruisce ricorsivamente una approssimazione uk u(tk ) della soluzione; precisamente,
giunti allistante tk+1 , si definisce uk+1 a partire dalla conoscenza delle approssimazioni uj ,
j k, gi`a calcolate in uno o pi`
u passi precedenti.
La situazione concettualmente pi`
u semplice si ha quando si avanza con un passo temporale
costante t > 0 (in tal caso si pone K = T /t, assumendo che questo quoziente sia intero); gli
istanti temporali sono allora definiti da tk = kt, per k = 0, 1, . . . , K.
Alcuni tra i pi`
u semplici metodi di avanzamento in tempo sono i seguenti:
Metodo di Eulero esplicito (EE):
uk+1 = uk + tF (uk , tk ) ,

k0;

(7.34)

Metodo di Eulero implicito (EI):


uk+1 = uk + tF (uk+1 , tk+1 ) ,

k0;

(7.35)

k1;

(7.36)

Metodo del punto medio (PM):


uk+1 = uk1 + 2tF (uk , tk ) ,
Metodo dei trapezi (o di Crank-Nicolson) (CN):
uk+1 = uk + t

k
1
2 F (u , tk )

i
+ 12 F (uk+1 , tk+1 ) ,

k0.

(7.37)

130

CAPITOLO 7. RICHIAMI E COMPLEMENTI

I primi tre metodi possono essere dedotti da altrettante formule di derivazione numerica,
osservando che se u `e la soluzione di (7.31), si ha u (t) = F (u(t), t) per ogni t. Dunque, il
metodo di Eulero esplicito segue dalla relazione
u(tk+1 ) u(tk )
u (tk ) = F (u(tk ), tk )
t
(cio`e dalla formula del rapporto incrementale in avanti, si ricordi la (7.3)) sostituendo ai valori
esatti di u quelli approssimati e trascurando lerrore di derivazione numerica. Similmente, il
metodo di Eulero implicito segue dalla relazione
u(tk+1 ) u(tk )
u (tk+1 ) = F (u(tk+1 ), tk+1 )
t
(cio`e dalla formula del rapporto incrementale allindietro, si ricordi la (7.5)), mentre il metodo
del punto medio discende dalla relazione
u(tk+1 ) u(tk1 )
u (tk ) = F (u(tk ), tk )
2t
(cio`e dalla formula del rapporto incrementale centrato, si ricordi la (7.7)). Il metodo dei trapezi
discende invece da una formula di integrazione numerica applicata alla relazione
Z tk+1
Z tk+1

F (u(t), t) dt ,
u (t) dt =
u(tk+1 ) u(tk ) =
tk

tk

u (t)

ottenuta integrando lidentit`


a
= F (u(t), t) sullintervallo [tk , tk+1 ]. Lintegrale a destra
pu`
o essere approssimato mediante la formula dei trapezi
Z tk+1


F (u(t), t) dt t 12 F (u(tk ), tk ) + 12 F (u(tk+1 ), tk+1 ) ,
tk

da cui si giunge allo schema numerico procedendo come sopra. Anche gli altri metodi sopra
considerati possono essere facilmente dedotti da un approccio integrale di questo tipo.

Il metodo di Eulero esplicito `e un esempio di metodo esplicito e a un passo; un tale metodo


ha la forma generale
uk+1 = uk + t(uk , tk , t) ,
k0,
(7.38)
dove = (u, t, t) `e una funzione continua dei suoi argomenti. Per il metodo EE, si ha
semplicemente (u, t, t) = F (u, t). La nuova approssimazione uk+1 dipende soltando dallapprossimazione uk al passo precedente, ed `e data da una formula esplicita in funzione di
questa.
I metodi di Eulero implicito e dei trapezi sono invece esempi di metodi impliciti e a un passo,
ossia del tipo
uk+1 = uk + t(uk , uk+1 , tk , t) ,
k0,
(7.39)

(rispettivamente con (u, v, t, t) = F (v, t + t) e (u, v, t, t) = 21 F (u, t) + 12 F (v, t + t)),


in cui ancora uk+1 dipende solo da uk , ma in modo implicito (cio`e uk+1 compare tanto a primo
membro quanto a secondo membro). Si deve cio`e risolvere unequazione (lineare o nonlineare)
nellincognita uk+1 ad ogni passo temporale. Ad esempio, se la funzione F `e definita dalla
(7.33), il metodo di Eulero implicito (7.35) diventa
uk+1 = uk + t(Auk+1 + b(tk+1 )) ,

k0;

7.6. METODI DI AVANZAMENTO IN TEMPO

131

dunque, ad ogni passo temporale dobbiamo risolvere il sistema lineare


(I tA)uk+1 = uk + tb(tk+1 ) .
Infine, il metodo del punto medio `e un esempio di metodo esplicito e multipasso (per la precisio` dunque
ne, a due passi ): la soluzione dipende, attraverso una formula esplicita, da uk e uk1 . E
necessario, per innescare il calcolo ricorsivo, definire in altro modo la prima approssimazione
u1 u(t1 ), ad esempio con un passo del metodo EE.
Altri metodi pi`
u sofisticati saranno presentati nella Sez. 7.6.3.

7.6.1

Lerrore di discretizzazione e la convergenza

Nel seguito, ci limitiamo a considerare i metodi a un passo. Iniziamo studiando lerrore commesso
dopo il primo passo, partendo dal valore esatto u0 = u0 = u(0). Il metodo di Eulero esplicito
fornisce
u1 = u0 + tF (u0 , 0) = u(0) + tF (u(0), 0) = u(0) + tu (0) .
Daltro canto, se u `e derivabile due volte in t = 0, la formula di Taylor ci assicura che per
t 0
1
u(t1 ) = u(0) + tu (0) + t2 u (0) + o(t2 ) .
2
Per differenza si ottiene u(t1 ) u1 = 12 t2 u (0) + o(t2 ), ossia
ku(t1 ) u1 k = O(t2 )

per t 0 ;

dunque lerrore dopo il primo passo tende a 0 quadraticamente in t. Una relazione analoga
vale se u1 `e definito dal metodo di Eulero implicito. Se invece u1 `e definito dal metodo dei
trapezi, si ha
ku(t1 ) u1 k = O(t3 )
per t 0 ,
a condizione che u sia derivabile tre volte nellorigine.
Definizione 7.6.1 Un metodo a un passo, definito da una formula di tipo (7.38), si dice
consistente se la funzione soddisfa la condizione (u, t, 0) = F (u, t) per ogni u Rn
e t [0, T ]. Se il metodo `e definito da una formula di tipo (7.39), la condizione diventa
(u, u, t, 0) = F (u, t).
Un metodo consistente si dice di ordine p > 0 se, detta u1 la soluzione prodotta dal metodo
al primo istante t1 = t, si ha
ku(t1 ) u1 k = O(tp+1 )

per t 0 ,

per tutte le soluzioni u derivabili (p + 1)-volte in t = 0.


I tre metodi a un passo discussi sopra sono consistenti; i metodi di Eulero (espicito ed implicito)
sono del primo ordine (p = 1), mentre il metodo dei trapezi `e del secondo ordine (p = 2).
Esaminiamo ora quello che succede nei passi successivi. Ad ogni passo, si sovrappongono due
effetti (si veda la Figura 7.2):
propagazione dellerrore creato ai passi precedenti;

132

CAPITOLO 7. RICHIAMI E COMPLEMENTI

creazione di nuovo errore.


Il primo effetto non dipende dal metodo numerico, ma dalla struttura delle soluzioni del sistema
differenziale, e dunque in ultima analisi dalla funzione F ; il secondo effetto `e analogo a quello
studiato sopra. Pi
u precisamente, supponiamo di essere giunti al passo k e di aver calcolato uk .
`
E utile introdurre la funzione ausiliaria w, soluzione del problema

w = F (w, t) ,
t > tk ,
w(tk ) = uk ,

ossia la soluzione del sistema differenziale che passa per il punto (tk , uk ) nel piano (t, u). Allora
possiamo scrivere lerrore al passo k + 1 come
u(tk+1 ) uk+1 = u(tk+1 ) w(tk+1 )
=

ek+1
PR

+
+

w(tk+1 ) uk+1
ek+1
CR .

k
La quantit`a ek+1
P R rappresenta la propagazione dellerrore u(tk ) u , presente allistante tk ,
lungo le traiettorie del sistema differenziale fino allistante tk+1 . Si pu`
o dimostrare che si ha
Lt ku(t ) uk k, dove L `
k

e
e
la
costante
di
Lipschitz
di
F
.
Invece,
ek+1
kek+1
k
CR rappresenta il
PR
k+1
p+1
nuovo errore creato dallo schema al passo k + 1, dunque keCR k = O(t ). Tenendo conto
che il numero di passi K = T /t necessario per arrivare al tempo T `e proporzionale a t1 ,
appare plausibile che lerrore finale sia O(tp ). In effetti, si pu`
o dimostrare il seguente risultato.

Teorema 7.6.2 Sotto le ipotesi fatte su F , se il metodo numerico definito dalla (7.38) oppure
dalla (7.39) `e di ordine p e se u `e derivabile (p + 1)-volte in [0, T ], si ha

p+1
d u
k
p

max ku(tk ) u k CL,T t max p+1 (t)
,
1kK
t[0,T ] dt

dove CL,T indica una costante dipendente solo da L, T e dal metodo numerico.

Si noti la dipendenza dellerrore anche dalla derivata (p+1)-esima di u; in altri termini, la qualit`a
dellapprossimazione dipende anche da come la soluzione esatta varia nellintervallo temporale
considerato.
Il teorema non soltanto garantisce la convergenza (teorica) del metodo, ossia il fatto che
la soluzione discreta generata dal metodo numerico tende alla soluzione esatta per t 0,
ma indica anche quale comportamento dellerrore dobbiamo attenderci al diminuire del passo
temporale. Precisamente, se la soluzione `e sufficientemente regolare, ci aspettiamo che dividendo
t per 2 lerrore si riduca di un fattore 2p .
Questo comportamento viene in genere osservato in pratica per un certo intervallo di variabilit`a del passo temporale, che per`
o non arriva fino a 0. Infatti, poich`e le operazioni aritmetiche
vengono eseguite dallelaboratore con un numero finito di cifre decimali, la generazione e successiva propagazione degli errori di arrotondamento porta ad un significativo deterioramento della
qualit`a dellapprossimazione, allorquando t scende al di sotto di un livello critico (dipendente dalla precisione di macchina), ossia allorquando il numero di passi temporali necessario per
giungere al tempo finale T diventa eccessivamente elevato.
Bisogna inoltre osservare che la stima dellerrore data dal teorema non fornisce indicazioni
pratiche su come scegliere il passo temporale al fine di garantire che lerrore rimanga al di sotto di

7.6. METODI DI AVANZAMENTO IN TEMPO

133

u(t3 )

u(t2 )

u(t1 )

u3

u2

u1
u0

2t

3t

Figura 7.2: Propagazione del vecchio errore e creazione di nuovo errore nei primi tre passi del
metodo di Eulero esplicito
una soglia prefissata (tolleranza). Infatti, a secondo membro compare la soluzione esatta u, che `e
precisamente lincognita del problema. Le tecniche di scelta automatica del passo temporale (ed
eventualmente dellordine del metodo) per il controllo dellerrore globale utilizzano opportune
stime a posteriori dellerrore prodotto a ogni passo temporale, ottenibili a partire soltando dalla
soluzione discreta fornita dal metodo. Tipicamente, tali tecniche si basano sul confronto tra due
diverse approssimazioni della soluzione esatta allo stesso istante temporale, luna pi`
u precisa
dellaltra; esse vengono ottenute ad esempio avanzando con due passi temporali diversi, oppure
pi`
u efficientemente con due metodi di ordine diverso opportunamente accoppiati. Per ulteriori
dettagli, si rimanda ai testi pi`
u approfonditi di Calcolo Numerico.

7.6.2

La stabilit`
a asintotica

Un elemento importante che incide nella scelta del passo temporale `e la possibilit`a di garantire
soluzioni discrete uk limitate per tk +, ogniqualvolta le soluzioni del problema ai valori
iniziali (7.31) siano limitate per t +.
Una situazione di notevole rilevanza `e quella in cui il sistema differenziale `e lineare ed autonomo, ossia si ha F (u, t) = F (u) = Au + b con A matrice quadrata di ordine n e b Rn
indipendenti dal tempo, ed inoltre `e dissipativo, vale a dire A `e diagonalizzabile con autovalori
aventi tutti parte reale < 0. In tal caso, qualunque sia il dato iniziale u0 , la soluzione u(t) del
problema

u = Au + b ,
t>0,
(7.40)
u(0) = u0 ,

134

CAPITOLO 7. RICHIAMI E COMPLEMENTI

tende, per t +, verso lo stato stazionario u Rn , soluzione del sistema lineare


Au + b = 0 ;
dunque, in particolare, `e limitata per t +. Ricordiamo come si ottiene tale risultato.
Eseguendo il cambiamento di variabile dipendente v(t) = u(t) u e ponendo v 0 = u0 u ,
si vede immediatamente che v `e la soluzione del problema di Cauchy omogeneo

v = Av ,
t>0,
(7.41)
v(0) = v 0 .

Sia A = W W 1 la diagonalizzazione della matrice A, con = diag (1 , . . . , n ) matrice diagonale degli autovalori e W = (w1 , . . . , w n ) matrice degli autovettori (disposti per colonna). Sostituiamo tale espressione in (7.41) e moltiplichiamo a sinistra per W 1 . Posto z(t) = W 1 v(t)
e z 0 = W 1 v 0 , il problema (7.41) equivale a

z = z ,
t>0,
z(0) = z 0 ,

ossia agli n problemi scalari indipendenti nelle componenti zp , 1 p n, del vettore z

z = p zp ,
t>0,
p
zp (0) = z0p ,

(7.42)

le cui soluzioni sono zp (t) = ep t z0p . Poich`e per ipotesi Re p < 0, si ha |zp (t)| 0 per t +,
per ogni p. Conseguentemente, per t +, kz(t)k 0, dunque anche kv(t)k 0 e quindi,
come annunciato, u(t) u .

Ha dunque senso chiedersi se, e sotto quali condizioni sul passo temporale t che qui supporremo costante, un metodo numerico applicato al problema (7.40) generi una successione uk
convergente a u per k +. Possiamo ragionare equivalentemente sul problema (7.41); in
tal caso la successione v k generata dal metodo deve tendere a 0 per k +. Ancora una volta
ci limitiamo a considerare metodi a un passo.
Il metodo di Eulero esplicito, applicato al problema (7.41), diventa
v k+1 = vk + tAvk ,

k0;

passando alla variabile z = W 1 v e ragionando sulle singole componenti, ci`o equivale alle n
relazioni scalari, per 1 p n,
zpk+1 = zpk + tp zpk = (1 + tp )zpk ,

k0.

(7.43)

Si ha dunque la soluzione esplicita


zpk = (1 + tp )k z0p ,

k0.

(Si presti attenzione al diverso significato dellindice k in questa formula: zpk denota una quantit`
a
relativa al tempo tk , mentre (1 + tp )k indica, come duso, lelevamento alla potenza k-esima
del numero racchiuso in parentesi.) La condizione |zpk | 0 per k + equivale al fatto che
|1 + tp | < 1 .

7.6. METODI DI AVANZAMENTO IN TEMPO

135

REE

Figura 7.3: Regione di stabilit`


a asintotica nel piano complesso del metodo di Eulero esplicito
Se invece si ha |1 + tp | = 1, allora la soluzione rimane limitata per k +, pur non
convergendo a 0; si ha infatti |zpk | = |z0p | per ogni k 0. Infine, se |1 + tp | > 1, si ha
|zpk | + per k +.
Notiamo che, detto C un generico numero complesso, la disuguaglianza |1 + | 1
definisce, nel piano complesso, il cerchio chiuso di centro -1 e raggio 1. Tale regione viene
chiamata regione di stabilit`
a asintotica del metodo di Eulero esplicito, ed indicata con REE . La
sua parte interna verr`
a indicata con int (REE ).
Se dunque vogliamo che tutte le componenti di z k decadano a 0, dovremo scegliere t in
modo che sia verificata la condizione
tp int (REE ) per ogni p = 1, . . . , n ,

(7.44)

il che `e sempre possibile, grazie allipotesi Rep < 0 fatta sugli autovalori di A. Il metodo di Eulero esplicito `e dunque condizionatamente asintoticamente stabile, ossia `e necessario soddisfare
questa condizione su t, detta condizione di stabilit`
a asintotica, per ottenere il comportamento desiderato sulle soluzioni discrete. Talvolta questa condizione pu`
o risultare eccessivamente
restrittiva.
Nel caso notevole in cui la matrice A sia simmetrica, e dunque i suoi autovalori siano tutti
reali negativi, abbiamo tp int (REE ) se e solo se
2 < tp < 0 ;
la seconda disuguaglianza `e sempre verificata, mentre la prima equivale a
t <

2
.
|p |

Pertanto, la condizione di stabilit`


a asintotica (7.44) diventa
t <

2
.
maxp |p |

(7.45)

Se la matrice A ha autovalori con ordini di grandezza molto diversi tra loro (ossia se `e malcondizionata - nel linguaggio dei sistemi di equazioni differenziali si dice che il sistema `e stiff ),
saremo vincolati ad avanzare con un passo temporale dettato dallautovalore di modulo pi`
u

136

CAPITOLO 7. RICHIAMI E COMPLEMENTI

REI
0

Figura 7.4: Regione di stabilit`


a asintotica nel piano complesso del metodo di Eulero implicito
grande, anche se il comportamento della soluzione esatta non lo richiederebbe. Nel successivo
Esempio 7.6.3 illustriamo questo spiacevole fenomeno.
Consideriamo ora il metodo di Eulero implicito. In luogo della relazione ricorsiva (7.43),
abbiamo ora
k0,
(1 tp )zpk+1 = zpk ,
che genera la successione
zpk

1
1 tp

k

z0p ,

k0.

Essa tende a 0 per k + se e solo se la quantit`a in parentesi `e minore di 1 in modulo, il che


equivale alla condizione
|1 tp | > 1 .
La regione di stabilit`
a asintotica REI del metodo di Eulero implicito `e dunque definita come il
luogo dei numeri complessi tali che |1 | 1. Poich`e la parte reale di tp `e strettamente
negativa, abbiamo
tp int (REI ) per ogni p = 1, . . . , n e qualunque sia t > 0 .
Non vi sono dunque restrizioni nella scelta del passo temporale. Concludiamo che il metodo di
Eulero implicito `e incondizionatamente asintoticamente stabile.
Infine, se consideriamo il metodo dei trapezi, abbiamo la relazione ricorsiva
(1

t
t
p )zpk+1 = (1 +
p )zpk ,
2
2

k0,

la cui soluzione `e data da


zpk

1+
1

t
2 p
t
2 p

!k

z0p ,

k0.

7.6. METODI DI AVANZAMENTO IN TEMPO

137

RCN

Figura 7.5: Regione di stabilit`


a asintotica nel piano complesso del metodo dei trapezi
Essa tende a 0 per k tendente a + se e solo se si ha






t
t
1 +
p < 1
p .

2
2

Ora `e facile verificare che se `e un qualunque numero complesso, la disuguaglianza |1 + 2 |


a asintotica RCN del metodo dei
|1 2 | equivale a Re 0. Pertanto la regione di stabilit`
trapezi `e data dal semipiano alla sinistra dellasse immaginario; essa coincide proprio con la
regione in cui devono stare gli autovalori della matrice A affinch`e il sistema (7.41) abbia tutte
le sue soluzioni limitate per t +. Anche in questo caso si ha
tp int (RCN ) per ogni p = 1, . . . , n e qualunque sia t > 0 ;
quindi anche il metodo dei trapezi `e incondizionatamente asintoticamente stabile.

Segnaliamo infine che il metodo del punto medio applicato a un sistema differenziale dissipativo
`e incondizionatamente asintoticamente instabile, vale a dire per nessuna scelta di t > 0 risulta
` invece condizionatamente asintoticamente stabile (t|p | 1 per
asintoticamente stabile. E
ogni p) per sistemi conservativi (quelli per cui gli autovalori di A sono tutti immaginari puri).
Esempio 7.6.3 Mostriamo su un semplice sistema differenziale di due equazioni in due incognite la natura talvolta inaccettabile della condizione di stabilit`
a asintotica del metodo di Eulero
esplicito. Consideriamo il problema ai valori iniziali (7.41), con

1001
999
 
2
2
2

A=
e
v0 =
.
0
999
1001
2

Gli autovalori della matrice sono 1 = 1 e 2 = 1000, i corrispondenti autovettori sono


rispettivamente w1 = (1, 1)T e w2 = (1, 1)T . La soluzione esatta si scrive come

 


v1 (t)
1
1
z1 (t)
=
,
v2 (t)
1 1
z2 (t)

138

CAPITOLO 7. RICHIAMI E COMPLEMENTI

v1

v2
0
3/1000

Figura 7.6: Le componenti della soluzione del sistema stiff dellEsempio 7.6.3
con z1 (t) = et e z2 (t) = e1000t , ossia
(
v1 (t) = et + e1000t ,
v2 (t) = et e1000t .
Esiste quindi un transitorio iniziale molto piccolo, dellordine di 1/1000 di secondo, seguito da
una evoluzione pi`
u lenta, sulla scala dei secondi (si veda la Figura 7.6).
Orbene, se si avanza in tempo con il metodo di Eulero esplicito, dobbiamo rispettare la
condizione di stabilit`
a asintotica (7.45), vale a dire
t <

2
1
=
,
max(| 1|, | 1000|)
500

non soltanto nel transitorio, ma per tutta la simulazione, altrimenti il calcolo va rapidamente in
overflow.
Luso del metodo di Eulero implicito o dei trapezi permette invece di variare il passo, scegliendolo dellordine di 1/500 durante il transitorio ma poi aumentandolo via via che la soluzione va
verso lo stato stazionario.

7.6.3

Alcuni metodi di uso comune

Illustriamo infine due famiglie di metodi numerici comunemente usati.


Metodi di Runge-Kutta (RK) espliciti
Formano una famiglia di metodi a un passo, condizionatamente stabili e di ordine via via
crescente.

7.6. METODI DI AVANZAMENTO IN TEMPO

139

Il primo metodo della famiglia `e il metodo di Eulero esplicito (RK1). Un metodo del secondo
ordine (RK2) `e il metodo di Heun, che scriviamo come


uk+1 = uk + t 12 F 1 + 21 F 2 ,
k0,
(7.46)

ove gli addendi a secondo membro definiti ricorsivamente da


F 1 = F (uk , tk ) ,

F 2 = F (uk + tF 1 , tk + t) .
Un popolare metodo del terzo ordine (RK3) `e dato da


uk+1 = uk + t 29 F 1 + 13 F 2 + 94 F 3 ,

k0,

(7.47)

con

F 1 = F (uk , tk ) ,
F 2 = F (uk + 12 tF 1 , tk + 12 t) ,
F 3 = F (uk + 34 tF 2 , tk + 34 t) .
Infine, un metodo del quarto ordine (RK4) classico e di uso assai diffuso `e dato da


uk+1 = uk + t 16 F 1 + 31 F 2 + 31 F 3 + 13 F 4 ,
k0,

(7.48)

con

F 1 = F (uk , tk ) ,
F 2 = F (uk + 21 tF 1 , tk + 12 t) ,
F 3 = F (uk + 12 tF 2 , tk + 12 t) ,
F 4 = F (uk + tF 3 , tk + t) .

Tale metodo viene spesso (as esempio in MATLAB) associato ad un particolare metodo del
quinto ordine, dovuto a Fehlberg, che con una sola valutazione aggiuntiva della funzione F
permette di stimare il passo t = tk ad ogni istante tk , in modo da soddisfare una prescritta
tolleranza locale sullerrore. Il metodo risultante, con passo adattato e quindi variabile, viene
indicato con RK45.
Le regioni di stabilit`
a asintotica dei metodi RK1-RK4 visti sopra sono illustrati nella Figura
7.7.
Ricordiamo infine che esistono famiglie di metodi di tipo Runge-Kutta impliciti.
Metodi Backward Difference Formulae (BDF)
Formano una famiglia di metodi di tipo implicito, multipasso e di ordine crescente fino al sesto incluso. Le loro regioni di stabilit`
a asintotica contengono un angolo nel semipiano Re 0
con centro lorigine e a cavallo del semiasse reale negativo. Questi metodi sono dunque particolarmente indicati per il trattamento di sistemi differenziali stiff, in quanto essi risultano
incondizionatamente stabili se la matrice del sistema ha autovalori reali negativi.

140

CAPITOLO 7. RICHIAMI E COMPLEMENTI

2.374

1.732
RRK2

2.513

RRK3

1.732
2.374

2.937

RRK4

2.785

2.937
Figura 7.7: Regioni di stabilit`
a asintotica nel piano complesso di alcuni metodo di Runge-Kutta
espliciti: RK2 (in alto a sinistra), RK3 (in alto a destra), RK4 (in basso a sinistra); RK1-RK4
sovrapposte (in basso a destra)
Il primo metodo della famiglia `e il metodo di Eulero implicito; il metodo del secondo ordine `e
3 k+1
2u

2uk + 21 uk1 = tF (uk+1 , tk+1 ) ,

k1,

(7.49)

mentre quello del terzo ordine `e


11 k+1
6 u

3uk + 32 uk1 13 uk2 = tF (uk+1 , tk+1 ) ,

k2.

(7.50)

Potrebbero piacerti anche