You are on page 1of 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
2
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
semplicita 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 estremita dellintervallo. Applichiamo al filo una (piccola) densita
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 sara complanare con
la forza, dunque u2 = 0; inoltre, in prima approssimazione la componente u1 sara 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
x2
0

V0

0,x1
0,x1+x
L
x1

Figura 1.1: Derivazione del modello del filo elastico

3
4 CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

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



1 12 13
= 21 2 23 (1.1)
31 23 3

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
f dV + n d n d = 0 . (1.2)
V 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 Z Z x1 +x Z  Z x1 +x
f dV f dV = f (x, x2 , x3 ) dx2 dx3 dx = |S| f (x) dx ,
V V0 x1 S 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 ) = f (x1 , x2 , x3 ) dx2 dx3 .
|S| S
Procedendo in modo simile con gli integrali di superficie arriviamo alle equazioni approssimate
Z x1 +x
|S| f (x) dx + |S| n|x1 +x |S| n|x1 = 0 . (1.3)
x1

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 . (1.4)
x1

Prendiamo ora la componente di tale equazione lungo lasse x3 , ossia formiamone il prodotto
scalare con e3 , ottenendo
Z x1 +x
f3 (x) dx + 31|x1 +x 31|x1 = 0 . (1.5)
x1

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

d31
f3 (x1 ) + (x1 ) = 0 , x1 (0, L) , (1.6)
dx
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 5

x3

u(x)
x1
0 x L

Figura 1.2: Spostamento del filo elastico

dove > 0, > 0 sono i coefficienti di Lame del materiale elastico, e il tensore delle
deformazioni  
1 ui uj
= (ij )1i,j3 , ij = + , (1.8)
2 xj xi
tr() = 11 + 22 + 33 = u e la traccia del tensore delle deformazioni e I = (ij )1i,j3
e il tensore identita. Prendendo la componente 3, 1 dellequazione (1.7) e ricordando che u1 e
trascurabile rispetto a u3 , otteniamo lequazione costitutiva approssimata
u3
31 = . (1.9)
x1
Infine, per semplicita omettiamo i pedici alle quantita u3 , 31 e f3 introdotte finora. Il coefficiente
, detto modulo di taglio, puo 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 (1.11)
= in (0, L) ,

dx

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

ove lultima relazione esprime il fatto che il filo e fissato alle estremita 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
6 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].
E facile esprimere u in funzione di f mediante quadrature. Infatti, integrando la prima delle
(1.11) abbiamo Z x
(x) = C1 f (s) ds (1.13)
0
mentre integrando la seconda delle (1.11) otteniamo
Z x
(s)
u(x) = C2 + ds ; (1.14)
0 (s)

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)
condizione u(L) = 0, cioe ds = 0.
0 (s)
Tuttavia, il procedimento di soluzione analitica ora descritto puo non essere di agevole rea-
lizzazione 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
Sia N un qualunque intero 1; poniamo h = . Nellintervallo [0, L] introduciamo i nodi
N +1
equispaziati xj = hj, con j = 0, 1, . . . , N + 1. Abbiamo

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 imme-
diatamente 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
cio, 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 de-
rivazione 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 rias-
sunte 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
piu precisa di quella fornita da un rapporto incrementale in avanti o allindietro, sempre su
1.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE 7

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:
d j+1/2 j1/2 du uj+1 uj
(xj ) e (xj+1/2 ) . (1.16)
dx h dx h
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:
uj+1 uj
j+1/2 = j+1/2 , j = 0, . . . , N , (1.18)
h
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
 
1 uj+1 uj uj uj1
j+1/2 j1/2 = fj , j = 1, . . . , N , (1.19)
h h h
che possiamo ancora scrivere come
1 
2
j1/2 uj1 + (j1/2 + j+1/2 )uj j+1/2 uj+1 = fj , j = 1, . . . , N , (1.20)
h
Siamo quindi giunti a un sistema di N equazioni lineari nelle N incognite uj . Esso puo essere
scritto nella forma matriciale
Au = f , (1.21)
avendo definito i vettori colonna di RN

u1 f1
u2 f2


u = ... , f = ..
. , (1.22)

uN 1 fN 1
uN fN

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



con 1 j N ,
j1/2 + j+1/2


se k = j ,
1 j1/2 se k = j 1 , con 2 j N ,
ajk = 2 (1.23)
h j+1/2 se k = j + 1 , con 1 j N 1 ,


0 altrimenti .

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
8 CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

10

15

20

25

30

0 5 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 piu piccolo di N e una caso particolare di matrice sparsa, ossia di
matrice i cui elementi diversi da 0 sono pochi rispetto alla totalita 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 , j = 1, . . . , N , (1.24)
h2
ossia puo 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

2 se k = j ,

ajk = 2 1 se k = j 1 , (1.25)
h
0 altrimenti .

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 rela-
zioni 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.

Notazione E conveniente introdurre una notazione specifica per indicare le matrici tridiagonali
che hanno gli elementi uguali su ciascuna diagonale (salvo eventualmente quelli nella prima e/o
1.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE 9

lultima riga). Precisamente, indicheremo con



b c
a b c

a b c


tridiag [a b c] =


(1.26)

a b c

a b c
a b

una matrice tridiagonale avente i valori costanti a, b, c rispettivamente sulla prima sotto-
diagonale, 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) verra indicata con

A= tridiag [1 2 1] .
h2

1.2.1 Proprieta della matrice


Mostriamo innanzitutto che la matrice A e non singolare; cio equivale al fatto che tutti gli
autovalori di A sono diversi da 0. E naturale allora fare ricorso al teorema di Gerschgorin di
localizzazione degli autovalori (Teorema 7.5.1). Determiniamo gli intervalli di Gerschgorin di A
(la matrice e simmetrica). Si ha facilmente
   
1/2 + 3/2 3/2 1/2 1/2 + 23/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
h2 h2
= 0, 2
h2
,

j = 2, . . . , N 1 ,
   
N 1/2 + N +1/2 N 1/2 N +1/2 2N 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 puo essere autovalore della matrice. Concludiamo che
A e una matrice simmetrica e definita positiva.
10 CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

Uno studio piu 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)

puo essere visto come frutto della discretizzazione del problema differenziale agli autovalori
2
d w = w in (0, L) ,
dx2 (1.29)

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

Tale problema descrive lAnalisi modale di un filo elastico avente densita 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
s ! s !

w(x) = C1 sin x + C2 cos x ;

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

2 2  
p = p , wp (x) = C sin p x , p = 1, 2, . . . , (1.30)
L2 L

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

0 L

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)
1.3. STABILITA, CONSISTENZA, CONVERGENZA 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
wp = wp (xj ) j=1,...,N = C sin p j (1.31)
L j=1,...,N

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

(Awp )j = 2
wp (xj1 ) + 2wp (xj ) wp (xj+1 )
h       
h h h
= sin p (j 1) + 2 sin p j sin p (j + 1) .
h2 L L L

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


facilmente     
2 h h
(Aw p )j = 2 1 cos p sin p j = (h,p wp )j ,
h L L
avendo posto
     
2 h 2 p
h,p = 2 1 cos p = 2 1 cos , p = 1, . . . , N . (1.32)
h L h N +1

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 gia
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

h,N 4L2
cond2 (A) = 2 h2 ; (1.34)
h,1
dunque, la matrice diventa via via piu malcondizionata al diminuire del passo h di discretizza-
zione.
Anche quando il coefficiente elastico non e costante in [0, L], il comportamento degli au-

tovalori di A e analogo. Precisamente,
h i se (x) in [0, L], allora h,1 sara prossimo
2 2
a un valore nellintervallo L2 , L2 , mentre h,N sara prossimo a un valore nellintervallo
h i
4 4
h2 , h2 .

1.3 Stabilita, consistenza, convergenza


Lo scopo di questa sezione e lo studio delle proprieta 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 semplicita, 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) puo essere scritto equivalentemente come u = A1 f .
Prendendo la norma euclidea (vedi (7.14)) di ambo i membri e usando la proprieta (7.17),
otteniamo
kuk2 kA1 k2 kf k2 .
Ricordando la proprieta (7.25), abbiamo kA1 k2 = 1 h,1 ; poiche, come abbiamo visto sopra,
h,1 1 per h 0, sara h,1 c1 per una certa costante c, strettamente compresa tra 0 e 1,
indipendente da h. Concludiamo che

1
kuk2 kf k2 . (1.35)
c1

Una disuguaglianza di questo genere e un risultato di stabilita dello schema numerico. Questa
proprieta consiste nella possibita 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 proprieta, la soluzione discreta
potrebbe diventare arbitrariamente grande al tendere di h a 0, allontanandosi sempre piu 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
1 u1 X
kvk2,m = kvk2 = t |vi |2 .
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 piu 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 per ogni v RN . (1.36)



Dividendo ambo i membri della (1.35) per N , possiamo esprimere il risultato di stabilita
nella nuova norma, come
1
kuk2,m kf k2,m . (1.37)
c1

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

r = Aue f , (1.38)

detto vettore residuo o errore di troncamento, non sara nullo; tuttavia, se lo schema numerico
ha da essere una approssimazione del problema (1.12), e naturale attendersi che r tenda a 0 per
1.3. STABILITA, CONSISTENZA, CONVERGENZA 13

h 0. Le componenti di tale vettore sono date da


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

d2 u
(ricordiamo che u e la soluzione esatta di (1.12) e dunque si ha f (x) = (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]. Piu precisamente, usando la formula di Taylor con il resto di Lagrange, si puo dimostrare
che
u(xj h) 2u(xj ) + u(xj + h) d2 u 1 d4 u
2
2 (xj ) = h2 4 (xj ) , (1.39)
h dx 12 dx
dove xj e un opportuno punto nellintervallo (xj h, xj + h). Derivando due volte lequazione
differenziale soddisfatta da u otteniamo
d4 u d2 f
4
= 2 ,
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

1 2 d2 f
rj = h (xj ) , 1jN .
12 dx2

d2 f
Introduciamo il vettore colonna D 2 f RN le cui componenti sono le quantita (xj ); osser-
dx2
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
1 2 2
r= h D f,
12
da cui 2
1 2 1 2 d f
krk2,m = 2
h kD f k2,m h max 2 (x) . (1.40)
12 12 x[0,L] dx
Pertanto, possiamo concludere che

r0 per h 0 . (1.41)

Questa proprieta e detta consistenza del metodo numerico.

Infine, mostriamo come la stabilita e la consistenza del metodo numerico ne implichino la


proprieta 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 stabilita (1.37), otteniamo
1
kek2,m krk2,m ;
c1
applicando poi la relazione di consistenza (1.40), concludiamo che
1
kue uk2,m h2 kD 2 f k2,m . (1.43)
12c1
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 nu-
merico tende a 0 per h 0; inoltre, la convergenza e del secondo ordine, ossia quadratica in
h.
E possibile, con una diversa dimostrazione, ottenere una analoga stima dellerrore nella norma
del massimo, ossia 2
d f
max |u(xj ) uj | Ch2 max 2 (x) , (1.44)
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 densita di forza f sia una funzione
continua a tratti su [0, L] (e possibile considerare carichi piu 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 puo 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
di forma. E naturale che v sia una funzione continua (il filo elastico non si puo 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
d du
v dx = f v dx . (1.45)
0 dx dx 0
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
L
du dv du L
dx v = f v dx . (1.46)
0 dx dx dx 0 0

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


sono in realta 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 se 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
dx = f v dx per ogni v V .
0 dx dx 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 Vir-
tuali : 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
problema ed f (e conseguentemente la soluzione u) sono sufficientemente regolari. E infatti
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 piu 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 proprieta di linearita dellintegrale definito
e della derivata, se v1 e v2 sono due spostamenti ammissibili che soddisfano lequazione
Z L Z L
du dv
dx = f v dx ,
0 dx dx 0

anche ogni loro combinazione lineare v1 + v2 , con , R arbitrari, sara uno spostamento
ammissibile che automaticamente verifichera 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
avra dunque dimensione finita: gli spostamenti ammissibili di Vh , detti spostamenti discreti,
saranno determinati da un numero finito di parametri, detti gradi di liberta 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
dx = f vh dx per ogni vh Vh .
0 dx dx 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 generalita 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 piu semplice per gli spostamenti discreti consiste nel considerare quegli spostamenti
ammissibili che su ogni intervallo Ij siano polinomi di grado al piu 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

xj x x xj1
vh (x) = vj1 + 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 espri-
mere ogni spostamento discreto come combinazione lineare delle funzioni di base. Ricordiamo
ogni v RN puo 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
j (x) = xj+1 x se x Ij+1 , (1.51)

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 j (x)
vj

0 xj1 xj xj+1 L

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
N
X
vh (x) = v1 1 (x) + v2 2 (x) + + vN 1 N 1 (x) + vN 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
dx = f j dx per j = 1, . . . , N . (1.53)
0 dx dx 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
XN
delle (1.53): se vh = vj j , e sufficiente moltiplicare la j-esima equazione in (1.53) per vj e
j=1
sommare su j, ottenendo
N
X Z L X N Z L
duh dj
vj dx = vj f j dx ,
0 dx dx 0
j=1 j=1

ora usiamo la linearita dellintegrale definito e della derivata per scrivere tale relazione come

Z L N Z L N
duh d X X
vj j dx = f vj j dx ,
0 dx dx 0 j=1 j=1

che altro non e che la (1.48).


N
X
Rappresentiamo ora uh nella base di Lagrange, come uh = uk k . Sostituendo nella (1.53)
k=1
otteniamo !
Z L N
X Z L
d dj
uk k dx = f j dx per j = 1, . . . , N ;
0 dx dx 0
k=1

usando nuovamente la linearita della derivata e dellintegrale definito, giungiamo al sistema di


equazioni algebriche
N
X Z L Z L
dk dj
uk dx = f j dx per j = 1, . . . , N . (1.54)
0 dx dx 0
k=1

Ponendo Z Z
L L
dk dj
ajk = dx , fj = f j dx , (1.55)
0 dx dx 0
il sistema (1.54) si scrive come
N
X
ajk uk = fj 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 an-
glosassone); 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 proprieta di additivita dellintegrale rispetto al dominio di integrazione, si ha
N
X +1 Z
dk dj
ajk = dx ,
Im dx dx
m=1

ossia ogni elemento di matrice puo 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 nellinter-
vallo [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
aj,j1 = dx .
Ij dx dx

Su Ij , le funzioni di base sono lineari, quindi le loro derivate prime sono costanti; precisamente,
ricordando la (1.51), si ha
dj1 1 dj 1
= , = ;
dx hj dx hj
pertanto, Z
1 1
aj,j1 = 2 dx = ,
hj Ij 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 puo 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

1
aj,j1 = .
hj j1/2

Consideriamo infine lelemento diagonale ajj . Abbiamo


Z  2 Z  2
dj dj
ajj = dx + dx
Ij dx Ij+1 dx

con
dj 1 dj 1
= su Ij , = su Ij+1 .
dx hj dx hj+1
20 CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

j3 j

xj4 xj3 xj2 xj1 xj xj+1

j2 j

xj4 xj3 xj2 xj1 xj xj+1

j1 j

xj4 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
ajj = + .
h j j1/2 h j+1 j+1/2

Riassumendo, la matrice di rigidezza e tridiagonale simmetrica ed ha la seguente espressione:


j+1/2
j1/2

+ se k = j ,

hj hj+1



j1/2 se k = j 1 ,
ajk = hj (1.57)

j+1/2

se k = j + 1 ,

hj+1


0 altrimenti .

Calcolo del termine noto


Abbiamo Z Z
fj = f j dx + f j dx .
Ij Ij+1
1.5. PROPRIETA DELLA DISCRETIZZAZIONE 21

Per una densita 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
hj + hj+1
fj = f (xj ) . (1.58)
2
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
E interessante confrontare la struttura del sistema algebrico (1.21) ottenuto dalla discretizza-
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 ter-
mine 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. Cio 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 equispazia-
ta 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 Proprieta della discretizzazione


Applicando il teorema di Gerschgorin alla matrice (1.57), otteniamo i seguenti intervalli di
Gerschgorin:
 
1/2 1/2 3/2
C1 = , +2 ,
h1 h1 h2
 
j1/2 j+1/2
Cj = 0, 2 +2 , j = 2, . . . , N 1 ,
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 po-
sitivi, dunque la matrice e non-singolare e piu precisamente definita-positiva. Si puo 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 stabilita 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 puo essere la norma quadratica
Z L 1/2
2
kvk2 = v dx
0
22 CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

oppure la norma dellenergia


Z  2 !1/2
L
dv
kvkE = dx .
0 dx
2
Supponendo che u ammetta derivata seconda ddxu2 in [0, L] avente norma quadratica limitata, si
hanno le seguenti stime dellerrore:
2 2

2 d u
d u
ku uh k2 Ch 2 e ku uh kE Ch
dx2 , (1.61)
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 velocita di convergenza (quadratica o lineare) che
dipende dalla norma usata per misurare lerrore.
E anche possibile stimare il massimo errore tra u(x) e uh (x) in [0, L]. Infatti, se u ammette
derivata seconda limitata in [0, L], ponendo

kvk = max |v(x)| ,


x[0,L]

si ha
d2 u
ku uh k Ch2
dx2
. (1.62)

1.6 Altre condizioni al bordo


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 estremita del filo sono fissate sullasse delle x, nei punti di
coordinate (0, 0, 0) e (L, 0, 0). Piu in generale, scelti arbitrariamente due numeri reali g0 e gL ,
possiamo imporre le condizioni

u(0) = g0 , u(L) = gL ;

in tal caso, le estremita 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 di-
ce che si impone una condizione di Dirichlet; essa sara 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 du
(0) = 0 , oppure (L) = L .
dx dx
Una tale condizione viene della condizione di Neumann, rispettivamente omogenea o non omo-
genea a seconda che il valore assegnato sia o non sia uguale a 0. Dal punto di vista fisico, la
condizione du
dx (L) = 0 significa che lestremita destra del filo e libera di scorrere lungo la retta
di equazione x = L nel piano (x, y, 0) in cui giace il filo, e nessuno sforzo e applicato in tale
estremita. Notiamo che non sarebbe possibile assegnare una condizione di Neumann in entrambi
gli estremi dellintervallo, in quanto cio 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
 
d du
=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
2
( 1/2 + 3/2 )u 1 3/2 u2 = f1 + 2 1/2 g0 . (1.64)
h h
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 quantita uN +1 u(xN +1 ) = u(L); i vettori u e f avranno dunque dimensione
N + 1 anziche N , mentre la matrice A sara di ordine N + 1. E necessario aggiungere una nuova
equazione alle equazioni (1.20) che valgono nei nodi interni. Una prima possibilita consiste
nellimporre la condizione di Neumann in modo approssimato, sostituendo alla derivata prima
in x = L il rapporto incrementale allindietro, ossia
du uN +1 uN
(L) ;
dx h
la nuova equazione del sistema sara dunque
uN +1 uN
N +1 = L ,
h
con N +1 = (L). Tuttavia, lapprossimazione della derivata prima fornita dal rapporto incre-
mentale allindietro e accurata solo al primo ordine (si ricordi la (7.5)), mentre tutte le appros-
simazioni fatte nella Sez. 1.2 sono accurate al secondo ordine, come riflesso dal comportamento
dellerrore espresso nella (1.43) oppure nella (1.44).
E preferibile invece imporre leq. (1.20) anche nel nodo di bordo xN +1 , ottenendo
1 
2
N +1/2 uN + (N +1/2 + N +3/2 )uN +1 N +3/2 uN +2 = fN +1 ; (1.65)
h
cio fa intervenire una incognita aggiuntiva uN +2 corrispondente ad un nodo fittizio xN +2 = L+h
al di fuori dellintervallo [0, L]. Tale incognita, pero, viene immediatamente eliminata imponen-
do nel nodo xN +1 anche lapprossimazione della condizione di Neumann ottenuta mediante il
rapporto incrementale centrato (vedi la (7.7)), ossia
uN +2 uN
N +1 = 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
2
N +1/2 uN + N +1/2 uN +1 = fN +1 + L , (1.66)
h 2 h N +1

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


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

u1 f1 + h12 1/2 g0
u2 f2

.
u = ... , f = .. , (1.68)

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

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




j1/2 + j+1/2 se k = j N ,



N +1/2 se k = j = N + 1 ,
1
ajk = 2 j1/2 se k = j 1 , (1.69)
h

j+1/2 se k = j + 1 ,



0 altrimenti .

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= tridiag [1 2 1; 1 1] .
h2

1.6.2 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 L du du
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 (1.71)
du dv
dx = f v dx + L v(L) per ogni v V (0) .
0 dx dx 0

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 piu 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 (1.72)
duh dvh
dx = f vh dx + L vh (L) per ogni vh Vh (0) .
0 dx dx 0

Le nuove condizioni al bordo richiedono lintroduzione di due nuove funzioni di base di Lagran-
ge, 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
0 (x) = h1 (1.73)
0 altrimenti ,
26 CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

0 N +1

x0 = 0 x1 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 ,
N +1 (x) = hN +1 (1.74)
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
N
X +1
uh (x) = g0 0 (x) + uk k (x) , (1.75)
k=1

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


N
X +1
vh (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
dx = f j dx + L j (L) per j = 1, . . . , N + 1 . (1.77)
0 dx dx 0

Sostituendo lespressione (1.75) di uh , otteniamo


N
X +1 Z L Z L Z L
dk dj d0 dj
uk dx = f j dxg0 dx+L j (L) per j = 1, . . . , N +1 .
0 dx dx 0 0 dx dx
k=1
(1.78)
1.6. ALTRE CONDIZIONI AL BORDO 27

Gli elementi di matrice


Z L
dk dj
ajk = dx , 1 j, k N + 1 ,
0 dx dx
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 gia 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 = .
IN+1 dx hN +1 N +1/2

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 , (1.79)

hj

j+1/2



se k = j + 1 ,

hj+1

0 altrimenti .

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 (
d0 dj h11 1/2 se j = 1 ,
dx =
0 dx dx 0 altrimenti ,

a causa dellintersezione dei supporti di 0 e j , e


(
1 se j = N + 1 ,
j (L) = j (xN +1 ) =
0 altrimenti .
Z L
Le espressioni f j dx possono essere calcolate in modo approssimato mediante la formula
0
dei trapezi o del punto medio, come in (1.58) o (1.59); si noti pero che, sempre a causa del
supporto di N +1 , si ha

Z L Z f (xN +1 ) hN+1 (formula dei trapezi) ,
2
f N +1 dx = f N +1 dx
f (x h N+1
0 IN+1 N +1/2 ) 2 (formula del punto medio) .
Z L
In definitiva, indicando con fj lespressione f j dx oppure una sua approssimazione nume-
0
rica, il termine noto del sistema algebrico (1.76) e dato da f = (fj )1jN +1 con

1
f1 + h1 1/2 g0
se j = 1 ,
fj = fj se 2 j N , (1.80)


fN +1 + L se j = N + 1 .
28 CAPITOLO 1. IL MODELLO DEL FILO ELASTICO

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

AEF = hADF e 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 piu complesso. Precisamente, supponiamo
che sul filo agisca, oltre alla densita volumica di forza f , anche una (densita di) forza di richiamo
r, proporzionale allo spostamento u e diretta nel verso opposto:

r = u , (1.81)

con 0 coefficiente di proporzionalita. 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 puo 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
d

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

dx
du (1.82)
= in (0, L) ,

dx

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

ossia  
d du + u = f in (0, L) ,
dx dx (1.83)

u(0) = u(L) = 0 .
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
termini noti, dipendenti da f. E utile osservare che, essendo il primo membro della (1.83) somma
d
di due contributi, dx du
dx e u, anche la matrice A si scrivera come somma di due matrici,

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 
j1/2 u j1 + ( j1/2 + j+1/2 )u j j+1/2 uj+1 + j uj = fj , j = 1, . . . , N , (1.86)
h2
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 (1.88)
duh dvh
+ uh vh dx = f vh dx per ogni vh Vh ,
0 dx dx 0

la quale mediante introduzione della base di Lagrange da luogo alle equazioni


Z L  Z L
duh dj
+ uh j dx = f j dx per j = 1, . . . , N , (1.89)
0 dx dx 0

ossia
N
X Z L Z L  Z L
dk dj
uk dx + k j dx = f j dx per j = 1, . . . , N , (1.90)
0 dx dx 0 0
k=1

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
bjk = k j dx . (1.91)
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
bj,j1 = j1 j dx ;
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 cam-


biamento di variabile di integrazione x = xj1 + shj con 0 s 1, da cui dx = hj ds,
abbiamo
Z Z xj
1
j1 j dx = (xj x)(x xj1 ) dx
Ij h2j xj1
Z  
1 3 1 1 2 1 3 1 1
= h (1 s)s ds = hj s s = hj
h2j j 0 2 3 0 6

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

1

3 (j1/2 hj + j+1/2 hj+1 ) se k = j ,


1 se k = j 1 ,
6 j1/2 hj
bjk = (1.92)
1


6 j+1/2 hj+1 se k = j + 1 ,


0 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

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



0 altrimenti ,

ossia si ha 1 
2 1
B = h tridiag 6 3 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 densita 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)
densita 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
f dV + n d = 0 . (2.1)
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
f dx1 dx2 + n ds = 0 , (2.2)

dove
Z Z
1 1
f (x1 , x2 ) = f (x1 , x2 , x3 ) dx3 e (x1 , x2 ) = (x1 , x2 , x3 ) dx3
2 2

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

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

Applichiamo ora il Teorema della divergenza (7.1) in R2 al campo vettoriale bidimensio-


nale 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 dovra 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 com-
ponenti 3, 1 e 3, 2 di tale equazione e ricordando che u1 e u2 sono trascurabili rispetto a u3 ,
otteniamo lequazione costitutiva approssimata
u3 u3
31 = , 32 = , (2.4)
x1 x2
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 semplicita i pedici alle quantita 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 u
=f ,
x x y y

avendo posto per semplicita x = x1 e y = x2 .


2.2. DISCRETIZZAZIONE MEDIANTE DIFFERENZE FINITE 33

yN +1 = L

(x , ym )
ym (xN +1 , ym )

x0 = y 0 = 0 x 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 in , (2.9)

dove lespressione
2u 2u
u = + 2 (2.10)
x2 y
indica il Laplaciano della funzione u.

2.2 Discretizzazione mediante differenze finite


In questo paragrafo, supponiamo per semplicita che sia costante; consideriamo dunque lequa-
zione (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
spaziale h = (con N 1), uguale in ciascuna direzione. Consideriamo la griglia equispa-
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 brevita, 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

N
j+N
(, m + 1)

( 1, m) (, m) ( + 1, m) j 1 j j +1
O E

(, m 1)
jN
S

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

2u u(x1 , ym ) 2u(x , ym ) + u(x+1 , ym ) u1,m 2um + u+1,m


(x , ym ) (2.12)
x2 h2 h2
e

2u u(x , ym1 ) 2u(x , ym ) + u(x , ym+1 ) u,m1 2um + u,m+1


2
(x , ym ) 2
. (2.13)
y h h2

Pertanto, nei nodi interni imponiamo le seguenti equazioni:



(u,m1 u1,m + 4um u+1,m u,m+1 ) = fm , 1 , m N . (2.14)
h2
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 pero esattamente 5 incognite. Per chiarire
cio, 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; cio 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) con-
terranno 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 , (2.16)
h2
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 . (2.17)
h2
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. Cio 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 puo 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 . (2.20)
h2
Gli elementi della corrispondente riga (la j-esima) della matrice A sono dati da

4 se k = j ,

ajk = 2 1 se k = j 1 oppure k = j N , (2.21)
h
0 altrimenti .

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 5 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 (2.23)
h2
con j = , = 2, . . . , N 1, mentre le equazioni (2.17) si esprimono come

(ujN uj1 + 4uj uj+N ) = fj (2.24)
h2
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, cioe 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 ,
ajk = 2 (2.25)
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; cio 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 proprieta della matrice A. Applicando il teorema di Gerschgorin, otte-
niamo immediatamente che i suoi autovalori sono tutti contenuti nellintervallo (0, 8 h2
); pertanto,
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 proprieta di stabi-
lita, 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
max |u(x , ym ) u,m | Ch max 4 + 4 .
2
(2.27)
0,mN x x y
Cio mostra che lo schema ha convergenza quadratica.
E utile evidenziare la struttura tridiagonale a blocchi della matrice A. A tale scopo, raggrup-
piamo le incognite in blocchi di N elementi, corrispondenti ai nodi che stanno su una stessa riga
della griglia, cioe 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

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

Amn = C = h2 I se n = m 1 , (2.29)


O altrimenti ,

dove I e O indicano rispettivamente la matrice identita e la matrice nulla di ordine N . Cio


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

D C
C D C

A= C D C ,

C D C
C D

con D, C blocchi 5 5; per semplicita, abbiamo omesso i blocchi nulli.) Piu 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 ,

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


CuN 1 + DuN = f N ,

Il sistema lineare scritto in tale forma puo 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, cioe

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 cio 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
=, (2.33)
n
(con n normale esterna al bordo) assegnata su un lato del quadrato, ad esempio

u u
= = L sul lato vertcale x = L , (2.34)
n x
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 bidi-
mensionale della membrana elastica mediante elementi finiti si basa su una formulazione inte-
grale, 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 derivabilita, su cui torne-
remo piu avanti. La soluzione u del problema (2.8) e un elemento di V . Poiche 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
(u)v dx = f v dx . (2.35)

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 validita siano verificate)
al campo vettoriale g = wv, dove w = u e v e la funzione test scelta. Abbiamo
Z Z Z
(wv) dx = (wv) n ds = (w n) v ds ,

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


prodotto, si ha
   
w1 v w2 v
(wv) = (w1 v) + (w2 v) = v + w1 + v + w2
x y x x y y
   
w1 w2 v v
= + v + w1 + w2 = ( w) v + w v .
x y x y
Pertanto, Z Z Z
( w) v dx + w v dx = (w n) v ds ,

ossia Z Z Z
w v dx = ( w) v dx + (w n) v ds .

Ponendo w = u, otteniamo
Z Z Z
u
u v dx = (u) v dx + v ds , (2.36)
n
u
avendo indicato con = 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)

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

Si noti la perfetta analogia formale con la formulazione (1.47) del problema monodimensionale.
Non abbiamo finora specificato le condizioni di derivabilita 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. Cio 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

T2
T1 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, Z


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 .
E la presenza in V di questultimo tipo di funzioni che permette lapprossimazione del pro-
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 ammissibilita: lintersezione di due triangoli distinti puo 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 41

4 22 34 6 40 11 3
26 48 2 58 38
27
60
42 18 20 62 6 23
30 42 41 28
23 37
57 41 61 59 10
16 17 19 19
55 39 50 28 12 66
56 49 35
38 8 36 45
52 51 31
16 5 67
24 68 12
8 64 9 46 25 7
30 14 15
17 32
43 63 45 21 3
37 11
33 32 44
47 54
29 15 14 65
1 7
21 46 18 53 20
9 13
35 43
27 26 31 29
25 4 22 24
33 39
36 34 44 40
1 10 5 13 2

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


veda la Fig. 2.5 per un esempio). E possibile costruire griglie formate da quadrilateri oppure da
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 sara
dunque Nh = Nhi +Nhb . E utile supporre, al fine di una semplificazione logica della presentazione,
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 (cioe 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  
xj1 xl1 xj2 xl2
G= , (2.39)
xk1 xl1 xk2 xl2
si ha
(xj xl ) (xk xl ) = (det G) e3
e dunque la condizione di non degenerazione di T equivale alla non singolarita 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
area(T ) = |det G| . (2.40)
2

2.3.3 Funzioni di forma e test discrete


Definiamo ora le funzioni di approssimazione che useremo in ogni triangolo (gli elementi funzio-
nali 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 piu semplice, lunico che verra 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, introducia-
mo 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 liberta 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 , (2.44)
xl1 xl2 1 vl
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 liberta possono essere i valori di p nei 3 punti medi dei lati, xjk = 12 (xj + xk ),
xkl = 21 (xk + xl ), xlj = 12 (xl + xj ), oppure i 3 momenti di ordine 1 di p,
Z Z Z
p(x, y) dxdy , p(x, y) x dxdy , p(x, y) y dxdy .
T T T

La scelta dei gradi di liberta sullelemento incide sulla possibilita di imporre la continuita 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, cioe 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
y = xk2 + (x xk1 ) ,
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 .
Poiche 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 piu 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
sara ottenuta risolvendo il sistema lineare (2.44); il ragionamento precedente ci garantisce che
vh sara 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 liberta 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 liberta 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; cio 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 sara 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 liberta 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.

Basi di Lagrange Introduciamo ora delle basi in Vh e in Vh . E naturale considerare la


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 sara identicamente nulla su T . Pertanto, j e diversa da 0 in tutti e soli i
triangoli che hanno xj come vertice, cioe 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 perche 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 puo essere espressa come
Nh
X
vh (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 Nh
X
vj j (xk ) = vj jk = vk = vh (xk ) .
j=1 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
Nh i
X
vh (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 va-
riazionale (2.37). Per semplicita, 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)

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

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
uh j dx = f j dx , 1jN .

N
X
Rappresentando uh nella base di Lagrange come uh = uk k e usando la linearita della
k=1
derivazione e dellintegrazione, otteniamo
XN Z Z
uk k j dx = f j dx , 1jN .
k=1
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 , u = (uk ) RN , f = (fj ) RN ,

con Z Z
ajk = k j dx , fj = f j dx . (2.51)

Studiamo ora le proprieta 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 Proprieta 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 cio, usiamo innanzitutto il fatto che e
unione dei triangoli di T e scriviamo
XZ
ajk = k j dx .
T T T

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

ossia Z
X
ajk = k j dx . (2.52)
T T (j)T (k) T

Se k = j, abbiamo quindi
X Z
ajj = kj k2 dx ;
T T (j) T

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, cio 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
ajk = k j dx + k j dx , con T1 , T2 T (j) T (k) ,
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 piu pari al nu-
mero 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 (cioe 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 piu possibile vicini a triangoli equilateri; pertanto, langolo minimo
di ciascun triangolo non e piccolo. Il numero di lati uscenti da un vertice puo crescere al piu 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
e piccola, il corrispondente elemento stara vicino alla diagonale
principale. E possibile numerare
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 saraa banda, cioe 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 ). Piu
precisamente, tali tecniche evitano il piu possibile la generazione di elementi non nulli nei fattori
L o U, in corrispondenza degli elementi nulli di A. Cio 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 arbitra-
rieta 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
N N Z Z N
!
X X X
(Av)j = ajk vk = vk k j dx = vk k j dx ,
k=1 k=1 k=1

ancora per la linearita dellintegrazione e della derivazione. Quindi


N N Z N
!
X X X
v T Av = vj (Av)j = vj vk k j dx
j=1 j=1 k=1
!
Z N
X XN
= vk k vj j dx .
k=1 j=1
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
v Av = vh vh dx = kvh k2 dx 0 (2.53)

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 cioe kvh k 0 in , da cui vh 0 in per la proprieta della norma. Dunque,
vh e costante in (supposto connesso, cioe 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 k=1 vk k (x) = 0 per ogni x , ma poiche le funzioni k formano una base in Vh ,
necessariamente vk = 0 per 1 k N , cioe il vettore v e nullo.
Il risultato appena ottenuto assicura che il sistema lineare (2.50) ammette una e una solu-
zione. Qualora la dimensione del sistema lo consenta, esso puo 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 piu appropriato per ma-
trici simmetriche e definite positive. Qualora la dimensione del sistema ecceda una certa soglia,
diventa piu 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
R da un certo numero di triangoli di T . Lo stesso vale per
il termine noto: lelemento fj = f j dx puo essere scritto come
X Z
fj = f j dx . (2.54)
T T (j) T

In un codice a elementi finiti, la costruzione della matrice di rigidezza e del vettore dei termini
noti puo 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 realta, 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

interni (cioe se 1 j1 , j2 , j3 Nhi = N ), allora il triangolo da contributo agli elementi di matrice


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, perche 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).
E conveniente passare dalla numerazione globale j1 , j2 , j3 dei nodi alla numerazione locale che
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, cioe sono le funzioni della base di Lagrange locale su T . Nella numerazione locale, il
contributo
Z Z
j j dx si rappresenta come dx , 1 , 3 ,
T T

e similmente
Z Z
f j dx si rappresenta come f dx , 13.
T T

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

e il vettore dei termini noti dellelemento


Z
(T )
f = (f(T ) )13 3
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 Z


1
T = dx
area(T ) T
il valor medio di su T . Se e costante su T , allora T = , altrimenti T puo 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 piu variabili, osserviamo innanzitutto che se x e x0 sono punti del triangolo T ,
la variazione di tra x0 e x puo 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 ) , con 6= ,
0 = (x ) (x ) = (x x ) , con 6= , 6= .

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


    
x1 x1 x2 x2 ,x 1
= , (2.56)
x1 x1 x2 x2 ,y 0

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
x2 x2 x1 x1
,x = , ,y = . (2.57)
det G det G
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
x2 x2 x1 x1
,x = , ,y = ; (2.58)
2area(T ) 2area(T )

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


(3, 1, 2), si ha
x22 x32 x21 x31
1,x = , 1,y = ,
2area(T ) 2area(T )
x32 x12 x31 x11
2,x = , 2,y = ,
2area(T ) 2area(T )
x12 x22 x11 x1
3,x = , 3,y = .
2area(T ) 2area(T )
Una giustificazione di natura piu geometrica di tali formule viene data nellOsservazione 2.3.1.
52 CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

x
x

Figura 2.10: Linee di livello e vettore gradiente della funzione

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

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

X3 X 3 Z Z X3
(T )
a, = dx = dx (2.61)
=1 =1 T T =1
Z
= 0 dx = 0 . (2.62)
T

Tale proprieta 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 proprieta che la somma gli elementi di
ogni riga (o colonna) e nulla, relativamente pero 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 .

Osservazione 2.3.1 E possibile giungere alle (2.58) anche attraverso un ragionamento pura-
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 puntera 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), puo essere piu agevole sfruttare il fatto che esse sono costanti in T : e quindi
sufficiente individuare due segmenti, disposti rispettivamente in posizione orizzontale e verticale,
alle estremita 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
1
mentre passa dal valore 2 al valore 0 lungo in segmento verticale di estremi lorigine e x2 , dunque

1 0 12 1
= = ;
y h0 2h
1 1
 1 1

pertanto, 1 = 2h , 2h . Similmente, si ha 3 = 2h , 2h . Invece, la funzione 2 e
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
2 2 0

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 
g dx g(x1 ) + g(x2 ) + (x3 ) area(T ) , (2.63)
T 3

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 = 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 trian-
goli, la definizione precedente porta alla seguente espressione per la componente j-esima del
vettore f dei termini noti:
1 X 1
fj = f (xj ) area(T ) = f (xj ) area(supp j ) . (2.65)
3 3
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 puo essere stimata nel modo seguente. Sia
Z 1/2
kvk2 = v 2 dx

la norma quadratica,
Z 1/2
2
kvkE = kvk dx

la norma dellenergia e
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
X2
2u
kukH,2 =
xi xj < + .
i,j=1 2

Sotto questa ipotesi, per una triangolazione regolare, si ha che lerrore tende a zero quadratica-
mente 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 55

2.3.8 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)


u

= 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 ammis-
sibili, o funzioni di test, sara 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 puo essere scritto come
Z Z Z Z
u u u
v ds = v ds + v ds = 0 + v ds ,
n D 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)

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

Si noti come la condizione di Dirichlet sia presa in conto nella scelta delle funzioni di forma, men-
tre la condizione di Neumann sia inserita allinterno delle equazioni integrali. Si puo 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 semplicita
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, sara 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 liberta; indichiamo ancora con N il loro numero (con Nhi N < Nh ). Si
avra pertanto
Vh (0) = vett {j : 1 j N } ,
56 CAPITOLO 2. IL MODELLO DELLA MEMBRANA ELASTICA

mentre una funzione uh Vh (g) sara rappresentabile come


N
X Nh
X
uh (x) = uk k (x) + gk k (x) , (2.69)
k=1 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
(2.70)

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

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


uh : Z Z Z
uh j dx = f j dx + j ds , 1jN .
N
Sostituendo lespressione (2.69) per uh a primo membro e portando a secondo membro quanto
dipende dal dato g, abbiamo
N
X Z Z Nh
X
ajk uk = f j dx + j ds ajk gk , 1jN , (2.71)
k=1 N k=N +1
Z
avendo posto, come sempre, ajk = 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 puo essere scritto come Au = f , essendo f il vettore (dipendente dai
dati f , g e ), che raccoglie i secondi membri delle (2.71). Le proprieta 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) puo 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 va-
riazionale 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 = v ds = (u + ) v ds = u 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)

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

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
ajk = k j dx + k j ds .
N

Poiche 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 necessita 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
piu 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 elimina-
zione 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 simme-
trica e definita positiva, P puo essere scelta come la matrice identica I, mentre U puo 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 puo avere un costo proibitivo, sia
in termini di occupazione di memoria, poiche 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 itera-
tivi 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 piu semplice e quel-
lo 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.
E utile per il nostro studio introdurre il concetto di residuo dellequazione (3.1) relativo a un
vettore x, definito come
r(x) = b Ax . (3.2)
Notiamo che
x e soluzione di (3.1) r(x) = 0 .
Inoltre, per k ,
xk x 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

1 T
J : Rn R, J(x) = x Ax xT b . (3.3)
2
Esso gode della seguente proprieta:

J(x) = minn J(x) (3.4)


xR

e piu precisamente x e lunico punto di minimo di J. Infatti, osservando che b = Ax ed usando


la simmetria di A, si ha

1 T
J(x) = x Ax xT Ax
2
1 T 1 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 T 1 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

n
X n
X
1
Derivando lespressione J(x) = 2 ars xr xs br xr rispetto a xi , i = 1, . . . , n e tenendo
r,s=1 r=1
conto della simmetria della matrice, abbiamo
n n n
J 1X 1X X
(x) = ais xs + ari xr bi = ais xs bi
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 cio e coerente con la proprieta (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 , 1 i, j n ;
xi xj

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
1 1 1
J(x + x) = (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 . (3.8)
2 2
Lultima espressione rappresenta lo sviluppo di Taylor del funzionale J in x relativo allincre-
mento x. Lassenza di ulteriori termini dopo quello del secondo ordine mostra che J e un
funzionale quadratico (una parabola con la concavita 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 varieta di livello di J, ossia degli
insiemi {x Rn : 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 .

Poiche 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
n
X
zT Az = yT y = i yi2 , avendo posto y = WT z ,
i=1
62 CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

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

e dunque
n
X yi2
zT Az = c2  2 = 1 . (3.9)
i=1 c
i

Cio mostra he le varieta 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 varieta 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

3
2 1 0 1 2 3 4 5 6

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

XN Z Z N
X Z
T
v f= vj f j dx = f vj j dx = f vh dx .
j=1 j=1

Pertanto, si ha Z Z
1 2
J(v) = kvh k dx f vh dx = E(vh ) , (3.10)
2
ove si e introdotto, sullo spazio V degli spostamenti ammissibili, il funzionale
Z Z
1
E : V R, E(v) = kvk2 dx f v dx .
2

Esso rappresenta lenergia


R totale della configurazione v, data dalla somma dellenergia di de-
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 ) , (3.11)
vh Vh

esprime quindi la proprieta 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 puo 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: generalita


La struttura del funzionale J, ed in particolare la (3.4), suggerisce una strategia per approssimare
x: costruire una successione {xk } avente la proprieta 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 , (3.13)
pk
64 CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

rk
1 J(xk )
xk
k pk
0
xk+1
pk

0 1 2 3 4 5

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, cioe se xk 6= x, esiste almeno un vettore di discesa.
Ponendo rk = r(xk ) = J(xk ), la relazione precedente puo 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). Cio significa che la
funzione () = J(xk + pk ) assume il valore minimo in k . 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 concavita 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
k = k T . (3.15)
(p ) Apk
Geometricamente, il punto xk+1 = xk + k pk e il punto di tangenza della retta xk + pk con
una varieta di livello di J (si veda la Fig. 3.3). Ricordando che il gradiente in ogni punto e
ortogonale alla varieta 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 puo 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 sara sempre definito dalla (3.15). Passiamo a discutere la scelta del vettore
di discesa pk .
3.2. IL METODO DEL GRADIENTE 65

4
xk

3 k rk

2
xk+2 xk+1

rk+1 xk+3
1

rk+2
0

rk
1

1 0 1 2 3 4 5

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
(3.20)
(rk )T rk
k = k T k
(r ) z
xk+1 = xk + k rk
rk+1 = rk k zk

Si noti che ad ogni iterazione si esegue un solo prodotto matrice-vettore (per il calcolo di zk ).
Esso costituisce la parte piu costosa dellalgoritmo, richiedendo fino a mn operazioni (ricordia-
mo 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. Piu precisamente, introdotta la norma

kxkA = xT Ax , x Rn ,

associata alla matrice A (detta norma dellenergia), si puo dimostrare che


 k
k cond2 (A) 1
kx xkA kx0 xkA , k0, (3.21)
cond2 (A) + 1

max
dove cond2 (A) = 1 indica il numero di condizionamento di A nella norma euclidea. Si
min
noti che la quantita
cond2 (A) 1 2
=1 <1
cond2 (A) + 1 cond2 (A) + 1
e tanto piu vicina a 1 quanto cond2 (A) e grande; dunque, la convergenza della successione {xk }
e tanto piu lenta quanto la matrice A e malcondizionata. E facile stimare il numero massimo di
iterazioni necessarie a ridurre lerrore relativo, nella norma dellenergia, di una quantita > 0.
Infatti, tenuto conto della (3.21), imponiamo che
 k
kxk xkA cond2 (A) 1
<;
kx0 xkA cond2 (A) + 1

passando ai logaritmi, si ha
 
2
k log 1 < log ,
cond2 (A) + 1

da cui
log
k>  . (3.22)
log 1 cond22(A)+1

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
k >
2 | log | cond2 (A) . (3.23)

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
krk k kxk xk
< tol1 , < tol2 .
kr0 k kxk k
3.3. IL METODO DEL GRADIENTE CONIUGATO 67

3.3 Il metodo del gradiente coniugato


La scelta della direzione di J(xk ) come direzione di discesa puo 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
puo 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 puo 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
(pk )T Ark
k+1 = . (3.24)
(pk )T Apk
Si noti che, se n 3, in generale la direzione cos definita non ci permettera 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 puo 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).
E rimarchevole il fatto che, pur defininendo pk+1 attraverso la condizione che sia A-ortogonale
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 proprieta, si puo ottenere una espressione per k+1 equivalente alla (3.24) ma
computazionalmente preferibile, vale a dire

(rk+1 )T rk+1
k+1 = . (3.27)
(rk )T rk
68 CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

4
xk

2
rk+1 xk+1

1
pk+1 xk+2
pk
0

1 0 1 2 3 4 5

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 (3.28)
k =
(pk )T zk
xk+1 = xk + k pk
rk+1 = rk k zk
(rk+1 )T rk+1
k+1 =
(rk )T rk
pk+1 = rk+1 + k+1 pk
Si noti che ancora lalgoritmo richiede un solo prodotto matrice-vettore per iterazione.
Discutiamo ora la convergenza del metodo. Una prima, notevole proprieta 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, sara 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
piu 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 perche, 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 realta punto di minimo vincolato di J relativo a una varieta di dimensione
k; precisamente, si puo dimostrare che

J(xk ) = min J(x) .


xx0 +K(A,r0 ;k)

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 puo essere stimato nel modo seguente:
p !k
cond2 (A) 1
kxk xkA 2 p kx0 xkA , k0. (3.29)
cond2 (A) + 1

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

1 p
k >
2 | log | cond2 (A) . (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 de-
finita positiva se e solo se A e non singolare; pertanto, il sistema precedente puo 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). Ri-


cordiamo, 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 ite-
razioni compiute. In pratica, cio risulta proibitivo; esistono allora versioni computazionalmente
meno costose, quali ad esempio il Restarted GMRes method, in cui dopo aver effettuato un nu-
mero fissato di iterazioni di GMRes, si ricomincia dallultimo punto calcolato. Queste versioni,
pero, 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, cioe 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 perche il ruolo di h nella stima precedente
e svolto dal piu 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 proprieta: (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 puo essere effettuato
ad un costo confrontabile con quello del calcolo di y = Av. Una matrice avente queste proprieta
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
diagonali strettamente positivi, ma non piu sparsa a causa del fenomeno del fill-in. E possibile
pero costruire facilmente una matrice sparsa C ancora triangolare inferiore e ad elementi dia-
gonali strettamente positivi, con le seguenti proprieta: 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
ajk 6= 0 cjr ckr = ajk , j k .
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 puo essere facilmente risolto mediante
sostituzione, risolvendo in cascata il sistema Cw = v seguito da C T y = w.
Lidea ora esposta puo 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 puo 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
gradiente coniugato non puo essere applicato direttamente al sistema (3.32). E possibile invece
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 ,
ossia, ponendo x = C T x e b = C 1 b,
C 1 A(C 1 )T x = b .
La matrice C 1 A(C 1 )T e simmetrica e definita positiva, e soddisfa cond2 (C 1 A(C 1 )T ) =
cond2 (P1 A). E dunque possibile applicare il metodo del gradiente coniugato a tale sistema.
Lalgoritmo risultante puo 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
(yk )T rk (3.33)
k =
(pk )T zk
xk+1 = xk + k pk
rk+1 = rk k zk
Pyk+1 = rk+1
(yk+1 )T rk+1
k+1 =
(yk )T rk
pk+1 =y k+1 + k+1 pk
72 CAPITOLO 3. METODI ITERATIVI PER LA RISOLUZIONE DI SISTEMI LINEARI

Metodo Iter vs condizionamento Iter vs h o N

Gradiente O(cond2 (A)) O(h2 ) = O(N 2 )


p
Gradiente Coniugato O( cond2 (A)) O(h1 ) = O(N )
q
Gradiente Coniugato Precondizionato O( cond2 (P 1 A)) 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 del-
lequazione di Poisson in due dimensioni, e definita in (2.25). La piu 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

N 2 k
X X
cjr ckr = cjr ckr = ajk , 1 j N 2, k = j, j 1, j N ,
r=1 r=1

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, piu P efficiente, consiste nel determinare
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).
E possibile dimostrare che con ognuna di queste scelte si ha cond2 (P 1 A) = O(h1 ) = O(N ),
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
t, e notiamo che la quantita rappresenta laccelerazione della membrana nella direzione
t2
verticale. Sia poi = (x) la densita superficiale di massa della membrana, e f = f (x, t) la
densita 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 lunita 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) , (4.5)

73
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 fun-
zione 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 semplicita 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
velocita, rappresentata dalla funzione (x, 0) = v0 (x). Allora, nota la forzante f (x, t)
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
u=0 su , 0 < t T, (4.8)



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 gia stata introdotta
nel Paragrafo 1.7 (si vedano le (1.91)(1.93)), dando al coefficiente che qui rappresenta la densita
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

PN
funzioni di base, soddisfacenti le relazioni (2.45). Scrivendo wh = k=1 wk k e scegliendo
vh = j , si ha
Z XN Z
wh j dx = wk k j dx .
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
B = (bjk ) R , con bjk = k j dx . (4.9)

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
X Z
bjk = k j dx . (4.10)
T T (j)T (k) T

Identica e pure la modalita 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 )
b, = dx
T

gli elementi della matrice di massa B (T ) R33 dellelemento T T . Possiamo supporre che la
densita sia costante = T in T , altrimenti la approssimiamo con il suo valor medio su T
Z
1
T = dx ,
area(T ) T

oppure con il suo valore T = (xb ) nel baricentro del triangolo. In ogni caso, poniamo
Z
(T )
b, = T dx . (4.11)
T

Si ha allora
1 1 1
6 12 12

B (T ) = T area(T ) 1
12
1
6
1
12 . (4.12)
1 1 1
12 12 6
Per giustificare questo risultato, possiamo procedere in questo modo. Consideriamo dapprima
il triangolo di riferimento T di vertici x1 = (1, 0), x2 = (0, 1) e x3 = (0, 0). Indichiamo con
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
2 1 1
dx = , dx = , 1 6= 3 . (4.13)
T 12 T 24
76 CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

Applichiamo ora la trasformazione affine F : R2 R2 , F (x) = x, che trasforma ogni vertice


x nel corrispondente vertice x , 1 3, e dunque T in T . Lespressione di F e data da
      
x x11 x31 x12 x32 x x31
= + , (4.14)
y x21 x31 x22 x32 y x32
ossia
x = Gx + 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|dx = 2area(T )dx. Dunque
Z Z
dx = 2area(T ) dx , 1 , 3 ;
T 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, cioe 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)
e la risultante matrice B viene chiamata matrice di massa concentrata (lumped mass matrix ).
Gli elementi di tale matrice sono dunque dati da
!
XN Z XN

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

k=1
0 se j 6= j .
La concentrazione puo 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
Be (T ) = T area(T ) 1 I (4.16)
3
(T )
(dove I R33 indica la matrice identita). Notiamo che lelemento diagonale b e dato da

X3 Z Z 3
X Z
(T )
b = T dx = T dx = T dx
=1 T T =1 T

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 ) ,
T 3
coerentemente e (T ) da B (T ) e quello di calcolare
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
T 0 se 6= ,
4.2. ANALISI MODALE 77

che corrisponde nuovamente alla (4.16). Se invece T contiene nodi non portatori di incognita
(cioe 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
una incognita, Be (T ) sara data dalla matrice 2 2

e (T ) = T area(T ) 1 I ,
B
4
(T )
e
mentre se sono due i nodi a non portare unincongnita, B si ridurra allo scalare

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

Tali matrici concentrate locali intervengono nellassemblaggio della matrice concentrata globale.

Per comodita del lettore, concludiamo questo paragrafo riportando le matrici di massa globali
(esatte e concentrate) nel caso monodimensionale, supponendo che la densita 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, gia sappiamo che la matrice di
massa e una matrice N N avente la struttura (si veda la (1.94))
1 2 1

B = h tridiag 6 3 6 . (4.17)

La sua versione concentrata e data da


5 
e = h diag 5
B 6; 1 . . . 1; 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
1 1 1 2 1 1 1

B = h tridiag 3 6; 6 3 6; 6 3 . (4.19)

La sua versione concentrata e data da


1 
e = h diag 1
B 2; 1 . . . 1; 2 . (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 diffe-
renziale 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, gia considerata nella Sez. 2.2. Suppo-
niamo 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) ,
dx2 (4.22)

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

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

2 2  
p = p , wp (x) = C sin p x , p = 1, 2, . . . (4.23)
L2 L
2 2
Ora, ricordando lespressione = x2
+ y 2
delloperatore di Laplace, e facile verificare che le
coppie (pq , wpq ), con

pq = p + q e wpq (x, y) = wp (x)wq (y) , p, q = 1, 2, . . . (4.24)

sono autosoluzioni del problema (4.21), e si puo 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 va-
riabile 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 , 1 , m N . (4.25)
h2
In termini matriciali, cio 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 quantita h sono gli autovalori della
matrice A, mentre w sono i corrispondenti autovettori. Detti
     
2 h h
h,p = 2 1 cos p e wp = C sin p k , p = 1, . . . , N ,
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 e wpq = (wp ) (w q )m 1,mN
, p, q = 1, . . . , N (4.28)

(avendo per comodita usato la notazione a due indici, anziche 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

2 2 8 1
h,11 = 11 e h,N N . (4.29)
L2 h2

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

4L2 2
cond2 (A) h , (4.30)
2

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


Gli autovalori del problema (4.26) possono essere calcolati numericamente mediante listruzio-
ne 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)

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

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 (4.32)

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

80 CAPITOLO 4. MODELLI DINAMICI DI CORPI ELASTICI

Tale problema
P viene espresso in forma algebrica, rappresentando wh nella base di Lagrange come
wh = N k=1 wk k e scegliendo vh = j , j = 1, . . . , N , come funzioni test. Si ottiene

N
X Z N
X Z
wk k j dx = h wk k j dx , 1jN .
k=1 k=1

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 stret-
tamente positivo. Infatti, moltiplicando ambo i membri della (4.33) a sinistra per wT , possiamo
scrivere h come quoziente di Rayleigh

wT Aw
h = >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 .


Poiche 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 cio 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 piu efficienti per risolvere il problema (4.33), quali quella in-
vocata 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 corri-
spondenti 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 e 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 discre-
tizzato fornisce sempre una approssimazione per eccesso dellautovalore minimo del problema
esatto, e che lerrore tra le due quantita 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 pre-
sentato 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.

E conveniente introdurre la seguente notazione: se t e un qualunque istante temporale, indi-


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 cioe, per ogni t con 0 < t T ,


u(t) V e soddisfa
Z Z Z (4.38)
2u
2 v dx + u v dx = f v dx per ogni v V .
t

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 puo 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
v h dx + uh v h dx = f v h dx per ogni v h V h .
t2

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


N
X
uh (x, t) = 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

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

uh 2 uh
dunque in particolare t e t2
appartengono ancora a Vh , per ogni t. Per brevita, scriveremo
duk d2 uk
uk , oppure uk , in luogo di
dt ; similmente uk , oppure uk , indichera dt2 .
Per t = 0, le condizioni iniziali (4.39) suggeriscono di porre
N
X
uh (0) = uh,0 = u0k k con u0k = u0 (xk ) , (4.42)
k=1

e
X N
uh
(0) = vh,0 = v0k k con v0k = v0 (xk ) (4.43)
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 e 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
j dx + uh j dx = f j dx , 1jN . (4.45)
t2
4.3. PROBLEMI EVOLUTIVI 83

Osserviamo che
Z N
X Z N
X
2 uh
j dx = uk k j dx = bjk uk ,
t2
k=1 k=1

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

con ajk elementi della matrice di rigidezza A definita in (2.51). Infine, poniamo
Z
fj (t) = f (x, t)j (x) dx , 1jN . (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 puo essere scritto nella forma equivalente u = F (u, t) =
B 1 Au + B 1 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 ) =


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

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


concentrata B, lo schema precedente e esplicito. In ogni altro caso, lo schema e implicito, e ad
ogni passo uk+1 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 stabilita asintotica, il metodo e incondizionatamente stabile se
41 . Per < 41 , il metodo e soltanto condizionatamente stabile; la condizione di stabilita
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). Ab-
biamo gia 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 necessita di garantire laccuratezza in tempo della discretizzazione.
Segnaliamo infine una forma piu generale del metodo di Newmark, dipendente da due para-
metri:

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


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

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


per < (1 + )2 /4 la condizione di stabilita sopra riportata si modifica in
4
t2 h,max < . (4.53)
(1 + )2 4

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 proprieta 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 propa-
gazione 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 quantita fisica rispetto allo spessore della pia-
stra, 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 densita di massa per unita di superficie del corpo e c = c(x) il suo calore specifico,
di modo che c ne rappresenta la capacita termica per unita di superficie. Se e una
qualunque porzione di , di bordo sufficientemente regolare, la quantita
Z
c(x) (x) u(x, t) dx

rappresenta la quantita di calore contenuta in al tempo t. La piu semplice relazione di bilancio


che possiamo scrivere esprime il fatto che ad ogni tempo t la variazione temporale della quantita
di calore contenuta in e pari al flusso di calore entrante attraverso il bordo di ; in formula,
Z Z Z
d
c u dx = (n) ds = n ds , (5.1)
dt

dove indica appunto il flusso di calore e n, come sempre, la normale a orientata verso
lesterno.
Un modello un poco piu complicato contempla la possibilita 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
c u dx = n ds + q dx , (5.2)
dt

dove la funzione q = q(x, t) rappresenta lapporto distribuito di calore per unita 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 dx = dx + q dx .
t

85
86 CAPITOLO 5. MODELLI DI DIFFUSIONE

Poiche e arbitrario, necessariamante deve valere lequazione

u
c = + q (5.3)
t

in ogni x e per ogni tempo t.


Supponiamo ora che valga la legge di Fourier, che stabilisce una relazione di proporzionalita
tra il flusso di calore e il gradiente della temperatura:

= u , (5.4)

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

u
c (u) = q . (5.5)
t

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

u

c (u) = q in , 0<tT ,

t


u = g su D , 0 < t T ,
(5.6)

u

= su N 0<tT ,

n


u = u0 in , t=0.

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

u
= (u u) (5.7)
n

gia 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 87

5.1.1 La semidiscretizzazione in spazio mediante elementi finiti


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

u

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




u = u0 in , t = 0 .

Si noti che nel caso stazionario, cioe quando la temperatura u e indipendente dal tempo in quanto
il corpo e in equilibrio termico, si ha ut 0 e dunque u e soluzione del problema ai valori al
bordo (2.8), a cui nel Cap. 2 siano pervenuti considerando un fenomeno fisico completamente
diverso. (E questo un esempio della trasversalita 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 discre-
tizzare 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
v dx + u v dx = f v dx per ogni v V .
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 puo
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
vh dx + uh vh dx = f vh dx per ogni vh Vh .
t

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


Z Z Z
uh
j dx + uh j dx = f j dx , 1jN . (5.12)
t
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, cioe e diago-
nalizzabile con autovalori reali < 0. Infatti, e autovalore di A, con autovettore w, se e solo se
Aw = ()Bw, cioe se e solo se = h , soluzione del problema agli autovalori generalizzato
(4.33); gia 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 piu stiff quanto il passo di discretizzazio-
ne spaziale h e piccolo. E consigliabile pertanto usare un metodo di avanzamento in tempo
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


con matrice B. Tuttavia, se si approssima B con la matrice di massa concentrata B definita in
(4.16), che e diagonale, il costo per ottenere uk+1 e sostanzialmente quello di un metodo esplicito.
Come anticipato sopra, il vero handicap del metodo e dato dalla condizione di stabilita asintotica
2
t < C h2 (5.17)
max h
(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 dovra 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 fornira il valore iniziale della nuova
iterazione.
Il metodo dei trapezi (o di Crank-Nicolson) (7.37) fornisce, per il nostro problema, lo schema
t k+1 t k t
(B + 2 A)u = (B 2 A)u + 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 Crank-
Nicolson, 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


lineari e in tempo mediante un metodo di ordine p. Per 1 k K, definiamo la
elementi finiti P
funzione uh = N
k k k k
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
R 1/2
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)


1kK

e 1/2
1 X
ku(tk ) ukh k2E C1 h + C2 tp , (5.22)
K
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 in , 0<tT . (5.23)
t
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 densita, 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 , 1 , m N , 0<tT .
h2
(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 densita nei nodi, ossia

B = diag (1 , . . . , k , . . . , N 2 ) ;

notiamo che nel caso di densita 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 stabilita 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 ) , k0; (5.28)
Crank-Nicolson:
t k+1 t k t
(B + 2 A)u = (B 2 A)u + 2 ( f (tk ) + f (tk+1 ) ) , 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 velocita, 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 quantita 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 velocita del fluido e con u = u(x, t) la sua temperatura. Supponiamo che densita , calore
specifico c e conducibilita 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 , (5.30)
Dt t
che rappresenta la derivata della temperatura di una particella di fluido seguita nel suo moto.
Per motivare cio, 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 velocita 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) .
Dt dt t=t0

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


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

E opportuno dividere per c , ponendo


q
= (coefficiente di diffusione termica) , f= ;
c c
si ottiene cos lequazione di convezione-diffusione
u
+ a u u = f in , 0<tT . (5.32)
t
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 puo
dipendere dal tempo, tale suddivisione di puo anchessa variare nel tempo.
E ragionevole supporre di conoscere la temperatura del fluido che entra in , ossia imporre
la condizione di Dirichlet
u=g su in , 0 < t T .
5.2. IL MODELLO DI CONVEZIONE-DIFFUSIONE TERMICA
replacemen 93

car n
a

n a n a

in out

car a
n

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 su out , 0<tT ,
n
si suppone che ivi il flusso di calore uscente

u
n = (a n) c u
n
valga n = (a n) c u, cioe sia tutto di natura convettiva. Infine, su car si puo 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 di-
spersa in un fluido; ad esempio, u puo 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 velocita a non dipende da u).

Il numero di Peclet
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

AL
Pe = 0,
2

dove A = max kak e il massimo modulo della velocita, 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, cioe a = 0 identicamente, si
94 CAPITOLO 5. MODELLI DI DIFFUSIONE

ha soltanto diffusione, cioe si ritrova lequazione del calore). Se invece Pe >> 1, e la convezione
a prevalere; il caso limite Pe = +, cioe = 0, corrisponde alla sola equazione di convezione
u
+ a u = f , (5.33)
t
che sara oggetto di studio nel Capitolo 6.
E importante tenere presente che da un punto di vista matematico lequazione di convezione-
diffusione e sempre di natura parabolica, per ogni valore di Pe [0, +); cio implica, in parti-
colare, 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
cio non avviene, si hanno strati limiti o strati interni termici, ossia repentine variazioni della
temperatura. Ad esempio, uno strato limite puo 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
Ah
Peh = ,
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
piu 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 lequazio-
ne del calore possono essere utilizzati con buoni risultati anche per lequazione di convezione-
diffusione. 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 cioe
u+1,m u1,m u,m+1 u,m1
(a u)(xm ) a1 (xm ) + 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

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

+ 2 (u,m1 u1,m + 4um u+1,m u,m+1 ) (5.35)
h
= fm , 1 , m N , 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
vh dx + (a uh ) vh dx + uh vh dx = f vh dx per ogni vh Vh .
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
C = (cjk ) , con cjk = (a k ) j dx , (5.38)

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).
E opportuno esaminare la struttura della matrice C (T ) relativa a un elemento T T , che
raccoglie il contributo di tale elemento alla matrice globale C. Usando le stesse notazioni della
Sezione 2.3.6, abbiamo
  Z
(T ) (T ) 33 (T )
C = c R , con c = (a ) dx .
1,3 T

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 )
c = (aT ) dx = aT dx ,
T T
R
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 ) 1
c = |T | aT , 1 , 3 . (5.39)
3
Dunque, la matrice C (T ) ha le tre righe uguali tra loro; inoltre, la somma degli elementi su
ciascuna riga e nullo, essendo

X 3 3
X
(T ) 1
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 u 2u

+a 2 = f in (0, L) , 0 < t T ,
t x x
u(0, t) = u(L, t) =0 0<tT (5.40)




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
Z L
dk
C = (cjk ) , con cjk = a j dx , (5.41)
0 dx
e una matrice tridiagonale di ordine N . Calcoliamone gli elementi non nulli, dopo aver approssi-
mato 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  
dj1 1 1 hj aj1/2
cj,j1 = aj1/2 j dx = aj1/2 j dx = aj1/2 = .
Ij dx hj Ij hj 2 2

Gli elementi diagonali sono dati da


Z Z
dj dj
cjj = aj1/2 j dx + aj+1/2 j dx
Ij dx Ij+1 dx
   
1 hj 1 hj+1 aj1/2 aj+1/2
= aj1/2 + aj+1/2 = .
hj 2 hj+1 2 2 2

Infine, gli elementi della prima sopradiagonale sono dati da:


Z  Z  
dj+1 1 1 hj+1 aj+1/2
cj,j+1 = aj+1/2 j dx = aj+1/2 j dx = aj+1/2 = .
Ij+1 dx hj+1 Ij+1 hj+1 2 2

Riassumendo, la matrice di convezione C e tridiagonale ed ha la seguente espressione:


a aj+1/2
j1/2

se k = j ,

2 2

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

aj+1/2

se k = j + 1 ,

2

0 altrimenti .

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


a
C= tridiag [1 0 1]
2
ed e antisimmetrica, ossia soddisfa C T = C.
5.2. IL MODELLO DI CONVEZIONE-DIFFUSIONE TERMICA 97

1 1

0 1 0 1

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 piu sottile

Caso della convezione dominante (Peh > 1)


Per mettere in luce le difficolta 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 (5.43)

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

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

a du = 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 cioe uno strato limite, ben evidenziato nella Figura
5.2 (la soluzione esatta e indicata con il tratto piu 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 , 1 j N 1 , (5.44)
2h h
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 instabilita 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 possibilita consiste nel ridurre h, ossia raffinare la griglia,
in modo da portare il corrispondente numero di Peclet di griglia a valori 1. Se pero |a|/
e cos grande da richiedere un valore di h proibitivamente piccolo (soprattutto in problemi bi-
e 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
du uj+1 uj1
a (xj ) a ,
dx 2h
si fa uso del rapporto incrementale allindietro
du uj uj1
a (xj ) a se a > 0 ,
dx h
e del rapporto incrementale in avanti
du uj+1 uj
a (xj ) a se a < 0 .
dx h
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 gia impiegata per la figura di sinistra.
E possibile dimostrare (si veda la (6.38)) che lo schema ora considerato e equivalente ad uno
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 |a|h
Peh = = <1.
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 + (um u1,m ) + (u,m+1 um ) (5.45)
h h

+ 2 (u,m1 u1,m + 4um u+1,m u,m+1 ) (5.46)
h
= fm , 1 , m N , 0<tT . (5.47)

Anche il metodo degli elementi finiti viene modificato, in modo da tener conto nella for-
mulazione integrale della presenza di un termine convettivo dominante. Uno degli schemi piu
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 , (6.1)
t
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
F1 (u) Fd (u)
F(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
u d
0 = + F(u) dx = u dx + F(u) dx
V t dt V V
Z Z
d
= u dx + F(u) n d , (6.2)
dt V V
dove n indica il versore normale a V, orientato verso lesterno di V. Lultimo integrale rap-
presenta 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 Z Z t Z

u(x, t ) dx = u(x, t ) dx F(u) n d dt . (6.3)
V V t V
R
Cio mostra che se il flusso di u attraverso V e nullo, la quantita 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 in , 0 < t T . (6.4)
t

99
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 ] puo 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 puo 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 piu 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 velocita
costante di modulo |a|; precisamente, la propagazione avviene verso destra se a > 0, verso
sinistra se a < 0. Per comprendere cio, 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 caratte-
ristiche, o semplicemente le caratteristiche dellequazione (6.8). Sovente, esse si rappresen-
tano nel piano (x, t) anziche 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 dx u 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 = t0 + a1 (x x0 )

t0 + t

t0

x0 x0 + at x

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, cioe si e mosso con velocita 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 S
1 1

0.8 0.8

0.6 u(x, t0 ) 0.6 u(x, t0 +t)


0.4 0.4

0.2 0.2

x x
0 0

x0 x0 +at
0.2 0.2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

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


102 CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

(x, t)

x at x

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 (6.11)
u(x, 0) = u0 (x) , x R .

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 larbitrarieta 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
dellintervallo allistante t(0) = t xa 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, x (0, L), t > 0 ,
t x
u(0, t) = g(t) , t0, (6.14)

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


6.1. ESEMPI 103

(x, t)

x
t a

0 L x

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) = (6.15)
g(t xa ) se x at .

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,
derivando il flusso F (u) = 21 u2 rispetto a x lequazione puo essere equivalentemente scritta
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 velocita euleriana del fluido, vale a dire la velocita della particella che
allistante t occupa la posizione x. Sia u = u(x, t) uno scalare associato al fluido, quale ad
esempio la sua densita 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 densita di massa, lequazione (6.1) descrive la conservazione della
massa; la densita di massa e dunque funzione della velocita del fluido. Daltro canto,
104 CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

per i fluidi comprimibili, la velocita e a sua volta legata alla densita attraverso una o piu
equazioni aggiuntive. Si ottiene quindi complessivamente un sistema di equazioni, dette
equazioni di Eulero nel caso in cui si trascurino gli effetti di viscosita, 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 velocita del fluido non sia in-
fluenzata 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
velocita e solenoidale, cioe 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 , (6.19)
t

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 gia visto nel caso monodimensionale,
 
d dx u u
u(x(t), t) = u(x(t), t) (t) + (x(t), t) = + a u (x(t), t) = 0 ,
dt dt t 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 105

6.2.1 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+1 ) dx = u(x, tn ) dx
xj1/2 xj1/2
Z tn+1 Z tn+1 
F (u(xj+1/2 , t)) dt F (u(xj1/2 , t)) dt .
tn tn

Introduciamo le medie di cella della soluzione esatta


Z xj+1/2
n 1
Uj = u(x, tn ) dx
x xj1/2

e le medie temporali dei flussi attraverso le interfacce tra le celle


Z tn+1
n 1
Fj+1/2 = F (u(xj+1/2 , t)) dt .
t tn

La relazione precedente diventa

x Ujn+1 = x Ujn (t Fj+1/2


n n
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 piu 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, cioe proprio
laddove sono richieste dalla relazione (6.21) le medie temporali dei flussi. E dunque necessario
n
approssimare le quantita Fj+1/2 mediante flussi numerici fj+1/2 n , 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 piu 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
x un+1
j = x unj (t fj+1/2
n n
t fj1/2 ); (6.23)
106 CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

introducendo la costante
t
= >0, (6.24)
x
lo schema ai volumi finiti si scrive come

un+1
j = unj (fj+1/2
n n
fj1/2 ). (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 stabilita nella scelta del passo temporale t in funzione di quello spaziale x; cio
verra discusso piu 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


a
fE (u, v) = (u + v) (6.26)
2
e lo schema risultante e
1
un+1
j = unj a(unj+1 unj1 ) . (6.27)
2
Esso puo essere scritto in forma equivalente come

un+1
j unj unj+1 unj1
+a =0, (6.28)
t 2x
e dunque corrisponde ad una discretizzazione alle differenze finite dellequazione di propa-
gazione (6.8) nel punto (xj , tn ), in cui la derivata temporale e approssimata con un rap-
porto 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

a 1
fLF (u, v) = (u + v) + (u v) (6.29)
2 2
e lo schema risultante e
1 1
un+1
j = (unj+1 + unj1 ) a(unj+1 unj1 ) . (6.30)
2 2
Esso puo essere scritto in forma equivalente come

un+1
j unj unj+1 unj1 1 unj+1 2unj + unj1
+a x =0. (6.31)
t 2x 2 x2
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, (6.32)
t x 2 x2
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 spa-
ziali 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| au se a > 0 ,
fU (u, v) = (u + v) + (u v) = (6.33)
2 2 av se a < 0 .

e lo schema risultante e
1 1
un+1
j = unj a(unj+1 unj1 ) + |a|(unj+1 2unj + unj1 ) (6.34)
( 2 2
n n n
uj a(uj uj1 ) se a > 0 ,
= (6.35)
unj a(unj+1 unj ) se a < 0 .

Esso puo essere scritto in forma equivalente come

un+1
j unj unj unj1
+a =0 se a > 0 , (6.36)
t x
oppure
un+1
j unj unj+1 unj
+a =0 se a < 0 . (6.37)
t x
Lo schema upwind corrisponde dunque ad una discretizzazione alle differenze finite delle-
quazione di propagazione (6.8) nel punto (xj , tn ), in cui la derivata temporale e approssi-
mata 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
j unj unj+1 unj1 |a| unj+1 2unj + unj1
+a x =0 (6.38)
t 2x 2 x2
(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 proporzionalita e ora
dipendente dalla velocita 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


a 1
fLW (u, v) = (u + v) + a2 (u v) (6.39)
2 2
e lo schema risultante e
1 1
un+1
j = unj a(unj+1 unj1 ) + (a)2 (unj+1 2unj + unj1 ) . (6.40)
2 2
Esso puo essere scritto in forma equivalente come

un+1
j unj unj+1 unj1 n n n
a2 uj+1 2uj + uj1
+a x =0. (6.41)
t 2x 2 x2
Il metodo corrisponde quindi ad una discretizzazione alle differenze finite, nel punto
(xj , tn ), dellequazione modificata

u u a2 2 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 velocita 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 qualita del metodo
di Eulero, la diffusione numerica dei metodi di Lax-Friendrichs e Upwind (piu accentuata nel
primo), e la dispersione numerica del metodo di Lax-Wendroff.

6.3 Stabilita, consistenza e convergenza


Vogliamo determinare condizioni sul flusso numerico f (u, v) e sui passi di discretizzazione x e
t che garantiscano la possibilita di ben approssimare la soluzione esatta del problema (6.11)
attraverso la conoscenza delle medie di cella generate dallo schema numerico corrisponden-
te. In questa analisi, i concetti di stabilita, di consistenza e di convergenza hanno un ruolo
fondamentale.

6.3.1 Stabilita
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 | . (6.43)


xR jZ
6.3. STABILITA, CONSISTENZA E CONVERGENZA 109

1.4 1.4

1.2 Eulero 1.2 Lax-Friedrichs


1 Cour = x/a 1 Cour = .8
0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0

0.2 0.2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1.4 1.4

1.2 Upwind 1.2 Lax-Wendroff


1 Cour = .8 1 Cour = .8
0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0

0.2 0.2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

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
Z 1/2 X
kunx,t k2,R = |unx,t(x)|2 dx = x |unj |2 , (6.44)
R jZ

oppure la norma del valore assoluto


Z X
kunx,t k1,R = |unx,t (x)| dx = x |unj | . (6.45)
R jZ

Scegliamo una di queste norme, che indicheremo semplicemente con k kR . Supponiamo che
il dato iniziale u0 abbia norma ku0 kR finita; se le quantita u0j sono le medie di cella esatte di
u0 , si puo 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
N passi con N = t , per t molto piccoli la norma potrebbe assumere valori arbitrariamente
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 stabilita (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


stabilita 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 puo dipendere da T ma e indipendente da x e
t, tale che
kunx,t kR CT ku0 kR , per ogni n N .

Una definizione piu restrittiva di stabilita e la seguente:


Definizione 6.3.2 Uno schema numerico di tipo (6.25) si dice fortemente stabile nella
norma k kR se
kun+1 n
x,t kR kux,t kR , per ogni n 0 .
Ovviamente, uno schema fortemente stabile e stabile, con costante CT = 1.
Introduciamo ora una importante quantita nello studio della stabilita, vale a dire il numero
di Courant
t
Cour = |a| = |a| , (6.46)
x
e chiamiamo condizione CFL (Courant, Friedrichs e Lewy) la condizione
x
Cour 1 , vale a dire t . (6.47)
|a|
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). Cio e coerente con lo schema
numerico, che, come sappiamo, definisce la media di cella numerica un+1 j in funzione delle medie
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 stabilita 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 stabilita 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
Cour
t = x ; (6.48)
|a|
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
Uj = n
(6.49)
Uj+1 se a < 0 .
6.3. STABILITA, CONSISTENZA E CONVERGENZA 111

tn+1

tn
Vj1 Vj Vj+1

tn+1

tn
Vj1 Vj Vj+1

tn+1

tn
Vj1 Vj Vj+1

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 Lax-
Wendroff vengono tutti a coincidere se Cour = 1; cio 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
(
n+1 unj1 se a > 0 ,
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 puo dimostrare che esso
e stabile nella norma quadratica con costante CT = eT /2 , a condizione che t (x/a)2 .

Il caso della velocita 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 possibilita di riprodurre le
medie di cella esatte.

6.3.2 Consistenza
Una misura della qualita di uno schema numerico e fornita dal seguente criterio. Le medie di
cella della soluzione esatta, Z xj+1/2
n 1
Uj = u(x, tn ) dx ,
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
Fj+1/2 = f (Ujn , Uj+1
n
),

in generale lo schema numerico (6.23) non sara soddisfatto dalle quantita Ujn , Fj+1/2
n , ossia
lespressione
x Ujn+1 x Ujn + (t Fj+1/2
n n
t Fj1/2 )
non sara in generale nulla. Dividendo per x t, introduciamo quindi le quantita
n n
Ujn+1 Ujn Fj+1/2 Fj1/2
jn = jn (x, t) = + , (6.51)
t x
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 solu-
zione regolare u e per ogni j ed n si ha

jn (x, t) 0 , per x, t 0 .

E notevole il fatto che la condizione di consistenza appena enunciata equivalga a una semplice
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)


E immediato vedere che tutti gli schemi numerici considerati sopra soddisfano tale condizione e
dunque sono consistenti.
I metodi consistenti possono essere classificati in base alla velocita 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 so-
luzione 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 ).
6.3. STABILITA, CONSISTENZA E CONVERGENZA 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


x2
E (x, t) c1 x + c2 t + c3 ,
t
Legando t a x attraverso la relazione (6.48), si ottiene
 
c3 |a|
LF (x, t) c1 + x + c2 t ,
Cour

dunque il metodo e di ordine (1, 1). Si noti che scegliendo t via via piu piccolo rispetto
a x (cioe scegliendo numeri di Courant via via piu 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 , per x, t 0 ,


0nN

dove N e tale che N t = T .


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, Lax-
Wendroff 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 , per x, t 0 ,


0nN

dove le costanti C1 e C2 dipendono da T e da opportune derivate della soluzione u.

6.4 Cenno alle proprieta 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 puo essere sviluppata
in serie di Fourier. Usando per comodita la forma complessa, scriviamo quindi
X
u0 (x) = U0,k eikx , (6.53)
kZ

dove i coefficienti di Fourier U0,k di u0 sono definiti da


Z 2
1
U0,k = u0 (x) eikx dx .
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 2-
periodica. Infatti, ricordando la (6.13), abbiamo
X X X
u(x, t) = u0 (x at) = U0,k eik(xat) = U0,k eikat eikx = Uk (t)eikx . (6.54)
kZ kZ kZ

Lultima uguaglianza mostra che i coefficienti di Fourier della soluzione al tempo t,


Z 2
1
Uk (t) = u(x, t) eikx dx , (6.55)
2 0
6.4. CENNO ALLE PROPRIETA DI DIFFUSIONE E DISPERSIONE NUMERICA 115

sono dati da
Uk (t) = U0,k eikat . (6.56)
Inoltre, le prime due uguaglianze della (6.54) possono essere scritte come
X
u(x, t) = U0,k k (x at) , (6.57)
kZ

e cio mostra che nella soluzione esatta le ampiezze delle armoniche elementari sono invarianti
nel tempo, mentre tutte le armoniche si muovono con la stessa velocita a.

Osservazione 6.4.1 Prima di passare alla discretizzazione numerica, e utile per cio 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
k
ak = , ossia k = kak ,
k
e dunque
zk = |zk |eikak .
Pertanto, possiamo scrivere

zk k (x) = |zk |eikak eikx = |zk |eik(xak ) = |zk |k (x ak ) . (6.58)

Cio 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 velocita 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 periodicitaa 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; cio segue
ricorsivamente dal fatto che ogni schema numerico sopra considerato e della forma

un+1
j = cm unj1 + c0 unj + cp unj+1 , (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
2N 1
X n ikxj
unk = uj e , N k < N , (6.60)
N
j=0
116 CAPITOLO 6. MODELLI DI TRASPORTO E LEGGI DI CONSERVAZIONE

Tabella 6.1: Coefficienti in (6.59) di alcuni schemi numerici

Schema cm c0 cp

1 1
Lax-Friedrichs 2 (1 + a) 0 2 (1 a)
Upwind (a > 0) a 1 a 0
1 1
Lax-Wendroff 2 a(a + 1) 1 (a)2 2 a(a 1)

(che generalizzano quelli continui dati dalla (6.55)), e possibile che dimostrare che vale la formula
di rappresentazione
N
X 1
n
uj = unk eikxj per ogni j Z ; (6.61)
k=N
N
X 1
infatti, il polinomio trigonometrico pN (x) = unk 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

N
X 1 N
X 1 N
X 1
unj1 = unk eikxj1 = unk eik(xj x) = unk eikx eikxj , (6.62)
k=N k=N k=N

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
N
X 1   N
X 1
un+1
j = unk cm eikx + c0 + cp eikx eikxj = unk k eikxj , (6.63)
k=N 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 un+1


k = unk k , ossia ad ogni passo ciascun coef-
ficiente di Fourier discreto delle medie di cella viene moltiplicato per il fattore di amplificicazione
di pari indice. Da cio segue che
N
X 1
unj = u0,k (k )n eikxj , (6.65)
k=N

ossia
unk = u0,k (k )n ,
avendo indicato con u0,k = u0k 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 quantita
6.4. CENNO ALLE PROPRIETA DI DIFFUSIONE E DISPERSIONE NUMERICA 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
k = |k |eik = |k |eikak t avendo posto ak = = ,
kt kx
abbiamo (k )n = |k |n eikak tn . Pertanto,

unk = u0,k |k |n eikak tn ,

che e lanaloga discreta della (6.56). Inoltre, ricordando la (6.58), si ha la rappresentazione delle
medie di cella
N
X 1
n
uj = u0,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 piu fedele alla dinamica
esatta quanto piu |k | 1 e ak a. Si puo dimostrare che la stabilita 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 piu velocemente quanto e alta la frequenza
dellarmonica. Cio 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 quantita ak sono diverse tra loro, allora lo schema numerico avanzera le singole armo-
niche con velocita diverse, mentre abbiamo sopra notato che la dinamica esatta avanza tutte
le armoniche con la stessa velocita a. Compariranno, in particolare in corrispondenza di una
discontinuita 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 piu 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 velocita numeriche e velocita esatta per i metodi di Lax-
Friedrichs, 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

|k | ak /a

C B A

A B
C
1

k
N N/2 0 N/2 N k
N N/2 0 N/2 N

|k | ak /a

C
A
B
B 1 C
A

k
N N/2 0 N/2 N k
N N/2 0 N/2 N

|k | ak /a

B C
A 1
B
k A
N N/2 0 N/2 N k
N N/2 0 N/2 N

Figura 6.7: Modulo |k | dei fattori di amplificazione (colonna di sinistra) e rapporto ak /a tra
velocita numeriche e velocita 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 secon-


do ordine
La piu generale equazione a derivate parziali lineare del secondo ordine in due variabili indipen-
denti x1 e x2 si scrive come

2u 2u 2u u u
a 2 + b + c 2 +p +q + su = f ,
x1 x1 x2 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 classifi-
cazione e molto importante, perche il tipo determina varie proprieta qualitative della soluzione,
oltreche 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 avra due autovalori reali 1
e 2 , non entrambi nulli. Allora vale una e una sola delle seguenti possibilita:

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, pero, 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
2u 2u
u = + =f ,
x21 x21
per la quale si ha A = I, matrice identita.
Lesempio tipico di equazione parabolica e lequazione del calore in una sbarra,
u 2 u
2 =f
t x
 
1 0
(ove si e posto x = x1 e t = x2 ), per la quale si ha A = .
0 0
Lesempio tipico di equazione iperbolica e lequazione delle onde in un filo elastico,
2u 2u
2 =f ,
t2 x
 
1 0
per la quale si ha A = .
0 1
Passiamo ora a considerare una equazione del secondo ordine in tre variabili indipendenti x1 ,
x2 e x3 ,
2u 2u 2u 2u 2u 2u u u u
a + b + c + d + e + g +p +q +r + su = f ;
x21 x1 x2 x22 x1 x3 x2 x3 x23 x1 x2 x3
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 sara 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 sara 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 dira 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 piu limitata.
7.2. IL TEOREMA DELLA DIVERGENZA 121

7.2 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 dx = g n dx , (7.1)
A A

dove
d
X gi
g = (7.2)
xi
i=1
indica la divergenza del campo vettoriale g.

7.3 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) . (7.3)
x 2
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 (7.4)
x 2
e proporzionale a x, per x tendente a 0 (a meno che v (x) non sia nulla, nel qual caso lerrore
tende a zero piu velocemente); notiamo che lerrore dipende, oltreche dallincremento x, dalla
quantita 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
v(x) v(x x) 1
= v (x) v (x)x + o(x) . (7.5)
x 2
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 piu precisa puo 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 1
v(x + x) = v(x) + v (x)x + v (x)x2 + v (x)x3 + o(x3 ) ,
2 6 (7.6)
1 1
v(x x) = v(x) v (x)x + v (x)x2 v (x)x3 + o(x3 ) ;
2 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
v(x + x) v(x x) 1
= v (x) + v (x)x2 + o(x2 ) . (7.7)
2x 3
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 suc-
cessivi a v (x) a secondo membro, tende a 0 almeno come x2 quando x tende a 0. Equiva-
lentemente, 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 deri-
vata 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 deri-
vazione 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 ) . (7.8)
3
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
v(x + 2x) + 4v(x + x) 3v(x) 1
= v (x) v (x)x2 + o(x2 ) , (7.9)
2x 3
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, anziche sottrarre
come fatto sopra, i due sviluppi di Taylor in (7.6); tuttavia, per valutare lerrore commesso, e
necessario utilizzare sviluppi al quarto ordine anziche al terzo. Scriviamo dunque
1 1 1 (4)
v(x + x) = v(x) + v (x)x + v (x)x2 + v (x)x3 + v (x)x4 + o(x4 ) ,
2 6 24 (7.10)
1 1 1 (4)
v(x x) = v(x) v (x)x + v (x)x2 v (x)x3 + v (x)x4 + o(x4 ) ;
2 6 24
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 ) . (7.11)
x2 12
Il primo membro prende il nome di rapporto incrementale secondo centrato e fornisce una ap-
prossimazione 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
n
!1/p
X
kxkp = |xi |p . (7.12)
i=1

Di particolare importanza sono la norma 1


n
X
kxk1 = |xi | (7.13)
i=1

e la norma 2, o norma euclidea,


n
!1/2
X
kxk2 = |xi |2 , (7.14)
i=1

che e associata al prodotto scalare tra due vettori


n
X
xT y = 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 | . (7.15)


1in

Ciascuna delle espressioni finora introdotte, che indicheremo genericamente con kxk, e una
norma, ossia soddisfa le seguenti proprieta:

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
kAxk
kAk = max = max kAxk . (7.16)
xR x=
n 6 0 kxk xRn kxk=1
124 CAPITOLO 7. RICHIAMI E COMPLEMENTI

Dalla definizione, si ha subito che


kAxk kAk kxk per ogni x Rn , (7.17)
ed anzi il numero kAk e il piu piccolo valore della costante C per cui si abbia kAxk Ckxk
per ogni x Rn . Inoltre, si puo 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 identita I ha sempre norma
unitaria,
kIk = 1 . (7.19)
Diamo ora una rappresentazione piu esplicita di alcune norme di matrici notevoli. Usando la
norma del massimo, si dimostra che
n
X
kAk = max |aij | , (7.20)
1in
j=1

mentre per la norma 1 si ha


n
X
kAk1 = kAT k = max |aij | , (7.21)
1jn
i=1

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 A1 w = 1 w ,
ed osservando che max{ 1
i : 1 i n} = 1
1 , si ha quindi
1
kA1 k2 = . (7.25)
min
7.4. NORME DI VETTORI E DI MATRICI 125

7.4.1 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 proprieta (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
conoscere non b ma una sua approssimazione b, a causa di vari fattori (errori di misura, errori
di rappresentazione numerica, etc.); corrispondentemente, abbiamo una soluzione x definita da

Ax = b ;

e ragionevole pensare che x sia una approssimazione di x. Il numero di condizionamento


permette di mettere in relazione lerrore relativo sui dati (in norma p),

kb bkp
kbkp

con lerrore relativo sulla soluzione,


kx xkp
.
kxkp
Infatti, scrivendo x = A1 b e x = A1 b, si ha innanzitutto per la (7.18)

kx xkp = kA1 (b b)kp kA1 kp kb bkp ;

inoltre,
kbkp = kAxkp kAkp kxkp ,
ossia
1 1
kAkp .
kxkp kbkp
Ne segue che
kx xkp kb bkp
condp (A) . (7.28)
kxkp kbkp
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

n cond2 (H n )
1 1
2 19.2815
3 524.0568
4 1.5514e+04
5 4.7661e+05
6 1.4951e+07
7 4.7537e+08
8 1.5258e+10
9 4.9315e+11
10 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 bencondizio-


nata, cioe se il suo numero di condizionamento non si discosta troppo dallunita, ci aspettiamo
che lerrore relativo sulla soluzione sia al piu dello stesso ordine di grandezza dellerrore relativo
sui dati. Viceversa, se la matrice e malcondizionata, cioe se il suo numero di condizionamento
e maggiore di 1 per diversi ordini di grandezza, puo accadere che un piccolo errore relativo sui
dati dia luogo a un grande errore relativo sulla soluzione, con effetti disastrosi sullaffidabilita del
calcolo. E dunque molto importante, quando si ha a che fare con una matrice, avere una qual-
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

max
cond2 (A) = . (7.29)
min

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

1
hij = , 1 i, j n ,
i+j1

(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 127

7.5 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

n
X
Ci = {z C : |z aii | ri = |aij | } , i = 1, 2, . . . , n . (7.30)
j=1,j6=i

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:
Sn
1. Ogni autovalore di A sta nellunione C = i=1 Ci dei cerchi di Gerschgorin.
S
2. Se C = mk=1 Cik e lunione di m cerchi di Gerschgorin ed e disgiunta dallunione dei ri-
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, cioe non esista nessuna permutazione di righe e colonne di A che la
trasformi in una matrice diagonale a blocchi
 
A11 O
B=
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.

Poiche gli autovalori della matrice trasposta AT coincidono con quelli della matrice A, pos-
siamo applicare il teorema di Gerschgorin anche a tale matrice, nellintento di ottenere una
localizzazione piu 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
intervalli di Gerschgorin C bi , dati dallintersezione dei cerchi di Gerschgorin Ci con lasse reale.

Esempio 7.5.2 Sia A la matrice simmetrica irriducibile di ordine 6



3 0 1 0 0 1
0 2 0 1 1 0

1 0 1 0 0 0
A=

.
0 1 0 5 0 3

0 1 0 0 6 3
1 0 0 3 3 18
128 CAPITOLO 7. RICHIAMI E COMPLEMENTI

C6
C4 C5
C3 C1
C2

6 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
C b2 C
b3 = [4, 0], b = C
C b1 C
b4 C
b5 = [1, 10], b = C
C b6 = [11, 25] .
1 2 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.2590...
2 = 1.2393...
3 = 3.1028...
4 = 4.1440...
5 = 5.8899...
6 = 19.3616...

7.6 Metodi di avanzamento in tempo


Consideriamo il problema ai valori iniziali (detto anche problema di Cauchy)

u = F (u, t) , 0<tT ,
(7.31)
u(0) = u0 ,

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 piu 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 piu popolare consiste nel
definire un metodo di avanzamento in tempo. Cio 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, gia calcolate in uno o piu passi precedenti.
La situazione concettualmente piu 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 piu 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)

Metodo del punto medio (PM):

uk+1 = uk1 + 2tF (uk , tk ) , k1; (7.36)

Metodo dei trapezi (o di Crank-Nicolson) (CN):


h i
uk+1 = uk + t 1 k
2 F (u , tk ) + 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
(cioe 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
(cioe 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
(cioe 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

u(tk+1 ) u(tk ) = u (t) dt = F (u(t), t) dt ,
tk tk

ottenuta integrando lidentita u (t) = F (u(t), t) sullintervallo [tk , tk+1 ]. Lintegrale a destra
puo 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 dal-
lapprossimazione 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 (cioe uk+1 compare tanto a primo
membro quanto a secondo membro). Si deve cioe 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-
ne, a due passi ): la soluzione dipende, attraverso una formula esplicita, da uk e uk1 . E dunque
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 piu 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. Piu 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 ) + w(tk+1 ) uk+1


= ek+1
PR + ek+1
CR .

La quantita ek+1 k
P R rappresenta la propagazione dellerrore u(tk ) u , presente allistante tk ,
lungo le traiettorie del sistema differenziale fino allistante tk+1 . Si puo dimostrare che si ha
kek+1
PR k e
Lt ku(t ) uk k, dove L e la costante di Lipschitz di F . Invece, ek+1 rappresenta il
k CR
nuovo errore creato dallo schema al passo k + 1, dunque kek+1 CR k = O(t p+1 ). 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 puo 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
max ku(tk ) u k CL,T t max p+1 (t)
k p
,
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 qualita
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 variabi-
lita del passo temporale, che pero non arriva fino a 0. Infatti, poiche le operazioni aritmetiche
vengono eseguite dallelaboratore con un numero finito di cifre decimali, la generazione e succes-
siva propagazione degli errori di arrotondamento porta ad un significativo deterioramento della
qualita dellapprossimazione, allorquando t scende al di sotto di un livello critico (dipenden-
te 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 )

u3
u(t2 )

u(t1 ) u2

u1
u0

0 t 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 piu precisa
dellaltra; esse vengono ottenute ad esempio avanzando con due passi temporali diversi, oppure
piu efficientemente con due metodi di ordine diverso opportunamente accoppiati. Per ulteriori
dettagli, si rimanda ai testi piu approfonditi di Calcolo Numerico.

7.6.2 La stabilita asintotica


Un elemento importante che incide nella scelta del passo temporale e la possibilita 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 au-
tonomo, 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 dia-


gonale degli autovalori e W = (w1 , . . . , w n ) matrice degli autovettori (disposti per colonna). So-
stituiamo 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
(7.42)
zp (0) = z0p ,

le cui soluzioni sono zp (t) = ep t z0p . Poiche 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 sup-
porremo 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, cio 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 quantita
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

2 1 0

REE

Figura 7.3: Regione di stabilita 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 stabilita asintotica del metodo di Eulero esplicito, ed indicata con REE . La
sua parte interna verra 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 Eu-
lero esplicito e dunque condizionatamente asintoticamente stabile, ossia e necessario soddisfare
questa condizione su t, detta condizione di stabilita asintotica, per ottenere il comportamen-
to desiderato sulle soluzioni discrete. Talvolta questa condizione puo 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


2
t < .
|p |

Pertanto, la condizione di stabilita asintotica (7.44) diventa


2
t < . (7.45)
maxp |p |

Se la matrice A ha autovalori con ordini di grandezza molto diversi tra loro (ossia se e mal-
condizionata - 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 piu
136 CAPITOLO 7. RICHIAMI E COMPLEMENTI

REI

0 1 2

Figura 7.4: Regione di stabilita 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
(1 tp )zpk+1 = zpk , k0,

che genera la successione


 k
1
zpk = z0p , k0.
1 tp
Essa tende a 0 per k + se e solo se la quantita in parentesi e minore di 1 in modulo, il che
equivale alla condizione
|1 tp | > 1 .
La regione di stabilita asintotica REI del metodo di Eulero implicito e dunque definita come il
luogo dei numeri complessi tali che |1 | 1. Poiche 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

t t
(1 p )zpk+1 = (1 + p )zpk , k0,
2 2
la cui soluzione e data da
!k
t
1+ 2 p
zpk = t
z0p , k0.
1 2 p
7.6. METODI DI AVANZAMENTO IN TEMPO 137

RCN

Figura 7.5: Regione di stabilita 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 |


|1 2 | equivale a Re 0. Pertanto la regione di stabilita asintotica RCN del metodo dei
trapezi e data dal semipiano alla sinistra dellasse immaginario; essa coincide proprio con la
regione in cui devono stare gli autovalori della matrice A affinche 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
asintoticamente stabile. E invece condizionatamente asintoticamente stabile (t|p | 1 per
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 inco-
gnite la natura talvolta inaccettabile della condizione di stabilita asintotica del metodo di Eulero
esplicito. Consideriamo il problema ai valori iniziali (7.41), con

1001 999  

2 2
2
A= e v0 = .
999 1001 0
2 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

3/1000 t

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 piu 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 stabilita asintotica (7.45), vale a dire
2 1
t < = ,
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, sceglien-
dolo 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 stabilita 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 se-
sto incluso. Le loro regioni di stabilita asintotica contengono un angolo nel semipiano Re 0
con centro lorigine e a cavallo del semiasse reale negativo. Questi metodi sono dunque par-
ticolarmente 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

1.732 2.374

RRK2
2 0 RRK3
2.513 0

1.732
2.374

2.937

RRK4
2.785 0

2.937

Figura 7.7: Regioni di stabilita 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)

You might also like