• Non ci sono risultati.

Equazione del calore e metodo delle linee

N/A
N/A
Protected

Academic year: 2021

Condividi "Equazione del calore e metodo delle linee"

Copied!
10
0
0

Testo completo

(1)

Equazione del calore e metodo delle linee

1

A. Sommariva2

Keywords: Equazione del calore e test di stabilita’. Comportamento Eulero esplicito ed implicito. Comportamento Crank-Nicolson. Nota sul condizionamento di certe matrici.

Revisione: 4 maggio 2020

1. Equazione del calore.

Consideriamo l’equazione del calore    ∂u ∂t = ∂2u ∂x2 + G, 0 < x < 1, t > 0 u(0, t) = d0(t), u(1, t) = d1(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 al punto x all’istante t.

• Le funzioni G, d0, d1, f , sono assunte sufficientemente regolari (cf. [1, p.414], [2, p.172]).

Sia m > 0 intero e sia • hx= 1/m,

• xj= jhxcon j = 0, 1, . . . , m.

Si pu`o mostrare che per j = 1, 2, . . . , m − 1 e ξj ∈ (xj−1, xj+1), se la soluzione `e sufficientemente regolare,

∂2u

∂x2(xj, t) =

(2)

• ∂2u

∂x2(xj, t) ≈

u(xj+1,t)−2u(xj,t)+u(xj−1,t)

h2 x

,

una volta posto uj(t) := u(xj, t), ci riconduciamo a studiare invece dell’equazione del calore u0j(t) z }| { ∂u ∂t(xj, t) = uj+1(t) z }| { u(xj+1, t) − 2 uj(t) z }| { u(xj, t) + uj−1(t) z }| { u(xj−1, t) h2 x + G(xj, t), con t > 0 e j = 1, . . . , m − 1. Porremo inoltre • u0(t) = u(x0, t) = u(0, t) = d0(t); • um(t) = u(xm, t) = u(1, t) = d1(t).

Di conseguenza, posto uj(t) := u(xj, t), otteniamo quindi per j = 1, . . . , m − 1 il sistema di equazioni differenziali

u0j(t) = uj+1(t) − 2uj(t) + uj−1(t) h2

x

+ G(xj, t) (3)

Risolto (3), si avr`a una approssimazione della soluzione dell’equazione del calore per xj = jhxe t ≥ 0. Il procedimento appena descritto `e noto in letteratura come metodo delle linee.

Nel risolvere il sistema dobbiamo far attenzione alle condizioni sul bordo u0(t) = d0(t), um(t) = d1(t)

e ricordare che la condizione iniziale del sistema di equazioni differenziali `e uj(0) = f (xj), j = 1, . . . , m − 1.

Esempio 1.1. Vediamo per esempio il caso in cui m = 4. Da u0j(t) = uj+1(t) − 2uj(t) + uj−1(t)

h2 x

+ G(xj, t), j = 1, 2, 3, il sistema diventa, ricordando i contributi del bordo,

(3)

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)

Figura 1: Metodo delle linee e significato variabili.

Il sistema differenziale (3) 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)

u0(t) = Au(t) + g(t), u(0) = u0. (5) Nota 1.1. Si vede che la matrice a predominanza diagonale

(4)

m hx [|λmin|, |λmax|] cond(A) 5 2.00e − 01 [9.55e + 00, 9.05e + 01] 9.47e + 00 10 1.00e − 01 [9.79e + 00, 3.90e + 02] 3.99e + 01 100 1.00e − 02 [9.87e + 00, 4.00e + 04] 4.05e + 03 1000 1.00e − 03 [9.87e + 00, 4.00e + 06] 4.05e + 05 10000 1.00e − 04 [9.87e + 00, 4.00e + 08] 4.05e + 07 100000 1.00e − 05 [9.87e + 00, 4.00e + 10] 4.05e + 09

• `e simmetrica (e quindi diagonalizzabile) e definita negativa (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 abbiamo sfruttato chem2h2

x= 1.

• `e tale che I − htA `e invertibile (poich`e A `e definita negativa).

Nota 1.2. Sotto ipotesi opportune di regolarit`a delle funzioni d0, d1, G, f , si pu`o mostrare che perCT indipendente dahx, denotando conU la soluzione esatta di (1),

max

j=0,...,mt∈[0,T ]max

|U (xj, t) − uj(t)| ≤ CTh2x

Nota 1.3. La matrice quadrata A di dimensione m − 1 non `e in generale troppo malcondizionata, ma comunque peggiora al diminuire dihx.

Tra i metodi pi`u comuni nel risolvere il problema differenziale (di Cauchy) 

u0(t) = F (t, u(t)) u(0) = u0

(7) citiamo il metodo di Eulero esplicito (posto un+1= u(tn+1))



un+1= un+ hF (tn, un) u0assegnato

(8) e quello di Eulero implicito



un+1= un+ hF (tn+1, un+1) u0assegnato

(9) Nel nostro caso

(5)



vn+1= vn+ ht(Avn+ g(tn)) v0assegnato

(10) mentre Eulero implicito determina

 vn+1= vn+ ht(Avn+1+ g(tn+1)) v0assegnato (11) o equivalentemente  (I − htA)vn+1= vn+ htg(tn+1) v0assegnato (12)

Nota 1.4. 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 li-neare). Usando i primi due teoremi di Gerschgorin, si vede che(I − γA) `e definita positiva perγ ≥ 0 (e quindi non singolare).

A partire da Eulero esplicito ed Eulero implicito si definiscono i cosidettiθ−metodi in cui, conv0assegnato,

vn+1= (1 − θ) (vn+ ht(Avn+ g(tn))) + θ (vn+ ht(Avn+1+ g(tn+1)))

Per

• θ = 0 si ottiene il metodo di Eulero esplicito; • θ = 1 si ottiene il metodo di Eulero implicito; • θ = 1/2 si ottiene il metodo di Crank-Nicolson. 2. Stabilit`a

(6)

• Si dimostra che la soluzione esatta U = U (x, t) tende a 0 per t → +∞; • Si richiede che la soluzione numerica abbia la stessa propriet`a. In tal caso il

metodo si dice assolutamente stabile. 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 con un generico θ-metodo

vn+1= (1 − θ) (vn+ htAvn) + θ (vn+ htAvn+1) (17) con v0assegnato.

2.1. Stabilit`a Eulero esplicito

Nel caso di Eulero esplicito abbiamo

vn+1= vn+ htAvn = (I + htA)vn (18) Siccome A `e diagonalizzabile, abbiamo che per qualche S, A = S−1ΛS, con Λ diagonale. Posto un= Svn, osserviamo che

un→ 0 ⇔ vn → 0. Infatti

kunk = kSvnk ≤ kSkkvnk implica che se vn→ 0 allora un→ 0. Viceversa

kvnk = kS−1unk ≤ kS−1kkunk implica che se un → 0 allora vn→ 0.

Da

un+1 = Svn+1= S(vn+ htAvn) = un+ htSAvn

= un+ htSS−1ΛSvn= un+ htΛun = (I + htΛ)un. se un = (un,i)i, Λi,i= λi, essendo Λ diagonale, la i-sima equazione diventa

(7)

e di conseguenza

un+1,i= (1 + htλi)un,i= . . . = (1 + htλi)n+1u0,i e quindi un→ 0 se e solo se

|1 + htλi| < 1, i = 1, . . . , m − 1.

Visto che λi ∈ (−∞, 0), la condizione |1 + htλi| < 1 si rilegge come −2 < htλi< 0, ovvero ht< −2 λi = 2 |λi| , i = 1, . . . , m − 1 cio`e ht< min i=1,...,m−1 2 |λi| = 2 maxi=1,...,m−1|λi| . Essendo λi= − 2 − 2 cos(jπm) h2 x , j = 1, . . . , m − 1 da λi< 0 per i = 1, . . . , m − 1 abbiamo max i |λi| = | mini (λi)| = |λm−1| = −2 − 2 cos( (m−1)π m ) h2 x <| − 4| h2 x = 4 h2 x . Da maxi=1,...,n|λi| <h42 x, ricaviamo h2 x 2 <i=1,...,m−1min 2 |λi| = 2 maxi=1,...,m−1|λi| e quindi se ht≤ h2x 2 necessariamente ht< min i=1,...,m−1 2 |λi| , i = 1, . . . , m − 1 cio´e si verifica la condizione di stabilit´a assoluta.

Nota 2.1. La disuguaglianza non `e molto larga, visto che −2 − 2 cos( (m−1)π m ) h2 x ≈ 4 h2 x .

Nota 2.2 (Commento). La disuguaglianza

ht≤ h2x

(8)

`e molto severa.

Se per avere accuratezza, utilizziamohxmolto piccolo, per avere la stabilit`a asin-totica il passohtdeve essere piccolissimo.

Questo comporta molte ”valutazioni” di Eulero esplicito conA di grandi dimen-sioni.

2.2. Stabilit`a Eulero implicito

Nel caso di Eulero implicito abbiamo

vn+1= vn+ htAvn+1 (19)

da cui immediatamente

vn+1= (I − htA)−1vn (20)

Siccome A `e diagonalizzabile, abbiamo che per qualche S, A = S−1ΛS, con Λ diagonale. Posto un= Svn,

un+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Λ)−1un. Se un= (un,i)i, Λi,i= λi, la i-sima equazione diventa

un+1,i= (1 − htλi)−1un,i e quindi, da

un+1,i= (1 − htλi)−1un,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.

Nota 2.3 (Commento). Siccome A `e definita negativa e simile a Λ, abbiamo che λi < 0 e quindi 1 1 − htλi < 1. `e verificata per qualsiasi scelta di ht.

(9)

2.3. Stabilit`a Crank-Nicolson

Nel caso di Crank-Nicolson abbiamo

vn+1= (1/2)(vn+ htAvn+1) + (1/2)(vn+ htAvn) (21) da cui immediatamente vn+1= vn+ (1/2)htAvn+1+ (1/2)htAvn (22) cio`e (I −ht 2 A)vn+1= (1 + ht 2A)vn (23) ovvero, essendo I −ht

2A invertibile poich`e definita positiva,

vn+1= (I − ht

2 A)

−1(I + ht

2A)vn. (24)

Essendo A = S−1ΛS, con Λ diagonale, posto un = Svn, un+1 = Svn+1= S(I − ht 2 A) −1(I + ht 2A)vn = S(I −ht 2 A) −1S−1S(I +ht 2A)S −1Sv n =  S(I −ht 2 A)S −1 −1 (I + ht 2Λ)un= (I − ht 2 Λ) −1(I +ht 2Λ)un Da un+1= (1 − ht 2 Λ) −1(1 +ht 2Λ)un la i-sima equazione diventa

un+1,i= 1 + ht 2λi 1 − ht 2λi un,i e quindi un+1,i= 1 +ht 2λi 1 −ht 2λi un,i= . . . = 1 +ht 2λi 1 −ht 2λi !n+1 u0,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.

(10)

Nota 2.4. Si dimostra che le matrici dei sistemi lineari dei metodi di Eulero implicito sono molto meglio condizionate della matriceA 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, cond2(I − htA) = 1 − htλmin(A) 1 − htλmax(A) ≈1 + 4ht/h 2 x 1 + htπ2 ≈ 1 + 4ht/h2x. Bibliografia

[1] K. Atkinson, Introduction to Numerical Analysis, Wiley, 1989.

Riferimenti

Documenti correlati

Nella lezione scorsa abbiamo visto che un modo per determinare l’eventuale inversa di una matrice quadrata A consiste nel risolvere il sistema lineare generale ad essa associato Ax =

Abbiamo poi osservato che, bench´ e la regola di Laplace ed il metodo di Cramer siano facilmente implementabili sul calcolatore, le relative complessit` a computazionali (numero

Geometricamente, il metodo costruisce ad ogni passo l’approssimazione della radice calcolando l’intersezione della retta passan- te per i punt (a i ,sgn(a i )) e (b

Alvise Sommariva Metodi iterativi per la soluzione di sistemi lineari 48/ 81.. Supponiamo di dover risolvere il sistema lineare Ax = b.. Il metodo del gradiente coniugato ha

Si dimostra che le matrici dei sistemi lineari dei metodi di Eulero implicito e di Crank-Nicolson sono molto meglio condizionate della matrice A del sistema

Nell’implementazione dei metodi di Jacobi, Gauss-Seidel, SOR, pu´ o servire l’estrazione di particolari

Si dimostra che le matrici dei sistemi lineari dei metodi di Eulero implicito sono molto meglio condizionate della matrice A del sistema differenziale.. Atkinson, Introduction

In definitiva affinch` e il metodo di Eulero esplicito converga, il passo temporale dev’essere scelto dell’ordine di h 2 x /2, che in molti casi risulta essere troppo piccolo e rende