Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1.1 Introduzione
Un’Equazione alle Derivate Parziali (in breve PDE, acronimo dei termini
inglesi Partial Differential Equation) è un’equazione che mette in relazione
una funzione incognita dipendente da due (o più) variabili indipendenti alle
sue derivate parziali rispetto a queste variabili. La necessità di utilizzare
tali equazioni sta nel fatto che queste consentono di descrivere in modo più
accurato determinati fenomeni naturali. Infatti quando si cerca di descrivere
fenomeni dipendenti da diverse variabili indipendenti (più comunemente po-
sizione e tempo) allora è necessario utilizzare un modello differenziale alle
derivate parziali. Un esempio di PDE è il seguente
∂2u ∂ 2u ∂2u
∂u ∂u
a 2 + 2b + c 2 + f x, y, u, , =0
∂x ∂x∂y ∂y ∂x ∂y
1
CAPITOLO 1. EQUAZIONI ALLE DERIVATE PARZIALI 2
uxy = uyx .
Va anche precisato che nelle equazioni più diffuse non è presente la deriva-
ta uxy , perchè talvolta non ha significato fisico mentre in altri casi con un
opportuno cambiamento di variabile essa può diventare nulla.
∂ 2u ∂ 2u ∂ 2u
∆u = ∇2 u(x, y, t) = div(grad(u(x, y, t)) = + + 2.
∂x2 ∂y 2 ∂t
∂u3 ∂u2
∂y − ∂z
∂u1 ∂u3
Curl(u) = gradu × u = −
∂z ∂x
∂u2 ∂u1
−
∂x ∂y
q = (qx , qy , qz )
∆φ = 0.
a(x, y)uxx +2b(x, y)uxy +c(x, y)uyy +d(x, y)ux +e(x, y)uy +f (x, y)u+g(x, y) = 0
CAPITOLO 1. EQUAZIONI ALLE DERIVATE PARZIALI 6
oppure Quasi-Lineare:
+f (x, y, u, ux , uy ) = 0
oppure ancora Semi-Lineare:
2. ellittica se ∆ < 0,
3. parabolica se ∆ = 0.
Tale classificazione (per la verità un po’ superata) dipende solo dall’analogia
formale tra la (1.1) e l’equazione completa di una conica
ax2 + 2bxy + cy 2 + dx + ey + f = 0,
2. un’ellisse se b2 − ac < 0,
3. una parabola se b2 − ac = 0.
CAPITOLO 1. EQUAZIONI ALLE DERIVATE PARZIALI 7
∆ = −y(x2 − 1)(x2 + 1)
• L’equazione di Laplace
∂2u ∂2u
+ = 0.
∂x2 ∂y 2
• L’equazione di Poisson
∂ 2u ∂ 2u
+ = ρ(x, y)
∂x2 ∂y 2
• L’equazione d’onda
∂ 2u ∂ 2u
− µ 2 = 0, µ>0
∂x2 ∂t
è di Evoluzione ed Iperbolica (∆ = µ);
CAPITOLO 1. EQUAZIONI ALLE DERIVATE PARZIALI 9
• L’equazione di diffusione
∂ 2 u ∂u
κ − = 0,
∂x2 ∂t
è di Evoluzione e Parabolica (∆ = 0);
• L’equazione di Burgers
∂u ∂u
+u = 0, (1.2)
∂t ∂x
è di Evoluzione, ed ha numerose applicazioni in idrodinamica e gasdi-
namica e nello studio delle onde acustiche.
Derivazione numerica
2.1 Introduzione
I metodi per la risoluzione numerica di equazioni alle derivate parziali che
saranno descritti nei prossimi capitoli sono detti Metodi alle differenze finite
e sono basati sull’approssimazione discreta delle derivate parziali che com-
paiono nell’equazione. In questo capitolo affronteremo quindi il problema
relativo all’approssimazione delle derivate prima e seconda di una funzione
in un punto del dominio utilizzando opportune combinazioni lineari tra i
valori assunti dalla funzione in tale punto e in altri punti ad esso adiacenti.
Nei successivi paragrafi considereremo il caso di una funzione in una singola
variabile. Per semplicità supponiamo che tale funzione, f (t), sia continua
e differenziabile in un intervallo [a, b] fino ad un opportuno ordine k. In-
izialmente considereremo il caso in cui l’intervallo [a, b] sia stato suddiviso
in un insieme di sottointervalli di uguale ampiezza (griglia uniforme), per
poi considerare il caso in cui la funzione sia nota in un insieme di punti non
equidistanti (griglia non uniforme). Nei capitoli successivi sarà descritto l’u-
so di tali approssimazioni per le derivate parziali di funzioni definite su un
insieme Ω ⊂ R2 (oppure Ω ⊂ R3 ).
10
CAPITOLO 2. DERIVAZIONE NUMERICA 11
h2 ′′ h3 h4
f (ti+1 ) = f (ti ) + hf ′ (ti ) + f (ti ) + f ′′′ (ti ) + f iv (ξi ), ξi ∈ [ti , ti+1 ]
2 6 24
e procediamo in modo analogo per f (ti−1 ):
h2 ′′ h3 h4
f (ti−1 ) = f (ti ) − hf ′ (ti ) + f (ti ) − f ′′′ (ti ) + f iv (ηi ), ηi ∈ [ti−1 , ti ].
2 6 24
Sommiamo ora le due espressioni
h4 iv
f (ti+1 ) + f (ti−1 ) = 2f (ti ) + h2 f ′′ (ti ) + f (ξi ) + f iv (ηi )
24
ricavando
f (ti+1 ) − 2f (ti ) + f (ti−1 ) h2 iv iv
f ′′ (ti ) =
− f (ξi ) + f (η i )
h2 24
e, trascurando l’ultimo termine, l’approssimazione della derivata seconda è:
h2 iv
E(f ′′ (ti )) = − f (ξ), ξ ∈ [ti−1 , ti+1 ].
12
Nel seguente grafico viene evidenziata l’interpretazione geometrica della for-
mula appena ricavata.
CAPITOLO 2. DERIVAZIONE NUMERICA 12
y = f (t)
ti−1 ti ti+1
f (ti ) − f (ti−1 )
b =
h
f (ti+1 ) − 2f (ti ) + f (ti−1 )
a =
2h2
e la proprietà segue poichè:
f (ti+1 ) − 2f (ti ) + f (ti−1 )
p′′ (t) = 2a = .
h2
Poniamoci il problema di approssimare derivata prima e procediamo nello
stesso modo cioè scrivendo le serie di Taylor per f (ti+1 ) e f (ti−1 ) :
′ h2 ′′ h3 ′′′
f (ti+1 ) = f (ti ) + hf (ti ) + f (ti ) + f (σi ), σi ∈ [ti , ti+1 ]
2 6
CAPITOLO 2. DERIVAZIONE NUMERICA 13
h2 ′′ h3
f (ti−1 ) = f (ti ) − hf ′ (ti ) +
f (ti ) − f ′′′ (µi ), µi ∈ [ti−1 , ti ]
2 6
e questa volta sottraiamo la seconda dalla prima:
h3 ′′′
f (ti+1 ) − f (ti−1 ) = 2hf ′ (ti ) + [f (σi ) + f ′′′ (µi )]
6
ottenendo
f (ti+1 ) − f (ti−1 ) h2 ′′′
f ′ (ti ) = − [f (σi ) + f ′′′ (µi )]
2h 12
e, trascurando l’ultimo termine, l’approssimazione della derivata prima è:
f (ti+1 ) − f (ti−1 )
f ′ (ti ) ≃ (2.2)
2h
mentre si può provare che l’errore vale:
h2 ′′′
E(f ′ (ti )) = − f (δ), δ ∈ [ti−1 , ti+1 ].
6
f (ti+1 ) − f (ti−1 )
m=
2h
y = f (t)
ti−1 ti ti+1
seconda l’errore dipende da h2 , sono formule cioè del secondo ordine. Vedi-
amo ora altre due approssimazioni per la derivata prima. Infatti possiamo
anche scrivere:
h2 ′′
f (ti+1 ) = f (ti ) + hf ′ (ti ) + f (ξi ), ξi ∈ [ti , ti+1 ]
2
da cui si ricava immediatamente la formula alle differenze in avanti:
f (ti+1 ) − f (ti )
f ′ (ti ) ≃ (2.3)
h
con errore
h
E(f ′ (ti )) = − f ′′ (ξi ).
2
f (ti+1 ) − f (ti )
m=
h
y = f (t)
ti−1 ti ti+1
Analogamente si ricava
′ h2 ′′
f (ti−1 ) = f (ti ) − hf (ti ) + f (µi ), µi ∈ [ti−1 , ti ]
2
da cui si ricava immediatamente la formula alle differenze all’indietro:
f (ti ) − f (ti−1 )
f ′ (ti ) ≃ (2.4)
h
CAPITOLO 2. DERIVAZIONE NUMERICA 15
con errore
h
E(f ′ (ti )) = − f ′′ (µi ).
2
Queste due formule hanno ordine 1, quindi sono meno precise rispetto al-
la formula alle differenze centrali, tuttavia hanno il pregio di poter essere
applicate quando la derivata prima è discontinua in ti .
f (ti ) − f (ti−1 )
m=
h
y = f (t)
ti−1 ti ti+1
con ηi ∈]ti−2 , ti+2 [. Scriviamo ora gli sviluppi in serie di Taylor rispetto al
punto ti dei valori che compaiono in (2.5):
4h3 ′′′ 2h4 iv 4h5 v
f (ti±2 ) = f (ti ) ± 2hf ′ (ti ) + 2h2 f ′′ (ti ) ± f (ti ) + f (ti ) ± f (σi )
3 3 15
(2.6)
2 3 4 5
h h h h
f (ti±1 ) = f (ti )±hf ′ (ti )+ f ′′ (ti )± f ′′′ (ti )+ f iv (ti )± f v (µi ). (2.7)
2 6 24 120
Sostituendo (2.6) e (2.7) in (2.5) e raccogliendo i termini con il medesimo
ordine di derivata si deve imporre che il risultato abbia nulli i coefficienti
dei termini differenziali di ordine 0,1,3 e 4, mentre quello di ordine 2 deve
essere uguale a 1. In questo modo si arriva ad ottenere un sistema di cinque
equazioni nelle cinque incognite:
α +β +γ +δ +ε = 0
−2hα −hβ +hδ +2hε = 0
2 2
2h2 α + h2 β + h2 δ +2h2 ε = 1
3 3
− 34 h3 α − h6 β + h6 δ + 34 h3 ε = 0
2 4 4 4
3
hα + h24 β + h24 δ + 23 h4 ε = 0
che ammette come soluzione
1 5 4
α=ε=− , γ=− , β=δ=
12h2 2h2 3h2
che consente di ottenere la seguente approssimazione
′′ 1 1 4 5 4 1
f (ti ) ≃ 2 − f (ti−2 ) + f (ti−1 ) − f (ti ) + f (ti+1 ) − f (ti+2 )
h 12 3 2 3 12
(2.8)
con un errore
E(f ′′ (ti )) = ch4 f (vi) (ξi ), c ∈ R,
CAPITOLO 2. DERIVAZIONE NUMERICA 17
e pertanto di ordine 4, purchè f (t) sia una funzione di classe C vi ([a, b]).
Anche per la derivata prima è possibile ricavare approssimazioni discrete di
ordine maggiore coinvolgendo un numero di punti superiore. Consideriamo i
seguenti sviluppi in serie di Taylor:
h2 ′′ h3
f (ti+1 ) = f (ti ) + hf ′ (ti ) + f (ti ) + f ′′′ (ηi ) (2.9)
2 6
4
f (ti+2 ) = f (ti ) + 2hf ′ (ti ) + 2h2 f ′′ (ti ) + h3 f ′′′ (σi ) (2.10)
3
Moltiplicando (2.9) per 4 e sottraendo la (2.10) si ottiene
2 4
4f (ti+1 ) − f (ti+2 ) = 3f (ti ) + 2hf ′ (ti ) + h3 f ′′′ (ηi ) − h3 f ′′′ (σi ),
3 3
che consente di ottenere la seguente approssimazione
4f (ti+1 ) − 3f (ti ) − f (ti+2 )
f ′ (ti ) ≃ (2.11)
2h
con errore
2
E(f ′′ (ti )) = h2 [f ′′′ (ηi ) − 2f ′′′ (σi )] ,
3
da cui segue che la formula ha ordine 2.
Procedendo come per la (2.8) e prendendo 2 punti a sinistra di ti e uno a
destra, si può ottenere, per la derivata prima, la seguente approssimazione
di ordine 3:
f (ti−2 ) − 6f (ti−1 ) + 3f (ti ) + 2f (ti+1 )
f ′ (ti ) ≃ , (2.12)
6h
e la seguente di ordine 4:
f (ti−2 ) − 8f (ti−1 ) + 8f (ti+1 ) − f (ti+2 )
f ′ (ti ) ≃ .
12h
Come esempio si riporta nella seguente tabella l’errore che si commette
approssimando il valore della derivata prima della funzione
f (x) = log x
h (2.1) (2.8)
1 2.0385E − 3 4.2214E − 4
0.5 4.9343E − 4 2.1603E − 5
0.25 1.2239E − 4 1.2904E − 6
0.1 1.9539E − 5 3.2629E − 8
0.01 1.9531E − 7 4.9546E − 12
0.005 4.8825E − 8 1.4567E − 13
Equazioni ellittiche
ovvero
∂ 2u ∂ 2u
△u ≡ + = 0.
∂x2 ∂y 2
Se una funzione u(x, y) è di classe C 2 in un determinato sottoinsieme Ω ⊆ R2
ed è una soluzione di (3.1) nello stesso Ω allora prende il nome di funzione
armonica. L a principale proprietà di queste funzioni è enunciata nel seguente
teorema.
Teorema 3.1.1 (Principio del massimo) Sia Ω una regione limitata e
semplicemente connessa e sia Γ la sua frontiera. Sia Ω = Ω ∪ Γ. Se u(x, y) è
armonica su Ω e continua su Ω, allora u(x, y) assume il suo valore massimo
su Γ.
L’equazione di Laplace può essere associata ad un problema di Dirichlet
quando, assegnata una funzione f (x, y) di classe C 2 (Γ) si cerca una funzione
u(x, y) tale che:
1. u(x, y) è continua su Ω ∪ Γ;
2. u(x, y) = f (x, y) per ogni (x, y) ∈ Γ;
21
CAPITOLO 3. EQUAZIONI ELLITTICHE 22
3. u(x, y) è armonica in Ω.
In alternativa si può imporre la cosiddetta condizione di Neumann in cui, al
posto della condizione 2., si impone che sia
∂u
= f (x, y)
∂n
cioè sia assegnata la derivata normale di u(x, y) rispetto alla curva Γ. Ricor-
diamo che se nT = (nx , ny ), è il vettore normale allora
∂u ∂u ∂u
= nx + ny .
∂n ∂x ∂y
Consideriamo ora la risoluzione dell’equazione di Laplace prendendo Ω uguale
al rettangolo [a, b] × [c, d], con b > a e d > c. In questo caso un metodo
è quello di approssimare l’operatore differenziale dopo avere discretizzato
l’insieme Ω. Innanzitutto si suddivide l’intervallo [a, b] in N parti uguali,
ognuna di ampiezza
b−a
h=
N
per poi porre x0 = a, e
xi = xi−1 + k = a + ih i = 1, 2, . . . , N.
Lo stesso procedimento si segue per le ordinate suddividendo l’intervallo [c, d]
in M parti uguali, ciascuna di ampiezza
d−c
k=
M
per poi porre y0 = c, e
yj = yj−1 + h = c + jk j = 1, 2, . . . , M.
In questo modo si ottiene l’insieme discreto di punti del piano
RN +1,M +1 = (xi , yj ) ∈ R2 |xi = a + ih, i = 0, N, yj = c + jk, j = 0, M .
O a b x
con i = 1, . . . , N − 1, e j = 1, . . . , M − 1.
Tenendo presente che la funzione u(x, y) è nota sul bordo del rettangolo
alcune delle approssimazioni non devono essere calcolate, infatti:
h2
k2 −2(h2 + k 2 ) k2
h2
CAPITOLO 3. EQUAZIONI ELLITTICHE 25
25 26 27 28 29 30 31 32
17 18 19 20 21 22 23 24
9 10 11 12 13 14 15 16
1 2 3 4 5 6 7 8
equivalente a
in quanto ogni volta che una delle relazioni coinvolge un punto sulla fron-
tiera dell’insieme tale valore, essenco noto, contribuisce al termine noto del
CAPITOLO 3. EQUAZIONI ELLITTICHE 26
sistema.
La seconda equazione si ottiene per i = 2 e j = 1:
equivalente a
Nella Figura 3.1 è riportata la struttura della matrice nel caso della griglia
riportata come esempio in precedenza. Il sistema lineare da risolvere ha
una struttura molto sparsa: se indichiamo con n la sua dimensione (n =
(M − 1)(N − 1)) poco meno di 5n elementi sono diversi da zero su n2 ele-
menti della matrice dei coefficienti. Questo significa che il sistema può essere
CAPITOLO 3. EQUAZIONI ELLITTICHE 27
Ordinamento Lessicografico
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 136
1. Ordinamento Cuthill-McKee;
2. Ordinamento Red-Black;
3. Ordinamento Multicolore.
CAPITOLO 3. EQUAZIONI ELLITTICHE 28
Ordinamento Lessicografico−Fattore U
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 231
Figura 3.2: Struttura del fattore triangolare U per la matrice dei coefficienti
definita dall’ordinamento Lessicografico
Ordinamento di Cuthill-McKee
10 11 18 19 26 27 31 32
4 9 12 17 20 25 28 30
3 5 8 13 16 21 24 29
1 2 6 7 14 15 22 23
Ordinamento Cuthill−McKee
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 136
Figura 3.3: Struttura della matrice dei coefficienti per l’ordinamento Cuthill-
McKee
Ordinamento di Red-Black
29 13 30 14 31 15 32 16
9 25 10 26 11 27 12 28
21 5 22 6 23 7 24 8
1 17 2 18 3 19 4 20
CAPITOLO 3. EQUAZIONI ELLITTICHE 31
Ordinamento Cuthill−McKee−Fattore U
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 148
Figura 3.4: Struttura del fattore triangolare U per la matrice dei coefficienti
definita dall’ordinamento Cuthill-McKee
Ordinamento Red−Black
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 136
Figura 3.5: Struttura della matrice dei coefficienti per l’ordinamento Red-
Black
23 31 7 15 24 32 8 16
5 13 21 29 6 14 22 30
19 27 3 11 20 28 4 12
1 9 17 25 2 10 18 26
CAPITOLO 3. EQUAZIONI ELLITTICHE 33
Ordinamento Red−Black−Fattore U
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 170
Figura 3.6: Struttura del fattore triangolare U per la matrice dei coefficienti
definita dall’ordinamento Red-Black
Nel caso in cui i colori siano sei il primo colore della seconda riga coincide
con il quarto della sequenza, cosicchè sulla stessa colonna siano accoppiati
sempre il primo ed il quarto, il secondo con il quinto ed il terzo con il sesto.
Se sono otto allora i colori accoppiati sono il primo con il quinto, il secondo
con il sesto e cosı̀ via.
In Figura 3.7 è visualizzata la struttura della matrice A con tale ordinamento
mentre la Figura 3.8 mostra la struttura della matrice U triangolare superi-
ore. Osserviamo come il numero di elementi diversi da zero (191) sia più alto
rispetto agli ordinamenti Cuthill-McKee e Red-Black ma inferiore rispetto
all’ordinamento lessicografico.
Se il dominio è quadrato, oppure si può scegliere h = k, l’espressione del
metodo a 5 punti si semplifica:
Ordinamento Multicolor
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 136
Ordinamento Multicolor−Fattore U
0
10
15
20
25
30
0 5 10 15 20 25 30
nz = 191
Figura 3.8: Struttura del fattore triangolare U per la matrice dei coefficienti
definita dall’ordinamento Multicolore con 4 colori
Ordinamento Lessicografico
17 18
15 16
13 14
7 8 9 10 11 12
1 2 3 4 5 6
CAPITOLO 3. EQUAZIONI ELLITTICHE 37
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Ordinamento Red-Black
9 18
17 8
7 16
13 4 14 5 15 6
1 10 2 11 3 12
CAPITOLO 3. EQUAZIONI ELLITTICHE 38
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Teorema 3.3.1 Sia u ∈ C 4 (Ω), allora esiste una costante C ∈ R tale che
uyy + uxx = 0
u(x, 0) = 2 sin x, 0 ≤ x ≤ 4π
u(x, 2) = (e2 + e−2 ) sin x, 0 ≤ x ≤ 4π
u(0, y) = 0, 0≤y≤2
u(4π, y) = 0, 0≤y≤2
10
−5
−10
2
1.5
1
14
12
0.5 10
8
6
4
y 0 2
0
x
Γ = (x, y) ∈ R2 : x2 + y 2 = 1
Ω = (x, y) ∈ R2 : x2 + y 2 < 1 .
x = ρ cos θ, y = ρ sin θ.
mentre
Γ = (ρ, θ) ∈ R2 : ρ = 1 .
y θ
x ρ
La condizione al contorno è assegnata ovviamente su Γ cioè:
O a b x
CAPITOLO 3. EQUAZIONI ELLITTICHE 44
L’insieme dei punti discreti che appartengono sia al rettangolo [a, b] × [c, d]
che al dominio Ω si denota con
Ωhk = RN +1,M +1 ∩ Ω.
Tale insieme viene detto insieme dei punti interni. Ogni punto interno (xi , yj )
ha quattro punti vicini, cioè (xi±1 , yj ) e (xi , yj±1 ).
Un punto vicino ad un punto interno che non appartiene a Ωhk si dice punto
di confine. L’insieme dei punti di confine si indica con Γhk .
I punti angolari sono invece i punti dell’insieme RN +1,M +1 che non sono nè
interni nè di confine, ma risultano essere vertici di una cella che contiene
almeno un punto interno.
t
u
bc rs t
u t
u rs Punti di confine
bc rs t
u t Punti angolari
u
Ω
c
b rs bc Punti interni
c
b rs t
u
c
b rs
I punti angolari non hanno alcun ruolo nella soluzione numerica di equazioni
ellittiche. L’ipotesi che si deve fare sulla griglia che si considera è che i
segmenti che congiungono punti interni devono essere interamente contenuti
nel dominio Ω. Si evita cioè il caso evidenziato dal secondo grafico:
1. come valori nei punti di confine si utilizzano gli stessi valori assunti
dalla condizione al contorno;
Γ bc (xi , yj+1 )
(xi , yj ) bc bc (xi+1 , yj )
si pone:
bc bc bc
xi − h xi xi + h
xi + sh
Applicando la formula (2.13) si otterrebbe l’approssimazione:
Tale approssimazione risulta essere del primo ordine quindi meno precisa
rispetto all’approssimazione della derivata seconda su punti equidistanti.
Questo risultato ha come conseguenza un’approssimazione numerica meno
precisa in prossimità del contorno del dominio di integrazione.
∂2u ∂2u
+ = g(x, y)
∂x2 ∂y 2
4
3
1
− 12 4
3 −5 4
3
1
− 12 uij = h2 g(xi , yj )
4
3
1
− 12
che si deve risolvere ha una struttura più complessa di quello ottenuto con il
metodo a 5 punti. La matrice dei coefficienti è la seguente
T0 J0 O
J 1 T J1 J 2
J 2 J 1 T J1 J 2
A=
... ... ... ... ...
J 2 J 1 T J 1 J 2
J 2 J 1 T J1
O J0 T0
dove, utilizzando l’ordinamento lessicografico, la matrice T ha una struttura
a 5 diagonali (pentadiagonale), la matrice T0 è tridiagonale, mentre le matrici
J0 , J1 e J2 sono matrici diagonali.
1 2 1
6 3 6
2
3 - 103 2
3 uij = h2 g(xi , yj )
1 2 1
6 3 6
Equazioni paraboliche
50
CAPITOLO 4. EQUAZIONI PARABOLICHE 51
g1 (t) g2 (t)
x
O f (x) L
con a(x) funzione differenziabile e tale che 0 < a(x) < ∞ per x ∈ [0, L];
u(x, 0) = f (x) O x
u(0, t) = g1 (t)
u(L, t) = g2 (t)
O u(x, 0) = f (x) x
L
CAPITOLO 4. EQUAZIONI PARABOLICHE 55
ut = σuxx , 0 ≤ x ≤ L, t ≥ 0,
e condizioni al contorno
una griglia rettangolare formata dai punti di coordinate (xj , tn ) tale che
xj = j∆x, j = 0, 1, . . . , Nx + 1, tn = n∆t, n ≥ 0,
con
L Tmax
∆x = , ∆t = .
(Nx + 1) Nt
Il valore ∆t rappresenta l’intervallo di tempo tra due approssimazioni suc-
cessive. I punti (xj , tn ) del dominio discreto sono di tre tipi, evidenziati nel
seguente grafico.
CAPITOLO 4. EQUAZIONI PARABOLICHE 56
t
Punti al contorno
Punti iniziali
Punti interni
..
.
..
.
t2
t1 x
O x1 x2 ... xNx L
un+1
j − unj unj+1 − 2unj + unj−1
=σ
∆t (∆x)2
σ∆t
un+1 = unj + n n n
j u j+1 − 2u j + u j−1
(∆x)2
e infine si ha come risultato il seguente Metodo di Eulero Esplicito:
un+1
j = αunj−1 + (1 − 2α)unj + αunj+1 (4.7)
CAPITOLO 4. EQUAZIONI PARABOLICHE 57
dove
σ∆t
α=
(∆x)2
è una costante che prende il nome di Numero di Courant. Partendo da n = 0
la formula (4.7) consente di determinare esplicitamente le approssimazioni
u1j , j = 1, . . . , Nx , pertanto si tratta di un metodo di tipo esplicito. In modo
analogo, conoscendo le approssimazioni al livello n, consente di calcolare
quelle al livello n + 1. La condizione iniziale (4.5) fornisce i valori
u0j = f (j∆x), j = 0, 1, 2, . . . , Nx + 1.
Quando j = 1 e j = Nx la formula (4.7) utilizza le condizioni sulla frontiera
(4.6):
un0 = g1 (tn ), unNx = g2 (tn ).
..
..
.
t3
t2
t1
x
O L/2 L
CAPITOLO 4. EQUAZIONI PARABOLICHE 58
Quindi
u00 = u02 = 0, u01 = ε.
Applicando lo schema di Eulero Esplicito si ottiene:
un1 = (1 − 2α)n ε.
0 ≤ un1 ≤ ε ⇒ 0 ≤ (1 − 2α)n ≤ 1
e quindi
0 ≤ 1 − 2α ≤ 1.
Poichè α > 0 la seconda disuguaglianza è sicuramente verificata, quindi deve
essere
1
1 ≥ 2α ⇒ α ≤ .
2
Tale disuguaglianza, supponendo σ = 1, implica la seguente restrizione sui
passi di discretizzazione
(∆x)2
∆t ≤ .
2
Se ∆x ≃ 10−2 deve essere
∆t ≤ 0.5 · 10−4
quindi se è necessario integrare l’equazione su un intervallo di tempo molto
grande si deve usare un valore ∆t molto piccolo e di conseguenza il numero
di passi temporali è incredibilmente grande.
locale, nel senso che si suppone che i coefficienti dell’equazione che definisce
il metodo (detta equazione alle differenze) siano costanti rispetto al tempo e
allo spazio (o cambiano di poco). Si suppone inoltre che le soluzioni di tali
equazioni siano della forma:
unj = ξ n eικj∆x (4.8)
dove κ è un numero reale, detto numero d’onda, e ξ è un numero complesso
dipendente da κ. Il numero ξ, ed in particolare le sue potenze, indicano la
dipendenza della soluzione rispetto al tempo. Infatti la soluzione numerica
unj cresce esponenzialmente se |ξ(κ)| > 1 per un certo valore di κ. Per questo
il numero ξ è detto fattore di amplificazione per il numero d’onda κ. La
semplice analisi della stabilità vista nel precedente paragrafo corrisponde,
in realtà, allo studio dei valori che può assumere il numero di Courant in
modo tale che la soluzione numerica si mantenga limitata. In questo caso ciò
equivale a richiedere che il fattore di amplificazione abbia modulo minore di
(o uguale a) 1. Per applicare l’analisi di von Neumann al metodo di Eulero
Esplicito sostituiamo l’espressione (4.8) nello schema numerico (4.7):
ξ n+1 eικj∆x = ξ n eικj∆x + α ξ n eικ(j+1)∆x − 2ξ n eικj∆x + ξ n eικ(j−1)∆x .
Poichè
2 κ∆x 2 κ∆x
cos(κ∆x) = 1 − 2 sin ⇒ cos(κ∆x) − 1 = −2 sin
2 2
quindi
κ∆x 2
ξ = 1 − 4α sin .
2
Poichè ξ è un numero reale devono essere soddisfatte simultaneamente le
disequazioni:
−1 ≤ ξ ≤ 1.
In particolare la seconda risulta sempre soddisfatta, mentre dalla prima segue
che
2 κ∆x
2α sin ≤1
2
che è soddisfatta, come visto prima, se α ≤ 1/2.
CAPITOLO 4. EQUAZIONI PARABOLICHE 60
4.5 θ−Metodi
Il metodo di Eulero esplicito fa parte di una pià ampia classe di schemi
numerici, detti θ−Metodi perchè dipendono da un parametro reale θ. La
derivata prima viene approssimata utilizzando la formula alle differenze in
avanti:
un+1
j − unj
ut (xj , tn ) ≃ ,
∆t
mentre la derivata parziale seconda rispetto a x viene approssimata attraverso
una combinazione lineare tra i valori in due istanti di tempo consecutivi:
uxx (xj , tn ) ≃ [(1 − θ)uxx (xj , tn ) + θuxx (xj , tn+1 )] ,
con θ ∈ R (in particolare θ ∈ [0, 1]). Approssimando le derivate seconde nel
modo consueto si ottiene la formula:
" #
un+1
j − u n
j u n
j+1 − 2u n
j + u n
j−1 u n+1
j+1 − 2u n+1
j + u n+1
j−1
= σ (1 − θ) +θ ,
∆t (∆x)2 (∆x)2
ovvero
−αun+1 n+1
j−1 + (1 + 2α)uj − αun+1 n
j+1 = uj .
(xj , tn )
0.8
0.6
0.4
0.2
0
0.4
0.3 1
0.8
0.2 0.6
0.1 0.4
0.2
0 0
t
x
0.8
0.6
0.4
0.2
0
0.4
0.3 1
0.8
0.2 0.6
0.1 0.4
0.2
0 0
t
x
1.2
0.8
0.6
0.4
0.2
−0.2
0.1
0.08 1
0.06 0.8
0.04 0.6
0.4
0.02
0.2
0 0
t
x
xi = i∆x, yj = j∆y,
tn = n∆t, n = 0, 1, . . .
Sia
uni,j ≃ u(xi , yj , tn ),
il metodo di Eulero Esplicito è la generalizzazione di quello già incontrato
un+1 n n
i,j − ui,j ui+1,j − 2uni,j + uni−1,j uni,j+1 − 2uni,j + uni,j−1
=σ + .
∆t (∆x)2 (∆y)2
CAPITOLO 4. EQUAZIONI PARABOLICHE 66
0.8
0.6
0.4
0.2
0
2
1.5 1
0.8
1 0.6
0.5 0.4
0.2
0 0
t
x
Figura 4.4: Soluzione dell’equazione del calore ottenuta con il metodo alle
differenze divise implicito.
Livello n + 1
j+1
Livello n j
j−1
i−1 i i+1
CAPITOLO 4. EQUAZIONI PARABOLICHE 67
0.8
0.6
0.4
0.2
−0.2
2
1.5 1
0.8
1 0.6
0.5 0.4
0.2
0 0
t
x
Osserviamo che tale condizione è ben più restrittiva di quella vista in prece-
denza, infatti supponendo di utilizzare lo stesso passo di discretizzazione sia
per x che per y la condizione di stabilità diventa:
∆t 1
≤ .
(∆x)2 4
Il Metodo di Crank-Nicolson
Esattamente come nel caso unidimensionale è possibile definire la classe dei
θ−metodi. Nel caso del metodo di Crank-Nicolson la derivata seconda nel
punto della griglia di coordinate (xi , yj , tn ) viene approssimato con il valor
CAPITOLO 4. EQUAZIONI PARABOLICHE 68
Livello n + 1
j+1
Livello n j
j−1
i−1 i i+1
Livello n + 1
j+1
Livello n j
j−1
i−1 i i+1
Livello n + 1
Livello n + 1/2
j+1
Livello n j
j−1
i−1 i i+1
Lo Schema di Yanenko
Si effettuano due discretizzazioni temporali con passo dimezzato ognuna
rispetto ad una direzione diversa (la prima verso x la seconda verso y).
n+1/2
ui,j − uni,j n+1/2
= σLxx ui,j (4.11)
∆t/2
n+1/2
un+1
i,j − ui,j
= σLyy un+1
i,j (4.12)
∆t/2
Esplicitando la relazione (4.11) si ottiene
n+1/2 n+1/2 n+1/2 n+1/2
ui,j − uni,j ui−1,j − 2ui,j + ui+1,j
=σ
∆t/2 (∆x)2
CAPITOLO 4. EQUAZIONI PARABOLICHE 71
Ad ogni passo temporale si devono risolvere due sistemi lineari che hanno
struttura tridiagonale, ed inoltre il metodo è incondizionatamente stabile.
Il Metodo di Hopscotch
È uno schema che è composto da due parti, una esplicita e l’altra implicita.
un+1 n
i,j − ui,j
= σ Lxx uni,j + Lyy uni,j ,
se i + j + n pari;
∆t
un+1 n
i,j − ui,j
= σ Lxx un+1 n+1
i,j + L yy u i,j , se i + j + n dispari.
∆t
Se n è pari e si pone σα = ∆t/(∆x)2 e β = σ∆t/(∆x)2 , allora si ottiene la
seguente espressione se i + j è pari:
un+1 n n n n n
i,j = βui,j−1 + αui−1,j + (1 − 2α − 2β)ui,j + αui+1,j + βui−1,j ,
e la seguente se i + j è dispari:
1
un+1 n
n+1
βui,j−1 + αun+1 n+1 n+1
i,j = ui,j + i−1,j + αui+1,j + βui−1,j .
1 + 2α + 2β
Quando n è dispari allora la prima formula vale se i + j è dispari e la seconda
se i + j è pari. Il metodo è poco costoso, in quanto è esplicito, poichè nella
seconda relazione vengono utilizzate le approssimazioni al passo n + 1 che
sono già state calcolate. Inoltre il metodo è incondizionatamente stabile.
u(x, y, t) = 0, x = 0, x = 1, 0 ≤ y ≤ 1, t ≥ 0
y = 0, y = 1, 0 ≤ x ≤ 1, t ≥ 0
Nella Figure 4.6, 4.7 e 4.8 viene riportato l’andamento della condizione in-
iziale e della soluzione numerica in una griglia composta da 100 punti circa
e in due istanti di tempo successivi (t pari a circa otto millesimi di secondo e
mezzo secondo rispettivamente). Si può osservare che una condizione iniziale
discontinua dia luogo ad una soluzione che invece è molto regolare. I valori
∆x, ∆y e ∆t sono stati scelti in modo tale che venga soddisfatta la condizione
di stabilità (in particolare è stato posto ∆x = ∆y = 10−2 e ∆t = 2.5 · 10−5 .
300
250
200
150
100
50
0
1
0.8 1
0.6 0.8
0.4 0.6
0.4
0.2
0.2
0 0
y
x
Figura 4.6: Condizione iniziale per l’equazione del calore in due dimensioni.
CAPITOLO 4. EQUAZIONI PARABOLICHE 73
300
250
200
150
100
50
0
1
0.8 1
0.6 0.8
0.4 0.6
0.4
0.2
0.2
0 0
y
x
Figura 4.7: Soluzione numerica per l’equazione del calore dopo circa 8
millisecondi.
300
250
200
150
100
50
0
1
0.8 1
0.6 0.8
0.4 0.6
0.4
0.2
0.2
0 0
y
x
Figura 4.8: Soluzione numerica per l’equazione del calore dopo circa mezzo
secondo.
Capitolo 5
Equazioni iperboliche
74
CAPITOLO 5. EQUAZIONI IPERBOLICHE 75
All’equazione d’onda del secondo ordine (5.1) è possibile associare due tipi
problemi. Il primo è il il problema ai valori iniziali (o Problema di Cauchy)
in cui si deve determinare una funzione u(x, t), definita e continua per x ∈ R
e t ≥ 0, che soddisfi l’equazione alle derivate parziali per x ∈ R e t > 0 e le
condizioni iniziali:
u(x, 0) = f1 (x) x∈R
ut (x, 0) = f2 (x) x ∈ R,
u(0, t) = g1 (t)
u(L, t) = g2 (t)
f1 (0) = g1 (0), f1 (L) = g2 (0), f2 (0) = g1′ (0), f2 (L) = g2′ (0).
g1 (t) g2 (t)
x
O f1 (x), f2 (x) L
ξ = x + t, ψ =x−t
ovvero
ξ+ψ ξ−ψ
x= , t=
2 2
e definendo la funzione
1 1
U(ξ, ψ) = u(x(ξ, ψ), t(ξ, ψ)) = u (ξ + ψ), (ξ − ψ) .
2 2
1 ∂x ∂ 2 u ∂2u
2
∂ 2u
∂t ∂ u
= + + + 2 =
2 ∂ψ ∂x2 ∂x∂t ∂ψ ∂t∂x ∂t
1 1 ∂ 2u 1 ∂ 2u 1 ∂2u 1 ∂2u
= + − − = 0.
2 2 ∂x2 2 ∂t∂x 2 ∂x∂t 2 ∂t2
L’uguaglianza a zero deriva dall’ipotesi che la funzione u(x, t) soddisfa l’e-
quazione d’onda e dall’uguaglianza delle derivate parziali miste.
Poichè Uξψ = 0 possiamo considerare la derivata Uξ come funzione della sola
variabile ξ quindi integrando (5.4) rispetto a ψ si ottiene:
Uξ = F1 (ξ)
risulta
U(ξ, ψ) = G1 (ξ) + G2 (ψ).
Tornando alle variabili x e t si ha che la soluzione deve essere:
u(x, t) = G1 (x + t) + G2 (x − t).
si ricava:
1 ′
G′1 (x) = [f (x) + f2 (x)]
2 1
1 ′
G′2 (x) = [f (x) − f2 (x)] ,
2 1
da cui, integrando rispetto a x, risulta:
Z x
1
G1 (x) = f1 (x) + f2 (z)dz
2 Z0 x
1
G2 (x) = f1 (x) − f2 (z)dz .
2 0
Z x+t
1
= f1 (x + t) + f1 (x − t) + f2 (z)dz
2 x−t
(x, t)
O x
(x − t, 0) (x + t, 0)
(L/2, L/2)
x
(0, 0) (L, 0)
CAPITOLO 5. EQUAZIONI IPERBOLICHE 81
x
CAPITOLO 5. EQUAZIONI IPERBOLICHE 82
(∆t)2
u(xj , tn + ∆t) ≃ u(xj , tn ) − c∆tux (xj , tn ) + utt (xj , tn ).
2
Poichè la funzione u(x, t) soddisfa l’equazione (5.1) si ha
(c∆t)2
u(xj , tn + ∆t) ≃ u(xj , tn ) − c∆tux (xj , tn ) + uxx (xj , tn ). (5.6)
2
Le derivate spaziali vengono approssimate usando la consueta formula del sec-
ondo ordine mentre per la derivata prima si applica la formula alle differenze
centrali.
c∆t n (c∆t)2 n
un+1 = unj − uj+1 − unj−1 + uj+1 − 2unj + unj−1 .
j 2
2∆x 2(∆x)
Posto
c∆t
α=
∆x
si ottiene lo schema
α n α2 n
un+1 = unj − uj+1 − unj−1 + uj+1 − 2unj + unj−1
j
2 2
α α
= (1 + α)unj−1 + (1 − α2 )unj − (1 − α)unj+1 .
2 2
t
(xj , tn+1 )
O x
t
(xj , tn+1 )
O x
Dal punto di vista matematico si deve richiedere che tale situazione si verifi-
chi, imponendo opportune condizioni sui passi di discretizzazione spaziale e
CAPITOLO 5. EQUAZIONI IPERBOLICHE 85
(xj , tn+1 )
∆t
(xj−1 , tn ) (xj+1 , tn )
h h
(xj , tn )
La condizione viene verificata se la retta di colore blu tratteggiata ha un
coefficiente angolare inferiore rispetto a quello della retta caratteristica (che
in questo caso vale 1), cioè se
∆t
≤ 1. (5.7)
∆x
La relazione (5.7) prende il nome di Condizione di Courant, Friedrichs e Lewy
(spesso indicata come condizione CFL). Se la velocità c 6= 1 allora il rapporto
∆t/∆x deve essere inferiore al coefficiente angolare delle rette caratteristiche,
che hanno equazione
x = x0 + ct
e quindi
∆t 1 c∆t
≤ ⇒ ≤ 1.
∆x c ∆x
Un metodo esplicito
Innanzitutto si definisce la griglia suddividendo l’intervallo [0, L] in sottoint-
ervalli di ampiezza ∆x = L/(N + 1) e definendo gli istanti di tempo multipli
di un valore ∆t:
xj = j∆x, j = 0, 1, 2, . . . , N + 1, tn = n∆t, n = 0, 1, 2, . . . .
un+1
j − 2unj + ujn−1 un − 2unj + unj−1
2 j+1
−c =0
(∆t)2 (∆x)2
(∆t)2 n
un+1
j − 2unj + ujn−1 =c 2
2
(uj+1 − 2unj + unj−1 )
(∆x)
Posto
(c∆t)2
α=
(∆x)2
e ricavato un+1
j :
un+1
j = 2unj − ujn−1 + α(unj+1 − 2unj + unj−1 )
un+1
j = αunj−1 + 2(1 − α)unj + αunj+1 − ujn−1 , j = 1, . . . , N.
I primi valori che è possibile calcolare sono u2j , che necessitano della conoscen-
za di u1j , poichè i valori u0j sono forniti dalla condizione iniziale
Il problema è ora quello di approssimare la soluzione nei punti (xj , ∆t), cioè
conoscere i valori:
(∆t)2
u(xj , ∆t) ≃ u(xj , 0) + ∆t ut (xj , 0) + utt (xj , 0). (5.8)
2
CAPITOLO 5. EQUAZIONI IPERBOLICHE 87
Un metodo implicito
Per risolvere l’equazione d’onda si può discretizzare in modo diverso la deriva-
ta seconda di tipo spaziale:
1
uxx (xj , tn ) ≃ [uxx (xj , tn+1 ) + uxx (xj , tn−1 )]
2
un+1
j − 2unj + ujn−1
utt (xj , tn ) ≃
(∆t)2
un+1 n+1
j+1 − 2uj + un+1
j−1
uxx (xj , tn+1 ) ≃ 2
(∆x)
n−1
uj+1 − 2ujn−1 + uj−1
n−1
uxx (xj , tn−1 ) ≃
(∆x)2
" #
n+1 n+1 n+1 n−1
1 uj+1 − 2uj + uj−1 uj+1 − 2ujn−1 + uj−1
n−1
uxx (xj , tn ) ≃ + .
2 (∆x)2 (∆x)2
Sostituendo le approssimazioni nell’equazione alle derivate parziali si ottiene:
" #
un+1
j − 2unj + ujn−1 u n+1
j+1 − 2u n+1
j + u n+1
j−1 u n−1
j+1 − 2u n−1
j + u n−1
j−1
= c2 + .
(∆t)2 2(∆x)2 2(∆x)2
CAPITOLO 5. EQUAZIONI IPERBOLICHE 88
Ponendo
(c∆t)2
α=
2(∆x)2
si giunge all’espressione finale del metodo
−α un+1 n+1
j−1 + (2α + 1)uj − αun+1 n−1 n−1
j+1 = αuj−1 + (2α − 1)uj
n−1
+ αuj+1 + 2unj .
cosicchè l’equazioni viene risolta quando x ∈ [a, b]. L’esempio più noto di
equazione di questo tipo è probabilmente l’equazione di Burgers:
1
F (u) = u2
2
in cui
F ′ (u) = u
e quindi l’equazione in forma non conservativa è
ut (x, t) + u(x, t)ux (x, t) = 0
cioè la velocità dell’onda coincide con il valore della funzione stessa. In questo
caso le caratteristiche x(t) sono le soluzioni dell’equazione differenziale
x′ (t) = u(x, t)
infatti
d dx
u(x(t), t) = ux (x, t) + ut (x, t) = ux (x, t)u(x, t) + ut (x, t) = 0.
dt dt
Poichè lungo le caratteristiche la funzione u(x, t) è costante allora queste
devono essere necessariamente delle rette, infatti partendo dalla condizione
iniziale u0 (x0 ) = u(x0 , 0), esse si determinano sostituendo tale valore nell’e-
quazione differenziale
x′ (t) = u(x0 , 0).
Le rette caratteristiche hanno equazione
x(t) = x0 + u(x0 , 0)t = x0 + u0 (x0 )t
e coefficiente angolare 1/u0 (x0 ), quindi non sono parallele, e possono in-
tersecarsi. Nel punto in cui avviene tale intersezione la funzione u(x, t) è
discontinua, poichè presenta un salto. In questi casi si introduce il concet-
to di soluzione debole dell’equazione differenziale per indicare una soluzione
che può essere discontinua, oppure non differenziabile in qualche punto del
dominio, in contrapposizione con le cosiddette soluzioni classiche. Se due
caratteristiche si intersecano in un punto verso la direzione crescente di t al-
lora la discontinuità (o la soluzione debole) viene detta shock. Un altro caso
in cui le caratteristiche possono dare luogo a discontinuità si verifica qualora
le due rette partono dai due lati di una discontinuità e si allontanano da ques-
ta. In questo caso la discontinuità prende il nome di onda di rarefazione. La
situazione è schematizzata nel seguente grafico in cui le caratteristiche celesti
formano un’onda di rarefazione, mentre quelle verdi formano uno shock.
CAPITOLO 5. EQUAZIONI IPERBOLICHE 90
Rarefazione Shock
u
u0 (x) x
Z xj+ 1 Z tn+1
2
dx [ut (x, t) + [F (u)]x ] dt = 0
xj− 1 tn
2
Sia tn+1
1
Z
n
Hj+1/2 = F u xj+ 1 , t dt
∆t tn
2
∆t
α=
∆x
allora la relazione precedente può essere riscritta come
un+1
j = unj − α[Hj+1/2
n n
− Hj−1/2 ]
un+1
j = unj − α[Φnj+1/2 − Φnj−1/2 ]
un+1
j = G(unj−l , . . . , unj−1 , unj , unj+1 , . . . , unj+l ) (5.9)
La condizione di Courant-Friedrichs-Lewy
Per l’equazione iperbolica non lineare la condizione di Courant-Friedrichs-
Lewy diventa
∆t
|F ′ (u)| ≤ 1,
∆x
disequazione che è sicuramente soddisfatta se
∆t 1
≤ . (5.10)
∆x max |F ′ (u)|
Il passo di discretizzazione temporale deve soddisfare la seguente disequazio-
ne
∆x
∆t ≤ .
max |F ′ (u)|
Il problema di tale vincolo è che è molto difficile stimare il massimo di F ′ (u),
funzione che spesso è non lineare. Poichè si può ragionevolmente ipotizzare
che la funzione soddisfa la proprietà di massimo-minimo (dipende dal feno-
meno ondulatorio descritto) allora si può stimare che il massimo di u(x, t)
coincida con il massimo della condizione iniziale:
max |F ′ (u)| = max |u(x, t)| = max |u(x, 0)|.
x
Lo Schema di Lax-Friedrichs
La funzione di flusso numerica ha la seguente espressione:
1 n 1 n
Φnj+1/2 = Fj+1 − Fjn − uj+1 − unj
2 2α
n n
con Fj = F (uj ).
Lo schema numerico si scrive quindi
1 n α n
un+1 uj+1 + unj−1 − n
j = Fj+1 − Fj−1 .
2 2
Si tratta di uno schema del primo ordine che è monotono se
∆x 1
|F ′ (unj )| ≤ = , ∀j, n.
∆t α
CAPITOLO 5. EQUAZIONI IPERBOLICHE 93
Lo Schema di Godunov
La soluzione viene approssimata utilizzando una funzione costante a trat-
ti. Il problema viene affrontato come se fosse un insieme di problemi con
condizione iniziale che presenta diversi salti. In particolare si cerca, ad un
generico istante di tempo tn la funzione u∗ (x, t), con t ∈ [tn , tn+1 ], soluzione
del problema
ut + [F (u)]x = 0 x ∈ R, t ≥ 0
n
u(x, tn ) = uj xj−1/2 ≤ x ≤ xj+1/2 .
Se ∆t è sufficientemente piccolo allora non ci sono interazioni tra questi
problemi locali. Si ha quindi
x − xj+1/2 n n
∗
u (x, t) = u ; uj , uj+1
t − tn
dove x ∈ [xj , xj+1 ] e t ∈ [tn , tn+1 ].
Il valore un+1
j è ottenuto come media di u∗ (x, tn+1 ) su [xj−1/2 , xj+1/2 ] :
Z x 1
n+1 1 j+ 2
uj = u∗ (x, tn+1 )dx.
∆x x 1
j− 2
un+1 n
n n
j = u j − α Φj+1/2 − Φj−1/2 .
CAPITOLO 5. EQUAZIONI IPERBOLICHE 94
per t ∈ [0, 3]. Nelle figure seguenti sono riportate le soluzioni numeriche
ottenute con i metodi di Lax-Friedrichs e di Godunov. Il metodo di Godunov
consente di evidenziare meglio la formazione di uno shock. I valori di ∆x
e ∆t sono stati scelti in modo tale che venga soddisfatta la condizione di
Courant, Friedrichs e Lewy (5.11), considerando che
∂ 2u ∂ 2u
+ = −f (x, y) ⇔ ∆u = −f
∂x2 ∂y 2
96
CAPITOLO 6. IL METODO AGLI ELEMENTI FINITI 97
Notiamo che (u, v) indica il prodotto scalare tra u e v nello spazio L2 (Ω), cioè
l’insieme delle funzioni definite su Ω e aventi quadrato integrabile, infatti
Z
(u, v) ≡ u(x, y)v(x, y) dxdy.
Ω
Per capire quali possano essere le scelte per lo spazio V è bene osservare che
la formulazione debole del problema coinvolge solo il prodotto scalare tra i
CAPITOLO 6. IL METODO AGLI ELEMENTI FINITI 99
•
• •
•
• •
•
• •
• • • • • •
• •
•
• •
•
• •
•
dove diam(Ki ), diametro del triangolo Ki , è la lunghezza del lato più lungo.
Lo spazio a dimensione finita Vh è definito come lo spazio di tutte le funzioni
che sono lineari a tratti e continue nella regione Ωh e che sono zero sul
contorno Γ. Quindi
Vh = ϕ ϕ|Ωh continua, ϕ|Γ = 0, ϕ|Kj lineare per ogni j ,
a(u, ϕi ) = (f, ϕi ), i = 1, . . . , n.
dove
αij = a(ϕi , ϕj ), βi = a(f, ϕi ).
A questo punto si deve risolvere il sistema
Ax = b
in cui gli elementi della matrice A sono i valori αij , mentre quelli del vettore b
sono i valori βj . Inoltre la matrice A è simmetrica e definita positiva, infatti
è evidente che Z Z
∇ϕi ∇ϕj dxdy = ∇ϕj ∇ϕi dxdy
Ω Ω
da cui segue che αij = αji . Per vedere che A è definita positiva prima no-
tiamo che a(u, u) ≥ 0, per ogni funzione u. Se fosse a(ϕ, ϕ) = 0 per una
funzione appartenente a Vh , allora il gradiente di ϕ dovrebbe essere nullo
quasi ovunque in Ωh . Poichè ϕ è lineare in ogni triangolo e continua in Ω,
essa deve essere costante nello stesso insieme. Inoltre poichè è nulla sul con-
torno dell’insieme deve essere identicamente nulla su Ω. Il risultato segue
applicando la relazione
(Aξ, ξ) = a(ϕ, ϕ)
con n
X
ϕ= ξi ϕi ,
i=1
Notiamo che aK (ϕi , ϕj ) è zero a meno che i nodi i e j sono entrambi vertici
di K. Quindi un triangolo contrinuisce con valori diversi da zero ai 3 vertici
nella suddetta forma. La matrice 3 × 3:
aK (ϕi , ϕi ) aK (ϕi , ϕj ) aK (ϕi , ϕk )
AK = aK (ϕj , ϕi ) aK (ϕj , ϕj ) aK (ϕj , ϕk )
aK (ϕk , ϕi ) aK (ϕk , ϕj ) aK (ϕk , ϕk )
associata al triangolo K(i, j, k) con vertici i, j, k è detta matrice degli elementi
di stiffness. Per formare la matrice A è necessario sommare tutti i contributi
aK (ϕk , ϕm ) in posizione k, m della matrice. Questo procedimento viene detto
processo di assemblaggio:
XN
A= A[κ]
κ=1
in cui N è il numero degli elementi e A[κ] è una matrice che ha solo 9 elementi
diversi da zero pur essendo di dimensione uguale al numero dei nodi.
Esempio 6.2.1 Vediamo come esempio un dominio triangolare suddiviso in
altri 4 triangoli più piccoli e che presenta 6 nodi. Nelle seguenti figure sono
stati evidenziate le strutture delle matrici A[κ] , con κ = 1, 2, 3, 4. Il numero di
matrici da assemblare coincide con il numero di elementi (triangoli), men-
tre ciascuna di tali matrici presenta elementi diversi da zero solo in quegli
elementi di posto (i, j) tali che i nodi xi e xj sono vertici di tale triangolo.
Nell’ultimo grafico viene evidenziata la struttura della matrice assemblata.
Appare evidente come tale struttura dipende ovviamente dal modo con cui
sono stati ordinati i nodi e che ci sono alcuni elementi che sono ottenuti dal
contributo di una singola matrice A[κ] (nel caso in cui un nodo è vertice di
un solo triangolo), altri che invece hanno il contributo di tutte le matrici: il
nodo 5, per esempio, è vertice di tutti i triangoli.
CAPITOLO 6. IL METODO AGLI ELEMENTI FINITI 103
4 5
2
3 4
1 2 3
4 5 A[1] =
2
3 4
1 2 3
4 5 A[2] =
2
3 4
1 2 3
4 5 A[3] =
2
3 4
1 2 3
4 5 A[4] =
2
3 4
1 2 3
4 5 A=
2
3 4
1 2 3
5
14 15
1
6 7
4 13 5
8 9
2 10 11
9 10 11 12
12 3 4
13 14 15 16
1 7 2 8 3
A=
109
CAPITOLO 7. METODI ITERATIVI PER SISTEMI SPARSI 110
con k = 0, 1, 2, . . . .
La generica componente i−esima del vettore al passo k + 1 è calcolata per
mezzo di tutte le componenti del vettore al passo k eccetto la i−esima.
Questo procedimento iterativo prende il nome di metodo di Jacobi.
kx(k+1) − x(k) k
<ε
kx(k+1) k
−∇Φ(xc ) = b − Axc .
Poniamo
rc = b − Axc
il vettore detto residuo di xc . Se il residuo è diverso da zero cerchiamo di
trovare il parametro α > 0 tale che:
pk ∇φ(xk ) < 0
xk+1 = xk + αk pk
tale che
φ(xk+1 ) = min Φ(xk + αk pk ).
α∈R
(b − Axk )T pk rTk pk
αk = = . (7.4)
pTk Apk pTk Apk
e quindi
rk+1 = rk − αk Apk
e, dalla (7.4):
pTk Apk−1 = 0
Il valore di αk viene trovato nello stesso modo descritto nel metodo di più
ripida discesa.
1
Φ(xk + αk pk ) = (xk + αk pk )T A(xk + αk pk ) − (xk + αk pk )T b
2
1
= (xTk Axk + αk pTk Axk + αk xTk Apk + αk2 pTk Apk ) − xTk b − αk pTk b
2
1 2 T 1
= αk pk Apk + 2αk pTk Axk − pTk b + xTk Axk − xTk b
2 2
1 2 T 1
= αk pk Apk − 2αk pTk rk + xTk Axk − xTk b.
2 2
Il valore di αk che minimizza la funzione è
pTk rk rTk rk
αk = = .
pTk Apk pTk Apk
CAPITOLO 7. METODI ITERATIVI PER SISTEMI SPARSI 115
Ora
rTk rk−1 = rTk pk−1 − βk−1 rTk pk−2 = −βk−1 rTk pk−2
e
rTk pk−2 = rTk−1 pk−2 − αk pTk−1 Apk−2 = 0
da cui segue che
rTk rk−1 = 0, (7.6)
cioè ogni vettore residuo è ortogonale al precedente. Inoltre
pTk rk−1 = rTk rk−1 + βk pTk−1 rk−1 = βk pk−1 rk−1 = βk rTk−1 rk−1 (7.7)
e
pTk rk−1 = pTk rk + αk−1 pTk Apk−1 = pTk rk = rTk rk (7.8)
ottenendo una nuova espressione per βk :
rTk rk
βk = .
rTk−1 rk−1
k=0
x0 arbitario
r0 = b − Ax0
while rk 6= 0
βk = (rTk rk )/(rTk−1 rk−1 ) (β0 = 0 se k = 0)
pk = rk + βk pk−1 (p0 = r0 se k = 0)
αk = (rTk rk )/(pTk Apk )
xk+1 = xk + αk pk
rk+1 = rk − αk Apk
k =k+1
end