Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Capitolo 1
1.1
Sia dato un filo elastico sottile di sezione circolare costante S. In assenza di forze esterne, il suo
asse occupa la posizione dellintervallo [0, L] lungo lasse delle coordinate x1 (si veda la Figura
1.1). Lelastico `e fissato alle estremit`a dellintervallo. Applichiamo al filo una (piccola) densit`a
volumica di forza f = 0e1 + 0e2 + f3 e3 , giacente nel piano x1 x3 e diretta normalmente allasse
del filo. Essa induce un (piccolo) spostamento u = u1 e1 + u2 e2 + u3 e3 del filo a partire dalla
posizione di riferimento; precisamente, u = u(x) denota lo spostamento della particella materiale
che nella posizione di riferimento si trova nel punto x. Lo spostamento sar`
a complanare con
la forza, dunque u2 = 0; inoltre, in prima approssimazione la componente u1 sar`
a trascurabile
rispetto alla componente u3 che descrive lo spostamento nella direzione della forza.
Sia x1 (0, L) e sia V0 = [x1 , x1 + x] S un elemento di filo elastico di lunghezza x,
nella posizione di riferimento; siano 0,x1 = {x1 } S e 0,x1 +x = {x1 + x} S le sezioni
che delimitano lelemento. Esso si trasforma nellelemento V per effetto della forza applicata;
x3
0
x2
V0
0,x1
0,x1+x
L
x1
Figura 1.1: Derivazione del modello del filo elastico
3
1 12 13
= 21 2 23
31 23 3
(1.1)
il tensore degli sforzi del filo. Sia poi n la normale alla sezione trasformata del filo, orientata
nel senso crescente delle x1 . Lequazione di equilibrio `e
Z
Z
Z
n d = 0 .
(1.2)
n d
f dV +
x1 +x
x 1
f dV
f dV =
V0
x1 +x Z
x1
dx = |S|
x1 +x
f (x) dx ,
x1
avendo indicato con |S| larea della sezione S e con f (x) il valor medio di f sulla sezione S nel
punto x (0, L):
Z
1
x1 +x
x1
|x1 +x |S|
n
|x1 = 0 .
n
f (x) dx + |S|
(1.3)
Dividiamo per |S| e, per non appesantire le notazioni, cancelliamo il simbolo ; inoltre notiamo
che, per le ipotesi fatte, n e1 . Otteniamo quindi
Z
x1 +x
x1
(1.4)
Prendiamo ora la componente di tale equazione lungo lasse x3 , ossia formiamone il prodotto
scalare con e3 , ottenendo
Z
x1 +x
x1
(1.5)
d31
(x1 ) = 0 ,
dx
x1 (0, L) ,
(1.6)
x3
u(x)
0
x1
u3
.
x1
(1.9)
Infine, per semplicit`a omettiamo i pedici alle quantit`a u3 , 31 e f3 introdotte finora. Il coefficiente
, detto modulo di taglio, pu`
o essere espresso in funzione del modulo di Young E e del coefficiente
di Poisson come
E
.
(1.10)
=
2(1 + )
Siamo dunque arrivati al seguente sistema di equazioni:
d
+f =0
in (0, L) ,
dx
du
=
in (0, L) ,
dx
u(0) = u(L) = 0 ,
(1.11)
ove lultima relazione esprime il fatto che il filo `e fissato alle estremit`a dellintervallo [0, L].
Sostituendo lespressione di nella prima equazione otteniamo
d du = f in (0, L) ,
dx
dx
(1.12)
u(0) = u(L) = 0 .
una e una sola soluzione (vedi Figura 1.2), se ad esempio ed f sono funzioni continue (o
continue a tratti) in [0, L].
` facile esprimere u in funzione di f mediante quadrature. Infatti, integrando la prima delle
E
(1.11) abbiamo
Z
x
(x) = C1
f (s) ds
(1.13)
(1.14)
1.2
L
. 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)
due punti. Per realizzare i rapporti incrementali centrati, `e conveniente (si veda la successiva
Osservazione 1.2.1) arricchire la griglia computazionale introducendo i nodi a indici semi-interi
xj+1/2 = h(j +1/2), con j = 0, . . . , N , situati a mezza strada tra due nodi contigui a indici interi.
Ad essi associamo valori approssimati j+1/2 (xj+1/2 ) dello sforzo di taglio. Introduciamo
allora le seguenti approssimazioni delle derivate prime di e di u:
j+1/2 j1/2
d
(xj )
dx
h
du
uj+1 uj
(xj+1/2 )
.
dx
h
(1.16)
Il passo 2. sopra citato `e realizzato imponendo lequazione approssimata di equilibrio nei nodi
a indici interi:
j+1/2 j1/2
+ fj = 0 ,
j = 1, . . . , N ,
(1.17)
h
e la legge costitutiva nei nodi a indici semi-interi:
j+1/2 = j+1/2
uj+1 uj
,
h
j = 0, . . . , N ,
(1.18)
avendo posto fj = f (xj ) e j+1/2 = (xj+1/2 ) (supponiamo in questo Paragrafo che f e siano
funzioni continue su [0, L]).
Facendo uso della (1.18) nella (1.17), otteniamo le relazioni
uj uj1
uj+1 uj
1
j1/2
j+1/2
= fj ,
j = 1, . . . , N ,
(1.19)
h
h
h
che possiamo ancora scrivere come
1
j1/2 uj1 + (j1/2 + j+1/2 )uj j+1/2 uj+1 = fj ,
2
h
j = 1, . . . , N ,
(1.20)
Siamo quindi giunti a un sistema di N equazioni lineari nelle N incognite uj . Esso pu`
o essere
scritto nella forma matriciale
Au = f ,
(1.21)
avendo definito i vettori colonna di RN
u1
u2
u = ...
uN 1
uN
j1/2 + j+1/2
1 j1/2
ajk = 2
h
j+1/2
f1
f2
..
.
f =
fN 1
fN
(1.22)
con 1 j N ,
con 2 j N ,
con 1 j N 1 ,
(1.23)
Si noti che la matrice `e tridiagonale, vale a dire gli elementi diversi da 0 si trovano solo sulla
diagonale principale e sulla prima sopra- e sotto-diagonale (si veda la Fig. 1.3). Questo `e un caso
particolare di matrice a banda, ossia di matrice i cui elementi diversi da 0 sono contenuti in una
10
15
20
25
30
10
15
20
25
30
nz=94
Figura 1.3: Posizione degli elementi non nulli della matrice A per N = 32. Se il coefficiente `e
costante, gli elementi indicati con valgono 2/h2 , quelli indicati con o valgono /h2
banda costituita da 2m + 1 diagonali disposte simmetricamente attorno alla diagonale principale
(lintero m dicesi semi-ampiezza di banda); nel nostro caso, abbiamo m = 1. A sua volta, una
matrice a banda con m molto pi`
u piccolo di N `e una caso particolare di matrice sparsa, ossia di
matrice i cui elementi diversi da 0 sono pochi rispetto alla totalit`a degli elementi; nel nostro
caso gli elementi non nulli sono 3N 2 su un totale di N 2 elementi.
La nostra matrice, inoltre, `e simmetrica, essendo aj,j+1 = aj+1,j per ogni j.
Un caso particolare notevole si ha quando il coefficiente elastico `e costante in [0, L]. In
d2 u
tale situazione, lequazione differenziale (1.12) che definisce lo spostamento diventa 2 = f ;
dx
corrispondentemente, lo schema numerico (1.20) assume la forma
j = 1, . . . , N ,
(1.24)
ossia pu`
o essere ottenuto approssimando la derivata seconda dello spostamento mediante il
rapporto incrementale secondo centrato con passo h (si veda la (7.11)). Gli elementi della
matrice A del sistema lineare (1.21) assumono ora la semplice espressione
ajk
2 se k = j ,
= 2 1 se k = j 1 ,
h
0 altrimenti .
(1.25)
Osservazione 1.2.1 Ritorniamo sulle formule di derivazione (1.16) per notare che se avessimo
usato soltanto nodi a indici interi per definire i rapporti incrementali, saremmo giunti a relazioni analoghe alle (1.20) ma facenti intervenire le incognite uj2 , uj e uj+2 , con un innaturale
disaccoppiamento tra incognite a indici pari e incognite a indici dispari.
` conveniente introdurre una notazione specifica per indicare le matrici tridiagonali
Notazione E
che hanno gli elementi uguali su ciascuna diagonale (salvo eventualmente quelli nella prima e/o
b c
a b c
a b c
tridiag [a b c] =
a b c
a b c
a b
(1.26)
una matrice tridiagonale avente i valori costanti a, b, c rispettivamente sulla prima sottodiagonale, sulla diagonale principale, sulla prima sopra-diagonale. Qualora gli elementi nella
prima e ultima riga siano diversi, porremo
b c
a b c
a b c
.
tridiag [b c ; a b c; a b ] =
(1.27)
a b c
a b c
a b
1.2.1
tridiag [1 2 1] .
h2
Propriet`
a della matrice
Mostriamo innanzitutto che la matrice A `e non singolare; ci`o equivale al fatto che tutti gli
` naturale allora fare ricorso al teorema di Gerschgorin di
autovalori di A sono diversi da 0. E
localizzazione degli autovalori (Teorema 7.5.1). Determiniamo gli intervalli di Gerschgorin di A
(la matrice `e simmetrica). Si ha facilmente
1/2 1/2 + 23/2
1/2 + 3/2 3/2
C1 = x R : x
,
=
,
h2
h2
h2
h2
j1/2 + j+1/2 j1/2 + j+1/2
j1/2 + j+1/2
Cj = x R : x
= 0, 2
,
h2
h2
h2
j = 2, . . . , N 1 ,
N +1/2 2N 1/2 + N +1/2
N 1/2 + N +1/2 N 1/2
,
CN = x R : x
=
.
h2
h2
h2
h2
Dunque tutti gli autovalori di A sono strettamente positivi: infatti, ogni intervallo di Gerschgorin
`e contenuto nella semiretta positiva delle ascisse ed inoltre lorigine non appartiene a tutti gli
intervalli di Gerschgorin; pertanto 0 non pu`
o essere autovalore della matrice. Concludiamo che
A `e una matrice simmetrica e definita positiva.
10
(1.28)
pu`
o essere visto come frutto della discretizzazione del problema differenziale agli autovalori
2
d w = w
in (0, L) ,
dx2
w(0) = w(L) = 0 .
(1.29)
Tale problema descrive lAnalisi modale di un filo elastico avente densit`a di massa unitaria (si
veda per maggiori dettagli il Paragrafo 4.2). La prima delle (1.29) `e unequazione differenziale
del secondo ordine lineare a coefficienti costanti, il cui integrale generale `e dato da
w(x) = C1 sin
+ C2 cos
2 2
p ,
L2
wp (x) = C sin p x ,
L
p = 1, 2, . . . ,
(1.30)
con C costante arbitraria 6= 0. Notiamo che gli autovalori sono tutti strettamente positivi e
formano una successione strettamente crescente e tendente a +.
Figura 1.4: Autofunzione w3 del problema (1.29) (tratto continuo) e componenti del
corrispondente autovettore w3 del problema (1.28) per N = 32 (rombi)
` CONSISTENZA, CONVERGENZA
1.3. STABILITA,
11
(si veda la Fig. 1.4 per un esempio). Verifichiamo tale propriet`a, e in tal modo calcoliamo gli
autovalori discreti h,p . Ponendo per semplicit`a C = 1, abbiamo per ogni j = 1, . . . , N
(Awp )j
=
=
h
h
h
(j 1) + 2 sin p
j sin p
(j + 1)
.
sin p
h2
L
L
L
2
= 2
h
h
1 cos p
L
2
= 2
h
p
1 cos
N +1
p = 1, . . . , N .
(1.32)
Osserviamo che 0 < N p+1 < per 1 p N e che cos t `e una funzione strettamente decrescente
nellintervallo [0, ]; pertanto gli autovalori discreti sono tutti strettamente positivi (come gi`
a
sapevamo dal teorema di Gerschgorin) e formano una successione strettamente crescente con p.
Ricordando che 1cos t 12 t2 per t 0 e che cos t 1 per t , otteniamo il comportamento
asintotico dellautovalore minimo h,1 e massimo h,N al tendere di h a 0 (o, equivalentemente,
al tendere di N a +):
2 1 h 2
2
4
h,1 2
= 2 = 1 ,
h,N 2 .
(1.33)
h 2 L
L
h
Se ne deduce in particolare che il numero di condizionamento di A in norma euclidea soddisfa
cond2 (A) =
h,N
4L2
2 h2 ;
h,1
(1.34)
a un valore nellintervallo
i
h
4 4
,
h2
h2 .
1.3
2
2
L2 , L2
Stabilit`
a, consistenza, convergenza
Lo scopo di questa sezione `e lo studio delle propriet`a matematiche del metodo di discretizzazione
sopra considerato; in particolare, siamo interessati a stimate lerrore tra la soluzione esatta del
12
problema (1.12) e la soluzione dello schema numerico definita dal sistema (1.21), in funzione
del parametro di discretizzazione h. Per semplicit`a, supporremo qui costante il coefficiente
elastico , ma risultati del tutto simili si possono stabilire nel caso in cui sia una funzione
sufficientemente regolare di x.
Iniziamo osservando che il sistema (1.21) pu`
o essere scritto equivalentemente come u = A1 f .
Prendendo la norma euclidea (vedi (7.14)) di ambo i membri e usando la propriet`a (7.17),
otteniamo
kuk2 kA1 k2 kf k2 .
1
kf k2 .
c1
(1.35)
Essa fornisce la media quadratica dei moduli delle componenti del vettore v; linformazione
rappresentata da questa norma `e in qualche modo normalizzata rispetto alla dimensione del
vettore, e dunque tale norma `e pi`
u appropriata, rispetto alla norma euclidea, per studiare il
passaggio al limite per h 0, vale a dire per N . Notiamo inoltre che, ricordando la
definizione di norma del massimo (vedi (7.15)), si ha |vi | kvk per ogni i e dunque si ha
kvk2,m kvk
Dividendo ambo i membri della (1.35) per
nella nuova norma, come
kuk2,m
per ogni v RN .
(1.36)
1
kf k2,m .
c1
(1.37)
Introduciamo ora il vettore colonna ue = (u(xj ))1jN RN , le cui componenti sono i valori
della soluzione esatta nei nodi interni. Poich`e in generale ue =
6 u, il vettore
r = Aue f ,
(1.38)
` CONSISTENZA, CONVERGENZA
1.3. STABILITA,
13
rj =
d2 u
(x) per ogni
dx2
x (0, L)); ne segue che tali componenti sono proporzionali allerrore di approssimazione della
derivata seconda di u mediante il rapporto incrementale secondo centrato (si veda la (7.11)). Tale
errore `e a sua volta proporzionale a h2 se la funzione u `e derivabile quattro volte nellintervallo
[0, L]. Pi`
u precisamente, usando la formula di Taylor con il resto di Lagrange, si pu`
o dimostrare
che
1 d4 u
u(xj h) 2u(xj ) + u(xj + h) d2 u
2 (xj ) = h2 4 (
xj ) ,
(1.39)
2
h
dx
12 dx
dove x
j `e un opportuno punto nellintervallo (xj h, xj + h). Derivando due volte lequazione
differenziale soddisfatta da u otteniamo
(ricordiamo che u `e la soluzione esatta di (1.12) e dunque si ha f (x) =
d2 f
d4 u
= 2 ,
4
dx
dx
dunque la (1.39) vale sotto lipotesi che f sia derivabile due volte in (0, L). Possiamo quindi
esprimere le componenti del vettore residuo come
rj =
1 2 d2 f
h
(
xj ) ,
12 dx2
1jN .
Si ha dunque
r=
da cui
krk2,m
d2 f
(
xj ); osserdx2
1 2 2
h D f,
12
2
d f
1 2
1 2
2
h kD f k2,m
h max 2 (x) .
=
12
12 x[0,L] dx
(1.40)
r0
per h 0 .
(1.41)
per h 0 .
(1.42)
14
1
krk2,m ;
c1
1
h2 kD 2 f k2,m .
12c1
(1.43)
Dunque, se il dato f `e sufficientemente regolare, lo scarto quadratico medio tra i valori della
soluzione esatta nei nodi interni e le corrispondenti approssimazioni generate dallo schema numerico tende a 0 per h 0; inoltre, la convergenza `e del secondo ordine, ossia quadratica in
h.
` possibile, con una diversa dimostrazione, ottenere una analoga stima dellerrore nella norma
E
del massimo, ossia
2
d f
(1.44)
max |u(xj ) uj | Ch2 max 2 (x) ,
1jN
x[0,L] dx
1.4
I metodi agli elementi finiti si basano su una formulazione integrale, o variazionale, del problema
ai valori al bordo che si intende approssimare. Vediamo dapprima come si giunge a una tale
formulazione nel caso del filo elastico.
Consideriamo il problema (1.12), in cui supponiamo che la densit`a di forza f sia una funzione
continua a tratti su [0, L] (`e possibile considerare carichi pi`
u generali, ad esempio concentrati
in un punto, tuttavia questa ipotesi `e per ora sufficiente). Introduciamo una generica funzione
v, definita in [0, L], che rappresenta il generico spostamento che il filo elastico pu`
o compiere a
partire dalla posizione di riposo per effetto di sollecitazioni esterne. Con linguaggio fisico, diremo
che v `e uno spostamento ammissibile; con linguaggio matematico, diremo che v `e una funzione
` naturale che v sia una funzione continua (il filo elastico non si pu`
di forma. E
o rompere); inoltre
v si annulla agli estremi dellintervallo (il filo elastico `e fissato ai bordi). Moltiplichiamo ambo
i membri dellequazione differenziale per uno spostamento ammissibile v (che in questo ruolo
chiameremo funzione test) e integriamo i prodotti risultanti sullintervallo [0, L], ottenendo
Z L
Z L
du
d
f v dx .
(1.45)
v dx =
dx
0
0 dx
15
Applichiamo ora la formula di integrazione per parti a primo membro, assumendo quindi che v
sia derivabile (almeno) a tratti, con derivata continua. Lequazione diventa
Z
Z L
du L
du dv
f v dx .
dx v =
dx dx
dx 0
0
(1.46)
Notiamo che la soluzione u del nostro problema `e essa stessa uno spostamento ammissibile (`e lo
spostamento compiuto dal filo elastico proprio in corrispondenza del carico f ), dunque u V ;
tale condizione contiene in s`e anche il vincolo di annullamento di u agli estremi dellintervallo.
Possiamo dunque dare la seguente formulazione integrale al problema (1.12):
u V e soddisfa
Z L
Z L
(1.47)
du dv
f v dx
per ogni v V .
dx =
dx dx
0
0
Diciamo che questa `e la formulazione variazionale, o debole, del problema del filo elastico. Essa
traduce in termini matematici quello che in Meccanica `e noto come Principio dei Lavori Virtuali : il lavoro compiuto dalla forza esterna in corrispondenza di uno spostamento ammissibile
(rappresentato dallintegrale a secondo membro della (1.47)) `e uguale al lavoro compiuto dalle
reazioni elastiche del materiale (espresso dallintegrale a primo membro).
La formulazione differenziale (1.12) e quella variazionale (1.47) sono equivalenti se i dati del
` infatti
problema ed f (e conseguentemente la soluzione u) sono sufficientemente regolari. E
possibile dimostrare che una funzione u V , che abbia derivate prima e seconda continue in
[0, L], soddisfa la (1.12) se e solo se essa verifica la (1.47). Questo risultato giustifica luso di
tale formulazione nellapprossimazione numerica del problema. Daltro canto, la formulazione
integrale permette di trattare i casi pi`
u generali di coefficiente elastico continuo a tratti o di
carico f concentrato in un punto.
La formulazione differenziale induce u a soddisfare infinite condizioni, una per ogni punto
dellintervallo [0, L]; similmente, la formulazione variazionale impone sulla u infinite condizioni,
una per ogni scelta della funzione test in V . Le funzioni test costituiscono un insieme molto
ricco; ad esempio, stanno in V tutti i polinomi algebrici, di qualunque grado, che si annullano
agli estremi dellintervallo. Si noti tuttavia che non tutte le equazioni variazionali rappresentate
dalla (1.47) sono indipendenti tra loro: a causa della propriet`a di linearit`
a dellintegrale definito
e della derivata, se v1 e v2 sono due spostamenti ammissibili che soddisfano lequazione
Z L
Z L
du dv
f v dx ,
dx =
dx dx
0
0
anche ogni loro combinazione lineare v1 + v2 , con , R arbitrari, sar`
a uno spostamento
ammissibile che automaticamente verificher`
a tale equazione.
Come nel metodo alle differenze finite abbiamo selezionato un numero finito di punti in [0, L]
in cui andare a imporre una forma discreta dellequazione differenziale, cos` possiamo definire un
16
uh Vh e soddisfa
Z L
Z L
(1.48)
duh dvh
f vh dx
per ogni vh Vh .
dx =
dx dx
0
0
Il metodo degli elementi finiti costituisce un modo semplice ed efficace per definire spazi Vh
di spostamenti discreti da impiegarsi nella formulazione variazionale discreta appena introdotta.
Consideriamo ancora N + 2 nodi xj nellintervallo [0, L], soddisfacenti la condizione (1.15); per
garantire una maggiore generalit`
a al metodo, non supporremo che i nodi siano necessariamente
equispaziati. Essi definiscono una suddivisione di [0, L] in intervalli Ij = [xj1 , xj ], per j =
1, . . . , N + 1, di ampiezza hj = xj xj1 ; `e conveniente porre h = max hj .
j
La scelta pi`
u semplice per gli spostamenti discreti consiste nel considerare quegli spostamenti
ammissibili che su ogni intervallo Ij siano polinomi di grado al pi`
u uguale a 1. Poniamo dunque
Vh = {vh V | vh|Ij P1 per j = 1, . . . , N + 1} ,
(1.49)
avendo indicato con P1 linsieme dei polinomi di grado minore o uguale a 1 nellintervallo Ij . Lo
spostamento discreto vh `e univocamente e facilmente individuato dai suoi valori vj = vh (xj ) nei
nodi interni (j = 1, . . . , N ). Infatti, in ogni intervallo Ij esso si scrive come
vh (x) = vj1
x xj1
xj x
+ vj
.
hj
hj
(1.50)
dove ej = (jk ) `e il vettore colonna della base canonica, le cui componenti sono tutte uguali
a 0 tranne la componente j che `e uguale a 1. Il vettore ej identifica lo spostamento discreto
j Vh , che assume il valore 0 in tutti i nodi tranne che nel nodo xj in cui vale 1. Tale funzione
si scrive come
x xj1
se x Ij ,
hj
(1.51)
j (x) = xj+1 x se x Ij+1 ,
h
j+1
0
altrimenti ;
17
xj2
xj1
xj
xj+1
xj+2
vj
xj1 xj
vj j (x)
xj+1
N
X
vj j (x) .
(1.52)
j=1
dx dx
0
0
18
Notiamo che questo sistema di N equazioni `e equivalente al sistema di infinite equazioni dato
dalla (1.48). Infatti, ogni equazione contenuta in (1.48) si ottiene per combinazione lineare
N
X
vj j , `e sufficiente moltiplicare la j-esima equazione in (1.53) per vj e
delle (1.53): se vh =
j=1
sommare su j, ottenendo
N
X
vj
j=1
X
duh dj
vj
dx =
dx dx
j=1
f j dx ,
0
Z L
Z L
N
N
X
duh d X
vj j dx ,
vj j dx =
f
dx dx
0
0
j=1
j=1
N
X
k=1
N
X
d
dx
uk k
k=1
dj
dx =
dx
f j dx
per j = 1, . . . , N ;
uk
dk dj
dx =
dx dx
Ponendo
ajk =
il sistema (1.54) si scrive come
N
X
f j dx
dk dj
dx ,
dx dx
ajk uk = fj
per j = 1, . . . , N .
(1.54)
(1.55)
fj =
f j dx ,
0
per j = 1, . . . , N
k=1
(1.56)
avendo posto
A = (ajk ) RN N ,
u = (uk ) RN ,
f = (fj ) RN .
La matrice A prende il nome di matrice di rigidezza (stiffness matrix, nella letteratura anglosassone); segnaliamo che piuttosto sovente essa viene denotata con K nei testi di Ingegneria
Numerica. Non ci resta che calcolarne gli elementi, insieme a quelli del termine noto f .
Calcolo della matrice di rigidezza
19
Notiamo innanzitutto che, in base alla definizione (1.55), la matrice `e simmetrica. Inoltre,
per la propriet`a di additivit`
a dellintegrale rispetto al dominio di integrazione, si ha
ajk =
N
+1 Z
X
m=1
Im
dk dj
dx ,
dx dx
aj,j1 =
dx dx
Ij
Su Ij , le funzioni di base sono lineari, quindi le loro derivate prime sono costanti; precisamente,
ricordando la (1.51), si ha
dj1
dj
1
1
= ,
=
;
dx
hj
dx
hj
pertanto,
aj,j1
1
= 2
hj
Ij
dx =
,
hj j1/2
R
avendo introdotto il valor medio
j1/2 = h1 j Ij dx del coefficiente elastico sullintervallo
Ij . Tale valore sovente non `e calcolabile esattamente, e quindi pu`
o essere approssimato ad
esempio con il valore j1/2 = (xj1/2 ) del coefficiente nel punto medio xj1/2 = (xj1 + xj )/2
dellintervallo. In conclusione, porremo
aj,j1 =
.
hj j1/2
Ij
con
dj
1
=
dx
hj
dj
dx
su Ij ,
2
dx +
Ij+1
dj
dx
dj
1
=
dx
hj+1
2
dx
su Ij+1 .
20
j3
xj
xj1
j2
xj4
xj+1
j1
xj4
xj+1
xj3 xj2
xj1
xj
xj+1
Figura 1.7: Interazione tra la funzione di base j e alcune funzioni di base k con k < j
Pertanto, con la medesima approssimazione del coefficiente elastico applicata sopra, otteniamo
1
1
.
h j j1/2 h j+1 j+1/2
ajj =
hj
hj+1
j1/2
hj
ajk =
j+1/2
hj+1
fj =
Ij
f j dx +
Ij+1
se k = j ,
se k = j 1 ,
se k = j + 1 ,
altrimenti .
f j dx .
(1.57)
` DELLA DISCRETIZZAZIONE
1.5. PROPRIETA
21
Per una densit`a di forza generica, non `e possibile calcolare esattamente gli integrali; ciascuno di
essi viene
R b pertanto approssimato mediante una formula di quadratura. Usando la formula dei
trapezi a g dx (g(a) + g(b))(b a)/2 e ricordando che j `e nulla in xj1 e in xj+1 e vale 1 in
xj , otteniamo il valore approssimato
fj = f (xj )
hj + hj+1
.
2
(1.58)
Rb
Usando invece la formula del punto medio a g dx g((a + b)/2)(b a), otteniamo il valore
approssimato
1
fj = f (xj1/2 )hj + f (xj+1/2 )hj+1 .
(1.59)
2
` interessante confrontare la struttura del sistema algebrico (1.21) ottenuto dalla discretizzaE
zione mediante differenze finite, che scriviamo ADF uDF = f DF , con quella del sistema algebrico
(1.56), che scriviamo AEF uEF = f EF . Si nota che ogni elemento della matrice AEF o del termine noto f EF `e dellordine di h volte il corrispondente elemento di ADF o di f DF , dove h
indica il passo locale di discretizzazione spaziale. Ci`
o `e perfettamente logico, se si ricorda che
la formulazione variazionale del problema del filo elastico, che ha generato la discretizzazione
agli elementi finiti, `e ottenuta integrando sullintervallo spaziale la formulazione differenziale,
che sta alla base della discretizzazione alle differenze finite. Nel caso di suddivisione equispaziata dellintervallo [0, L] (h costante) e di uso della formula (1.58) per il termine noto, abbiamo
addirittura AEF = hADF e f EF = hf DF e pertanto uEF = uDF : i due metodi forniscono la
stessa approssimazione dello spostamento u.
1.5
Propriet`
a della discretizzazione
(1.60)
22
dv
dx
2
dx
!1/2
Supponendo che u ammetta derivata seconda ddxu2 in [0, L] avente norma quadratica limitata, si
hanno le seguenti stime dellerrore:
2
2
d u
2
d u
ku uh k2 Ch
2
e
ku uh kE Ch
(1.61)
dx2
,
dx 2
2
si ha
ku uh k
1.6
d2 u
Ch2
dx2
(1.62)
Le condizioni poste agli estremi dellintervallo [0, L] in (1.12) obbligano la funzione incognita u
ad annullarsi in x = 0 e in x = L: le estremit`a del filo sono fissate sullasse delle x, nei punti di
coordinate (0, 0, 0) e (L, 0, 0). Pi`
u in generale, scelti arbitrariamente due numeri reali g0 e gL ,
possiamo imporre le condizioni
u(0) = g0 ,
u(L) = gL ;
in tal caso, le estremit`a del filo elastico saranno fissate nei punti di coordinate (0, g0 , 0) e
(L, gL , 0). Quando si assegna il valore della funzione incognita in un punto del bordo, si dice che si impone una condizione di Dirichlet; essa sar`
a detta omogenea se il valore assegnato `e
0, non omogenea altrimenti.
In alternativa, `e possibile assegnare lo sforzo di taglio in uno dei punti di bordo, ossia,
ricordando la (1.9), imporre la condizione
du
(0) = 0 ,
dx
oppure
du
(L) = L .
dx
Una tale condizione viene della condizione di Neumann, rispettivamente omogenea o non omogenea a seconda che il valore assegnato sia o non sia uguale a 0. Dal punto di vista fisico, la
condizione du
a destra del filo `e libera di scorrere lungo la retta
dx (L) = 0 significa che lestremit`
di equazione x = L nel piano (x, y, 0) in cui giace il filo, e nessuno sforzo `e applicato in tale
estremit`a. Notiamo che non sarebbe possibile assegnare una condizione di Neumann in entrambi
gli estremi dellintervallo, in quanto ci`
o non determinerebbe univocamente la posizione del filo:
data una soluzione y = u(x) del problema, anche y = u(x) + c, con c reale arbitrario, lo sarebbe.
23
Rimandiamo al Cap. 5 per altre interpretazioni fisiche, in ambito termico, delle condizioni di
Dirichlet e di Neumann, e per un altro tipo di condizione al bordo, detta di Robin.
Per illustrare il modo di imporre una condizione di Dirichlet non omogenea o una condizione
di Neumann allinterno di un metodo di discretizzazione mediante differenze finite o elementi
finiti, consideriamo il problema ai valori al bordo
du
d
=f
in (0, L) ,
dx
dx
(1.63)
u(0) = g0 , du (L) = L ,
dx
che chiameremo problema ai valori al bordo di tipo misto Dirichlet/Neumann.
1.6.1
)u
u
1
2
1/2
3/2
3/2
2
h
h
(1.64)
uN +1 uN
= L ,
h
con N +1 = (L). Tuttavia, lapprossimazione della derivata prima fornita dal rapporto incrementale allindietro `e accurata solo al primo ordine (si ricordi la (7.5)), mentre tutte le approssimazioni fatte nella Sez. 1.2 sono accurate al secondo ordine, come riflesso dal comportamento
dellerrore espresso nella (1.43) oppure nella (1.44).
` preferibile invece imporre leq. (1.20) anche nel nodo di bordo xN +1 , ottenendo
E
1
N +1/2 uN + (N +1/2 + N +3/2 )uN +1 N +3/2 uN +2 = fN +1 ;
2
h
(1.65)
uN +2 uN
= L .
2h
24
u
+
u
L ,
N
N
+1
N
+1/2
N
+1/2
2
h
2
h N +1
(1.66)
f1 + h12 1/2 g0
u1
u2
f2
.
u = ...
f = ..
,
uN
fN
1 N+1/2
1
uN +1
2 fN +1 + h N+1 L
(1.68)
ajk
j1/2 + j+1/2
N +1/2
1
= 2 j1/2
h
j+1/2
se k = j N ,
se k = j = N + 1 ,
se k = j 1 ,
se k = j + 1 ,
altrimenti .
(1.69)
Si noti che la matrice A `e ancora tridiagonale simmetrica, e si dimostra essere ancora definita
positiva. Nel caso in cui sia costante, abbiamo
2 se k = j N ,
1 se k = j = N + 1 ,
ajk = 2
(1.70)
h
1 se k = j 1 ,
0 altrimenti
(si confronti con la (1.25)), ossia, con la notazione introdotta in (1.27),
A=
1.6.2
tridiag [1 2 1; 1 1] .
h2
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
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
delle variazioni ammissibili, o funzioni test. Nel caso di condizioni di Dirichlet non omogenee,
vi `e dunque differenza tra le funzioni di forma, che soddisfano tali condizioni, e le funzioni test,
che soddisfano le condizioni omogenee associate.
Nella definizione delle funzioni di forma o test, non si tiene conto della condizione di Neumann
in x = L; infatti, essa riguarda gli sforzi, non gli spostamenti. Tale condizione viene imposta
allinterno della formulazione variazionale, nel modo seguente. Partiamo dalla (1.46), ottenuta
dalla (1.46) per integrazione per parti; ora le funzioni test stanno in V (0). Il termine di bordo
vale
du
du
du L
v = (L)v(L) (0)v(0) = L v(L) ,
dx 0
dx
dx
avendo appunto imposto la condizione di Neumann in x = L e tenuto conto dellannullarsi delle
funzioni test in x = 0. Portando tale espressione a secondo membro, otteniamo la seguente
formulazione variazionale del problema (1.63):
u V (g0 ) e soddisfa
Z L
Z L
du dv
dx =
f v dx + L v(L)
dx dx
0
0
(1.71)
uh Vh (g0 ) e soddisfa
Z L
Z L
duh dvh
f vh dx + L vh (L)
dx =
dx dx
0
0
(1.72)
Le nuove condizioni al bordo richiedono lintroduzione di due nuove funzioni di base di Lagrange, oltre alle funzioni a cappello j , j = 1, . . . , N, considerate in (1.51). Esse sono la funzione
0 che vale 1 nel nodo di bordo x0 = 0 e 0 in tutti gli altri nodi,
h1 x se x I ,
1
h1
0 (x) =
(1.73)
0
altrimenti ,
26
1
0
N +1
x1
x0 = 0
xN
xN +1 = L
x xN se x IN +1 ,
hN +1
(1.74)
N +1 (x) =
0
altrimenti ,
(avente come supporto il solo intervallo IN +1 ). I grafici di tali funzioni sono rappresentati in
Fig. 1.8.
La soluzione uh Vh (g0 ) del problema discreto (1.72) si rappresenta quindi come
uh (x) = g0 0 (x) +
N
+1
X
uk k (x) ,
(1.75)
k=1
N
+1
X
vj j (x) .
j=1
(1.76)
f j dx + L j (L)
per j = 1, . . . , N + 1 .
(1.77)
dx =
dx dx
0
0
Sostituendo lespressione (1.75) di uh , otteniamo
N
+1
X
k=1
uk
dk dj
dx =
dx dx
f j dxg0
0
d0 dj
dx+L j (L)
dx dx
per j = 1, . . . , N +1 .
(1.78)
27
dk dj
dx ,
dx dx
1 j, k N + 1 ,
si calcolano come descritto nella Sez. 1.4. Lunica differenza `e il termine diagonale aN +1,N +1 ,
che dipende dal solo intervallo IN +1 in quanto, come gi`a osservato, il supporto di N +1 `e dato
da questo solo intervallo; si ha dunque
Z
dN +1 2
1
aN +1,N +1 =
.
dx =
dx
hN +1 N +1/2
IN+1
Pertanto, la matrice di rigidezza A = (ajk )1j,kN +1 ha la seguente espressione:
j+1/2
j1/2
+
se k = j N ,
hj
hj+1
N +1/2
se k = j = N + 1 ,
hN +1
ajk = j1/2
se k = j 1 ,
hj
j+1/2
se k = j + 1 ,
hj+1
0
altrimenti .
(1.79)
Per quanto riguarda il secondo membro delle (1.78), i termini dipendenti dalle condizioni al
bordo compaiono solo per j = 1 e j = N + 1. Si ha infatti
(
Z L
h11 1/2 se j = 1 ,
d0 dj
dx =
dx dx
0
altrimenti ,
0
a causa dellintersezione dei supporti di 0 e j , e
(
1
j (L) = j (xN +1 ) =
0
Le espressioni
se j = N + 1 ,
altrimenti .
dei trapezi o del punto medio, come in (1.58) o (1.59); si noti per`
o che, sempre a causa del
supporto di N +1 , si ha
Z
Z L
f (xN +1 ) hN+1
(formula dei trapezi) ,
2
f N +1 dx
f N +1 dx =
h
N+1
f (x
IN+1
0
(formula del punto medio) .
N +1/2 ) 2
In definitiva, indicando con
fj
lespressione
f1 + h1 1/2 g0
fj = fj
fN +1 + L
(1.80)
28
` interessante notare che, nel caso di suddivisione equispaziate dellintervallo [0, L] con passo
E
h e di coefficiente elastico costante in un intorno di x = L, si ha ancora
AEF = hADF
f EF = hf DF ;
dunque le discretizzazioni mediante differenze finite e mediante elementi finiti forniscono la stessa
approssimazione dello spostamento u.
1.7
(1.81)
ossia
+ f u = 0 in (0, L) ,
dx
du
=
in (0, L) ,
dx
u(0) = u(L) = 0 ,
d du + u = f
dx
dx
u(0) = u(L) = 0 .
in (0, L) ,
(1.82)
(1.83)
Anche tale problema ai valori al bordo ammette una e una soluzione, se ad esempio > 0, 0
ed f sono funzioni continue (a tratti) in [0, L].
La discretizzazione di tale problema mediante differenze finite o elementi finiti conduce ancora
ad un sistema algebrico della forma
Au = f ,
(1.84)
dove A `e la matrice di rigidezza, u `e il vettore degli spostamenti nei nodi e f `e il vettore dei
` utile osservare che, essendo il primo membro della (1.83) somma
termini noti, dipendenti da f. E
du
d
a come somma di due matrici,
di due contributi, dx dx e u, anche la matrice A si scriver`
A = A() + A() ,
(1.85)
29
u
+
(
+
)u
u
j1
j
j+1
j1/2
j1/2
j+1/2
j+1/2
h2
j = 1, . . . , N , (1.86)
avendo posto j = (xj ). La matrice A() `e data dalla (1.23), mentre A() `e la matrice diagonale
A() = diag ((j )1jN ) .
(1.87)
uh Vh e soddisfa
Z L
Z L
duh dvh
f vh dx
+ uh vh dx =
dx dx
0
0
per ogni vh Vh ,
+ uh j dx =
f j dx
per j = 1, . . . , N ,
dx dx
0
0
(1.88)
(1.89)
ossia
N
X
k=1
uk
Z
dk dj
dx +
dx dx
k j dx
f j dx
per j = 1, . . . , N ,
(1.90)
Tale matrice `e simmetrica, ed `e tridiagonale come la precedente, ancora come conseguenza della
localizzazione delle funzioni di base: infatti, solo gli elementi bj,j1 , bjj e bj,j+1 possono essere
non nulli in ciascuna riga.
Abbiamo
Z
j1 j dx ;
bj,j1 =
Ij
possiamo facilitare il calcolo dellelemento di matrice, nel caso in cui non sia costante su
Ij , approssimando tale funzione con una costante j1/2 , data ad esempio dal suo valor medio
sullintervallo o dal suo valore nel punto medio dellintervallo. In altri termini, al posto della
relazione precedente scriviamo
Z
bj,j1 = j1/2
j1 j dx .
Ij
30
Usando lespressione (1.51) per le funzioni j1 e j sullintervallo Ij ed eseguendo il cambiamento di variabile di integrazione x = xj1 + shj con 0 s 1, da cui dx = hj ds,
abbiamo
Z xj
Z
1
(xj x)(x xj1 ) dx
j1 j dx =
h2j xj1
Ij
Z
1 3 1
1 2 1 3 1 1
= hj
s s
=
h
(1 s)s ds = hj
2
3
6
h2j j 0
0
e dunque
1
bj,j1 = j1/2 hj .
6
Per quanto riguarda il termine diagonale
Z
Z
bjj =
2j dx +
2j dx ,
Ij
Ij+1
1
6 j1/2 hj
bjk =
1
6 j+1/2 hj+1
se k = j ,
se k = j 1 ,
se k = j + 1 ,
(1.92)
altrimenti .
Notiamo che nel caso particolare in cui sia costante su [0, L] e la suddivisione dellintervallo
sia equispaziata con passo h, lespressione precedente si semplifica in
se k = j ,
3
1
bjk = h
(1.93)
se k = j 1 ,
6
0 altrimenti ,
ossia si ha
B = h tridiag
1
2
3
1
6
(1.94)
Applicando il teorema di Gerschgorin, deduciamo facilmente che tutti gli autovalori della
matrice B sono 0; tuttavia non possiamo escludere che alcuni di essi siano nulli, se qualche
coefficiente j+1/2 `e nullo (ricordiamo che abbiamo supposto 0 in [0, L]). Dunque sotto
questa ipotesi la matrice B `e solo semidefinita positiva, ossia soddisfa xT Bx 0 per ogni
x RN ; essa `e definita positiva se > 0 in [0, L]. Tuttavia, `e immediato vedere che la somma
di una matrice definita positiva (quale la A() ) e di una matrice semidefinita positiva (quale la
B = A() ) `e ancora definita positiva; concludiamo pertanto che la matrice A data dalla (1.85)
`e simmetrica definita positiva.
In un contesto fisico diverso (si veda il Paragrafo 4.1), la matrice B ora introdotta viene detta
matrice di massa. Il coefficiente assume allora il significato fisico di densit`a lineare di massa.
Capitolo 2
Il modello
La deduzione del modello di membrana elastica estende alle due dimensioni spaziali quella del
modello di filo elastico vista nel Paragrafo 1.1.
Consideriamo una membrana elastica sottile, di spessore 2, la cui sezione mediana occupa in
posizione di riposo una regione limitata del piano x1 x2 ; in altri termini, in assenza di forze
esterne la membrana `e data da [, ]. Supponiamo che la membrana sia fissata lungo la
superficie laterale [, ], dove indica il bordo di . Applichiamo ad essa una (piccola)
densit`a volumica di forza f = 0e1 + 0e2 + f3 e3 , diretta normalmente alla sezione mediana
della membrana. Essa induce un (piccolo) spostamento u = u1 e1 + u2 e2 + u3 e3 a partire dalla
posizione di riferimento; in prima approssimazione le componenti u1 e u2 saranno trascurabili
rispetto alla componente u3 che descrive lo spostamento nella direzione della forza.
Sia V0 = [, ] un elemento di membrana nella posizione di riferimento; siano 0 =
[, ] la superficie laterale dellelemento. Esso si trasforma nellelemento V per effetto
della forza applicata; sia la superficie laterale trasformata. Indichiamo con il tensore degli
sforzi della membrana, dato dalla (1.1), e con n la normale a , orientata nel verso uscente da
V . Lequazione di equilibrio `e
Z
Z
(2.1)
n d = 0 .
f dV +
V
dove
1
f (x1 , x2 ) =
2
f (x1 , x2 , x3 ) dx3
1
(x1 , x2 ) =
2
(x1 , x2 , x3 ) dx3
sono i valori medi di f e lungo lo spessore della membrana, mentre n = (n1 , n2 , 0)T `e il
vettore normale a orientato nel verso uscente, che dora in avanti confonderemo con il vettore
bidimensionale n = (n1 , n2 )T . Si noti che la (2.2) `e lanaloga della (1.4) nel caso bidimensionale.
31
32
Prendiamo ora la componente di tale equazione lungo lasse x3 , ossia formiamone il prodotto
scalare con e3 , ottenendo
Z
Z
31 n1 + 32 n2 ds = 0 .
f3 dx1 dx2 +
Applichiamo ora il Teorema della divergenza (7.1) in R2 al campo vettoriale bidimensionale 3 = (31 , 32 )T (supponiamo qui che tanto il bordo quanto il campo vettoriale siano
sufficientemente regolari). Abbiamo
Z
Z
f3 dx1 dx2 + 3 dx1 dx2 = 0 ;
in ,
(2.3)
u3
,
x1
32 =
u3
,
x2
(2.4)
(2.5)
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 .
=f ,
x
x
y
y
avendo posto per semplicit`a x = x1 e y = x2 .
33
yN +1 = L
(x , ym )
ym
x0 = y 0 = 0
(xN +1 , ym )
xN +1 = L
Figura 2.1: La griglia computazionale con i vari tipi di nodi: nodi interni forti (pallini scuri),
nodi interni deboli (quadrati), nodi di bordo (rombi)
Nel caso in cui il coefficiente sia costante in , otteniamo lequazione di Poisson
u = f
dove lespressione
u =
in ,
2u 2u
+ 2
x2
y
(2.9)
(2.10)
2.2
In questo paragrafo, supponiamo per semplicit`a che sia costante; consideriamo dunque lequazione (2.9) con la condizione al bordo (2.7). Supponiamo inoltre che sia un quadrato, avente
lunghezza del lato uguale a L; possiamo scegliere gli assi cartesiani in modo che = (0, L)2 .
In analogia con quanto fatto nel caso del filo elastico, fissiamo un passo di discretizzazione
L
(con N 1), uguale in ciascuna direzione. Consideriamo la griglia equispaspaziale h =
N +1
ziata Gh in = [0, L]2 formata dai nodi (x , ym ) con x = h per 0 N + 1, e ym = hm
per 0 m N + 1. Notiamo che i nodi interni al quadrato hanno indici , m soddisfacenti
1 , m N ; al contrario, i nodi di bordo sono caratterizzati dallavere almeno uno dei due
indici uguale a 0 oppure a N + 1. La Figura 2.1 illustra la situazione. Per brevit`a, nel seguito
useremo il simbolo (, m) per denotare il nodo (x , ym ).
Indichiamo con um u(x , ym ) una approssimazione dello spostamento u nel nodo (x , ym );
poniamo inoltre fm = f (x , ym ). Nei nodi di bordo lo spostamento `e nullo, dunque definiamo
um = 0
se
(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
j+N
(, m + 1)
( 1, m)
(, m)
( + 1, m)
j 1
(, m 1)
S
j +1
jN
Figura 2.2: La molecola computazionale del metodo delle differenze finite per il Laplaciano:
numerazione dei nodi a due indici (a sinistra), numerazione a un indice quando il centro della
molecola `e un nodo interno forte (a destra)
u che compaiono nel termine u i rapporti incrementali secondi centrati (si ricordi la (7.11)).
Precisamente, osservando che x h = x1 e che ym h = ym1 , si ha
u1,m 2um + u+1,m
2u
u(x1 , ym ) 2u(x , ym ) + u(x+1 , ym )
(x , ym )
x2
h2
h2
(2.12)
.
2
2
y
h
h2
(2.13)
1 , m N .
(2.14)
Ciascuna equazione lega tra loro i valori dello spostamento discreto in cinque nodi contigui: il
nodo in cui `e imposta lequazione e i nodi immediatamente al di sotto, a sinistra, a destra e al di
sopra di questo. Essi formano una cosiddetta molecola computazionale, tipica dello schema alle
differenze finite considerato. Con linguaggio geografico, i nodi della molecola attorno a quello
centrale sono talvolta indicati come i nodi a Nord, Sud, Est e Ovest (si veda la Figura 2.2, a
sinistra).
Le equazioni (2.14) sono in numero di N 2 ; le incognite di spostamento nei nodi interni sono
anchesse N 2 . Non in tutte le equazioni compaiono per`
o esattamente 5 incognite. Per chiarire
ci`o, distinguiamo tra nodi interni forti e deboli. I primi sono caratterizzati dal fatto che la loro
molecola computazionale `e interamente costituita da nodi interni; gli indici , m dei nodi interni
forti soddisfano quindi 2 , m N 1. Al contrario, i secondi sono quelli la cui molecola
computazionale include uno o due nodi di bordo; ci`o accade quando uno almeno tra gli indici
, m del nodo vale 1 oppure N (si veda ancora la Figura 2.1).
35
In ogni equazione (2.14) relativa a un nodo interno forte compaiono esattamente 5 incognite
di spostamento. Invece, in unequazione relativa a un nodo interno debole compare un numero
minore (3 oppure 4) di incognite. Infatti, una tale equazione fa intervenire anche i valori di
spostamento in alcuni nodi di bordo; tali valori sono definiti dalle (2.11) e pertanto non sono
incogniti; essi vanno sostituiti nellequazione. Dopo questa fase, tutte le equazioni (2.14) conterranno solamente incognite di spostamento nei nodi interni. Ad esempio, lequazione relativa
al nodo debole (1, 1) diventa
(2.16)
(2.17)
Per tradurre il sistema di equazioni algebriche cos ottenuto nella forma Au = f , `e necessario
passare dalla numerazione a due indici (, m) dei nodi interni ad una numerazione ad un solo
indice, sia esso j. Ci`
o viene realizzato adottando lordinamento lessicografico, in cui sono elencati
dapprima gli N nodi della prima riga dal basso (m = 1), poi quelli della seconda riga (m = 2),
e cos` via; allinterno di ogni riga la numerazione procede da sinistra verso destra. Si vede
facilmente che
j = + (m 1)N
e si ha
1 j N2 .
(2.18)
Al contrario, dato j si pu`
o risalire a (, m) eseguendo la divisione intera di j per N ; detto q il
quoziente e r il resto, si pone
(
= r, m = q + 1 se 0 < r < N ,
(2.19)
= N, m = q
se r = 0 .
La Figura 2.2, a destra, mostra la numerazione a un indice della molecola computazionale di un
nodo interno forte. Poniamo poi uj = um e fj = fm. Con tali notazioni, lequazione (2.14)
relativa a un nodo interno forte diventa
(2.20)
Gli elementi della corrispondente riga (la j-esima) della matrice A sono dati da
ajk
4 se k = j ,
= 2 1 se k = j 1 oppure k = j N ,
h
0 altrimenti .
(2.21)
Le equazioni relative ai nodi interni deboli contengono soltanto le incognite (in numero di 3
oppure 4) associate ai nodi interni della molecola computazionale. Ad esempio, lequazione
(2.15) si esprime come
(4u1 u2 uN ) = f1 ;
(2.22)
h2
36
10
15
20
25
0
10
15
20
25
nz = 105
Figura 2.3: Struttura della matrice A per N = 5. I pallini indicano la posizione degli elementi
non nulli
le equazioni (2.16) si esprimono come
(2.23)
(2.24)
4 se k = j ,
1 se k = j + 1 con j 6= pN ,
(2.25)
ajk = 2
h
1
se
k
=
j
+
N
,
0 altrimenti .
Si noti che i termini aj,j+1 per j = pN , p = 2, . . . , N 1, sono nulli; ci`o traduce il fatto che nelle
equazioni (2.24) non compare lincognita uj+1 . La struttura della matrice, nel caso N = 5, `e
mostrata in Figura 2.3.
Vediamo ora qualche propriet`a della matrice A. Applicando il teorema di Gerschgorin, otteniamo immediatamente che i suoi autovalori sono tutti contenuti nellintervallo (0, 8
); pertanto,
h2
A `e una matrice simmetrica e definita-positiva. Inoltre, nella Sez. 4.2.1 si dimostra che, come
37
nel casa del filo elastico, il numero di condizionamento peggiora con il raffinamento della griglia;
si ha precisamente
cond2 (A) ch2 CN 2 .
(2.26)
Lo schema alle differenze finite in due dimensioni ora considerato gode di propriet`a di stabilit`a, consistenza e convergenza analoghe a quelle del corrispondente schema monodimensionale,
presentate nel Paragrafo 1.3. In particolare, se la soluzione esatta u ammette derivate parziali
quarte in ciascuna variabile limitate in , si ha la stima dellerrore
4 4
u u
2
max |u(x , ym ) u,m | Ch max 4 + 4 .
(2.27)
0,mN
x
y
x
Ci`
o mostra che lo schema ha convergenza quadratica.
utile evidenziare la struttura tridiagonale a blocchi della matrice A. A tale scopo, raggrupE
piamo le incognite in blocchi di N elementi, corrispondenti ai nodi che stanno su una stessa riga
della griglia, cio`e ai nodi di indici , m con m fissato. Introduciamo dunque, per m = 1, . . . , N ,
i vettori colonna N dimensionali
um = (um )1N = u+(m1)N 1N .
Possiamo allora identificare il vettore delle incognite u = (uj )1jN 2 con il vettore colonna N dimensionale (um )1mN i cui elementi sono a loro volta i vettori um . Una analoga partizione
viene effettuata sul termine noto, ponendo
f = (f m )1mN
Amn
D = h2 tridiag [1 4 1] se n = m ,
= C = h2 I
se n = m 1 ,
O
altrimenti ,
(2.29)
D C
C D C
,
A=
C D C
C D C
C D
38
Le equazioni del sistema Au = f possono allora essere scritte in forma compatta come
Du1 + Cu2 = f 1 ,
(2.30)
Cum1 + Dum + Cum+1 = f m ,
2mN 1.
CuN 1 + DuN = f N ,
su ,
(2.31)
se
(2.32)
con gm = g(x , ym ). Tali valori vanno sostituiti nelle (2.14) relative ai nodi interni deboli, in
corrispondenza degli spostamenti di bordo che compaiono a primo membro. Dopo le sostituzioni,
si porta a secondo membro tutto ci`
o che `e noto. Pertanto, si perviene a un sistema lineare
Au = f in cui A `e la stessa matrice del caso omogeneo, mentre f dipende anche dai valori di
bordo g.
Il trattamento di una condizione di Neumann
u
=,
n
(2.33)
u
u
=
= L
n
x
(2.34)
si effettua applicando, riga per riga della griglia, la procedura illustrata nel Paragrafo 1.6.1. I
dettagli sono lasciati al lettore.
2.3
Come per il modello monodimensionale del filo elastico, una discretizzazione del modello bidimensionale della membrana elastica mediante elementi finiti si basa su una formulazione integrale, o variazionale, del problema ai valori al bordo (2.8). Introduciamo quindi dapprima tale
formulazione.
2.3.1
Indichiamo con V linsieme degli spostamenti ammissibili della membrana, o funzioni di forma.
Un elemento di V `e una funzione definita in = , nulla su in conseguenza della
condizione di Dirichlet (2.7) e soddisfacente opportune condizioni di derivabilit`
a, su cui torneremo pi`
u avanti. La soluzione u del problema (2.8) `e un elemento di V . Poich`e la condizione di
Dirichlet imposta `e omogenea, le funzioni di forma coincidono con le funzioni test (si veda a tale
39
proposito la Sez. 1.6), che vengono usate per imporre lequazione di equilibrio in (la prima
delle (2.8)) in modo integrale. A tale scopo, moltiplichiamo tale equazione per una generica
funzione test v V e integriamo su , ottenendo
Z
Z
f v dx .
(2.35)
(u)v dx =
Per scrivere in forma equivalente il primo membro, ricordiamo il Teorema della divergenza 7.1 e
applichiamolo in (supponendo quindi che tutte le ipotesi per la sua validit`
a siano verificate)
al campo vettoriale g = wv, dove w = u e v `e la funzione test scelta. Abbiamo
Z
Z
Z
(w n) v ds ,
(wv) n ds =
(wv) dx =
v
v
(w1 v) +
(w2 v) =
v + w1
v + w2
(wv) =
+
x
y
x
x
y
y
w1 w2
v
v
=
+
+ w2
v + w1
= ( w) v + w v .
x
y
x
y
Pertanto,
ossia
( w) v dx +
w v dx =
w v dx =
( w) v dx +
(w n) v ds ,
(w n) v ds .
Ponendo w = u, otteniamo
Z
Z
Z
u v dx = (u) v dx +
u
v ds ,
n
(2.36)
u
= u n la derivata normale di u su . Infine, a secondo membro,
n
usiamo la (2.35) sul primo integrale, mentre osserviamo che il secondo integrale `e nullo in quanto
le funzioni test si annullano su .
Siamo quindi giunti alla seguente formulazione integrale, o variazionale, del problema (2.8):
u V e soddisfa
Z
Z
(2.37)
f v dx
per ogni v V .
u v dx =
avendo indicato con
Si noti la perfetta analogia formale con la formulazione (1.47) del problema monodimensionale.
Non abbiamo finora specificato le condizioni di derivabilit`
a sulle funzioni di V ; farlo in modo
rigoroso richiederebbe lintroduzione di strumenti matematici avanzati (i cosiddetti spazi di
Sobolev ). Ci limitiamo a dire, in modo impreciso, che V contiene le funzioni nulle al bordo per
le quali i due integrali che compaiono nella (2.37) sono finiti. Ci`
o accade, supponendo che il
coefficiente sia limitato in e che il termine noto f sia di quadrato integrabile in , ossia
soddisfi
Z
|f |2 dx < + ,
40
T3
T1
T2
T2
T1
Figura 2.4: Situazioni non ammissibili in una triangolazione: i due triangoli T1 e T2 sono
parzialmente sovrapposti (a sinistra); lintersezione tra i triangoli T1 e T2 , oppure T1 e T3 , non
`e un intero lato per entrambi (a destra)
se richiediamo alle funzioni di V di essere anchesse di quadrato integrabile in ,
Z
|v|2 dx < + ,
kvk2 dx < + .
La definizione rigorosa di V `e data in modo tale da garantire che il problema (2.37) ammetta
una e una sola soluzione.
Tra le funzioni di V ci sono tutte le funzioni continue con derivate parziali prime continue in
; ma stanno in V anche le funzioni continue in ed ivi derivabili a pezzi, ossia per le quali
esista una suddivisione di in un numero finito di regioni chiuse C1 , . . . , Cm tali che v ammetta
derivate parziali prime continue e limitate allinterno di ciascuna regione Ci .
` la presenza in V di questultimo tipo di funzioni che permette lapprossimazione del proE
blema variazionale (2.37) mediante il metodo degli elementi finiti. Introduciamo quindi tale
discretizzazione.
2.3.2
22
42
30
57
16
41
55
38
39
56
16
24
21
51
14
46
18
26
36
20
13
29
39
24
40
44
5
44
65
14
31
22
34
10
15
11
43
33
25
3
7
53
45
12
32
37
19
66
31
46
23
10
67
54
1
28
37
12
35
27
25
36
21
45
15
59
28
32
29
41
68
30
43 63
23
50
38
60
52
64
17
33
47
35
49
58
62
61
11
40
27
42
17 19
20
18
34
48
26
41
13
tale parametro rappresenta una misura della finezza della triangolazione. Talvolta scriveremo
T = Th per evidenziare questa lunghezza caratteristica della griglia.
I vertici x dei triangoli di T sono detti i nodi della triangolazione. Distinguiamo tra i nodi
interni, appartenenti a , che supponiamo essere in numero di Nhi , e i nodi di bordo, appartenenti
a , che supponiamo essere in numero di Nhb . Il numero totale di nodi della triangolazione sar`
a
` utile supporre, al fine di una semplificazione logica della presentazione,
dunque Nh = Nhi +Nhb . E
che i nodi interni siano numerati progressivamente da 1 a Nhi ed i nodi di bordo siano numerati
da Nhi + 1 a Nh ; tuttavia tale convenzione, che noi adotteremo nel seguito, non `e affatto richiesta
nella implementazione pratica del metodo.
Indichiamo con xj il j-esimo nodo della triangolazione, avente coordinate (xj1 , xj2 ) = (xj , yj ).
Linsieme
T (j) = {T T : xj T }
(2.38)
contiene tutti i triangoli che hanno xj come vertice (si veda la Fig. 2.6).
Sia T T un qualunque triangolo della triangolazione, e siano xj , xk , xl i suoi tre vertici
(vedi ancora la Fig. 2.6). Lipotesi che il triangolo non sia degenere (cio`e che i tre vertici non
42
siano allineati) equivale alla condizione che i due vettori xj xl e xk xl non siano paralleli,
ossia che il loro prodotto vettoriale non sia nullo:
(xj xl ) (xk xl ) 6= 0 .
Posto
G=
(2.39)
si ha
(xj xl ) (xk xl ) = (det G) e3
e dunque la condizione di non degenerazione di T equivale alla non singolarit`a della matrice G.
Abbiamo inoltre una espressione per larea di T in funzione dei suoi vertici; infatti, ricordando
che il modulo di un prodotto vettoriale rappresenta larea del parallelogramma individuato dai
due vettori, otteniamo
1
(2.40)
area(T ) = |det G| .
2
2.3.3
Definiamo ora le funzioni di approssimazione che useremo in ogni triangolo (gli elementi funzionali del metodo). Esse sono polinomi (in x e y) di grado complessivo k, dove k 0 `e un intero
fissato (il grado complessivo `e il massimo delle somme degli esponenti di x e di y nei monomi
che compongono il polinomio). Il caso pi`
u semplice, lunico che verr`
a da noi sviluppato, `e quello
dei polinomi di grado complessivo 1, ossia delle funzioni affini di tipo p(x, y) = x + y + .
Poniamo dunque
P1 (T ) = {p : T R | p(x, y) = x + y + ,
con , , R} ,
(2.41)
xk
T
xj
43
Ricordando che gli spostamenti ammissibili possono essere funzioni globalmente continue e
derivabili a pezzi, e osservando che i polinomi sono certamente funzioni derivabili, introduciamo linsieme Vh delle funzioni continue che su ogni triangolo di T coincidono con una funzione
affine, ossia poniamo
Vh = {vh : R : vh `e continua e vh|T P1 (T ) per ogni T T } .
(2.42)
Per il problema di Dirichlet omogeneo (2.37), gli spostamenti ammissibili discreti (le funzioni di
forma e test discrete) saranno gli elementi di Vh che si annullano sul bordo ; poniamo quindi
Vh = {vh Vh : vh = 0 su } .
(2.43)
xj1 + xj2 + = vj
xk1 + xk2 + = vk
xl1 + xl2 + = vl
ossia
xj1 xj2 1
vj
xk1 xk2 1 = vk ,
xl1 xl2 1
vl
(2.44)
la cui matrice ha determinante det G 6= 0 (dove G `e la matrice definita in (2.39)), come si vede
sottraendo la terza equazione dalle prime due; pertanto, il sistema ammette una e una sola
soluzione.
Altri gradi di libert`
a possono essere i valori di p nei 3 punti medi dei lati, xjk = 12 (xj + xk ),
1
xkl = 2 (xk + xl ), xlj = 12 (xl + xj ), oppure i 3 momenti di ordine 1 di p,
Z
Z
Z
p(x, y) y dxdy .
p(x, y) x dxdy ,
p(x, y) dxdy ,
T
44
p1|L = p2|L .
Poich`e questi sono due polinomi di primo grado in una variabile, essi coincideranno se ad esempio
assumono lo stesso valore in due punti distinti del lato. La scelta pi`
u naturale di tali punti `e
ovviamente quella degli estremi del lato, ossia dei due vertici comuni ai triangoli T1 e T2 . Quindi,
per incollare due funzioni affini attraverso il lato comune a due triangoli contigui, `e sufficiente
incollare le due funzioni nei due vertici comuni ai due triangoli.
Estendendo tale ragionamento ad ogni coppia di triangoli contigui della triangolazione T , si
vede che per costruire una funzione vh Vh `e sufficiente assegnare i suoi valori vj = vh (xj ), j =
1, . . . , Nh , nei nodi della triangolazione; allinterno di ogni triangolo T lespressione di p = vh|T
sar`
a ottenuta risolvendo il sistema lineare (2.44); il ragionamento precedente ci garantisce che
vh sar`
a automaticamente continua attraverso i lati della triangolazione.
Dunque, una funzione vh Vh `e univocamente determinata dai suoi valori nei nodi della
triangolazione. Possiamo quindi associare ad essa il vettore colonna v = (vj )1jNh RNh .
Notiamo che la scelta di altri gradi di libert`
a in ogni triangolo, quali i valori nei punti medi
dei lati o i momenti di ordine 1 menzionati sopra, non avrebbe permesso un cos` semplice
incollamento delle funzioni affini attraverso i lati; pertanto, quei gradi di libert`
a non sono
indicati per costruire funzioni discrete che siano globalmente continue in .
Supponiamo infine che T sia un triangolo avente un lato L sul bordo . Una funzione
p P1 (T ) si annulla su L se e solo se il polinomio di primo grado in una variabile p|L `e
identicamente nullo; ci`
o accade se esso si annulla in due punti distinti di L, quali ad esempio gli
estremi del lato. Dunque, per annullare una funzione affine su un lato di bordo di un triangolo, `e
sufficiente annullarla nei due vertici del triangolo che definiscono il lato. Pertanto, una funzione
vh Vh sar`
a determinata dai suoi valori vj = vh (xj ), j = 1, . . . , Nhi , nei nodi interni della
triangolazione, mentre i valori nei nodi di bordo saranno nulli. Possiamo quindi associare a vh
i
il vettore colonna v = (vj )1jN i RNh .
h
45
1 j, k Nh .
(2.45)
Osserviamo che se il triangolo T non contiene il vertice xj , allora j si annulla nei 3 vertici del
triangolo e dunque sar`
a identicamente nulla su T . Pertanto, j `e diversa da 0 in tutti e soli i
triangoli che hanno xj come vertice, cio`e nei triangoli di T (j). Il supporto di j `e definito come
lunione di tali triangoli, ossia poniamo
supp j =
T .
(2.46)
T T (j)
Il grafico di j , nel caso in cui xj sia un nodo interno, spiega perch`e tali funzioni siano dette
46
funzioni a piramide (si veda la Fig. 2.8). Le funzioni j formano una base di Vh ,
Vh = vett {j : 1 j Nh } ,
in quanto ogni funzione vh Vh pu`
o essere espressa come
vh (x) =
Nh
X
vj j (x) ,
con vj = vh (xj ) .
(2.47)
j=1
vj j (xk ) =
Nh
X
vj jk = vk = vh (xk ) .
j=1
Pertanto, i due membri della (2.47) coincidono in tutti i nodi della triangolazione, e dunque
coincidono ovunque.
Per ottenere una base di Lagrange in Vh , `e sufficiente limitarsi alle funzioni j con 1 j Nhi .
Infatti, se vh Vh , si ha vj = vh (xj ) = 0 per Nhi + 1 j Nh e dunque la (2.47) diventa
i
vh (x) =
Nh
X
vj j (x) ,
(2.48)
j=1
ossia
Vh = vett {j : 1 j Nhi } .
2.3.4
Possiamo ora tornare al problema (2.8) e introdurre la forma discreta dalla formulazione variazionale (2.37). Per semplicit`a, dora in avanti indicheremo con N = Nhi la dimensione di
Vh .
La formulazione variazionale discreta del problema (2.8) `e la seguente:
uh Vh e soddisfa
Z
Z
(2.49)
f vh dx
per ogni vh Vh .
uh vh dx =
N
X
uk k e usando la linearit`
a della
k=1
1jN .
47
(2.50)
avendo posto
A = (ajk ) RN N ,
con
ajk =
u = (uk ) RN ,
k j dx ,
fj =
f = (fj ) RN ,
Z
f j dx .
(2.51)
2.3.5
Propriet`
a della matrice di rigidezza
La matrice A, i cui elementi sono definiti in (2.50), `e innanzitutto simmetrica, ajk = akj , come
conseguenza della simmetria del prodotto scalare tra due vettori.
Inoltre, essa `e sparsa, ossia la maggior parte dei suoi elementi sono nulli; inoltre, al crescere
della dimensione N come conseguenza del raffinamento della triangolazione, la percentuale degli
elementi non nulli si riduce via via. Per comprendere ci`o, usiamo innanzitutto il fatto che `e
unione dei triangoli di T e scriviamo
XZ
k j dx .
ajk =
T T
Ricordiamo poi che se T 6 T (j), allora j `e identicamente nulla su T e dunque anche il suo
gradiente sar`
a ivi identicamente nullo; quindi
Z
k j dx = 0
se T 6 T (j) oppure se T 6 T (k) ,
T
ossia
ajk =
T T (j)T (k)
Se k = j, abbiamo quindi
ajj =
X Z
T T (j) T
k j dx .
(2.52)
kj k2 dx ;
gli elementi diagonali sono tutti strettamente positivi e sono ottenuti per integrazione sul
supporto della corrispondente funzione di base (si ricordi la (2.46)).
Sia ora k 6= j. Se esiste un triangolo T appartenente a T (j) T (k), esso ha i nodi xj e xk
come vertici; ovviamente, ci`
o `e possibile se e solo se i due nodi sono collegati da un lato della
triangolazione. Dunque, se xj e xk stanno su uno stesso lato (necessariamente non di bordo),
allora T (j) T (k) non `e vuoto: esso `e formato dai due triangoli T1 e T2 che condividono quel
lato; avremo quindi
Z
Z
k j dx ,
con T1 , T2 T (j) T (k) ,
k j dx +
ajk =
T1
T2
48
i nodi in modo che tale differenza sia maggiorata da C2 N , con C2 > 0 indipendente da h. Se
si adotta una numerazione di questo tipo, la matrice A sar`
aa banda, cio`e tale che ajk = 0 se
|j k| > m, con semi-ampiezza di banda m proporzionale a N .
Sono state sviluppate sofisticate tecniche di riordinamento (reordering) dei nodi, a partire
dalla numerazione prodotta durante la generazione della triangolazione. Esse hanno lo scopo di
limitare il fenomeno dello riempimento (fill-in) nella successiva fattorizzazione di A, quando si
usi un metodo diretto per la risoluzione del sistema lineare (2.50) (di tipo Gauss, basato sulla
fattorizzazione PA = LU, oppure di tipo Cholesky, basato sulla fattorizzazione A = LLT ). Pi`
u
precisamente, tali tecniche evitano il pi`
u possibile la generazione di elementi non nulli nei fattori
L o U, in corrispondenza degli elementi nulli di A. Ci`
o riduce sia il costo di fattorizzazione, sia
il costo di risoluzione del sistema lineare per sostituzione allindietro e in avanti. Si rinvia alla
letteratura specialistica per maggiori dettagli.
Mostriamo infine che la matrice di rigidezza `e definita positiva. Non avendo a disposizione
una semplice espressione per gli elementi di matrice, come nella Sez. 1.2, a causa della arbitrariet`
a della triangolazione, non possiamo usare il teorema di Gershgorin per dimostrare che tutti
gli autovalori di A sono strettamente positivi. Verifichiamo invece la condizione equivalente
v T Av > 0 per ogni vettore v 6= 0. La componente j-esima del vettore Av `e data da
!
Z
Z
N
N
N
X
X
X
(Av)j =
k j dx =
ajk vk =
vk k j dx ,
vk
k=1
k=1
k=1
N
X
vj (Av)j =
vj
j=1
j=1
N
X
N
X
k=1
vk k
N
X
k=1
vk k
N
X
vj j dx .
j=1
j dx
49
P
PN
Indichiamo con vh Vh la funzione N
k=1 vk k =
j=1 vj j (le due espressioni coincidono, in
quanto k e j sono indici muti di somma). Abbiamo quindi
Z
Z
T
kvh k2 dx 0
(2.53)
vh vh dx =
v Av =
2.3.6
Abbiamo visto (si ricordi la (2.52)) che il generico elemento non nullo della matrice di rigidezza
`e una somma di contributi provenienti
da un certo numero di triangoli di T . Lo stesso vale per
R
il termine noto: lelemento fj = f j dx pu`
o essere scritto come
X Z
f j dx .
(2.54)
fj =
T T (j) T
In un codice a elementi finiti, la costruzione della matrice di rigidezza e del vettore dei termini
noti pu`
o essere logicamente suddivisa in due fasi distinte:
- un ciclo sui triangoli di T , in cui per ogni triangolo si calcolano i contributi di quel
triangolo alla matrice di rigidezza e al vettore dei termini noti;
- lassemblaggio della matrice e del vettore, in cui i contributi provenienti dai vari triangoli
vengono sommati opportunamente per dar vita agli elementi di matrice e di vettore.
In realt`
a, per motivi di efficienza, la seconda fase si realizza in pratica nel corso dellesecuzione
della prima: man mano che i contributi di un triangolo si rendono disponibili, essi sono aggiunti
al valore corrente dei corrispondenti elementi di matrice e di vettore (inizialmente posti a 0);
solo al termine del ciclo sui triangoli, tutti gli elementi di matrice e di vettore avranno assunto
il valore corretto.
Fissiamo dunque la nostra attenzione su un generico triangolo T della triangolazione, che
supponiamo avere vertici xj1 , xj2 e xj3 , con 1 j1 , j2 , j3 Nh . Se tutti i vertici di T sono
50
x56 = x[1]
x63 = x[3]
Figura 2.9: Esempio di passaggio dalla numerazione globale dei nodi a quella locale sul triangolo.
Gli indici locali sono racchiusi tra parentesi quadre per distinguerli da quelli globali
a contributo agli elementi di matrice
interni (cio`e se 1 j1 , j2 , j3 Nhi = N ), allora il triangolo d`
aj1 ,j1 , aj1 ,j2 , aj1 ,j3 , aj2 ,j2 , aj2 ,j3 , aj3 ,j3 e a quelli con indici scambiati, e agli elementi di vettore
fj1 , fj2 , fj3 . Se invece uno o due vertici sono di bordo, allora saranno utilizzati nel caso di
condizioni al bordo di Dirichlet omogenee solo i contributi relativi ai nodi interni, perch`e solo
a questi nodi sono associate delle incognite. Tuttavia, di norma vengono calcolati i contributi
relativi a tutti i vertici del triangolo, in quanto essi intervengono nel caso di condizioni al bordo
di Dirichlet non omogenee e di Neumann (si veda la Sez. 2.3.8).
` conveniente passare dalla numerazione globale j1 , j2 , j3 dei nodi alla numerazione locale che
E
usa gli indici 1, 2, 3 (si veda la Fig. 2.9 per un esempio di corrispondenza tra numerazioni locale
e globale). Nel seguito useremo lettere greche (, , . . . ) per indicare gli indici locali. Dunque,
nel seguito indicheremo con x , = 1, 2, 3, i vertici xj del triangolo, e con le restrizioni
a T delle funzioni di base, j |T . Le funzioni P1 (T ) valgono 1 nel nodo e 0 negli altri
due nodi, cio`e sono le funzioni della base di Lagrange locale su T . Nella numerazione locale, il
contributo
Z
Z
dx ,
1 , 3 ,
j j dx
si rappresenta come
T
e similmente
Z
f j dx
si rappresenta come
f dx ,
T
13.
Possiamo dunque introdurre la matrice di rigidezza dellelemento, cio`e del triangolo, (detta
elemental stiffness matrix nella letteratura anglosassone)
Z
(T )
(T )
dx ,
con a =
A(T ) = (a )1,3 R33 ,
T
(T )
(f(T ) )13
R ,
con
f(T )
f dx ,
T
(non si confonda lapice (T ), che fa riferimento al triangolo T , con lapice T che indica la
trasposizione di una matrice o di un vettore).
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
1
area(T )
dx
0 = (x ) (x ) = (x x ) ,
con 6= ,
con 6= , 6= .
(2.56)
dove e indicano i due indici diversi da nellinsieme {1, 2, 3}; si noti che la matrice del
sistema `e una particolare matrice G come definita in (2.39). Si ha quindi
,x =
x2 x2
,
det G
,y =
x1 x1
.
det G
(2.57)
x2 x2
,
2area(T )
,y =
x1 x1
;
2area(T )
(2.58)
x21 x31
,
2area(T )
x31 x11
=
,
2area(T )
x11 x1
=
.
2area(T )
1,x =
1,y =
2,x
2,y
3,x
3,y
52
(2.60)
che permette ad esempio di calcolare il gradiente di una funzione di base, noti gli altri due. Una
conseguenza di questultima relazione `e che la somma gli elementi di ogni riga (o colonna) della
matrice A(T ) `e nulla. Infatti, per = 1, 2, 3, si ha
Z
3
3 Z
3
X
X
X
(T )
(2.61)
dx
dx =
a, =
T
=1 T
=1
=1
0 dx = 0 .
(2.62)
Tale propriet`a fornisce unutile prova del 9 sulla correttezza del calcolo degli elementi della
matrice di rigidezza di un elemento.
Anche per la matrice di rigidezza globale A vale la propriet`a che la somma gli elementi di
ogni riga (o colonna) `e nulla, relativamente per`
o alle righe (o colonne) associate ai vertici v j tali
che tutti i vertici dei triangoli di T (j) siano nodi interni di T . Infatti, in tal caso, la somma di
tutte le funzioni di base `e costante = 1 sul supporto di j .
` possibile giungere alle (2.58) anche attraverso un ragionamento puraOsservazione 2.3.1 E
mente geometrico. Si osservi infatti che la funzione affine si annulla lungo il lato L di estremi
x e x (che supponiamo ordinati in senso antiorario) ed `e costante lungo ogni retta parallela a
tale lato. Conseguentemente, il suo gradiente `e perpendicolare al lato,
(x x ) = 0 ;
tenendo conto che la funzione cresce muovendosi dal lato L verso il vertice opposto x , il
suo gradiente punter`
a verso linterno del triangolo (si veda la Fig. 2.10), si ha quindi
= (x2 x2 , (x1 x1 ))
53
per un opportuno > 0. Tale costante `e determinata dal fatto che, muovendosi nella direzione
del gradiente dal lato L al vertice x , la funzione si incrementa di 1; in altri termini, detta
HT laltezza del triangolo rispetto alla base L, si ha
1 = k k HT .
Essendo |L| HT = 2area (T ) con |L| = kx x k lunghezza del lato L, si ottiene facilmente
= 1/2area (T ).
Osservazione 2.3.2 Per calcolare le componenti di , in alternativa alluso delle formule
(2.57) o (2.58), pu`
o essere pi`
u agevole sfruttare il fatto che esse sono costanti in T : `e quindi
sufficiente individuare due segmenti, disposti rispettivamente in posizione orizzontale e verticale,
alle estremit`a dei quali si conoscano i valori di . I rapporti incrementali di costruiti sui
due segmenti forniscono le componenti cercate. Lesempio seguente illustra la procedura.
Esempio 2.3.3 Costruiamo la matrice di rigidezza del Laplaciano ( = 1) sul triangolo T di
vertici x1 = (h, 0), x2 = (0, h) e x3 = (h, 0).
Calcoliamo i gradienti delle funzioni di base, usando la procedura descritta nellOsservazione
precedente. La funzione 1 passa dal valore 0 al valore 1 lungo il segmento orizzontale di estremi
x3 e x1 , dunque
1
10
1
=
=
,
x
h (h)
2h
mentre passa dal valore
1
2
1
1
1
1
, 2h
. Similmente, si ha 3 = 2h
, 2h
. Invece, la funzione 2 `e
pertanto, 1 = 2h
costante = 0 sul segmento orizzontale di estremi x3 e x1 , mentre passa dal
valore 0 al valore 1
lungo in segmento verticale di estremi lorigine e x2 ; quindi 2 = 0, h1 .
Larea del triangolo vale h2 . Applicando la formula (2.55), otteniamo facilmente la matrice
cercata:
1
1
0
2 2
A(T ) = 12
1 21 .
0 12
1
2
Passiamo infine al calcolo degli elementi del vettore dei termini noti. Usiamo la seguente
formula di integrazione numerica
Z
1
(2.63)
g dx g(x1 ) + g(x2 ) + (x3 ) area(T ) ,
3
T
che `e esatta per funzioni affini e generalizza al caso bidimensionale la formula dei trapezi su un
intervallo reale.
54
T T (j)
2.3.7
Comportamento dellerrore
Valgono anche nel caso bidimensionale risultati analoghi a quelli esposti nel Paragrafo 1.5.
Vale la stima (1.60) per la crescita del numero di condizionamento della matrice A in funzione
del parametro h.
Inoltre, la convergenza a zero dellerrore u uh pu`
o essere stimata nel modo seguente. Sia
1/2
Z
v 2 dx
kvk2 =
la norma quadratica,
kvkE =
la norma dellenergia e
Z
1/2
kvk dx
2
Sotto questa ipotesi, per una triangolazione regolare, si ha che lerrore tende a zero quadraticamente in h se misurato nella norma quadratica, ossia
ku uh k2 Ch2 kukH,2 ,
e linearmente in h se misurato nella norma dellenergia, ossia
ku uh kE ChkukH,2 .
Se in aggiunta u ha le derivate parziali seconde di norma del massimo limitata, ossia se
2
u
< + ,
kukH, = max
1i,j2
xi xj
allora lerrore tende a zero quasi quadraticamente in h se misurato nella norma del massimo,
ossia si ha
ku uh k Ch2 | log h|3/2 kukH, .
2.3.8
55
Indichiamo brevemente come modificare la discretizzazione a elementi finiti sopra presentata, nel
caso di condizioni al bordo di Dirichlet non omogenee o di condizioni di Neumann. Trattiamo
entrambi i casi nellambito di ununica formulazione, supponendo che il bordo sia suddiviso
in due parti disgiunte, D e N , di cui almeno D non sia vuota (la membrana elastica deve
essere vincolata almeno su una parte di bordo). Consideriamo il problema ai valori al bordo
(u) = f in ,
u=g
su D ,
(2.66)
=
su N ,
n
con g e funzioni assegnate. La seconda delle (2.66) esprime appunto la condizione di Dirichlet
non omogenea, mentre la terza esprime la condizione di Neumann, ovvero lassegnazione della
componente normale del flusso = u attraverso N . Ricordiamo che nella Sezione 1.6.2
abbiamo trattato lanalogo problema monodimensionale.
Linsieme V (g) degli spostamenti ammissibili, o funzioni di forma, `e ora composto da funzioni
che valgono g su D , mentre assumono valori arbitrari su N . Linsieme delle variazioni ammissibili, o funzioni di test, sar`
a V (0). La formulazioni variazionale si basa sulla relazione (2.36), in
cui u V (g) `e ora la soluzione del problema (2.66) mentre v V (0) `e una qualunque funzione
test. Lintegrale sul bordo a secondo membro pu`
o essere scritto come
Z
Z
Z
Z
u
u
u
v ds ,
v ds =
v ds +
v ds = 0 +
D n
N n
N
n
avendo tenuto conto che v si annulla su D e che u soddisfa la condizione di Neumann su N .
Pertanto, la formulazione variazionale del problema `e
u V (g) e soddisfa
Z
Z
Z
(2.67)
v ds
per ogni v V (0) .
f v dx +
u v dx =
Si noti come la condizione di Dirichlet sia presa in conto nella scelta delle funzioni di forma, mentre la condizione di Neumann sia inserita allinterno delle equazioni integrali. Si pu`
o dimostrare
che se u `e soluzione di (2.67) ed `e abbastanza regolare, allora `e anche soluzione di (2.66).
Passiamo ora alla discretizzazione. Supponiamo che la triangolazione sia stata costruita in
modo tale che D sia unione di lati di triangoli. Supponiamo inoltre (per pura semplicit`a
espositiva) che i nodi di bordo su N siano numerati per primi rispetto a quelli su D .
Linsieme degli spostamenti ammissibili discreti, o funzioni di forma discrete, viene definito
come
Vh (g) = {vh Vh : vh (xj ) = g(xj ) per ogni xj D } ,
(2.68)
dove Vh `e stato introdotto in (2.42); linsieme delle variazioni ammissibili discrete, o funzioni test
discrete, sar`
a dunque Vh (0). Le funzioni di Vh (g) e di Vh (0) sono univocamente determinate dai
loro valori nei nodi interni e appartenenti a N della triangolazione. Tali nodi sono dunque quelli
che portano i gradi di libert`
a; indichiamo ancora con N il loro numero (con Nhi N < Nh ). Si
avr`a pertanto
Vh (0) = vett {j : 1 j N } ,
56
N
X
Nh
X
uk k (x) +
k=1
gk k (x) ,
(2.69)
k=N +1
uh Vh (g) e soddisfa
Z
Z
Z
vh ds
per ogni vh Vh (0) .
f
v
dx
+
u
v
dx
=
h
h
h
N
(2.70)
Sostituendo lespressione (2.69) per uh a primo membro e portando a secondo membro quanto
dipende dal dato g, abbiamo
N
X
k=1
ajk uk =
f j dx +
j ds
Nh
X
k=N +1
ajk gk ,
1jN ,
(2.71)
sia quelle relative ai nodi interni sia quelle relative ai nodi di bordo, contribuiscono a definire
tali equazioni (per un dato g arbitrario). Si noti inoltre che lintegrale su N a secondo membro
`e nullo per tutte le funzioni j associate ai nodi interni; esse infatti assumono valore nullo su
.
Il sistema precedente pu`
o essere scritto come Au = f , essendo f il vettore (dipendente dai
dati f , g e ), che raccoglie i secondi membri delle (2.71). Le propriet`
a della matrice A sono
del tutto simili a quelle viste per il problema di Dirichlet omogeneo.
Condizioni al bordo di Robin
La condizione di Neumann su N in (2.66) pu`
o essere generalizzata nella cosiddetta condizione
di Robin
u
+ u =
su N ,
(2.72)
n
con 0 coefficiente assegnato. Ad esempio, si ottiene una tale condizione imponendo che lo
sforzo di taglio sia proporzionale alla differenza tra uno spostamento u
assegnato e lo spostamento
effettivo u, ossia
u
= (
u u)
su N ;
(2.73)
n
questa relazione ha la forma (2.72) ponendo =
u.
La condizione di Robin, come quella di Neumann, viene incorporata nella formulazione variazionale del problema attraverso la relazione (2.36). Imponendo ancora una condizione di
Dirichlet su D , si ha ora, per ogni funzione test v V (0),
Z
Z
Z
Z
Z
u
u
v ds .
u v ds +
(u + ) v ds =
v ds =
v ds =
N
N
N n
N
n
57
u V (g) e soddisfa
Z
Z
Z
Z
(2.74)
v ds
per ogni v V (0) ;
f v dx +
u v ds =
u v dx +
essa differisce da quella relativa al problema di Neumann solo per la presenza dellintegrale su
N a primo membro.
La corrispondente discretizzazione fornisce ancora le equazioni algebriche (2.71), in cui ora gli
elementi della matrice di rigidezza sono dati da
Z
Z
k j ds .
ajk = k j dx +
Poich`e 0 per ipotesi, non `e difficile verificare che la matrice A, simmetrica, risulta ancora
definita positiva. Si noti che lintegrale su N `e nullo per tutte le funzioni j associate ai nodi
interni; in altri termini, la condizione di Robin modifica la matrice di rigidezza solo nelle righe
corrispondenti ai nodi che giacciono su N .
58
Capitolo 3
(3.1)
essendo A una matrice quadrata di ordine n, non singolare e sparsa (che supponiamo avere al
pi`
u m << n elementi diversi da 0 in ogni riga), b il vettore colonna dei termini noti e x il vettore
colonna delle incognite.
La soluzione del sistema mediante un metodo diretto, quale ad esempio il metodo di eliminazione di Gauss con pivoting parziale sulle righe, equivale a fattorizzare la matrice PA, ottenuta
effettuando una opportuna permutazione delle righe di A mediante lapplicazione di una matrice
di permutazione P, in forma
PA = LU ,
con L e U matrici triangolari, rispettivamente inferiore e superiore. Se A `e una matrice simmetrica e definita positiva, P pu`
o essere scelta come la matrice identica I, mentre U pu`
o coincidere
con LT ; in altri termini, si ha A = LLT (fattorizzazione di Choleski).
La soluzione del sistema (3.1), che indicheremo con x, `e ottenuta dalla relazione
LUx = PAx = Pb
risolvendo dapprima il sistema
Ly = Pb
per sostituzione in avanti, e poi risolvendo il sistema
Ux = y
per sostituzione allindietro. Luso di un metodo diretto pu`
o avere un costo proibitivo, sia
in termini di occupazione di memoria, poich`e in genere le matrici L e U hanno un numero
molto maggiore di elementi diversi da 0 di A (fenomeno del fill-in), sia in termini di numero di
operazioni richieste per ottenere la soluzione.
Un metodo iterativo per la risoluzione del sistema (3.1) genera, a partire da un valore di
tentativo x0 , una successione {xk }k0 che converge verso x. Esempi classici di metodi iterativi sono i metodi di Jacobi, di Gauss-Seidel e di rilassamento, che si basano su opportune
59
60
x `e soluzione di (3.1)
Inoltre, per k ,
xk x
r(x) = 0 .
rk = r(xk ) 0 .
Una situazione di notevole importanza `e quella in cui A `e una matrice simmetrica e definita
positiva. Associamo al sistema (3.1) il funzionale 1
J : Rn R,
J(x) =
1 T
x Ax xT b .
2
(3.3)
(3.4)
e pi`
u precisamente x `e lunico punto di minimo di J. Infatti, osservando che b = Ax ed usando
la simmetria di A, si ha
J(x) =
=
=
=
1 T
x Ax xT Ax
2
1
1 T
1
x Ax xT Ax xT Ax
2
2
2
1 T
1 T
1 T
1
1
x Ax x Ax x Ax + xT Ax xT Ax
2
2
2
2
2
1
1 T
T
(x x) A(x x) x Ax .
2
2
Dicesi funzionale (reale) ogni funzione definita in uno spazio vettoriale e a valori in R.
61
1
2
n
X
r,s=1
ars xr xs
n
X
br xr rispetto a xi , i = 1, . . . , n e tenendo
r=1
X
J
1X
1X
ais xs bi
ais xs +
ari xr bi =
(x) =
xi
2 s=1
2 r=1
s=1
e dunque il gradiente di J in x `e dato da
J(x) = Ax b = r(x) .
(3.6)
1 i, j n ;
(3.7)
1
1
1
(x + x)T A(x + x) (x + x)T b = xT Ax xT b + (Ax b)T x + xT Ax
2
2
2
e dunque
1
1
J(x + x) = J(x) r(x)T x + xT Ax = J(x) + J(x)T x + xT HJ(x)x .
2
2
(3.8)
Lultima espressione rappresenta lo sviluppo di Taylor del funzionale J in x relativo allincremento x. Lassenza di ulteriori termini dopo quello del secondo ordine mostra che J `e un
funzionale quadratico (una parabola con la concavit`a rivolta verso lalto se n = 1,
un paraboloi
2 1
de ellittico se n = 2, e cos via). Il caso n = 2 `e illustrato dalla Figura 3.1, per A =
1
2
3
eb=
.
0
Tale comportamento `e confermato dalla struttura delle variet`
a di livello di J, ossia degli
n
insiemi {x R : J(x) = costante} (curve di livello se n = 2, superfici di livello se n = 3, etc.).
Per comprendere tale struttura, incominciamo con lo studiare gli insiemi
{z Rn : zT Az = c2 },
n
X
i=1
i yi2 ,
avendo posto y = WT z ,
62
n
X
i=1
yi2
c
i
2 = 1 .
(3.9)
Ci`
o mostra he le variet`
a di livello del funzionale K(z) = zT Az sono degli ellissoidi (ellissi se n =
2) aventi gli assi principali orientati secondo gli autovettori di A; la lunghezza di ciascun semiasse
`e proporzionale al reciproco della radice quadrata del corrispondente autovalore. Ricordando la
(3.5), le variet`
a di livello di J si ottengono da queste per traslazione nel punto x, come mostra
la Figura 3.2 nel caso n = 2.
Osservazione 3.0.4 Consideriamo il sistema (2.50) Au = f prodotto dalla discretizzazione
mediante elementi finiti del problema della membrana elastica. In tal caso, il funzionale J =
J(v) = 21 v T Av v T f `e definito su RN ; possiamo darne una interpretazione fisica nel modo
5
3
2
`
3.1. I METODI DI DISCESA: GENERALITA
63
P
seguente. Sia vh = N
j=1 vj j Vh lo spostamento ammissibile discreto associato al vettore
v = (vj )1jN . Ricordiamo la (2.53) e parimenti osserviamo che
Z
Z
Z
N
N
X
X
T
vj j dx =
f vh dx .
f
f j dx =
vj
v f=
j=1
Pertanto, si ha
1
J(v) =
2
j=1
kvh k dx
f vh dx = E(vh ) ,
(3.10)
(3.11)
esprime quindi la propriet`a che la soluzione uh del problema variazionale discreto (2.49) `e la
configurazione che minimizza lenergia totale della membrana tra tutte le configurazioni discrete
ammissibili.
Similmente, si pu`
o verificare che la soluzione u V del problema variazionale esatto (2.37) `e
caratterizzata dalla condizione
E(u) = min E(v) ,
vV
che esprime quindi il Principio di Minimo dellEnergia Totale: la membrana assume allequilibrio
la configurazione che rende minima lenergia totale del sistema. Tale Principio `e del tutto
equivalente al Principio dei Lavori Virtuali.
3.1
La struttura del funzionale J, ed in particolare la (3.4), suggerisce una strategia per approssimare
x: costruire una successione {xk } avente la propriet`a che il valore del funzionale decresca nel
passaggio da xk a xk+1 , avvicinandosi via via al valore minimo. Un algoritmo costruito in base
a tale strategia prende il nome di metodo di discesa.
Un metodo di discesa `e definito da una relazione ricorsiva del tipo
xk+1 = xk + k pk ,
(3.12)
(3.13)
64
rk
1
xk+1
k pk
xk
J(xk )
pk
1
(3.14)
I vari metodi di discesa si differenziano per la scelta del vettore di discesa. Infatti, una volta
fissato tale vettore pk , il passo di discesa k `e determinato univocamente dalla condizione che
il funzionale J abbia la massima riduzione in quella direzione (line-search). Ci`
o significa che la
k
k
k
funzione () = J(x + p ) assume il valore minimo in . Ricordando la (3.8), si ha
1
() = J(xk ) (rk )T pk + 2 (pk )T Apk ,
2
il che mostra che () `e una parabola con la concavit`a rivolta verso lalto, essendo (pk )T Apk > 0.
Il punto di minimo, caratterizzato dalla relazione () = (rk )T pk +(pk )T Apk = 0, `e dunque
dato da
(rk )T pk
.
(3.15)
k = k T
(p ) Apk
Geometricamente, il punto xk+1 = xk + k pk `e il punto di tangenza della retta xk + pk con
una variet`
a di livello di J (si veda la Fig. 3.3). Ricordando che il gradiente in ogni punto `e
ortogonale alla variet`
a di livello passante per quel punto, si ha J(xk+1 )T pk = 0, ossia
(rk+1 )T pk = 0 .
(3.16)
(3.17)
65
xk
k rk
xk+1
xk+2
rk+1
xk+3
rk+2
rk
2
1
3.2
(3.18)
vale a dire nel muoversi nella direzione di massima discesa locale (steepest descent). In base alla
(3.16), si ha
(rk+1 )T rk = 0 ,
(3.19)
ossia i gradienti sono a due a due ortogonali (si veda la Figura 3.4).
Lalgoritmo del gradiente `e dunque:
x0 arbitrario
r0 = b Ax0
Per k = 0, 1, . . . fino a convergenza
zk = Ark
(rk )T rk
k = k T k
(r ) z
k+1
x
= xk + k rk
rk+1 = rk k zk
(3.20)
Si noti che ad ogni iterazione si esegue un solo prodotto matrice-vettore (per il calcolo di zk ).
Esso costituisce la parte pi`
u costosa dellalgoritmo, richiedendo fino a mn operazioni (ricordiamo che m indica il massimo numero di elementi non nulli in una riga di A). Gli altri passi
dellalgoritmo (calcolo di prodotti scalari e aggiornamento di vettori) richiedono un numero di
operazioni dellordine di n.
66
kxkA = xT Ax ,
x Rn ,
associata alla matrice A (detta norma dellenergia), si pu`
o dimostrare che
k
kx xkA
cond2 (A) 1
cond2 (A) + 1
k
kx0 xkA ,
k0,
(3.21)
max
1 indica il numero di condizionamento di A nella norma euclidea. Si
min
noti che la quantit`
a
cond2 (A) 1
2
=1
<1
cond2 (A) + 1
cond2 (A) + 1
`e tanto pi`
u vicina a 1 quanto cond2 (A) `e grande; dunque, la convergenza della successione {xk }
` facile stimare il numero massimo di
`e tanto pi`
u lenta quanto la matrice A `e malcondizionata. E
iterazioni necessarie a ridurre lerrore relativo, nella norma dellenergia, di una quantit`a > 0.
Infatti, tenuto conto della (3.21), imponiamo che
kxk xkA
kx0 xkA
cond2 (A) 1
cond2 (A) + 1
k
<;
passando ai logaritmi, si ha
2
k log 1
cond2 (A) + 1
da cui
k>
< log ,
log
.
log 1 cond22(A)+1
(3.22)
cond2 (A) + 1
cond2 (A) + 1
cond2 (A)
e dunque
1
(3.23)
k >
2 | log | cond2 (A) .
Se ne conclude che il numero di iterazioni necessarie a portare lerrore relativo al di sotto di una
soglia `e stimabile in modo proporzionale tanto al modulo del logaritmo di quanto al numero
di condizionamento di A.
In pratica, per arrestare lalgoritmo, si impone una condizione del tipo krk k/kr0 k < tol oppure
kxk xk/kxk k < tol, dove la norma `e quella euclidea e tol rappresenta una tolleranza relativa.
Nel caso di matrici malcondizionate, `e preferibile imporre entrambe le condizioni nel test di
arresto, vale a dire
kxk xk
krk k
<
tol
,
< tol2 .
1
kr0 k
kxk k
3.3
67
(pk )T Ark
.
(pk )T Apk
(3.24)
j, k 0 , j 6= k .
(3.25)
j, k 0 , j 6= k .
(3.26)
(rk+1 )T rk+1
.
(rk )T rk
(3.27)
68
xk
xk+1
rk+1
pk+1
xk+2
pk
2
1
Figura 3.5: Un passo del metodo del gradiente coniugato. I vettori pk e pk+1 sono A-coniugati
Lagoritmo del gradiente coniugato `e dunque:
x0 arbitrario
r0 = b Ax0
p0 = r0
Per k = 0, 1, . . . fino a convergenza
zk = Apk
(rk )T pk
(pk )T zk
k+1
x
= xk + k pk
rk+1 = rk k zk
k =
(3.28)
(rk+1 )T rk+1
(rk )T rk
= rk+1 + k+1 pk
k+1 =
pk+1
Si noti che ancora lalgoritmo richiede un solo prodotto matrice-vettore per iterazione.
Discutiamo ora la convergenza del metodo. Una prima, notevole propriet`a segue dalla (3.26). I
residui r0 , . . . , rn1 formano un sistema ortogonale in Rn ; se essi sono tutti diversi da 0, formano
una base in tale spazio. Pertanto, l(n + 1)-esimo residuo rn , essendo ortogonale a ciascuno di
essi, sar`
a nullo, e dunque xn = x. In altri termini, il metodo del gradiente coniugato fornisce in assenza di errori dovuti allaritmetica di macchina - la soluzione del sistema lineare (3.1) in al
pi`
u n iterazioni. In effetti, tale metodo fu proposto nel 1952 da Hestenes e Stiefel come metodo
diretto. Esso viene ora considerato come un metodo iterativo perch`e, se n `e molto grande e la
matrice non `e malcondizionata, si ottiene una buona approssimazione della soluzione dopo un
numero di iterazioni molto minore di n. La successiva analisi di convergenza evidenzia questo
fenomeno.
69
I metodi del gradiente e del gradiente coniugato fanno parte dei cosiddetti metodi di Krylov.
Fissato x0 arbitrario e posto r0 = b Ax0 , indichiamo con
K(A, r0 ; k) = span{r0 , Ar0 , . . . , Ak1 r0 } ,
k1,
lo spazio vettoriale, detto spazio di Krylov, generato dal residuo iniziale r0 e dalle successive
potenze di A applicate a tale vettore. Un metodo iterativo `e detto di Krylov se la successione
{xk } da esso generata `e tale che
xk x0 + K(A, r0 ; k)
per ogni k 1 .
Non `e difficile verificare che le successioni generate dai metodi del gradiente e del gradiente
coniugato soddisfano tale condizione. Nel caso del metodo del gradiente coniugato, ciascuna
iterata xk , che - ricordiamo - `e definita da un processo di minimizzazione del funzionale J lungo
una retta, risulta in realt`
a punto di minimo vincolato di J relativo a una variet`
a di dimensione
k; precisamente, si pu`
o dimostrare che
J(xk ) =
min
J(x) .
cond2 (A) 1
cond2 (A) + 1
!k
kx0 xkA ,
k0.
(3.29)
Procedendo come per il metodo del gradiente, qualora cond2 (A) >> 1, si stima il numero di
k xk
A
< in
iterazioni necessarie per avere kx
kx0 xkA
p
1
cond2 (A) .
k >
|
log
|
2
(3.30)
Dal confronto con la (3.23) appare evidente il guadagno rispetto al metodo del gradiente.
3.4
Se la matrice A non `e simmetrica e definita positiva, viene meno lequivalenza diretta tra la
risoluzione del sistema (3.1) e la minimizzazione di un funzionale quadratico.
Un modo per ricondursi a tale situazione `e quello di osservare che x `e soluzione di (3.1) se e
solo se `e soluzione del sistema
AT Ax = AT b .
(3.31)
Queste equazioni vengono dette le equazioni normali. La matrice simmetrica AT A risulta definita positiva se e solo se A `e non singolare; pertanto, il sistema precedente pu`
o essere risolto
mediante il metodo del gradiente coniugato. Tuttavia, il numero di condizionamento di AT A `e
il quadrato di quello di A, ed un prodotto matrice-vettore z = AT Ap costa il doppio rispetto
ad un prodotto z = Ap.
70
Sono stati quindi proposti metodi alternativi, molti dei quali rientrano nella classe dei metodi
di Krylov. Essi definiscono xk+1 a partire da xk ancora nella forma
xk+1 = xk + k pk ,
con k definito da un processo di ottimizzazione monodimensionale e pk K(A, r0 ; k + 1). Ricordiamo, tra tali metodi, il metodo del gradiente bi-coniugato stabilizzato (BiCGStab method),
che si basa sulla costruzione di una successione di residui r0 , . . . , rk , . . . che non sono fra loro
ortogonali, ma sono ortogonali agli elementi di una successione ausiliaria r0 , . . . , rk , . . . . Un altro
metodo oggi molto popolare `e il metodo del minimo residuo generalizzato (GMRes method), che
si basa su un processo di ortogonalizzazione effettuato in ciascuno spazio di Krylov. Il metodo
GMRes offre la garanzia matematica della convergenza a x della successione da esso generata.
Tuttavia, il metodo richiede di tenere in memoria un numero di vettori pari al numero di iterazioni compiute. In pratica, ci`
o risulta proibitivo; esistono allora versioni computazionalmente
meno costose, quali ad esempio il Restarted GMRes method, in cui dopo aver effettuato un numero fissato di iterazioni di GMRes, si ricomincia dallultimo punto calcolato. Queste versioni,
per`
o, hanno la garanzia di convergere soltanto se la parte simmetrica 21 (A + AT ) della matrice
risulta definita positiva.
3.5
Il precondizionamento
(3.32)
dove P `e una matrice non singolare avente le seguenti propriet`a: (i) cond2 (P1 A) << cond2 (A),
(ii) gli elementi di P sono calcolabili in modo poco costoso, (iii) un prodotto matrice-vettore
y = P1 v, o equivalentemente la risoluzione di un sistema lineare Py = v pu`
o essere effettuato
ad un costo confrontabile con quello del calcolo di y = Av. Una matrice avente queste propriet`a
dicesi matrice di precondizionamento per A. Ovviamente, la matrice che realizza in modo
ottimale la condizione (i) `e ... la matrice P = A, per la quale si ha cond2 (P1 A) = cond2 (I) = 1 !
Ma A non soddisfa le condizioni (ii) e (iii). Tuttavia losservazione suggerisce di cercare P come
una opportuna approssimazione della matrice A.
Una strategia che porta ad una matrice di precondizionamento sovente efficace consiste nel
costruire una fattorizzazione incompleta della matrice A. Illustriamo lidea nel caso particolare
ma significativo in cui A sia una matrice simmetrica e definita positiva, e molto sparsa. Essa
ammette allora la fattorizzazione di Choleski A = CCT , con C triangolare inferiore ad elementi
` possibile
diagonali strettamente positivi, ma non pi`
u sparsa a causa del fenomeno del fill-in. E
per`
o costruire facilmente una matrice sparsa C ancora triangolare inferiore e ad elementi diagonali strettamente positivi, con le seguenti propriet`a: gli elementi diversi da 0 sono soltanto
quelli aventi gli stessi indici degli elementi diversi da 0 nella parte triangolare inferiore di A;
3.5. IL PRECONDIZIONAMENTO
71
j>k,
ajk = 0 cjk = 0 ,
jk,
n
X
cjr ckr = ajk , j k .
ajk 6= 0
r=1
Py0 = r0
p0 = y 0
(yk )T rk
(pk )T zk
= xk + k pk
rk+1 = rk k zk
Pyk+1 = rk+1
(yk+1 )T rk+1
(yk )T rk
k+1
=y
+ k+1 pk
k+1 =
pk+1
(3.33)
72
Metodo
Gradiente
Gradiente Coniugato
Gradiente Coniugato Precondizionato
Iter vs condizionamento
Iter vs h o N
O(cond2 (A))
p
O( cond2 (A))
q
O( cond2 (P 1 A))
O(h2 ) = O(N 2 )
O(h1 ) = O(N )
O(h1/2 ) = O( N )
Tabella 3.1: Costo di vari metodi iterativi in funzione dei parametri di griglia
3.5.1
Consideriamo la matrice A generata dalla discretizzazione alle differenze finite centrate dellequazione di Poisson in due dimensioni, e definita in (2.25). La pi`
u semplice fattorizzazione
incompleta di Choleski consiste nel costruire il fattore triangolare inferiore C, avente elementi cjk
diversi da zero soltanto sulla diagonale principale (k = j) e sulle due sottodiagonali definite dalle
relazioni k = j 1 e k = j N . Tali elementi sono univocamente determinati dalle equazioni
2
N
X
r=1
cjr ckr =
k
X
r=1
1 j N 2,
k = j, j 1, j N ,
che sono in numero pari agli elementi incogniti (si noti che nella seconda somma si `e tenuto
conto del fatto che ckr = 0 se r > k). Una variante, pi`
u efficiente, consiste nel determinare
P
gli elementi diagonali di C non attraverso le condizioni jr=1 c2jr = ajj , ma chiedendo che la
somma degli elementi in ciascuna riga del prodotto CC T coincida con la somma degli elementi
sulla corrispondente riga di A (row-sum condition).
` possibile dimostrare che con ognuna di queste scelte si ha cond2 (P 1 A) = O(h1 ) = O(N ),
E
in luogo di cond2 (A) = O(h2 ) = O(N 2 ) secondo la (2.25).
Tenendo conto delle stime (3.23) e (3.30), possiamo allora quantificare nella Tabella 3.1 il
costo della risoluzione di un sistema lineare Au = f in funzione dei parametri di griglia, in
termini di numero di iterazioni (Iter) necessarie a ridurre lerrore relativo al di sotto di una
soglia .
Risultati del tutto analoghi si hanno per la matrice A generata dalla discretizzazione agli
elementi finiti lineari dello stesso problema (si veda la (2.50)), quando la triangolazione sia
quasi-uniforme, vale a dire composta da elementi aventi ciascuno diametro dellordine di h.
Capitolo 4
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)
(4.5)
74
dove rappresenta una fase e w `e una variabile reale. In entrambi i casi, u `e una funzione periodica in tempo di periodo 2/; sostituendo la sua espressione nella (4.2) e
semplificando il fattore comune dipendente da t, otteniamo lequazione
2 w (w) = 0
in
(4.6)
(w) = w in ,
(4.7)
w = 0
su .
Lo studio di tale problema costituisce lanalisi modale o spettrale della membrana elastica.
Moto dipendente dalle condizioni iniziali e da una forzante. Supponiamo che ad un certo
istante temporale, che per semplicit`a scegliamo come t = 0, si conosca per ogni x
tanto la posizione della membrana, ossia lo spostamento u(x, 0) = u0 (x), quanto la sua
u
(x, 0) = v0 (x). Allora, nota la forzante f (x, t)
velocit`
a, rappresentata dalla funzione
t
per tutti i tempi t [0, T ], dove T > 0 rappresenta il tempo finale di osservazione, lo
spostamento u per t [0, T ] `e univocamente determinato risolvendo il problema ai valori
iniziali e al bordo
2
u
2 (u) = f in ,
0<tT ,
t
(4.8)
u=0
su , 0 < t T,
u = u0 , u = v0
in ,
t=0.
t
Si noti che il numero (due) di condizioni iniziali sulla incognita u `e determinato dallordine
di derivazione in tempo nella legge di Newton, rappresentata dalla prima delle (4.8).
4.1
La matrice di massa
Nella discretizzazione mediante elementi finiti del problema agli autovalori (4.7), o del problema
ai valori iniziali e al bordo (4.8), o ancora del successivo problema del calore (5.6), interviene una
nuova matrice, oltre alla matrice di rigidezza, che viene detta matrice di massa (mass matrix
nella letteratura anglosassone). Nel caso monodimensionale, tale matrice `e gi`a stata introdotta
nel Paragrafo 1.7 (si vedano le (1.91)(1.93)), dando al coefficiente che qui rappresenta la densit`a
un significato fisico diverso.
La matrice di massa trae origine dalla rappresentazione algebrica di un termine integrale del
tipo
Z
wh vh dx ,
quando wh sia espressa come combinazione lineare delle funzioni di base e vh sia scelta di volta in
volta come una delle funzioni di base. Precisamente, supponiamo che lo spazio Vh delle funzioni
di forma e delle funzioni test discrete sia dato da (2.43); siano j , 1 j Nhi = N , le relative
75
PN
k=1 wk k
e scegliendo
k=1
La matrice di massa, che indicheremo con B (segnaliamo che nella letteratura ingegneristica
essa viene sovente indicata con M ), `e dunque definita da
Z
N N
k j dx .
(4.9)
B = (bjk ) R
,
con bjk =
gli elementi della matrice di massa B (T ) R33 dellelemento T T . Possiamo supporre che la
densit`a sia costante = T in T , altrimenti la approssimiamo con il suo valor medio su T
Z
1
dx ,
T =
area(T ) T
oppure con il suo valore T = (xb ) nel baricentro del triangolo. In ogni caso, poniamo
Z
(T )
dx .
(4.11)
b, = T
T
Si ha allora
B (T ) = T area(T )
1
6
1
12
1
12
1
12
1
6
1
12
1
12
1
12
1
6
(4.12)
Per giustificare questo risultato, possiamo procedere in questo modo. Consideriamo dapprima
1 = (1, 0), x
2 = (0, 1) e x
3 = (0, 0). Indichiamo con
il triangolo di riferimento T di vertici x
= (
x
x, y) il generico punto in T . Le funzioni di base su tale triangolo sono date da
1 (
x) = x
,
2 (
x) = y ,
3 (
x) = 1 x
y ;
76
x31
=
+
,
(4.14)
y
x21 x31 x22 x32
y
x32
ossia
x = G
x + x3 ,
essendo G una particolare matrice di tipo (2.39). Le funzioni di base su T vengono trasformate
nelle corrispondenti funzioni di base su T , ossia (x) = (F 1 (x)) = (
x), 1 3.
Inoltre, ricordando la (2.40), si ha dx = |det G|d
x = 2area(T )d
x. Dunque
Z
Z
x,
1 , 3 ;
dx = 2area(T ) d
T
e che
In alcuni casi, si preferisce sostituire alla matrice di massa B una matrice diagonale B,
ne surroga gli effetti. Essa `e ottenuta concentrando la massa nei nodi, cio`e sostituendo ad
ogni elemento diagonale di B la somma degli elementi che stanno nella corrispondente riga.
Questo procedimento prende il nome di concentrazione della massa (mass lumping in inglese)
viene chiamata matrice di massa concentrata (lumped mass matrix ).
e la risultante matrice B
Gli elementi di tale matrice sono dunque dati da
!
Z
N
N
X
X
bjk =
k j dx; , se j = j ,
bjj =
(4.15)
k=1
k=1
0
se j 6= j .
La concentrazione pu`
o essere realizzata a livello di singolo triangolo, in quanto assemblando
matrici locali diagonali si ottiene una matrice globale diagonale. Supponiamo dapprima che T
sia un triangolo i cui vertici sono tutti portatori di una incognita (ossia le tre funzioni di base
locali sono restrizioni a T di funzioni di base globali). La matrice B (T ) definita in (4.12) viene
quindi sostituita dalla matrice
e (T ) = T area(T ) 1 I
(4.16)
B
3
(T )
(dove I R33 indica la matrice identit`a). Notiamo che lelemento diagonale b `e dato da
Z
Z
3 Z
3
X
X
b(T ) = T
dx = T
dx = T
dx
=1 T
=1
grazie alla (2.59). Ricordando che il volume di una piramide `e dato da 13 area(base) altezza, si
ha subito
Z
1
dx = area(T ) ,
3
T
e (T ) da B (T ) `e quello di calcolare
coerentemente
R con la (4.16). Un modo equivalente per ottenere B
gli integrali T dx che compaiono nella (4.11) in maniera approssimata usando la formula
dei trapezi (2.63). Tenendo conto dei valori delle funzioni di base nei nodi, si ha
(
Z
1
area(T ) , se = ,
dx = 3
0
se 6= ,
T
77
che corrisponde nuovamente alla (4.16). Se invece T contiene nodi non portatori di incognita
(cio`e nodi di bordo su cui `e imposta una condizione di Dirichlet), allora `e necessario dapprima
cancellare dalla matrice (4.12) le righe e le colonne corrispondenti a tali nodi, e poi procedere
con la somma degli elementi su ciascuna riga rimanente. In pratica, se un solo nodo non porta
e (T ) sar
una incognita, B
a data dalla matrice 2 2
e (T ) = T area(T ) 1 I ,
B
4
e
mentre se sono due i nodi a non portare unincongnita, B
(T )
e (T ) = T area(T ) 1 .
B
6
Tali matrici concentrate locali intervengono nellassemblaggio della matrice concentrata globale.
Per comodit`
a del lettore, concludiamo questo paragrafo riportando le matrici di massa globali
(esatte e concentrate) nel caso monodimensionale, supponendo che la densit`a sia costante
nellintervallo [0, L] e che la partizione dellintervallo sia fatta con passo costante h = L/(N + 1).
Se si impongono condizioni di Dirichlet su entrambi gli estremi, gi`a sappiamo che la matrice di
massa `e una matrice N N avente la struttura (si veda la (1.94))
B = h tridiag
La sua versione concentrata `e data da
e = h diag
B
5
6;
1
6
2
3
1
6
1 . . . 1;
(4.17)
5
6
(4.18)
1
e = h diag
B
1
2;
1
6;
1
6
2
3
1
6;
1 . . . 1;
1
6
1
2
1
3
(4.19)
(4.20)
Le varianti nel caso di combinazione di una condizione di Dirichlet e una di Neumann sono ovvie.
4.2
Analisi modale
Affrontiamo qui lo studio e la discretizzazione del problema (4.7). Ogni coppia (, w) che risolve
tale problema (con w non identicamente nulla) viene detta una autosoluzione del problema; la
funzione w `e lautofunzione associata allautovalore . Le autofunzioni di un operatore differenziale lineare, nel nostro caso loperatore w 7 Aw = (w) che opera sulle funzioni
nulle al bordo di , sono concettualmente lanalogo degli autovettori di una matrice A, che `e
un operatore lineare w 7 Aw sui vettori.
78
4.2.1
Studiamo dapprima il caso di una membrana quadrata, gi`a considerata nella Sez. 2.2. Supponiamo che e siano costanti. In tal caso, il problema agli autovalori diventa
w = w in ,
(4.21)
w = 0
su .
Le autosoluzioni di tale problema sono note in forma analitica. Consideriamo infatti lanalogo
problema monodimensionale
2
d w = w
in (0, L) ,
(4.22)
dx2
w(0) = w(L) = 0 ,
che descrive le vibrazioni libere di un filo elastico fissato agli estremi; tale problema `e stato gi`
a
trattato in (1.29), limitatamente al caso = 1. Le autosoluzioni (p , wp ) di (4.22) sono date da
p =
wp (x) = C sin p x ,
L
2 2
p ,
L2
2
x2
2
y 2
p = 1, 2, . . .
(4.23)
p, q = 1, 2, . . .
(4.24)
1 , m N .
(4.25)
(4.26)
79
gli autovalori e gli autovettori del problema discreto monodimensionale (si vedano le (1.31)(1.32)), si ha ancora che le autosoluzioni (h,pq , w pq ) del problema (4.26) sono espresse da
h,pq = h,p + h,q
wpq = (wp ) (w q )m
1,mN
p, q = 1, . . . , N
(4.28)
2 2
= 11
L2
h,N N
8 1
.
h2
(4.29)
4L2 2
h ,
2
(4.30)
4.2.2
w V, R e soddisfano
Z
Z
(4.31)
per ogni v V .
w v dx = w v dx
Il fatto che gli autovalori siano reali e le autofunzioni siano a valori reali `e conseguenza del
`
carattere simmetrico del problema (gli integrali dipendono in modo simmetrico da w e v). E
possibile dimostrare che il problema ammette una successione {(n , wn )}n1 di autosoluzioni;
gli autovalori sono strettamente positivi e formano una successione crescente e tendente a +
per n +, mentre le autofunzioni sono a due a due -ortogonali, ossia soddisfano
Z
wn wm dx = 0
se n 6= m .
wh Vh , h R e soddisfano
Z
Z
wh vh dx
per ogni vh Vh .
wh vh dx = h
(4.32)
80
Tale problema
viene espresso in forma algebrica, rappresentando wh nella base di Lagrange come
P
wh = N
w
k
k e scegliendo vh = j , j = 1, . . . , N , come funzioni test. Si ottiene
k=1
N
X
k=1
wk
k j dx = h
N
X
k=1
wk
k j dx ,
1jN .
(4.33)
wT Aw
>0,
w T Bw
(4.34)
Anzi, essendo A e B simmetriche e definite positive, esso `e equivalente a un problema del tipo
Cz = h z ,
(4.35)
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
81
disuguaglianza 0 < h,min min c h2 , che dice che lautovalore minimo del problema discretizzato fornisce sempre una approssimazione per eccesso dellautovalore minimo del problema
esatto, e che lerrore tra le due quantit`a tende a 0 quadraticamente con h. Notiamo infine che
la (4.36) mostra che il numero di condizionamento nella norma euclidea della matrice C che
compare in (4.35) soddisfa
cond2 (C) C h2 ,
(4.37)
4.3
Problemi evolutivi
Riprendiamo il problema ai valori iniziali e al bordo (4.8) per lequazione delle onde, allo scopo di
definirne una discretizzazione in spazio e in tempo. Seguiremo lapproccio del cosiddetto metodo
delle linee, che consiste nelleffettuare dapprima una discretizzazione in spazio, ottenendo un
sistema di equazioni differenziali ordinarie nella sola variabile tempo, e successivamente una
discretizzazione di tale sistema, attraverso uno dei metodi numerici per le equazioni differenziali
ordinarie. (Segnaliamo che `e possibile anche adottare lapproccio duale, detto metodo delle
linee trasverso, consistente nel discretizzare prima in tempo e poi in spazio, oppure discretizzare
simultaneamente in spazio e in tempo.)
Utilizzeremo per la discretizzazione in spazio il metodo degli elementi finiti lineari come presentato nella Sez. 2.3, a cui facciamo riferimento per le relative notazioni. La discretizzazione
spaziale potrebbe anche essere effettuata mediante il metodo alle differenze finite, adattando
quanto visto nella Sez. 2.2; lasciamo i dettagli al lettore. Le tecniche di avanzamento in tempo
descritte nel seguito si applicano ad entrambe i casi.
` conveniente introdurre la seguente notazione: se t `e un qualunque istante temporale, indiE
chiamo con u(t) la funzione, definita in a valori in R, tale che u(t)(x) = u(x, t) per ogni x .
Supponiamo che, per ogni tempo t [0, T ], u(t) appartenga allo spazio V degli spostamenti
ammissibili, definito nella Sez. 2.3.1.
La formulazione integrale del problema costituito dalla prima e dalla seconda delle equazioni
(4.8) si ottiene trattando il termine di accelerazione alla stessa stregua del termine forzante. Si
ha cio`e, per ogni t con 0 < t T ,
u(t) V e soddisfa
Z
Z
Z
2u
2 v dx +
f v dx
u v dx =
t
per ogni v V .
(4.38)
Si noti che ciascun integrale `e funzione del tempo t, attraverso u oppure f ; invece, le funzioni test
v sono indipendenti dal tempo. Le condizioni iniziali, date dalla terza delle (4.8), si esprimono
come
u
u(0) = u0 ,
(0) = v0 .
(4.39)
t
R
RT R
Supponiamo che u0 V , che v0 soddisfi v02 dx < + e che f soddisfi 0 f 2 dx dt < +.
Sotto tali ipotesi, si pu`
o dimostrare che esiste una e una soluzione del problema (4.38)-(4.39).
82
4.3.1
La semidiscretizzazione in spazio
Consideriamo la discretizzazione del problema precendente rispetto alla sola variabile spaziale,
lasciando per il momento non discretizzata la variabile tempo. Otterremo in tal modo un
problema ai valori iniziali per un sistema di equazioni differenziali ordinarie.
La formulazione variazionale discreta `e ottenuta da quella presentata in (4.38), restringendo
come al solito a Vh lo spazio degli spostamenti ammissibili. Essa `e dunque la seguente: per ogni
t, con 0 < t T ,
uh (t) Vh e soddisfa
Z
Z
Z
(4.40)
2 uh
f
v
dx
per
ogni
v
V
.
u
v
dx
=
v
dx
+
h
h
h
h
h
h
t2
N
X
uk (t)k (x) ,
(4.41)
k=1
ossia `e una combinazione lineare delle funzioni di base di Vh , i cui coefficienti sono funzioni
incognite del tempo. Si realizza in tal modo una separazione delle variabili di spazio e di tempo.
Le derivate parziali di uh rispetto al tempo danno luogo a derivate ordinarie dei suoi coefficienti
rispetto a tali variabili. Precisamente, si ha
N
X duk
uh
(x, t) =
(t)k (x) ,
t
dt
k=1
dunque in particolare
uk ,
uh
t
X d2 uk
2 uh
(x,
t)
=
(t)k (x) ,
t2
dt2
k=1
2 uh
appartengono ancora a Vh , per ogni t. Per
t2
2
duk
k , indicher`
a ddtu2k .
dt ; similmente uk , oppure u
brevit`a, scriveremo
oppure u k , in luogo di
Per t = 0, le condizioni iniziali (4.39) suggeriscono di porre
uh (0) = uh,0 =
N
X
u0k k
(4.42)
(4.43)
k=1
X
uh
(0) = vh,0 =
v0k k
t
k=1
(supponendo ora che u0 e v0 siano funzioni continue in ). In altri termini, le condizioni iniziali su
u forniscono le condizioni iniziali a cui devono sottostare le funzioni incognite uk (t), 1 k N ,
che definiscono uh in base alla (4.41). Si ha infatti
uk (0) = u0k
uk (0) = v0k ,
1kN .
(4.44)
Per tradurre le equazioni (4.40) in termini algebrici, scegliamo come vh le funzioni di base j ,
ottenendo, per 0 < t T ,
Z
Z
Z
2 uh
f j dx ,
1jN .
(4.45)
uh j dx =
j dx +
t2
Osserviamo che
83
X
2 uh
dx
=
uk
j
t2
k=1
k j dx =
N
X
bjk uk ,
k=1
dove bjk sono gli elementi della matrice di massa B introdotta in (4.9). Inoltre, come nel caso
stazionario, si ha
Z
N
X
uh j dx =
ajk uk ,
k=1
con ajk elementi della matrice di rigidezza A definita in (2.51). Infine, poniamo
Z
f (x, t)j (x) dx ,
1jN .
fj (t) =
(4.46)
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
(4.49)
(4.50)
84
dove h,max denota lautovalore massimo della matrice B 1 A, ossia del problema (4.33). Abbiamo gi`a osservato che tale autovalore `e O(h2 ). Pertanto, la precedente condizione impone
una restrizione del tipo t C h sulla scelta del passo temporale. Tale condizione `e assai meno
stringente di quella relativa a un metodo condizionatamente stabile per lequazione del calore,
che `e di tipo t C h2 (si veda la (5.17)). Essa risulta sovente del tutto accettabile, in quanto
comunque richiesta dalla necessit`a di garantire laccuratezza in tempo della discretizzazione.
Segnaliamo infine una forma pi`
u generale del metodo di Newmark, dipendente da due parametri:
B(uk+1 2uk + uk1 )+t2 A(uk+1 + (1 2 + )uk + ( )uk1 ) =
(4.52)
4
.
(1 + )2 4
(4.53)
Per ogni valore di fissato, il metodo `e del primo ordine. Tuttavia, se si sceglie proporzionale
a t, si ottiene ancora un metodo del secondo ordine, con propriet`a migliori rispetto alla scelta
= 0.
Capitolo 5
Modelli di diffusione
5.1
Lequazione del calore rappresenta un importante modello matematico per descrivere la propagazione del calore in un corpo conduttore. Ricordiamo la deduzione di tale equazione nel caso di
un corpo rigido tridimensionale che supponiamo sottile nella direzione e3 (piastra). Procedendo
come fatto nella Sez. 2.1, ossia integrando ogni quantit`a fisica rispetto allo spessore della piastra, possiamo scrivere una relazione di bilancio termico riferita alla sua sezione mediana, che
supponiamo essere un poligono limitato R2 .
Precisamente, indichiamo con u = u(x, t) la temperatura nel punto x al tempo t. Sia
= (x) la densit`a di massa per unit`
a di superficie del corpo e c = c(x) il suo calore specifico,
di modo che c ne rappresenta la capacit`
a termica per unit`
a di superficie. Se `e una
qualunque porzione di , di bordo sufficientemente regolare, la quantit`a
Z
c(x) (x) u(x, t) dx
rappresenta la quantit`
a di calore contenuta in al tempo t. La pi`
u semplice relazione di bilancio
che possiamo scrivere esprime il fatto che ad ogni tempo t la variazione temporale della quantit`
a
di calore contenuta in `e pari al flusso di calore entrante attraverso il bordo di ; in formula,
Z
Z
Z
d
n ds ,
(5.1)
(n) ds =
c u dx =
dt
dove indica appunto il flusso di calore e n, come sempre, la normale a orientata verso
lesterno.
Un modello un poco pi`
u complicato contempla la possibilit`
a di un apporto (positivo o negativo)
di calore ad in forma distribuita su tutta la superficie, ad esempio attraverso un irraggiamento.
In tal caso la (5.1) diventa
Z
Z
Z
d
q dx ,
(5.2)
n ds +
c u dx =
dt
85
86
u
= + q
t
(5.3)
(5.4)
dove = (x) > 0 `e il coefficiente di conducibilit`a termica del corpo nel punto x. Sostituendo
tale relazione nella (5.3), otteniamo lequazione del calore
c
u
(u) = q .
t
(5.5)
x,
che fissa la temperatura del corpo allistante t = 0 (scelto come istante iniziale di osservazione),
e una condizione in ogni punto del bordo ad ogni tempo t > 0. Precisamente, come nella
Sez. 2.3.8, supponiamo che il bordo sia suddiviso in due parti disgiunte, D e N ; su
D assegniamo un valore g = g(x, t) della temperatura, mentre su N assegniamo un valore
= (x, t) al flusso normale
u
= u n = n .
n
In conclusione, indicando con T > 0 il tempo finale di osservazione, la temperatura del corpo
`e determinata dal seguente problema ai valori iniziali e al bordo
c
(u) = q
u = g
u = u0
in ,
0<tT ,
su D , 0 < t T ,
su N
0<tT ,
in ,
t=0.
(5.6)
u
= (
u u)
n
(5.7)
5.1.1
87
Come nel capitolo precedente, adottiamo il metodo delle linee e consideriamo dapprima la semidiscretizzazione in spazio del problema (5.6), usando elementi finiti lineari (per la discretizzazione
mediante differenze finite si veda la Sez. 5.1.3). Per semplicit`a, supporremo che su tutto il bordo
sia imposta una condizione di Dirichlet omogenea (cio`e che D = e g 0); il trattamento
delle condizioni al bordo pi`
u generali pu`
o essere fatto adattando quanto indicato nella Sez. 2.3.8
per il caso stazionario, e non presenta particolari difficolt`
a. Supponiamo inoltre che il calore
specifico c sia costante in ; anche in questo caso, lestensione alla situazione pi`
u generale non
pone problemi. Dividendo lequazione del calore per c e ponendo = /c ed f = q/c, il
problema (5.6) diventa
(u) = f in , 0 < t T ,
t
(5.8)
u=0
su , 0 < t T ,
u = u0
in , t = 0 .
Si noti che nel caso stazionario, cio`e quando la temperatura u `e indipendente dal tempo in quanto
il corpo `e in equilibrio termico, si ha u
e soluzione del problema ai valori al
t 0 e dunque u `
bordo (2.8), a cui nel Cap. 2 siano pervenuti considerando un fenomeno fisico completamente
` questo un esempio della trasversalit`
diverso. (E
a della Matematica rispetto a contesti applicativi
diversi.) Si notino inoltre le analogie e le differenze con il problema di evoluzione (4.8).
Seguiamo dora in avanti un procedimento analogo a quello usato nella Sez. 4.3.1 per discretizzare in spazio il problema (4.8).
Detto V lo spazio delle temperature ammissibili, la formulazione integrale del problema
costituito dalla prima e dalla seconda delle equazioni (5.8) `e la seguente: per ogni t con 0 < t T ,
u(t) V e soddisfa
Z
Z
Z
(5.9)
u
f v dx
per ogni v V .
u v dx =
v dx +
t
(5.10)
R
RT R
Se supponiamo che u0 soddisfi u20 dx < + e che f soddisfi 0 f 2 dx dt < +, si pu`
o
dimostrare che esiste una e una soluzione del problema (5.9)-(5.10).
La formulazione variazionale discreta `e ottenuta dalla (5.9), restringendo come al solito a Vh
lo spazio degli spostamenti ammissibili. Essa `e dunque la seguente: per ogni t, con 0 < t T ,
uh (t) Vh e soddisfa
Z
Z
Z
(5.11)
uh
f vh dx
per ogni vh Vh .
uh vh dx =
vh dx +
t
f j dx ,
1jN .
uh j dx =
j dx +
t
(5.12)
88
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
k0,
(5.15)
k0.
(5.16)
2
C h2
max h
(5.17)
(con C proporzionale a = /c), che pone una restrizione sulla scelta del passo temporale spesso
inaccettabile. Anche i metodi di Runge-Kutta espliciti menzionati nella Sez. 7.6.3 soffrono di
tale limitazione.
Se consideriamo invece il metodo di Eulero implicito (7.35), abbiamo
uk+1 = uk tB 1 Auk+1 + tB 1 f (tk+1 ) ,
k0,
(5.18)
89
ossia
(B + tA)uk+1 = Buk + tf (tk+1 ) ,
k0.
(5.19)
In tal caso, si deve risolvere un sistema lineare a ogni iterazione, con matrice B+tA simmetrica
e definita positiva. Se si tiene costante il passo t e si usa un metodo di risoluzione diretto del
sistema lineare, `e conveniente fattorizzare la matrice (ad esempio calcolando la fattorizzazione di
Choleski, vedi Cap. 3) una volta per tutte allinizio: ad ogni passo temporale si dovr`a soltanto
eseguire una sostituzione in avanti e allindietro. Se invece si usa un metodo iterativo, quale il
Gradiente Coniugato, la soluzione uk al passo precedente fornir`
a il valore iniziale della nuova
iterazione.
Il metodo dei trapezi (o di Crank-Nicolson) (7.37) fornisce, per il nostro problema, lo schema
(B +
k+1
t
2 A)u
= (B
k
t
2 A)u
t
2 ( f (tk ) +
f (tk+1 ) ) ,
k0.
(5.20)
Pertanto, con un lieve incremento nel costo del calcolo del secondo membro rispetto al metodo
di Eulero implicito, si ha un netto guadagno in termini di precisione, in quanto lordine del
metodo passa da uno a due. Tanto il metodo di Eulero implicito quanto quello di CrankNicolson, quanto ancora i metodi BDF citati nella Sez. 7.6.3, non pongono restrizioni alla scelta
del passo temporale, essendo incondizionatamente asintoticamente stabili. In particolare, essi
permettono di simulare efficacemente la convergenza verso uno stato stazionario di equilibrio
termico, attraverso la scelta dinamica del passo temporale (si ricordi lEsempio 7.6.3).
Da ultimo, consideriamo lerrore complessivo dovuto alla discretizzazione in spazio mediante
elementi finiti P
lineari e in tempo mediante un metodo di ordine p. Per 1 k K, definiamo la
k
k
k
k
funzione uh = N
j=1 uj j Vh , dove uj sono le componenti del vettore u prodotto dallo schema
di avanzamento in tempo. Vogliamo stimare lerrore u(tk ) ukh tra la soluzione esatta al tempo
R
1/2
tk e la sua approssimazione ora definita, tanto nella norma quadratica kvk2 = v 2 dx
1/2
R
.
quanto nella norma dellenergia kvkE = kvk2 dx
Se la soluzione esatta u del problema (5.8) `e sufficientemente regolare tanto nelle variabili
di spazio quanto nella variabile tempo (essenzialmente, se esistono e sono limitate le derivate
parziali seconde rispetto alle variabili x1 e x2 , e la derivate parziali di ordine p + 1 rispetto a t),
si hanno le seguenti maggiorazioni dellerrore:
max ku(tk ) ukh k2 C1 h + C2 tp ,
(5.21)
1/2
X
1
(5.22)
1kK
1kK
dove le costanti C1 e C2 dipendono dalle derivate parziali di u sopra citate. In altri termini,
riducendo i parametri h e t della discretizzazione, ci aspettiamo che lerrore tenda a zero
linearmente in h e come la potenza p-esima in t.
5.1.3
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
u
u = f
t
in ,
0<tT .
(5.23)
Consideriamo la griglia equispaziata Gh introdotta nella Sez. 2.2 (adotteremo nel seguito tutte
le notazioni di quella sezione). Sia
um = um (t) u(x , ym , t)
lapprossimazione della temperatura nel nodo (x , ym ) al tempo t; siano inoltre
um,0 = u0 (x , ym )
la temperatura iniziale,
m = (x , ym )
la densit`a, ed infine
fm = fm (t) = f (x , ym , t)
il termine noto al tempo t, calcolati nel nodo (x , ym ).
Ricordando la (2.14), la discretizzazione in spazio della (5.23) in ciascun nodo interno `e data
da
m um +
1 , m N ,
0<tT .
(5.24)
se
0<tT ,
(5.25)
1 , m N .
(5.26)
Come nel caso stazionario, eliminiamo i nodi di bordo e raccogliamo le incognite interne,
numerate in modo lessicografico, nel vettore
u = u(t) = uk (t) 1kN 2 .
Sia B la matrice diagonale che raccoglie i valori della densit`a nei nodi, ossia
B = diag (1 , . . . , k , . . . , N 2 ) ;
notiamo che nel caso di densit`a costante , si ha B = I. Detta A la matrice definita dalla
(2.25), le equazioni (5.24)-(5.25) danno luogo al sistema di equazioni differenziali ordinarie
Bu + Au = f ,
0<tT ,
91
Ci siamo dunque ricondotti alla (5.14). Tutte le considerazioni fatte nella sezione precedente
valgono inalterate; ricordiamo infatti che gli autovalori della matrice A soddisfano le relazioni
(4.29), dunque in particolare vale la condizione di stabilit`
a asintotica (5.17) per il metodo di
Eulero esplicito.
I tre metodi discussi nella sezione precedente assumono ora la presente forma:
Eulero esplicito:
uk+1 = (I tB 1 A)uk + tB 1 f (tk ) ,
k0;
(5.27)
Eulero implicito:
(B + tA)uk+1 = uk + tf (tk+1 ) ,
Crank-Nicolson:
(B +
k+1
t
2 A)u
= (B
k
t
2 A)u
t
2 ( f (tk ) +
k0;
f (tk+1 ) ) ,
(5.28)
k0.
(5.29)
Si noti che nel caso di Eulero esplicito, abbiamo esplicitamente invertito la matrice B, essendo
questa diagonale.
5.2
Consideriamo un fluido che occupa un volume V = [a, b] nello spazio, con regione limitata
del piano. Supponiamo che il moto del fluido sia bidimensionale, ossia che le sue variazioni nella
direzione z siano trascurabili. In tal caso, possiamo descriverlo attraverso funzioni definite in
. Nella descrizione, adottiamo il punto di vista euleriano, in cui se `e una variabile fisica
quale velocit`
a, pressione, temperatura, lespressione (x, t) indica il valore di associato alla
particella di fluido che allistante t si trova nel punto x . (Il punto di vista lagrangiano
intende invece (x, t) come la quantit`
a associata al tempo t alla particella che si trovava in x
ad un istante t0 prefissato ad esempio al tempo iniziale t0 = 0.) Indichiamo con a = a(x, t)
la velocit`a del fluido e con u = u(x, t) la sua temperatura. Supponiamo che densit`a , calore
specifico c e conducibilit`a termica siano costanti in spazio e tempo (dunque in particolare si
ha a = 0 in per ogni t).
Se il fluido `e in quiete, la sua temperatura obbedisce allequazione (5.5). Se invece il fluido
`e in moto, la derivata parziale u
t in tale equazione deve essere sostituita dalla derivata totale
(detta anche derivata lagrangiana, o particellare)
Du
u
=
+ a u ,
Dt
t
(5.30)
che rappresenta la derivata della temperatura di una particella di fluido seguita nel suo moto.
Per motivare ci`
o, ricordiamo che le particelle si muovono lungo le linee di corrente x = x(t)
definite come le soluzioni del sistema differenziale
dx
= a(x, t)
dt
(dunque il vettore velocit`
a `e tangente alle linee di corrente in ogni punto); in particolare, la
particella che ad un certo tempo t0 si trova nel punto x0 si muove lungo la linea di corrente
definita dal problema di Cauchy
dx = a(x, t)
dt
(5.31)
x(t0 ) = x0 ;
92
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
u
Du
(x0 , t0 ) = u(x0 ), t0 ) a(x0 , t0 ) +
(x0 , t0 ) ,
Dt
t
ossia la (5.30).
Lequazione (5.5) diventa allora
c
u
+ a u u = q .
t
f=
q
;
c
in ,
0<tT .
(5.32)
Essa `e di tipo parabolico come lequazione del calore, e pertanto richiede di specificare, oltre al
valore iniziale u(0) = u0 , una condizione su u in ogni punto del bordo di , per ogni tempo t.
A tale scopo, `e opportuno suddividere il bordo in
= in car out ,
dove, indicato come duso con n = n(x) il versore normale a orientato verso lesterno di ,
si pone:
in = {x : a n < 0}
car
n
93
a
n
out
in
a
car
Figura 5.1: Suddivisione del bordo di un dominio occupato da un fluido in bordo di ingresso
in , bordo caratteristico car e bordo di uscita out
In uscita, la temperatura del fluido `e in genere incognita, mentre `e ragionevole fare ipotesi sul
flusso di calore uscente; ad esempio, imponendo la condizione di Neumann
u
=0
n
su out ,
0<tT ,
u
n
AL
0,
2
dove A = max kak `e il massimo modulo della velocit`a, mentre L `e una lunghezza caratteristica
(ad esempio il diametro di ).
Se Pe `e dellordine di 1, convezione e diffusione hanno pari importanza. Se Pe << 1, gli effetti
diffusivi prevalgono su quelli convettivi (in particolare, se Pe = 0, cio`e a = 0 identicamente, si
94
ha soltanto diffusione, cio`e si ritrova lequazione del calore). Se invece Pe >> 1, `e la convezione
a prevalere; il caso limite Pe = +, cio`e = 0, corrisponde alla sola equazione di convezione
u
+ a u = f ,
t
(5.33)
che sar`
a oggetto di studio nel Capitolo 6.
`
E importante tenere presente che da un punto di vista matematico lequazione di convezionediffusione `e sempre di natura parabolica, per ogni valore di Pe [0, +); ci`o implica, in particolare, che oltre alla condizione iniziale vada imposta una condizione al bordo su tutto . Al
contrario, lequazione limite (5.33) viene definita di tipo iperbolico e richiede lassegnazione di
una condizione al bordo solo laddove il fluido entra in , ossia su in .
Per Pe >> 1, la soluzione delequazione di convezione-diffusione tende a comportarsi, nella
maggior parte del dominio, come la soluzione dellequazione di convezione pura (5.33); dove
ci`o non avviene, si hanno strati limiti o strati interni termici, ossia repentine variazioni della
temperatura. Ad esempio, uno strato limite pu`
o nascere a ridosso di car oppure di out , quando
la temperatura trasportata lungo le linee di corrente interne `e obbligata bruscamente a soddisfare
le condizioni al bordo ivi imposte dalla natura parabolica dellequazione di convezione-diffusione.
5.2.1
Discretizzazione numerica
La prevalenza o meno del fenomeno convettivo su quello diffusivo influenza anche le prestazioni
degli schemi di discretizzazione, e conseguentemente la loro scelta. A livello numerico, il ruolo
del numero di Peclet `e giocato dal numero di Peclet di griglia, definito come
Peh =
Ah
,
2
dove h = maxj hj oppure h = maxT hT `e la massima ampiezza della griglia computazionale che
si vuole utilizzare; in altri termini, nella definizione si sostituisce alla lunghezza caratteristica
del dominio quella della griglia.
Si dice che il problema di convezione-diffusione `e, relativamente alla griglia considerata, a
diffusione dominante se Peh 1, e a convezione dominante se Peh > 1. (Una classificazione
pi`
u precisa discrimina in base al numero di Peclet locale PeT = kaT khT /(2), definito in ogni
elemento T della griglia.)
Nel primo caso, i metodi alle differenze finite o agli elementi finiti visti finora per lequazione del calore possono essere utilizzati con buoni risultati anche per lequazione di convezionediffusione. Nel secondo caso, tali metodi possono generare oscillazioni non fisiche tra i nodi di
griglia, e quindi vanno sostituiti con altri tipi di discretizzazione, che tengono conto del carattere
prevalentemente propagatorio del fenomeno modellizzato.
Esaminiamo con maggiore dettagli i due casi.
Caso della diffusione dominante (Peh 1)
Dapprima, consideriamo una discretizzazione dellequazione (5.32) mediante differenze finite
del secondo ordine su una griglia equispaziata di nodi xm = (x , ym ). In tal caso, il termine
convettivo a u viene discretizzato mediante rapporti incrementali centrati, analoghi al primo
membro della (7.7), nelle direzioni x e y. Abbiamo cio`e
(a u)(xm ) a1 (xm )
u,m+1 u,m1
u+1,m u1,m
+ a2 (xm )
;
2h
2h
95
um +
(5.34)
(5.35)
0 < t T . (5.36)
Passando ad esaminare il metodo degli elementi finiti lineari, la formulazione integrale discreta
dellequazione di convezione-diffusione, analoga alla (5.11), `e
uh (t) Vh e soddisfa
Z
Z
Z
Z
uh
f vh dx
per ogni vh Vh .
uh vh dx =
(a uh ) vh dx +
vh dx +
t
(5.37)
La corrispondente matrice di rigidezza A si decompone in
A=C+D ,
R
dove D = (djk ) con djk = k j dx indica ora la ormai familiare matrice simmetrica e
definita positiva che descrive la diffusione, mentre
Z
(a k ) j dx ,
(5.38)
C = (cjk ) ,
con cjk =
`e la matrice che descrive la convezione; essa risulta sparsa come la D, ma non `e simmetrica. Si
noti che essa dipende dal tempo attraverso la a, ossia in generale C = C(t).
` opportuno esaminare la struttura della matrice C (T ) relativa a un elemento T T , che
E
raccoglie il contributo di tale elemento alla matrice globale C. Usando le stesse notazioni della
Sezione 2.3.6, abbiamo
Z
(T )
(T )
(T )
33
C
= c
R
,
con c = (a ) dx .
1,3
Se, come duso, approssimiamo il valore di a su T mediante il suo valore aT nel baricentro del
triangolo, possiamo ridefinire la matrice ponendo
Z
Z
(T )
dx ,
c = (aT ) dx = aT
T
c =
1
|T | aT ,
3
1 , 3 .
(5.39)
Dunque, la matrice C (T ) ha le tre righe uguali tra loro; inoltre, la somma degli elementi su
ciascuna riga `e nullo, essendo
3
3
X
X
1
(T )
c = |T | aT
= 0 .
3
=1
=1
96
u
2u
u
+a
2 = f in (0, L) , 0 < t T ,
t
x
x
(5.40)
u(0,
t)
=
u(L,
t)
=0
0<tT
u(x, 0) = u0 (x)
in (0, L) ,
ove a = a(x, t) `e un coefficiente variabile in [0, L], mentre > 0 `e costante. La formulazione
variazionale discreta `e lanaloga monodimensionale della (5.37), ove la discretizzazione spaziale
`e quella definita nella Sezione 1.4 ed in particolare nella (1.49); la matrice C, data da
C = (cjk ) ,
con
cjk =
dk
j dx ,
dx
(5.41)
`e una matrice tridiagonale di ordine N . Calcoliamone gli elementi non nulli, dopo aver approssimato il valore del coefficiente a in ogni intervallo Ij mediante il valore aj1/2 = a((xj +xj+1 )/2, t)
nel punto medio dellelemento. Gli elementi della prima sottodiagonale sono dati da:
Z
Z
aj1/2
dj1
1 hj
1
aj1/2
cj,j1 =
j dx = aj1/2
j dx = aj1/2
=
.
dx
hj
hj 2
2
Ij
Ij
Gli elementi diagonali sono dati da
Z
Z
dj
dj
aj+1/2
aj1/2
j dx +
j dx
cjj =
dx
dx
Ij+1
Ij
aj1/2 aj+1/2
1 hj
hj+1
1
= aj1/2
+ aj+1/2
=
.
hj 2
hj+1
2
2
2
Infine, gli elementi della prima sopradiagonale sono dati da:
Z
Z
aj+1/2
hj+1
dj+1
1
1
j dx = aj+1/2
j dx = aj+1/2
=
.
aj+1/2
cj,j+1 =
dx
hj+1
hj+1
2
2
Ij+1
Ij+1
Riassumendo, la matrice di convezione C `e tridiagonale ed ha la seguente espressione:
a
aj+1/2
j1/2
se k = j ,
2
2
j1/2
se k = j 1 ,
2
cjk =
(5.42)
aj+1/2
se
k
=
j
+
1
,
0
altrimenti .
a
tridiag [1 0 1]
2
97
2
a du d u = f in (0, L) ,
dx
dx2
u(0) = u(L) = 0 ,
(5.43)
u
a d
=f
in (0, L) ,
dx
u
(0) = 0 ;
a
(uj+1 uj1 ) + 2 (uj1 + 2uj uj+1 ) = fj ,
2h
h
1 j N 1 ,
(5.44)
98
Per ovviare a tale problema, una possibilit`a consiste nel ridurre h, ossia raffinare la griglia,
in modo da portare il corrispondente numero di Peclet di griglia a valori 1. Se per`
o |a|/
`e cos` grande da richiedere un valore di h proibitivamente piccolo (soprattutto in problemi bie tridimensionali), si deve agire diversamente, mantenendo la stessa griglia ma cambiando il
modo di discretizzare il termine convettivo. Precisamente, nella (5.44) in luogo del rapporto
incrementale centrato
uj+1 uj1
du
,
a (xj ) a
dx
2h
si fa uso del rapporto incrementale allindietro
a
du
uj uj1
(xj ) a
dx
h
se a > 0 ,
uj+1 uj
du
(xj ) a
dx
h
se a < 0 .
In altre parole, si discretizza il termine convettivo tenendo conto della direzione di moto delle
particelle, prendendo linformazione dalla parte da cui essa proviene. Tale filosofia porta ai
metodi upwind (sopra-vento), che verranno esaminati nel Capitolo 6. Il risultato delluso di
questo schema nellesempio sopra considerato `e illustrato nella Fig. 5.2, a destra: le oscillazioni
sono scomparse, pur essendo la griglia la stessa gi`a impiegata per la figura di sinistra.
` possibile dimostrare (si veda la (6.38)) che lo schema ora considerato `e equivalente ad uno
E
schema centrato di tipo (5.44), in cui `e sostituito da
= +
|a|
h
2
(ossia si `e aggiunta una diffusione artificiale, o numerica, proporzionale ad h), di modo che il
corrispondente numero di Peclet di griglia viene a soddisfare
|a|h
h = |a|h =
<1.
Pe
2
2 + |a|h
Nel caso multidimensionale, lapproccio upwind viene applicato in ciascuna variabile di spazio.
Ad esempio, lo schema centrato (5.34) diventa, supponendo per fissare le idee che a1 (xm ) > 0
e a2 (xm ) < 0,
a1 (xm )
a2 (xm )
(um u1,m ) +
(u,m+1 um )
h
h
um +
(5.45)
(5.46)
0<tT .
(5.47)
Anche il metodo degli elementi finiti viene modificato, in modo da tener conto nella formulazione integrale della presenza di un termine convettivo dominante. Uno degli schemi pi`
u
popolari `e il cosidetto metodo SUPG (Streamline-Upwind Petrov-Galerkin), con le sue varianti.
Si rimanda alla letteratura specialistica per i dettagli.
Capitolo 6
(6.1)
F1 (u)
Fd (u)
+ +
x1
xd
indica la divergenza del campo vettoriale x 7 F(u(x, t), x, t) rispetto alle sole variabili spaziali.
La denominazione legge di conservazione si spiega nel modo seguente. Fissiamo una qualunque
regione V contenuta in , avente bordo V sufficientemente regolare in modo che in V valga
il Teorema della Divergenza (Teorema 7.1). Integrando lequazione su V ed applicando tale
teorema, si ottiene
Z
Z
Z
d
u
F(u) dx
+ F(u) dx =
u dx +
0 =
t
dt V
V
V
Z
Z
d
F(u) n d ,
(6.2)
=
u dx +
dt V
V
dove n indica il versore normale a V, orientato verso lesterno di V. Lultimo integrale rappresenta il flusso di u attraverso il bordo di V. Integrando su un intervallo temporale [t , t ] e
R t
ricordando che t d
dt dt = (t ) (t ), abbiamo
Z t Z
Z
Z
F(u) n d dt .
(6.3)
u(x, t ) dx
u(x, t ) dx =
V
R
Ci`
o mostra che se il flusso di u attraverso V `e nullo, la quantit`a V u(x, t) dx `e conservata.
Altrimenti, la sua variazione `e pari al bilancio tra flusso entrante e flusso uscente attraverso V.
Richiediamo che la legge di conservazione sia soddisfatta in , per ogni tempo t (0, T ], dove
T > 0 `e un istante temporale fissato. Abbiamo dunque
u
+ F(u) = 0
t
in , 0 < t T .
99
(6.4)
100
per t = 0 ,
(6.5)
dove u0 `e una funzione assegnata in . Inoltre, se il bordo di non `e vuoto, per ogni tempo
t (0, T ] pu`
o essere necessario prescrivere anche una condizione su una parte del bordo. A tale
scopo, indicando con n(x) il versore normale a nel punto x , orientato verso lesterno di
, poniamo
(t) = {x : F(u(x, t), x, t) n(x) < 0} .
(6.6)
Tale insieme rappresenta la parte di bordo di in cui il flusso di u entra in . Si noti che in
genere (t) dipende da u; si noti inoltre che esso pu`
o essere vuoto.
Imponiamo allora la condizione al bordo
u=g
(6.7)
6.1
Esempi
i) Lesempio pi`
u semplice di legge di conservazione `e lequazione in una sola variabile di
spazio
u
u
+a
=0,
con a costante 6= 0 .
(6.8)
t
x
Il flusso `e dato da F(u) = F (u) = au. Essendo F funzione lineare di u, lequazione `e
lineare (cioe se u e v sono due soluzioni e , R, allora la funzione u + v `e ancora
una soluzione).
Lequazione modellizza la propagazione di un segnale lungo lasse delle ascisse, con velocit`
a
costante di modulo |a|; precisamente, la propagazione avviene verso destra se a > 0, verso
sinistra se a < 0. Per comprendere ci`o, introduciamo le rette nel piano (x, t) definite
dallequazione
dx
=a,
(6.9)
dt
ossia le rette di equazione x(t) = at + b con b costante. Tali rette sono dette rette caratteristiche, o semplicemente le caratteristiche dellequazione (6.8). Sovente, esse si rappresentano nel piano (x, t) anzich`e nel piano (t, x), ed allora assumono lespressione t(x) = a1 x + c
con c costante.
Fissata una caratteristica, la funzione t 7 u(x(t), t) esprime il valore di u lungo tale linea,
in funzione del tempo. La sua derivata rispetto al tempo `e
d
u
u
dx
u
u
u(x(t), t) =
(x(t), t) (t) +
(x(t), t) =
+a
(x(t), t) = 0 ,
dt
x
dt
t
t
x
da cui
u(x(t), t) = costante ;
(6.10)
6.1. ESEMPI
101
t
t = t0 + a1 (x x0 )
t0 + t
t0
x0 + at
x0
1.4
1.2
1.2
S
1
0.8
0.8
u(x, t0 )
0.6
u(x, t0 +t)
0.6
0.4
0.4
0.2
0.2
x
0
x0
0.2
0.2
0.4
0.6
x0 +at
0.8
1.2
1.4
1.6
1.8
0.2
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
102
(
x, t)
x
at
(6.11)
(6.12)
Per larbitrariet`a di x
e t, possiamo concludere che la soluzione del problema ai valori
iniziali (6.11) `e data da
u(x, t) = u0 (x at) ,
x R, t 0 .
(6.13)
Supponiamo invece di voler risolvere lequazione (6.8) nellintervallo limitato = (0, L);
assumiamo nel seguito a > 0. Allora, la precedente relazione (6.12) definisce la soluzione
soltanto per valori di (
x, t) che si trovano al di sotto della semiretta x = at (si veda la
Fig. 6.4). Altrimenti, la retta caratteristica passante per (
x, t) incontra il bordo sinistro
x
(6.14)
6.1. ESEMPI
103
t
(
x, t)
t
(6.15)
Se fosse a < 0, assegneremmo il valore della soluzione nel bordo destro x = L. La scelta
del punto di bordo in cui prescrivere la soluzione (a sinistra se a > 0, a destra se a < 0)
traduce nella presente situazione la condizione espressa in generale dalla (6.7).
ii) Lequazione di Burgers
u
1 2
+
( u )=0
(6.16)
t
x 2
`e un esempio di legge di conservazione non lineare. Qualora la soluzione u sia derivabile,
o essere equivalentemente scritta
derivando il flusso F (u) = 21 u2 rispetto a x lequazione pu`
come
u
u
+u
=0,
(6.17)
t
x
ossia come una equazione di propagazione in cui la velocita di propagazione a coincide con
u.
iii) Supponiamo che una certa regione = Rd sia occupata da un fluido. Sia
a = a(x, t) la velocit`
a euleriana del fluido, vale a dire la velocit`a della particella che
allistante t occupa la posizione x. Sia u = u(x, t) uno scalare associato al fluido, quale ad
esempio la sua densit`a di massa oppure la concentrazione di un inquinante disciolto nel
fluido. Definiamo il flusso di u come il vettore
F(u) = au .
(6.18)
Assumendo, per ovvi motivi fisici, u > 0, la parte di bordo su cui si impone il valore di u
`e dunque data da
(t) = {x : a(x, t) n(x) < 0} .
Nel caso in cui u sia la densit`a di massa, lequazione (6.1) descrive la conservazione della
massa; la densit`a di massa `e dunque funzione della velocit`a del fluido. Daltro canto,
104
per i fluidi comprimibili, la velocit`a `e a sua volta legata alla densit`a attraverso una o pi`
u
equazioni aggiuntive. Si ottiene quindi complessivamente un sistema di equazioni, dette
equazioni di Eulero nel caso in cui si trascurino gli effetti di viscosit`a, oppure equazioni di
Navier-Stokes nel caso in cui tali effetti vengano presi in considerazione.
Qualora u rappresenti la concentrazione di un inquinante, lequazione (6.1) descrive la
conservazione dellinquinante. Usualmente si suppone che la velocit`a del fluido non sia influenzata dalla presenza dellinquinante; in tal caso, a `e un campo assegnato e linquinante
viene trasportato passivamente lungo le linee di corrente. Se il fluido `e incomprimibile, la
velocit`
a `e solenoidale, cio`e soddisfa
a=0
in , per ogni t ;
(6.19)
che dicesi equazione del trasporto di uno scalare passivo. Le linee di corrente sono le curve
caratteristiche di tale equazione, vale a dire le soluzioni x = x(t) del sistema di equazioni
differenziali
dx
= a(x, t) .
(6.20)
dt
Si ha allora, generalizzando quando gi`a visto nel caso monodimensionale,
d
dx
u
u(x(t), t) = u(x(t), t) (t) +
(x(t), t) =
dt
dt
t
u
+ a u (x(t), t) = 0 ,
t
da cui
u(x(t), t) = costante ;
in altri termini, ogni soluzione della (6.19) `e costante lungo le linee di corrente.
6.2
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.1
105
Il caso monodimensionale
Consideriamo il problema ai valori iniziali (6.11) per lequazione di propagazione, per la quale
ricordiamo che F (u) = au.
Introduciamo un passo di discretizzazione spaziale x > 0 ed i nodi equispaziati xj = jx,
j Z. I punti intermedi xj+1/2 = (j + 21 )x definiscono le celle Vj = [xj1/2 , xj+1/2 ] aventi
come centri i nodi xj . Introduciamo poi un passo di discretizzazione temporale t > 0 e gli
istanti temporali tn = nt, n 0; supponiamo che t sia scelto in modo tale che T = N t per
un certo N .
Poniamo V = Vj e t = tn , t = tn+1 nella relazione (6.3); otteniamo
Z xj+1/2
Z xj+1/2
u(x, tn ) dx
u(x, tn+1 ) dx =
xj1/2
xj1/2
Z
tn+1
F (u(xj+1/2 , t)) dt
tn
tn+1
tn
F (u(xj1/2 , t)) dt
1
=
t
tn+1
tn
F (u(xj+1/2 , t)) dt .
(6.21)
Uno schema numerico ai volumi finiti si basa su tale relazione, assumendo come incognite
per ogni j ed n le medie di cella numeriche unj , approssimazioni delle medie di cella esatte
Ujn . A partire dalle medie di cella numeriche, si costruisce una approssimazione della soluzione
u(x, tn ) (fase detta di ricostruzione). La situazione pi`
u semplice `e quella in cui la soluzione
u(x, tn ) viene approssimata mediante la funzione costante a tratti che vale unj sulla cella Vj .
Tuttavia, tale funzione `e discontinua in corrispondenza delle interfacce tra le celle, cio`e proprio
` dunque necessario
laddove sono richieste dalla relazione (6.21) le medie temporali dei flussi. E
n
n
approssimare le quantit`
a Fj+1/2 mediante flussi numerici fj+1/2 , che facciano intervenire soltanto
le medie di cella numeriche relative a celle attigue allinterfaccia xj+1/2 . Ogni schema numerico
`e definito dalla scelta di un particolare flusso numerico. La situazione pi`
u semplice si ha quando
n
fj+1/2
dipende soltanto dalle medie di cella unj e unj+1 relative alle due celle aventi xj+1/2 come
interfaccia comune, ossia
n
fj+1/2
= f (unj , unj+1 ) ,
(6.22)
essendo f (u, v) una funzione assegnata di due variabili reali u e v. Nel seguito ci limiteremo a
questa situazione, esaminando alcuni esempi notevoli di flussi numerici.
Una volta effettuata la scelta del flusso numerico, lo schema numerico suggerito dalla (6.21)
`e dato da
n
n
x un+1
= x unj (t fj+1/2
t fj1/2
);
(6.23)
j
106
introducendo la costante
=
t
>0,
x
(6.24)
(6.25)
Esso costituisce uno schema a un passo esplicito di avanzamento in tempo, fornendo le medie
di cella al tempo tn+1 come funzione esplicita di quelle al tempo tn . Ci aspettiamo quindi una
condizione di stabilit`
a nella scelta del passo temporale t in funzione di quello spaziale x; ci`
o
verr`
a discusso pi`
u avanti. Osserviamo infine che le medie di cella al tempo iniziale sono quelle
della funzione u0 (x) assegnata dal problema (6.11), o una loro approssimazione (ad esempio i
valori di u0 nei nodi xj ).
Esaminiamo ora alcuni schemi numerici notevoli.
i) Metodo di Eulero in avanti/centrato
Il flusso numerico f (u, v) `e dato da
fE (u, v) =
e lo schema risultante `e
a
(u + v)
2
(6.26)
1
un+1
= unj a(unj+1 unj1 ) .
j
2
(6.27)
Esso pu`
o essere scritto in forma equivalente come
unj
un+1
j
t
+a
unj+1 unj1
2x
=0,
(6.28)
e dunque corrisponde ad una discretizzazione alle differenze finite dellequazione di propagazione (6.8) nel punto (xj , tn ), in cui la derivata temporale `e approssimata con un rapporto incrementale in avanti mentre la derivata spaziale `e approssimata con un rapporto
incrementale centrato.
ii) Metodo di Lax-Friedrichs
Il flusso numerico f (u, v) `e dato da
fLF (u, v) =
1
a
(u + v) +
(u v)
2
2
(6.29)
e lo schema risultante `e
1
1
un+1
= (unj+1 + unj1 ) a(unj+1 unj1 ) .
j
2
2
(6.30)
Esso pu`
o essere scritto in forma equivalente come
un+1
unj
j
t
+a
unj+1 unj1
1 unj+1 2unj + unj1
x
=0.
2x
2
x2
(6.31)
107
Il metodo corrisponde quindi ad una discretizzazione alle differenze finite, nel punto
(xj , tn ), dellequazione modificata
u
u
1 2u
+a
x
=0,
t
x
2 x2
(6.32)
au
av
se a > 0 ,
se a < 0 .
(6.33)
e lo schema risultante `e
1
1
un+1
= unj a(unj+1 unj1 ) + |a|(unj+1 2unj + unj1 )
j
2
2
(
n
n
n
uj a(uj uj1 ) se a > 0 ,
=
unj a(unj+1 unj ) se a < 0 .
(6.34)
(6.35)
Esso pu`
o essere scritto in forma equivalente come
un+1
unj
j
t
oppure
+a
unj unj1
=0
x
se a > 0 ,
(6.36)
un+1
unj
j
unj+1 unj
+a
=0
se a < 0 .
(6.37)
t
x
Lo schema upwind corrisponde dunque ad una discretizzazione alle differenze finite dellequazione di propagazione (6.8) nel punto (xj , tn ), in cui la derivata temporale `e approssimata con un rapporto incrementale in avanti, mentre la derivata spaziale `e approssimata
con un rapporto incrementale allindietro se a > 0, in avanti se a < 0. Ricordando che
linformazione si propaga (con una espressione figurata, il vento tira) da sinistra verso
destra se a > 0 e da destra verso sinistra se a < 0, possiamo dire che lo schema definisce
le nuove medie di cella andando a prendere linformazione dalla parte da cui essa proviene
(dalla parte sopra-vento, da cui la denominazione dello schema).
Un altro modo di scrivere lo schema, equivalente alle (6.36)-(6.37), `e
un+1
unj
j
t
unj+1 unj1
|a| unj+1 2unj + unj1
+a
x
=0
2x
2
x2
(6.38)
(si confronti con la (6.31)). Il metodo corrisponde ancora ad una discretizzazione centrata
di una equazione modificata analoga alla (6.32); il coefficiente di proporzionalit`
a `e ora
dipendente dalla velocit`
a a.
108
a
1
(u + v) + a2 (u v)
2
2
(6.39)
e lo schema risultante `e
1
1
un+1
= unj a(unj+1 unj1 ) + (a)2 (unj+1 2unj + unj1 ) .
j
2
2
(6.40)
Esso pu`
o essere scritto in forma equivalente come
un+1
unj
j
t
+a
n
n
n
unj+1 unj1
a2 uj+1 2uj + uj1
x
=0.
2x
2
x2
(6.41)
Il metodo corrisponde quindi ad una discretizzazione alle differenze finite, nel punto
(xj , tn ), dellequazione modificata
u
a2 2 u
u
+a
x
=0,
t
x
2 x2
ottenuta ancora aggiungendo un termine di diffusione proporzionale a x, ma con un
coefficiente diverso da quelli dei metodi di Lax-Friedrichs o Upwind.
Il comportamento dei vari metodi sopra descritti `e illustrato dalla Fig. 6.5. La soluzione
esatta, al tempo t = 0, vale 1 nellintervallo [0.25, 0.5] ed `e nulla altrove; per t > 0, essa si muove
con velocit`a a = 1/2. Il grafico relativo al metodo di Eulero in avanti/centrato `e stato ottenuto
con x = 1/64; gli altri grafici con x = 1/128. Si notino la pessima qualit`a del metodo
di Eulero, la diffusione numerica dei metodi di Lax-Friendrichs e Upwind (pi`
u accentuata nel
primo), e la dispersione numerica del metodo di Lax-Wendroff.
6.3
Stabilit`
a, consistenza e convergenza
Vogliamo determinare condizioni sul flusso numerico f (u, v) e sui passi di discretizzazione x e
t che garantiscano la possibilit`a di ben approssimare la soluzione esatta del problema (6.11)
attraverso la conoscenza delle medie di cella generate dallo schema numerico corrispondente. In questa analisi, i concetti di stabilit`
a, di consistenza e di convergenza hanno un ruolo
fondamentale.
6.3.1
Stabilit`
a
Siano unj , j Z, n 0, le medie di cella generate dallo schema per una certa scelta di x e t.
Introduciamo la funzione costante a tratti
unx,t : R R ,
xR;
(6.42)
essa rappresenta una approssimazione della soluzione esatta u al tempo tn . Una misura della
grandezza di tale funzione `e data dalla norma del massimo su R
kunx,t k,R = max |unx,t (x)| = max |unj | .
xR
jZ
(6.43)
` CONSISTENZA E CONVERGENZA
6.3. STABILITA,
1.4
1.4
Eulero
1.2
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
1.4
0.2
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
1.2
1.4
1.6
1.8
1.4
Upwind
1.2
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.2
0.4
0.6
Cour = .8
0.8
Lax-Wendroff
1.2
Cour = .8
0.2
Cour = .8
0.8
Lax-Friedrichs
1.2
Cour = x/a
0.2
109
0.8
1.2
1.4
1.6
1.8
0.2
0.2
0.4
0.6
0.8
Figura 6.5: Confronto tra i diversi metodi di discretizzazione nel caso di una soluzione esatta
costante a tratti
Altre norme che possono essere utilizzate sono la norma quadratica
1/2
1/2
Z
X
= x
|unx,t(x)|2 dx
|unj |2
kunx,t k2,R =
,
(6.44)
(6.45)
jZ
|unx,t (x)| dx = x
X
jZ
|unj | .
Scegliamo una di queste norme, che indicheremo semplicemente con k kR . Supponiamo che
il dato iniziale u0 abbia norma ku0 kR finita; se le quantit`a u0j sono le medie di cella esatte di
u0 , si pu`
o verificare che ku0x,t kR ku0 kR . Tuttavia, nei passi successivi, la norma kunx,t kR
potrebbe crescere da un passo allaltro. Poiche per arrivare al tempo finale T sono necessari
T
, per t molto piccoli la norma potrebbe assumere valori arbitrariamente
N passi con N = t
grandi prima che tn raggiunga il valore T . In termini pratici, si potrebbe avere un overflow nel
calcolo delle medie di cella. La condizione di stabilit`
a (asintotica) di uno schema numerico di
110
vale a dire
x
.
|a|
(6.47)
Cour
x ;
|a|
(6.48)
` CONSISTENZA E CONVERGENZA
6.3. STABILITA,
111
tn+1
tn
Vj1
Vj
Vj+1
Vj1
Vj
Vj+1
Vj1
Vj
Vj+1
tn+1
tn
tn+1
tn
Figura 6.6: Dipendenza della soluzione nella cella Vj al tempo tn+1 dai valori al tempo tn , per
a > 0, nei tre casi: Cour < 1 (in alto), Cour = 1 (al centro), Cour > 1 (in basso)
Per quanto riguarda invece gli schemi numerici, i metodi di Lax-Friendrichs, Upwind e LaxWendroff vengono tutti a coincidere se Cour = 1; ci`o si vede confrontando le (6.29), (6.33),
(6.39) ed osservando che Cour = 1 equivale a = |a|. Si vede immediatamente che la soluzione
comune a tutti i metodi soddisfa
(
unj1 se a > 0 ,
n+1
uj =
(6.50)
unj+1 se a < 0 .
Concludiamo quindi che le medie di cella numeriche coincidono con quelle esatte.
Infine, per quanto riguarda il metodo di Eulero esplicito/centrato, si pu`
o dimostrare che esso
T
/2
`e stabile nella norma quadratica con costante CT = e , a condizione che t (x/a)2 .
Il caso della velocit`
a variabile
. Nel caso in cui il coefficiente a non sia costante, ma dipenda da x e t in modo continuo,
n
il flusso numerico fj+1/2
= f (unj , unj+1 ) deve essere definito sostituendo al valore a il valore
anj+1/2 = a(xx+1/2 , tn ). Il numero di Courant, definito ora come
Courn = max |anj+1/2 | ,
j
112
viene a dipendere dallistante temporale corrente; la condizione CFL si esprime come Courn 1
per ogni n 0. Si noti che, anche imponendo Courn = 1, si potranno avere delle celle in cui
|anj+1/2 | < 1, e dunque in generale lo schema numerico perde la possibilit`a di riprodurre le
medie di cella esatte.
6.3.2
Consistenza
Una misura della qualit`a di uno schema numerico `e fornita dal seguente criterio. Le medie di
cella della soluzione esatta,
Z xj+1/2
1
n
u(x, tn ) dx ,
Uj =
x xj1/2
n
soddisfano le relazioni (6.21), dove gli Fj+1/2
sono i flussi esatti. Se invece calcoliamo i flussi
numerici delle medie di cella esatte, ponendo
n
n
Fj+1/2
= f (Ujn , Uj+1
),
n
in generale lo schema numerico (6.23) non sar`
a soddisfatto dalle quantit`a Ujn , Fj+1/2
, ossia
lespressione
n
n
x Ujn+1 x Ujn + (t Fj+1/2
t Fj1/2
)
non sar`
a in generale nulla. Dividendo per x t, introduciamo quindi le quantit`a
jn = jn (x, t) =
Ujn+1 Ujn
t
n
n
Fj+1/2
Fj1/2
(6.51)
detti errori locali di troncamento; in essi, si `e posto in evidenza la dipendenza dai parametri di
discretizzatione x e t. Infatti, diamo la seguente definizione:
Definizione 6.3.4 Uno schema numerico di tipo (6.25) si dice consistente se per ogni soluzione regolare u e per ogni j ed n si ha
jn (x, t) 0 ,
per x, t 0 .
` notevole il fatto che la condizione di consistenza appena enunciata equivalga a una semplice
E
condizione sul flusso numerico f (u, v) che definisce lo schema, vale a dire alla richiesta che
quando i due argomenti coincidono, il flusso numerico riproduca il flusso esatto; precisamente,
la condizione equivalente `e
f (u, u) = F (u) = au ,
per ogni u R .
(6.52)
` immediato vedere che tutti gli schemi numerici considerati sopra soddisfano tale condizione e
E
dunque sono consistenti.
I metodi consistenti possono essere classificati in base alla velocit`a con cui gli errori di
troncamento jn (x, t) tendono a 0 al tendere a 0 di x e t.
Definizione 6.3.5 Uno schema numerico consistente si dice di ordine (p, q) se, per ogni soluzione u sufficientemente regolare, lerrore di troncamento (x, t) in ogni punto arbitrario
(xj , tn ) soddisfa
(x, t) = c1 xp + c2 tq + o(xp , tq ) ,
per x, t 0 ,
` CONSISTENZA E CONVERGENZA
6.3. STABILITA,
113
x2
,
t
6.3.3
Convergenza
0nN
per x, t 0 ,
114
0nN
per x, t 0 ,
6.4
Consideriamo nuovamente il problema ai valori iniziali (6.11). Supponiamo che u0 sia una
funzione 2-periodica, soddisfacente quindi u0 (x + 2) = u0 (x) per ogni x R. Se u0 `e ad
esempio continua a tratti, `e noto dal corso di Analisi Matematica che essa pu`
o essere sviluppata
in serie di Fourier. Usando per comodit`
a la forma complessa, scriviamo quindi
X
0,k eikx ,
u0 (x) =
U
(6.53)
kZ
u0 (x) eikx dx .
U0,k =
2 0
Ricordiamo che ogni funzione
k (x) = eikx = cos kx + i sin kx
viene detta (funzione) armonica elementare, o onda elementare. Essa `e periodica di periodo
minimo 2/|k|, e quindi di frequenza |k|/(2); lintero |k| `e il suo numero donda.
Per ogni tempo t > 0, la soluzione u(x, t) del problema (6.11) `e ancora una funzione 2periodica. Infatti, ricordando la (6.13), abbiamo
X
X
X
0,k eik(xat) =
0,k eikat eikx =
k (t)eikx .
u(x, t) = u0 (x at) =
U
U
U
(6.54)
kZ
kZ
kZ
u(x, t) eikx dx ,
Uk (t) =
2 0
(6.55)
sono dati da
k (t) = U
0,k eikat .
U
Inoltre, le prime due uguaglianze della (6.54) possono essere scritte come
X
0,k k (x at) ,
U
u(x, t) =
115
(6.56)
(6.57)
kZ
e ci`o mostra che nella soluzione esatta le ampiezze delle armoniche elementari sono invarianti
nel tempo, mentre tutte le armoniche si muovono con la stessa velocit`a a.
Osservazione 6.4.1 Prima di passare alla discretizzazione numerica, `e utile per ci`o che segue
comprendere leffetto della moltiplicazione di una armonica elementare k (x) per un numero
complesso zk . Scriviamo tale numero in notazione esponenziale, come
zk = |zk |eik ,
ove |zk | 0 rappresenta il modulo di zk e k lopposto dellanomalia. Se > 0 indica un
intervallo temporale fissato, poniamo
ak =
k
,
k
ossia
k = kak ,
e dunque
zk = |zk |eikak .
Pertanto, possiamo scrivere
zk k (x) = |zk |eikak eikx = |zk |eik(xak ) = |zk |k (x ak ) .
(6.58)
Ci`
o mostra che leffetto della moltiplicazione di k (x) per zk `e doppio: da una parte lampiezza
dellonda viene modificata di un fattore |zk |, dallaltra londa viene traslata lungo lasse reale
con velocit`a ak per un tempo .
Vediamo ora come si comporta la soluzione discreta generata da uno degli schemi sopra
considerati. Fissato un intero N > 0, dividiamo lintervallo di periodicita`
a in 2N parti uguali,
`
vale a dire scegliamo x = (2)/(2N ) = /N . E immediato verificare che le medie di cella di
u0 (x), siano esse u0j , sono 2N -periodiche, ossia soddisfano u0j+2N = u0j per ogni j Z. Anche
le successive medie di cella unj definite per n > 0 dallo schema sono 2N -periodiche; ci`o segue
ricorsivamente dal fatto che ogni schema numerico sopra considerato `e della forma
un+1
= cm unj1 + c0 unj + cp unj+1 ,
j
(6.59)
per opportuni coefficienti reali cm , c0 , cp . La Tabella 6.1 fornisce lespressione di tali coefficienti
per i metodi di Lax-Friedrichs, Upwind e Lax-Wendroff, ottenuti riarrangiando rispettivamente
le espressioni (6.30), (6.34) e (6.40).
Possiamo allora dare una rappresentazione in serie di Fourier analoga alla (6.54) delle medie
di cella al generico passo n. Infatti, definendo i coefficienti di Fourier discreti
u
nk
2N 1
X n ikxj
uj e
,
=
N
j=0
N k < N ,
(6.60)
116
Lax-Friedrichs
cm
c0
+ a)
Upwind (a > 0)
Lax-Wendroff
1
2 a(a
cp
1
2 (1
1 a
+ 1)
a)
0
1 (a)2
1
2 a(a
1)
(che generalizzano quelli continui dati dalla (6.55)), `e possibile che dimostrare che vale la formula
di rappresentazione
N
1
X
n
per ogni j Z ;
(6.61)
u
nk eikxj
uj =
k=N
N
1
X
u
nk eikx interpola i valori delle medie di cella
k=N
nei centri delle celle xj , ossia soddisfa pN (xj ) = unj per ogni j Z. Notiamo poi che
unj1 =
N
1
X
u
nk eikxj1 =
N
1
X
u
nk eik(xj x) =
u
nk eikx eikxj ,
(6.62)
k=N
k=N
k=N
N
1
X
vale a dire lincremento o il decremento di ogni indice corrisponde alla moltiplicazione di ciascun
coefficiente di Fourier discreto per un opportuno numero complesso di modulo unitario.
Sostituendo le (6.61) e (6.62) nella (6.59), abbiamo allora la rappresentazione
un+1
=
j
N
1
X
k=N
N
1
X
u
nk k eikxj ,
u
nk cm eikx + c0 + cp eikx eikxj =
(6.63)
k=N
(6.64)
N
1
X
u
0,k (k )n eikxj ,
(6.65)
k=N
ossia
0,k (k )n ,
u
nk = u
avendo indicato con u
0,k = u
0k i coefficienti di Fourier discreti delle medie di cella del dato
iniziale. Si presti attenzione al fatto che, nelle due precedenti formule, lespressione (k )n significa
elevamento alla potenza n del numero k , mentre gli altri apici n indicano semplicemente quantit`
a
117
avendo posto ak =
k
k
=
,
kt
kx
118
ak /a
|k |
1
C B
B
C
A
1
N/2
N/2
k
N
N/2
N/2
ak /a
|k |
1
C
A
N
N/2
A
B
C
1
k
N/2
N/2
N/2
ak /a
|k |
1
C
B
1
A
N
N/2
N/2
k
N
N/2
N/2
Figura 6.7: Modulo |k | dei fattori di amplificazione (colonna di sinistra) e rapporto ak /a tra
velocit`a numeriche e velocit`
a esatta (colonna di destra) per i metodi di Lax-Friedrichs (in alto),
Upwind (al centro) e Lax-Wendroff (in basso), con tre scelte del numero di Courant: A : Cour =
0.5, B : Cour = 0.7, C : Cour = 0.9
Capitolo 7
Richiami e complementi
7.1
La pi`
u generale equazione a derivate parziali lineare del secondo ordine in due variabili indipendenti x1 e x2 si scrive come
a
2u
u
2u
2u
u
+
b
+p
+
c
+q
+ su = f ,
2
2
x1 x2
x1
x2
x1
x2
dove a, b, . . . , s, f sono funzioni reali note che possono dipendere da x1 e x2 , tali che a, b, c non
siano contemporaneamente nulle.
Lequazione viene classificata in uno dei tre tipi ellittico, parabolico e iperbolico. Tale classificazione `e molto importante, perch`e il tipo determina varie propriet`a qualitative della soluzione,
oltrech`e la struttura delle condizioni (al bordo, iniziali) che devono accompagnare lequazione
quando si voglia individuarne una particolare solutione di interesse.
La classificazione si effettua nel modo seguente: si introduce la matrice
a b/2
A=
,
b/2 c
che per ipotesi non `e identicamente nulla. Essendo simmetrica, essa avr`a due autovalori reali 1
e 2 , non entrambi nulli. Allora vale una e una sola delle seguenti possibilit`a:
i due autovalori sono diversi da zero e di segno concorde: diremo che lequazione `e ellittica;
un autovalore `e nullo: diremo che lequazione `e parabolica;
i due autovalori sono diversi da zero e di segno discorde: diremo che lequazione `e iperbolica.
Si osservi che il tipo dellequazione non dipende dai coefficienti p, q, s dei termini di ordine
inferiore al secondo. Si noti inoltre che quando i coefficienti a, b, c dipendono da x1 e x2 , il tipo
dellequazione potrebbe variare da punto a punto; nelle principali applicazioni, per`
o, questo non
accade.
La terminologia trae origine dal fatto che le curve di livello della forma quadratica
T A = a12 + b1 2 + c22
119
120
nel piano 1 , 2 sono delle ellissi nel primo caso, delle iperbole nel terzo caso e delle rette (ossia
parabole degeneri) nel secondo caso.
Lesempio tipico di equazione ellittica `e lequazione di Poisson
u =
2u 2u
+
=f ,
x21 x21
1 0
.
0 0
Lesempio tipico di equazione iperbolica `e lequazione delle onde in un filo elastico,
per la quale si ha A =
1 0
.
0 1
2u 2u
2 =f ,
t2
x
Passiamo ora a considerare una equazione del secondo ordine in tre variabili indipendenti x1 ,
x2 e x3 ,
a
2u
2u
2u
u
u
2u
2u
u
2u
+
c
+
e
+
g
+q
+r
+ su = f ;
+
b
+
d
+p
x1 x2
x1 x3
x2 x3
x1
x2
x3
x21
x22
x23
a b/2 d/2
A = b/2 c e/2 .
d/2 e/2 g
Se i suoi autovalori sono tutti diversi da zero e di segno concorde, lequazione sar`
a detta ellittica;
lequazione di Poisson
2u 2u 2u
u =
+
+
=f
x21 x22 x23
`e di questo tipo. Se invece uno degli autovalori di A `e nullo mentre i rimanenti sono diversi da
zero e di segno concorde, lequazione sar`
a detta parabolica; lequazione del calore in due variabili
di spazio,
u
u = f ,
t
dove ora indica il Laplaciano nelle sole variabili di spazio x1 e x2 mentre si `e posto t = x3 , `e
di questo tipo. Infine, se tutti gli autovalori di A sono diversi da zero e uno di essi `e di segno
discorde rispetto agli altri, lequazione si dir`
a iperbolica; lequazione delle onde in due variabili
di spazio,
2u
u = f ,
t2
con come sopra, `e di questo tipo.
Altri casi sono possibili, ma essi hanno una rilevanza fisica assai pi`
u limitata.
7.2
121
dove
g =
indica la divergenza del campo vettoriale g.
7.3
d
X
gi
xi
(7.2)
i=1
Derivazione numerica
(7.3)
Lespressione a primo membro fornisce una approssimazione della derivata prima di v in x, detta
rapporto incrementale in avanti. Essa `e una approssimazione al primo ordine, in quanto lerrore
v(x + x) v(x)
1
v (x) v (x)x
x
2
(7.4)
`e proporzionale a x, per x tendente a 0 (a meno che v (x) non sia nulla, nel qual caso lerrore
tende a zero pi`
u velocemente); notiamo che lerrore dipende, oltrech`e dallincremento x, dalla
quantit`a v (x). Equivalentemente, possiamo dire che la formula di derivazione numerica a primo
membro della (7.3) `e esatta se v `e un polinomio di primo grado (infatti in tal caso la derivata
seconda e tutte le derivate successive di v sono identicamente nulle). Inoltre, non `e difficile
dimostrare che il rapporto incrementale in avanti rappresenta il valore esatto della derivata
prima del polinomio di primo grado (retta) che interpola v nei nodi x e x + x.
Una approssimazione equivalente viene definita usando lincremento x. Partendo dallo
sviluppo
1
v(x x) = v(x) v (x)x + v (x)x2 + o(x2 )
2
e procedendo come sopra si ottiene
1
v(x) v(x x)
= v (x) v (x)x + o(x) .
x
2
(7.5)
122
Lespressione a primo membro, detta rapporto incrementale allindietro, fornisce ancora una
approssimazione al primo ordine di v (x).
Una approssimazione pi`
u precisa pu`
o essere ottenuta combinando tre valori di v. Scriviamo
gli sviluppi di Taylor di v in x al terzo ordine, relativamente agli incrementi x. Abbiamo
1
v(x + x) = v(x) + v (x)x + v (x)x2 +
2
1
1
v (x)x3 + o(x3 ) ,
6
1
v (x)x3 + o(x3 ) ;
6
(7.6)
(7.7)
Lespressione a primo membro prende il nome di rapporto incrementale centrato e fornisce una
approssimazione al secondo ordine di v (x), in quanto lerrore, rappresentato dai termini successivi a v (x) a secondo membro, tende a 0 almeno come x2 quando x tende a 0. Equivalentemente, la formula di derivazione a primo membro `e esatta se v `e un polinomio di secondo
grado. Si dimostra che il rapporto incrementale centrato rappresenta il valore esatto della derivata prima in x del polinomio di secondo grado (parabola) che interpola v nei punti x x, x,
x + x. Osserviamo anche che tale formula `e la media aritmetica tra i rapporti incrementali in
avanti e allindietro.
Combinando sviluppi di Taylor relativi a incrementi diversi si possono ottenere formule di derivazione di ordine superiore al primo di tipo non centrato. Ad esempio, considerando lincremento
2x, abbiamo
4
v(x + 2x) = v(x) + 2v (x)x + 2v (x)x2 + v (x)x3 + o(x3 ) .
3
(7.8)
(7.9)
il cui primo membro fornisce una approssimazione al secondo ordine in avanti di v (x).
Infine, vediamo come ottenere una formula di derivazione numerica per approssimare il valore
della derivata seconda di v in x. A tale scopo, possiamo sommare tra loro, anzich`e sottrarre
come fatto sopra, i due sviluppi di Taylor in (7.6); tuttavia, per valutare lerrore commesso, `e
necessario utilizzare sviluppi al quarto ordine anzich`e al terzo. Scriviamo dunque
1
v(x + x) = v(x) + v (x)x + v (x)x2 +
2
1
v(x x) = v(x) v (x)x + v (x)x2
2
1
v (x)x3 +
6
1
v (x)x3 +
6
1 (4)
v (x)x4 + o(x4 ) ,
24
1 (4)
v (x)x4 + o(x4 ) ;
24
(7.10)
123
(7.11)
Il primo membro prende il nome di rapporto incrementale secondo centrato e fornisce una approssimazione di v (x) al secondo ordine: lerrore di derivazione numerica tende a 0 almeno
come x2 quando x tende a 0.
7.4
n
X
i=1
|xi |
(7.13)
n
X
i=1
|xi |2
!1/2
(7.14)
n
X
xi y i
i=1
(7.15)
Ciascuna delle espressioni finora introdotte, che indicheremo genericamente con kxk, `e una
norma, ossia soddisfa le seguenti propriet`a:
kxk 0 per ogni x Rn ,
kxk = 0 se e solo se x = 0 ,
Sia poi A = (aij )1i,jn Rnn una matrice quadrata di ordine n. Ad ogni norma di vettore
kxk `e associata una norma di matrice kAk, definita dallespressione
kAk =
kAxk
=
max
kAxk .
max
n
xRn kxk=1
xR x=
6 0 kxk
(7.16)
124
(7.17)
Unaltra immediata conseguenza della definizione `e che la matrice identit`a I ha sempre norma
unitaria,
kIk = 1 .
(7.19)
Diamo ora una rappresentazione pi`
u esplicita di alcune norme di matrici notevoli. Usando la
norma del massimo, si dimostra che
kAk = max
1in
n
X
j=1
|aij | ,
(7.20)
n
X
(7.21)
1jn
i=1
|aij | ,
dove AT = (aji )1i,jn indica la matrice trasposta di A. Per quanto riguarda la norma euclidea,
si dimostra che
q
kAk2 = (AT A) ,
(7.22)
dove (B) indica il raggio spettrale di una matrice B, ossia il massimo modulo degli autovalori
di B:
(B) = max{ || : `e autovalore di B } .
A2 w = A(Aw) = A(w) = Aw = 2 w .
(7.23)
(7.24)
Ricordando che gli autovalori della matrice inversa A1 sono i reciproci degli autovalori di A,
in quanto
Aw = w
w = A1 Aw = A1 (w) = A1 w
: 1 i n} = 1
ed osservando che max{ 1
1 , si ha quindi
i
kA1 k2 =
min
A1 w = 1 w ,
(7.25)
7.4.1
125
(7.26)
(7.27)
Ne segue che
1
1
kAkp
.
kxkp
kbkp
p
kp
kx x
kb bk
condp (A)
.
kxkp
kbkp
(7.28)
Dunque il numero di condizionamento controlla di quanto al massimo lerrore relativo sui dati
possa amplificarsi dando luogo allerrore relativo sulla soluzione (ricordiamo che il numero di
126
cond2 (H n )
1
2
3
4
5
6
7
8
9
10
1
19.2815
524.0568
1.5514e+04
4.7661e+05
1.4951e+07
4.7537e+08
1.5258e+10
4.9315e+11
1.6025e+13
Tabella 7.1: Numeri di condizionamento in norma euclidea delle matrici di Hilbert H n al variare
dellordine n
condizionamento di una matrice `e sempre maggiore o uguale a 1). Se la matrice `e bencondizionata, cio`e se il suo numero di condizionamento non si discosta troppo dallunit`a, ci aspettiamo
che lerrore relativo sulla soluzione sia al pi`
u dello stesso ordine di grandezza dellerrore relativo
sui dati. Viceversa, se la matrice `e malcondizionata, cio`e se il suo numero di condizionamento
`e maggiore di 1 per diversi ordini di grandezza, pu`
o accadere che un piccolo errore relativo sui
dati dia luogo a un grande errore relativo sulla soluzione, con effetti disastrosi sullaffidabilit`a del
` dunque molto importante, quando si ha a che fare con una matrice, avere una qualcalcolo. E
che informazione sullordine di grandezza del suo numero di condizionamento (in una qualche
norma).
Per una matrice simmetrica e definita positiva, ricordando le espressioni (7.24) e (7.25), il
numero di condizionamento nella norma euclidea si rappresenta come
cond2 (A) =
max
.
min
(7.29)
Dunque una matrice simmetrica e definita positiva `e malcondizionata quando i suoi autovalori
hanno ordini di grandezza molto diversi tra loro.
Un classico esempio di matrici (simmetriche e definite positive) molto malcondizionate `e
costituito dalla famiglia di matrici di Hilbert H n (n 1), i cui elementi sono dati da
hij =
1
,
i+j1
1 i, j n ,
(queste matrici sono definite dal comando hilb di MATLAB). Riportiamo nella Tabella 7.1 i
numeri di condizionamento cond2 (H n ) (stimati attraverso il comando cond di MATLAB) al
crescere di n. Come si vede, si ha una crescita esponenziale!
Le matrici generate dalla discretizzazione mediante differenze finite o elementi finiti di un
problema differenziale ai valori al bordo hanno anchesse numero di condizionamento che cresce
con lordine n (che `e legato ai parametri di discretizzazione, quali il passo spaziale h); per
fortuna, la crescita `e algebrica, e non esponenziale, in n.
7.5
127
Il seguente teorema, noto come teorema di Gerschgorin, fornisce criteri di facile verifica per
localizzare nel piano complesso gli autovalori di una matrice.
Data una matrice A quadrata reale di ordine n, introduciamo i cerchi di Gerschgorin
Ci = {z C : |z aii | ri =
n
X
j=1,j6=i
|aij | } ,
i = 1, 2, . . . , n .
(7.30)
Notiamo che il cerchio Ci ha centro sullasse reale nel punto di ascissa aii , e raggio uguale alla
somma dei moduli degli elementi che stanno nella riga i, al di fuori della diagonale.
Teorema 7.5.1 Sia A una matrice reale quadrata di ordine n e siano Ci , i = 1, 2, . . . , n i suoi
cerchi di Gerschgorin. Allora:
1. Ogni autovalore di A sta nellunione C =
Sn
i=1 Ci
S
e lunione di m cerchi di Gerschgorin ed `e disgiunta dallunione dei ri2. Se C = m
k=1 Cik `
manenti nm cerchi (diciamo che C `e una componente connesa di C), allora esattamente
m autovalori di A stanno in C .
3. Sia A irriducibile, cio`e non esista nessuna permutazione di righe e colonne di A che la
trasformi in una matrice diagonale a blocchi
B=
A11 O
O T A22
con A11 , A22 matrici quadrate di ordine < n. Se un autovalore si trova sul bordo di C,
allora appartiene a tutti i cerchi di Gerschgorin di A.
Poich`e gli autovalori della matrice trasposta AT coincidono con quelli della matrice A, possiamo applicare il teorema di Gerschgorin anche a tale matrice, nellintento di ottenere una
localizzazione pi`
u precisa degli autovalori; i centri dei cerchi rimangono invariati, mentre i raggi
sono le somme dei moduli degli elementi non diagonali di ciascuna colonna di A.
Se la matrice A `e simmetrica, i suoi autovalori sono reali. Pertanto `e sufficiente analizzare gli
bi , dati dallintersezione dei cerchi di Gerschgorin Ci con lasse reale.
intervalli di Gerschgorin C
Esempio 7.5.2 Sia A la matrice simmetrica irriducibile di ordine 6
A=
3
0
1
0 2
0
1
0 1
0
1
0
0
1
0
1
0
0
0
0 1
1
1
0
0
0
0
.
5
0
3
0
6 3
3 3 18
128
C6
C2
C3
C1
C5
C4
18
C1
C2
C3
Figura 7.1: I cerchi di Gerschgorin e le relative componenti connesse, per lEsempio 7.5.2
Gli intervalli di Gershgorin sono
b1 = {x R : |x 3| 2 } = [1, 5] ,
C
b2 = {x R : |x + 2| 2 } = [4, 0] ,
C
b3 = {x R : |x + 1| 1 } = [2, 0] ,
C
b4 = {x R : |x 5| 4 } = [1, 9] ,
C
b5 = {x R : |x 6| 4 } = [2, 10] ,
C
b6 = {x R : |x 18| 7 } = [11, 25] ,
C
mentre i corrispondenti cerchi sono rappresentati in Fig. 7.1. Le componenti connesse sono
b = C
b2 C
b3 = [4, 0],
C
1
b = C
b1 C
b4 C
b5 = [1, 10],
C
2
b = C
b6 = [11, 25] .
C
3
7.6
= 2.2590...
= 1.2393...
=
3.1028...
=
4.1440...
=
5.8899...
= 19.3616...
u = F (u, t) ,
0<tT ,
u(0) = u0 ,
(7.31)
per un sistema di n equazioni differenziali del primo ordine in n incognite. Qui u : [0, T ] Rn
`e il vettore, dipendente dal tempo in modo differenziabile, che raccoglie le incognite, mentre
129
F : Rn [0, T ] Rn `e una funzione assegnata, che supponiamo continua nel complesso delle
variabili u e t, e lipschitziana nella variabile u uniformemente in t. Questultima ipotesi significa
che esiste una costante L > 0 tale che (rispetto a una qualunque norma in Rn )
kF (u, t) F (v, t)k L ku vk ,
u, v Rn , t [0, T ] .
(7.32)
Chiameremo costante di Lipschitz di F ogni costante L per cui valga la relazione precedente.
Un esempio notevole `e dato dal caso in cui F `e una funzione affine della prima variabile, ossia
quando
F (u, t) = Au + b(t) ,
(7.33)
con A matrice quadrata di ordine n. In tal caso, ricordando la (7.17), si ha
kF (u, t) F (v, t)k = kA(u v)k kAk ku vk ;
dunque, la norma di A associata alla norma scelta in Rn `e una (addirittura, la pi`
u piccola)
costante di Lipschitz per F .
Tornando al caso generale, ricordiamo che, sotto le ipotesi fatte su F , il problema (7.31)
ammette una e una sola soluzione per ogni scelta del dato iniziale u0 Rn .
Per approssimare numericamente una tale soluzione, la strategia pi
u popolare consiste nel
definire un metodo di avanzamento in tempo. Ci`
o significa che si selezionano (con vari criteri)
K > 0 istanti temporali tk , con 0 = t0 < t1 < < tk < tk+1 < < tK = T , per ciascuno dei
quali si costruisce ricorsivamente una approssimazione uk u(tk ) della soluzione; precisamente,
giunti allistante tk+1 , si definisce uk+1 a partire dalla conoscenza delle approssimazioni uj ,
j k, gi`a calcolate in uno o pi`
u passi precedenti.
La situazione concettualmente pi`
u semplice si ha quando si avanza con un passo temporale
costante t > 0 (in tal caso si pone K = T /t, assumendo che questo quoziente sia intero); gli
istanti temporali sono allora definiti da tk = kt, per k = 0, 1, . . . , K.
Alcuni tra i pi`
u semplici metodi di avanzamento in tempo sono i seguenti:
Metodo di Eulero esplicito (EE):
uk+1 = uk + tF (uk , tk ) ,
k0;
(7.34)
k0;
(7.35)
k1;
(7.36)
k
1
2 F (u , tk )
i
+ 12 F (uk+1 , tk+1 ) ,
k0.
(7.37)
130
I primi tre metodi possono essere dedotti da altrettante formule di derivazione numerica,
osservando che se u `e la soluzione di (7.31), si ha u (t) = F (u(t), t) per ogni t. Dunque, il
metodo di Eulero esplicito segue dalla relazione
u(tk+1 ) u(tk )
u (tk ) = F (u(tk ), tk )
t
(cio`e dalla formula del rapporto incrementale in avanti, si ricordi la (7.3)) sostituendo ai valori
esatti di u quelli approssimati e trascurando lerrore di derivazione numerica. Similmente, il
metodo di Eulero implicito segue dalla relazione
u(tk+1 ) u(tk )
u (tk+1 ) = F (u(tk+1 ), tk+1 )
t
(cio`e dalla formula del rapporto incrementale allindietro, si ricordi la (7.5)), mentre il metodo
del punto medio discende dalla relazione
u(tk+1 ) u(tk1 )
u (tk ) = F (u(tk ), tk )
2t
(cio`e dalla formula del rapporto incrementale centrato, si ricordi la (7.7)). Il metodo dei trapezi
discende invece da una formula di integrazione numerica applicata alla relazione
Z tk+1
Z tk+1
F (u(t), t) dt ,
u (t) dt =
u(tk+1 ) u(tk ) =
tk
tk
u (t)
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.
k0;
131
7.6.1
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 ,
132
w = F (w, t) ,
t > tk ,
w(tk ) = uk ,
ossia la soluzione del sistema differenziale che passa per il punto (tk , uk ) nel piano (t, u). Allora
possiamo scrivere lerrore al passo k + 1 come
u(tk+1 ) uk+1 = u(tk+1 ) w(tk+1 )
=
ek+1
PR
+
+
w(tk+1 ) uk+1
ek+1
CR .
k
La quantit`a ek+1
P R rappresenta la propagazione dellerrore u(tk ) u , presente allistante tk ,
lungo le traiettorie del sistema differenziale fino allistante tk+1 . Si pu`
o dimostrare che si ha
Lt ku(t ) uk k, dove L `
k
e
e
la
costante
di
Lipschitz
di
F
.
Invece,
ek+1
kek+1
k
CR rappresenta il
PR
k+1
p+1
nuovo errore creato dallo schema al passo k + 1, dunque keCR k = O(t ). Tenendo conto
che il numero di passi K = T /t necessario per arrivare al tempo T `e proporzionale a t1 ,
appare plausibile che lerrore finale sia O(tp ). In effetti, si pu`
o dimostrare il seguente risultato.
Teorema 7.6.2 Sotto le ipotesi fatte su F , se il metodo numerico definito dalla (7.38) oppure
dalla (7.39) `e di ordine p e se u `e derivabile (p + 1)-volte in [0, T ], si ha
p+1
d u
k
p
max ku(tk ) u k CL,T t max
p+1 (t)
,
1kK
t[0,T ] dt
dove CL,T indica una costante dipendente solo da L, T e dal metodo numerico.
Si noti la dipendenza dellerrore anche dalla derivata (p+1)-esima di u; in altri termini, la qualit`a
dellapprossimazione dipende anche da come la soluzione esatta varia nellintervallo temporale
considerato.
Il teorema non soltanto garantisce la convergenza (teorica) del metodo, ossia il fatto che
la soluzione discreta generata dal metodo numerico tende alla soluzione esatta per t 0,
ma indica anche quale comportamento dellerrore dobbiamo attenderci al diminuire del passo
temporale. Precisamente, se la soluzione `e sufficientemente regolare, ci aspettiamo che dividendo
t per 2 lerrore si riduca di un fattore 2p .
Questo comportamento viene in genere osservato in pratica per un certo intervallo di variabilit`a del passo temporale, che per`
o non arriva fino a 0. Infatti, poich`e le operazioni aritmetiche
vengono eseguite dallelaboratore con un numero finito di cifre decimali, la generazione e successiva propagazione degli errori di arrotondamento porta ad un significativo deterioramento della
qualit`a dellapprossimazione, allorquando t scende al di sotto di un livello critico (dipendente dalla precisione di macchina), ossia allorquando il numero di passi temporali necessario per
giungere al tempo finale T diventa eccessivamente elevato.
Bisogna inoltre osservare che la stima dellerrore data dal teorema non fornisce indicazioni
pratiche su come scegliere il passo temporale al fine di garantire che lerrore rimanga al di sotto di
133
u(t3 )
u(t2 )
u(t1 )
u3
u2
u1
u0
2t
3t
Figura 7.2: Propagazione del vecchio errore e creazione di nuovo errore nei primi tre passi del
metodo di Eulero esplicito
una soglia prefissata (tolleranza). Infatti, a secondo membro compare la soluzione esatta u, che `e
precisamente lincognita del problema. Le tecniche di scelta automatica del passo temporale (ed
eventualmente dellordine del metodo) per il controllo dellerrore globale utilizzano opportune
stime a posteriori dellerrore prodotto a ogni passo temporale, ottenibili a partire soltando dalla
soluzione discreta fornita dal metodo. Tipicamente, tali tecniche si basano sul confronto tra due
diverse approssimazioni della soluzione esatta allo stesso istante temporale, luna pi`
u precisa
dellaltra; esse vengono ottenute ad esempio avanzando con due passi temporali diversi, oppure
pi`
u efficientemente con due metodi di ordine diverso opportunamente accoppiati. Per ulteriori
dettagli, si rimanda ai testi pi`
u approfonditi di Calcolo Numerico.
7.6.2
La stabilit`
a asintotica
Un elemento importante che incide nella scelta del passo temporale `e la possibilit`a di garantire
soluzioni discrete uk limitate per tk +, ogniqualvolta le soluzioni del problema ai valori
iniziali (7.31) siano limitate per t +.
Una situazione di notevole rilevanza `e quella in cui il sistema differenziale `e lineare ed autonomo, ossia si ha F (u, t) = F (u) = Au + b con A matrice quadrata di ordine n e b Rn
indipendenti dal tempo, ed inoltre `e dissipativo, vale a dire A `e diagonalizzabile con autovalori
aventi tutti parte reale < 0. In tal caso, qualunque sia il dato iniziale u0 , la soluzione u(t) del
problema
u = Au + b ,
t>0,
(7.40)
u(0) = u0 ,
134
v = Av ,
t>0,
(7.41)
v(0) = v 0 .
Sia A = W W 1 la diagonalizzazione della matrice A, con = diag (1 , . . . , n ) matrice diagonale degli autovalori e W = (w1 , . . . , w n ) matrice degli autovettori (disposti per colonna). Sostituiamo tale espressione in (7.41) e moltiplichiamo a sinistra per W 1 . Posto z(t) = W 1 v(t)
e z 0 = W 1 v 0 , il problema (7.41) equivale a
z = z ,
t>0,
z(0) = z 0 ,
z = p zp ,
t>0,
p
zp (0) = z0p ,
(7.42)
le cui soluzioni sono zp (t) = ep t z0p . Poich`e per ipotesi Re p < 0, si ha |zp (t)| 0 per t +,
per ogni p. Conseguentemente, per t +, kz(t)k 0, dunque anche kv(t)k 0 e quindi,
come annunciato, u(t) u .
Ha dunque senso chiedersi se, e sotto quali condizioni sul passo temporale t che qui supporremo costante, un metodo numerico applicato al problema (7.40) generi una successione uk
convergente a u per k +. Possiamo ragionare equivalentemente sul problema (7.41); in
tal caso la successione v k generata dal metodo deve tendere a 0 per k +. Ancora una volta
ci limitiamo a considerare metodi a un passo.
Il metodo di Eulero esplicito, applicato al problema (7.41), diventa
v k+1 = vk + tAvk ,
k0;
passando alla variabile z = W 1 v e ragionando sulle singole componenti, ci`o equivale alle n
relazioni scalari, per 1 p n,
zpk+1 = zpk + tp zpk = (1 + tp )zpk ,
k0.
(7.43)
k0.
(Si presti attenzione al diverso significato dellindice k in questa formula: zpk denota una quantit`
a
relativa al tempo tk , mentre (1 + tp )k indica, come duso, lelevamento alla potenza k-esima
del numero racchiuso in parentesi.) La condizione |zpk | 0 per k + equivale al fatto che
|1 + tp | < 1 .
135
REE
(7.44)
il che `e sempre possibile, grazie allipotesi Rep < 0 fatta sugli autovalori di A. Il metodo di Eulero esplicito `e dunque condizionatamente asintoticamente stabile, ossia `e necessario soddisfare
questa condizione su t, detta condizione di stabilit`
a asintotica, per ottenere il comportamento desiderato sulle soluzioni discrete. Talvolta questa condizione pu`
o risultare eccessivamente
restrittiva.
Nel caso notevole in cui la matrice A sia simmetrica, e dunque i suoi autovalori siano tutti
reali negativi, abbiamo tp int (REE ) se e solo se
2 < tp < 0 ;
la seconda disuguaglianza `e sempre verificata, mentre la prima equivale a
t <
2
.
|p |
2
.
maxp |p |
(7.45)
Se la matrice A ha autovalori con ordini di grandezza molto diversi tra loro (ossia se `e malcondizionata - nel linguaggio dei sistemi di equazioni differenziali si dice che il sistema `e stiff ),
saremo vincolati ad avanzare con un passo temporale dettato dallautovalore di modulo pi`
u
136
REI
0
1
1 tp
k
z0p ,
k0.
t
t
p )zpk+1 = (1 +
p )zpk ,
2
2
k0,
1+
1
t
2 p
t
2 p
!k
z0p ,
k0.
137
RCN
Segnaliamo infine che il metodo del punto medio applicato a un sistema differenziale dissipativo
`e incondizionatamente asintoticamente instabile, vale a dire per nessuna scelta di t > 0 risulta
` invece condizionatamente asintoticamente stabile (t|p | 1 per
asintoticamente stabile. E
ogni p) per sistemi conservativi (quelli per cui gli autovalori di A sono tutti immaginari puri).
Esempio 7.6.3 Mostriamo su un semplice sistema differenziale di due equazioni in due incognite la natura talvolta inaccettabile della condizione di stabilit`
a asintotica del metodo di Eulero
esplicito. Consideriamo il problema ai valori iniziali (7.41), con
1001
999
2
2
2
A=
e
v0 =
.
0
999
1001
2
138
v1
v2
0
3/1000
Figura 7.6: Le componenti della soluzione del sistema stiff dellEsempio 7.6.3
con z1 (t) = et e z2 (t) = e1000t , ossia
(
v1 (t) = et + e1000t ,
v2 (t) = et e1000t .
Esiste quindi un transitorio iniziale molto piccolo, dellordine di 1/1000 di secondo, seguito da
una evoluzione pi`
u lenta, sulla scala dei secondi (si veda la Figura 7.6).
Orbene, se si avanza in tempo con il metodo di Eulero esplicito, dobbiamo rispettare la
condizione di stabilit`
a asintotica (7.45), vale a dire
t <
2
1
=
,
max(| 1|, | 1000|)
500
non soltanto nel transitorio, ma per tutta la simulazione, altrimenti il calcolo va rapidamente in
overflow.
Luso del metodo di Eulero implicito o dei trapezi permette invece di variare il passo, scegliendolo dellordine di 1/500 durante il transitorio ma poi aumentandolo via via che la soluzione va
verso lo stato stazionario.
7.6.3
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)
F 2 = F (uk + tF 1 , tk + t) .
Un popolare metodo del terzo ordine (RK3) `e dato da
uk+1 = uk + t 29 F 1 + 13 F 2 + 94 F 3 ,
k0,
(7.47)
con
F 1 = F (uk , tk ) ,
F 2 = F (uk + 12 tF 1 , tk + 12 t) ,
F 3 = F (uk + 34 tF 2 , tk + 34 t) .
Infine, un metodo del quarto ordine (RK4) classico e di uso assai diffuso `e dato da
uk+1 = uk + t 16 F 1 + 31 F 2 + 31 F 3 + 13 F 4 ,
k0,
(7.48)
con
F 1 = F (uk , tk ) ,
F 2 = F (uk + 21 tF 1 , tk + 12 t) ,
F 3 = F (uk + 12 tF 2 , tk + 12 t) ,
F 4 = F (uk + tF 3 , tk + t) .
Tale metodo viene spesso (as esempio in MATLAB) associato ad un particolare metodo del
quinto ordine, dovuto a Fehlberg, che con una sola valutazione aggiuntiva della funzione F
permette di stimare il passo t = tk ad ogni istante tk , in modo da soddisfare una prescritta
tolleranza locale sullerrore. Il metodo risultante, con passo adattato e quindi variabile, viene
indicato con RK45.
Le regioni di stabilit`
a asintotica dei metodi RK1-RK4 visti sopra sono illustrati nella Figura
7.7.
Ricordiamo infine che esistono famiglie di metodi di tipo Runge-Kutta impliciti.
Metodi Backward Difference Formulae (BDF)
Formano una famiglia di metodi di tipo implicito, multipasso e di ordine crescente fino al sesto incluso. Le loro regioni di stabilit`
a asintotica contengono un angolo nel semipiano Re 0
con centro lorigine e a cavallo del semiasse reale negativo. Questi metodi sono dunque particolarmente indicati per il trattamento di sistemi differenziali stiff, in quanto essi risultano
incondizionatamente stabili se la matrice del sistema ha autovalori reali negativi.
140
2.374
1.732
RRK2
2.513
RRK3
1.732
2.374
2.937
RRK4
2.785
2.937
Figura 7.7: Regioni di stabilit`
a asintotica nel piano complesso di alcuni metodo di Runge-Kutta
espliciti: RK2 (in alto a sinistra), RK3 (in alto a destra), RK4 (in basso a sinistra); RK1-RK4
sovrapposte (in basso a destra)
Il primo metodo della famiglia `e il metodo di Eulero implicito; il metodo del secondo ordine `e
3 k+1
2u
k1,
(7.49)
k2.
(7.50)