Alvise Sommariva
Universit`a degli Studi di Padova Dipartimento di Matematica
Consideriamo l’
equazione del calore
∂u ∂t=
∂2u ∂x2+ G , 0 < x < 1, t > 0
u(0, t) = d
0(t), u(1, t) = d
1(t), t ≥ 0
u(x , 0) = f (x ), 0 ≤ x ≤ 1
(1)
La soluzione u
∗pu`
o essere interpretata come la temperatura
di un bastoncino di lunghezza 1, dove con u
∗(x , t) si intende
la temperatura nel punto x all’istante t.
Le funzioni G , d
0, d
1, f , sono assunte sufficientemente
Sia m > 0 intero e siano
h
x= 1/m,
x
j= jh
xcon j = 0, 1, . . . , m.
Si pu`
o mostrare che per j = 1, 2, . . . , m − 1 e ξ
j∈ (x
j −1, x
j +1), se
la soluzione `
e sufficientemente regolare,
∂
2u
∂x
2(x
j, t) =
u(x
j +1, t) − 2u(x
j, t) + u(x
j −1, t)
Da
∂u ∂t=
∂2u ∂x2+ G ,
∂2u∂x2
(x
j, t) ≈
u(xj +1,t)−2u(xh2j,t)+u(xj −1,t)x
,
una volta posto u
j(t) := u(x
j, t), ci riconduciamo a studiare invece
dell’equazione del calore, il sistema di m − 1 equazioni differenziali
Di conseguenza, posto uj(t) := u(xj, t), approssimiamo numericamente la soluzione del sistema di equazioni differenziali
uj0(t) = uj +1(t) − 2uj(t) + uj −1(t) h2
x
+ G (xj, t), j = 1, . . . , m − 1. (3)
Risolto (3), si avr`a una approssimazione della soluzione dell’equazione del calore per xj = jhx per j = 1, . . . , m − 1 e t ≥ 0. Il procedimento appena descritto `e noto in letteratura comemetodo delle linee.
Nel risolvere il sistema dobbiamo far attenzione alle condizioni sul bordo u0(t) = d0(t), um(t) = d1(t)
0 0.2 0.4 0.6 0.8 1 x 0 1 2 3 4 5 t u 1(t) u2(t) u3(t) u4(t) f(x) d 0(t) d1(t)
Esempio
Vediamo per esempio il caso in cui m = 5. Da
uj0(t) =
uj +1(t) − 2uj(t) + uj −1(t)
h2 x
+ G (xj, t), j = 1, 2, 3, 4,
il sistema diventa, ricordando i contributi del bordo,
Il sistema differenziale uj0(t) = (uj +1(t) − 2uj(t) + uj −1(t))/h2x+ G (xj, t),
j = 1, . . . , m − 1, pu`o essere riscritto matricialmente. Posto
u(t) := [u1(t), . . . , um−1(t)]T u0:= [f (x1), . . . , f (xm−1)]T g(t) := 1 h2 x d0(t), 0, . . . , 0, 1 h2 x d1(t) T + [G (x1, t), . . . , G (xm−1, t)]T A = 1 h2 x −2 1 0 0 . . . 0 1 −2 1 0 . . . 0 0 1 −2 1 . . . 0 . . . . 0 0 0 0 1 −2 (4)
otteniamo che (3) `
e equiv. al sistema di eq. differenziali (lineari)
Nota.
Si vede che la matrice a predominanza diagonale
A = 1 h2 x −2 1 0 0 . . . 0 1 −2 1 0 . . . 0 0 1 −2 1 . . . 0 . . . . 0 0 0 0 1 −2 (6) `
e simmetrica (e quindi diagonalizzabile) e definitanegativa(per i teoremi di Gershgorin).
`
e quadrata di ordine m − 1 e i suoi autovalori sono, per j = 1, . . . , m − 1
λj= − 2 − 2cos(j πm) h2 x = −2m21 − cos( j π m) m2h2 x =−2m2 1 − cos(j π m) .
dove, visto che hx = 1/m, abbiamo sfruttato che m2h2x= (mhx)2= 1.
`
Nota.
Sotto ipotesi opportune di regolarit`a delle funzioni d0, d1, G , f , si pu`o mostrare
che per CT indipendente da hx, denotando con u∗ la soluzione esatta di (1),
max j =1,...,m−1t∈[0,maxT]|u ∗ (xj, t) − uj(t)| ≤ CTh 2 x Nota.
La matrice quadrata A di dimensione m − 1 non `e in generale troppo malcondizionata, ma comunque peggiora al diminuire di hx.
m hx [|λmin|, |λmax|] cond(A)
Tra i metodi pi`
u comuni nel risolvere il problema differenziale (di
Cauchy)
u
0(t) = F (t, u(t))
u(0) = u
0(7)
citiamo il metodo di
Eulero esplicito
(posto u
n+1= u(t
n+1))
u
n+1= u
n+ hF (t
n, u
n)
u
0assegnato
(8)
e quello di
Eulero implicito
u
n+1= u
n+ hF (t
n+1, u
n+1)
Nel nostro caso
F (t, v(t)) := Av(t) + g(t)
e quindi il metodo di
Eulero esplicito
genera la successione
v
n+1= v
n+ h
t(Av
n+ g(t
n))
v
0assegnato
(10)
Nota.
Osserviamo che a differenza del metodo esplicito, poich`e
(I − htA)vn+1= vn+ htg(tn+1)
v0assegnato
(13)
ad ogni iterazione si richiede la soluzione di un’equazione (che nel nostro caso `e lineare). Essendo A definita negativa, si vede che (I − γA) `edefinita positiva
per γ ≥ 0 (e quindi non singolare).
A partire da Eulero esplicito ed Eulero implicito si definiscono i cosidetti
θ−metodiin cui, con v0assegnato,
vn+1= (1 − θ) (vn+ ht(Avn+ g(tn))) + θ (vn+ ht(Avn+1+ g(tn+1)))
Per
θ = 0si ottiene il metodo diEulero esplicito;
θ = 1si ottiene il metodo diEulero implicito;
Consideriamo l’equazione del calore nel caso
G ≡ 0,
d
0≡ 0, d
1≡ 0,
cio`
e
∂u ∂t=
∂2u ∂x2, 0 < x < 1, t > 0
u(0, t) = 0, u(1, t) = 0, t ≥ 0
u(x , 0) = f (x ), 0 ≤ x ≤ 1
(14)
Si dimostra che la soluzione esatta u
∗= u
∗(x , t) tende a 0
per t → +∞;
Posto u(t) := [u1(t), . . . , um−1(t)]T, u0:= [f (x1), . . . , f (xm−1)]T g(t) := 1 h2 x d0(t), 0, . . . , 0, 1 h2 x d1(t) T + [G (x1, t), . . . , G (xm−1, t)]T= 0Rm−1
il problema continuo discretizzato come proposto precedentemente con
u0(t) = Au(t) + g(t), u(0) = u0. (15)
diventa
u0(t) = Au(t), u(0) = u0 (16)
che `e possibile risolvere numericamente con un generico θ-metodo
vn+1= (1 − θ) (vn+ htAvn) + θ (vn+ htAvn+1) (17)
con v0assegnato.
In tal caso fissato ht, posto tn= nht, determiniamo vn≈ u∗n ove
u∗n = (u ∗
n,i)i =1,...,m−1, u∗n,i= u ∗
(xi, tn),
Teorema (Stabilit´a Eulero esplicito)
Detta A la matrice definita in (6) con hx = 1/m, la successione
vn+1= vn+ htAvn, con v0assegnato e ht > 0, risulta infinitesima se e solo se
ht< h2x 1 − cos((m − 1)π/m). (18) In particolare se ht≤ h2 x 2 (19) allora la successione vn→ 0.
La disuguaglianza (19) `e molto severa. Se per avereaccuratezza, utilizziamohx molto piccolo, per avere lastabilit`a asintoticail passoht
deve essere piccolissimo. Questo comporta molte ”valutazioni” di Eulero esplicito con A di grandi dimensioni.
Dimostrazione.
Nel caso di Eulero esplicito abbiamo che la soluzione esatta u∗(tn+1) ´e
approssimata da vn+1verificante
vn+1= vn+ htAvn= (I + htA)vn (20)
Siccome A `e diagonalizzabile, abbiamo che per qualche S , A = S−1ΛS , con Λ diagonale. Postown= S vn, osserviamo che
wn→ 0 ⇔ vn→ 0.
Per il teorema del confronto, da
0 ≤ kwnk = kSvnk ≤ kSkkvnk
deduciamo che se vn→ 0 allora wn→ 0. Viceversa, da
0 ≤ kvnk = kS−1wnk ≤ kS−1kkwnk
Da
wn+1 = S vn+1= S (vn+ htAvn) = wn+ htSAvn
= wn+ htSS−1ΛS vn= wn+ htΛwn=(I + htΛ)wn.
se wn= (wn,i)i, Λi ,i = λi, essendo Λ diagonale, la i -sima equazione diventa
wn+1,i = (1 + htλi)wn,i
e di conseguenza
wn+1,i = (1 + htλi)wn,i = (1 + htλi)2wn−1,i = . . . = (1 + htλi)n+1u0,i e quindi wn→ 0 se e solo se
Da
ht <max 2 i =1,...,m−1|λi|,
maxi|λi| = 2(1 − cos((m − 1)π/m))/hx2,
deduciamo che la successione vn→ 0 se e solo se
ht < h2 x 1 − cos((m−1)πm ). (21) Infine da 1 − cos (m − 1)π m < 2 ⇔1 2 < 1 1 − cos((m−1)πm ) ⇔ hx2 2 < h2x 1 − cos((m−1)πm ) abbiamo che se ht ≤ h2x 2 allora necessariamente ht≤ h2x 2 < hx2 1 − cos((m−1)πm )
Teorema (Stabilit´a Eulero implicito)
Detta A la matrice definita in (6) con hx= 1/m, la successione vn+1= vn+ htAvn+1,
con v0assegnato e ht> 0, risulta infinitesima.
Dimostrazione. (Facoltativa)
Da det(I − htA) > 0,vn+1= vn+ htAvn+1 equivale avn+1= (I − htA)−1vn. Inoltre,
esistendo S tale che A = S−1ΛS, con Λ diagonale, postown:= Svn,
wn+1 = Svn+1= S(I − htA)−1vn= S(S−1S − htS−1ΛS)−1vn
= S(S−1(I − htΛ)S)−1vn= SS−1(I − htΛ)−1Svn=(I − htΛ)−1wn.
Se wn= (wn,i)i, Λi ,i= λi, la i -sima equazione diventawn+1,i= (1 − htλi)−1wn,i e
quindi, da
wn+1,i= (1 − htλi)−1wn,i= . . . = (1 − htλi)−(n+1)u0,i
il metodo converge asintoticamente a 0 se e solo se
|1/(1 − htλi)| < 1, i = 1, . . . , m − 1.
Teorema (Stabilit´a Crank-Nicolson)
Detta A la matrice definita in (6) con hx= 1/m, la successione
vn+1= (1/2)(vn+ htAvn+1) + (1/2)(vn+ htAvn)
con v0assegnato e ht> 0, risulta infinitesima.
Dimostrazione. (Facoltativa)
Nel caso di Crank-Nicolson, essendo I − (ht/2)A definita positiva, si ha facilmente
vn+1= (1/2)(vn+ htAvn+1) + (1/2)(vn+ htAvn) ⇔ vn+1= (I − ht 2A) −1(I +ht 2A)vn. (22) Essendo A = S−1ΛS, con Λ diagonale, posto wn= Svn,
Da wn+1= (1 − ht 2Λ) −1 (1 +ht 2Λ)wn la i -sima equazione diventa
wn+1,i = 1 +ht 2λi 1 −ht 2λi wn,i e quindi wn+1,i= 1 +ht 2λi 1 −ht 2λi wn,i= . . . = 1 +ht 2λi 1 −ht 2λi !n+1 w0,i
e come nel caso scalare converge a 0 se e solo se |1 +ht
2λi|
|1 −ht 2λi|
< 1
che `e sempre verificata poich`e λi< 0. Visto che vn→ 0 se e solo wn→ 0, la
Nota. (Facoltativa)
Si dimostra che le matrici dei sistemi lineari dei metodi di Eulero implicito sono molto meglio condizionate della matrice A del sistema differenziale. Nel caso di Eulero implicito, ad ogni iterazione, bisogna risolvere un sistema del tipo (I − htA)vn+1= vn.
Osserviamo che λmin(A) ≈ −4/h2
x,
essendo 1 − cos(x ) ≈ x2/2 per x ≈ 0, mh x= 1, λmax(A) = −2(1 − cos(π/m)) h2 x ≈ −2(π/m) 2 2h2 x = −π2 da cui, poich`e A `e simmetrica,
cond2(A)= maxk|λk| mink|λk| = λmin(A) λmax(A)≈ −4/h2 x −π2 = 4 π2h2 x . Inoltre da λmin(I − htA) = 1 − htλmax(A),
λmax(I − htA) = 1 − htλmin(A), per htπ2 1,