Sei sulla pagina 1di 8

ANALISI NUMERICA

Equazioni alle derivate parziali

CALCOLO NUMERICO

Unequazione differenziale alle derivate parziali `


e una relazione che
lega una funzione incognita u(x1, , xr ) alle sue derivate parziali.

(A.A. 2012-2013)

Caso particolare: u = u(x, y)


Equazioni del primo ordine:

F (x, y, u, ux, uy ) = 0

Equazioni del secondo ordine: F (x, y, u, ux, uy , uxx, uyy , uxy ) = 0

Prof. F. Pitolli

Equazioni quasi-lineari:
Primo ordine: a(x, y, u) ux + b(x, y, u) uy = f (x, y, u)
(se a, b sono funzioni solo di x e y e f `
e lineare in u
lequazione `
e lineare)
Secondo ordine:
a(x, y, u, ux, uy ) uxx+b(x, y, u, ux, uy ) uxy +c(x, y, u, ux, uy ) uyy = f (x, y, u, ux, uy )

Appunti delle lezioni sulle equazioni

(se a, b sono funzioni solo di x e y e f `


e lineare in u, ux, uy
lequazione `
e lineare)

alle derivate parziali del primo ordine

Problemi ai valori iniziali

Problemi al bordo

In alcuni casi il problema differenziale descrive levoluzione nel tempo


di un fenomeno fisico ed `
e completato dalle condizioni iniziali.

a(x, t, u) ux + b(x, t, u) ut = f (x, t, u)

u(x, 0) = (x)

x IR

x IR

t>0

Condizioni inizali

a(x, t, u) uxx + b(x, t, u) uxt + c(x, t, u) utt = f (x, t, u)

Esempio: equazione del trasporto


ut + c ux = 0

x IR

t>0

Soluzione (o integrale generale): u(x, t) = (x ct)

x IR
x IR

t>0
Condizioni inizali

Soluzione del problema di Cauchy: u(x, t) = (x ct)

u(a, t) = (t)

ut =
uxx

RC

Problema di Cauchy:
ut + c ux = 0
u(x, 0) = (x)

u(x, 0) = (x)

Condizioni inizali

axb

u(b, t) = (t)

a < x < b, t > 0

t0

Condizioni al bordo

Esempio: equazione della propagazione del calore

Nota. Lintegrale generale dipende da funzioni arbitrarie.

Nei casi di interesse applicativo u(x, t) verifica lequazione differenziale


per t > 0 e a < x < b e soddisfa, oltre alle condizioni iniziali, le
condizioni al bordo (o ai limiti) per x = a e x = b.

u(x, 0) = T0

0 < x < L, t > 0


0xL

u(t, 0) = u(t, L) = T1

t>0

L:
k:
R:
C:

lunghezza del filo


conduttivit`
a termica
densit`
a
calore specifico
3

Linee caratteristiche
per le equazioni del primo ordine

Problemi stazionari
Nel caso di fenomeni stazionari u(x, y) verifica lequazione differenziale in un dominio R2 e soddisfa condizioni al bordo sulla
frontiera di , .

a(x, y, u) uxx + b(x, y, u) uxy + c(x, y, u) uyy = f (x, y, u)

u(x, y) = (x, y)

(x, y)

(x, y)

Condizioni al bordo

u(x, y) = 0

F (x, y, u, ux, uy ) = 0




u ( ), ( ) = ( )

0 1

dove x = ( ) e y = ( ) sono le equazioni parametriche di una


curva assegnata.

Esempio: equazione di Poisson

uxx + uyy = f (x, y)

Si cerca la soluzione u(x, y) del problema di Cauchy

Si
la

(x, y)

cerca
curva

(x, y) =

una superficie
integrale che
C
(dello
spazio
(x, y, u))
di
x = ( )
y = ( )
u = ( )

passi per
equazione

Equazioni quasilineari del 1o ordine

Linee caratteristiche per le equazioni


quasi-lineari del primo ordine

a(x, y, u)ux + b(x, y, u)uy = f (x, y, u)


Problema di Cauchy



u ( ), ( ) = ( )
0 1

a(x, y, u)ux + b(x, y, u)uy = f (x, y, u)


(a 6= 0)


d 
u ( ), ( ) = ( )ux + ( ) uy = ( )
d
Per poter calcolare ux e uy su bisogna risolvere il sistema lineare:

Se `
e derivabile

a(( ), ( ), u)ux + b(( ), ( ), u)uy = f (( ), ( ), u)

( ) u + ( ) u = ( )
x
y

che ammette soluzione solo se

D = det

"

a b

su

Curve caratteristiche: a |{z}


b
dy
d

Linee caratteristiche: sono le curve lungo le quali D = a b = 0


se si assegnano le condizioni iniziali sulle linee caratteristiche
il problema di Cauchy `
e impossibile o indeterminato

dx
d

Esempio
Curve caratteristiche:

ut + 2t ux = 0

u(x, 0) =

6= 0

dy
b(x, y, u)
= 0 =
=
|{z}

dx
a(x, y, u)

x IR t > 0

1
x IR
1 + x2

= {x = t2 + costante}
1
u(x, t) =
1 + (x t2)2
1
u(x, t)| =
1 + (costante)2

Nota. Se lequazione ha coefficienti a e b costanti le curve


b
caratteristiche sono rette con coefficiente angolare :
a
 
b
y
x = costante
a
7

Equazione del trasporto


(
1

Curve caratteristiche: : x c t = costante u(x, t) = (x c t)

1
0.8

0.8

Lungo le curve caratteristiche la soluzione u assume un valore costante

0.6

u(x,t)

ut + c ux = 0
x IR t > 0
u(x, 0) = (x) x IR

0.6

x c t = u(x, t)| = u( + ct, t) = () = (x c t)

0.4
0.2

0.4

Dominio di dipendenza continuo

0
6
0.2

10

Il segmento P C `
e detto
dominio di dipendenza
continuo di P : la soluzione
e
nel punto P = (x, t) `

2
5

0
10

10

10

* *

P =(x ,t )

x ct

u(x, t) = (x c t) = ( )

Schemi numerici per lequazione del trasporto

ut + c ux = 0

x IR t > 0
u(x, 0) = (x) x IR

u(0, t) = (t) t 0

Se u ammette derivate parziali continue fino al secondo ordine pu`


o
essere sviluppata in serie di Taylor di ordine 2

u(x, t) = (x c t)

Nota. Per avere continuit`


a deve essere (0) = (0)
Discretizzazione: xi = ih

tj = jk

0 i N +1

Formula alle differenze finite per ux e ut

0 j M +1

u(xi, tj+1) = u(xi, tj ) + k ut(xi, tj ) +

k2
utt(xi, j )
2

j [tj , tj+1]

u(xi1, tj ) = u(xi, tj ) h ux(xi , tj ) +

h2
uxx(i , tj )
2

i [xi1, xi]

Formula alle differenze finite in avanti per ut(xi, tj ):

tj

R = {(xi, tj ), 0 i N +1, 0 j M +1}

Pij

u(xi, tj+1) u(xi, tj )


k

k
+ utt(xi, j )
|2
{z
}

Primo ordine in k

O(k)

ut(xi, tj ) + c ux(xi, tj ) = 0

x ct

ut(xi , tj ) =

Formula alle differenze finite indietro per ux(xi, tj ):

k
h

Lo schema numerico si ottiene sostituendo alle derivate parziali le


approssimazioni ottenute con le differenze finite
10

ux(xi, tj ) =

u(xi, tj ) u(xi1, tj )
h
+ uxx(i , tj )
h
2
|
{z
}

Primo ordine in h

O(h)

11

Schema numerico

Schema upwind

Sostituendo nellequazione

Aggiungendo le condizioni iniziali e al bordo si ottiene il seguente


schema numerico, chiamato schema upwind:

ut(xi, tj ) + c ux(xi , tj ) = 0
le approssimazioni delle derivate parziali si ricava la relazione esatta
u(xi, tj+1) u(xi, tj )
k

k
+ utt(xi, j )+
2

"

u(xi, tj ) u(xi1, tj )
h
+c
+ uxx(i , tj ) = 0
h
2

=c

Lo schema numerico si ottiene sostituendo u(xi, tj ) con lapprossimazione


uij e trascurando lerrore:
ui,j+1 ui,j
k

+c

ui,j+1 = (1 )ui,j + ui1,j


ui,0 = (xi )

u0,j = (tj )

ui,j ui1,j
=0
h

k
h

i = 1, 2, . . . , N j = 0, 1, . . . , M
i = 0, 1, . . . , N + 1
j = 0, 1, . . . , M

Numero di Courant

Si tratta di uno schema del primo ordine in x e t


esplicito
a due livelli temporali

12

13

Condizione necessaria di convergenza


Convergenza

Dominio di dipendenza discreto

Uno schema numerico `


e convergente se
t

max |e(xi, tj )| =

(xi ,tj )R

max |u(xi, tj ) ui,j | 0 per h, k 0

(xi ,tj )R

tj

Teorema di equivalenza di Lax. Dato un problema differenziale


lineare con c.i. e c.b. ben posto, condizione necessaria e sufe che lo
ficiente di convergenza di uno schema alle differenze `
schema sia consistente e stabile
Consistenza: lerrore locale di troncamento 0 per h, k 0
Stabilit`
a : laccumularsi degli errori locali di troncamento si
mantiene limitato per h, k 0 e t fissato
14

Il triangolo APij B `
e detto
dominio di dipendenza
discreto di Pij

Pij

x ct

k
h

La soluzione ui,j in Pij dipende dai valori approssimati che cadono nel
triangolo APij B formato dallasse delle x, dalla retta che congiunge
(xi , 0) e Pij e dalla retta di coefficiente angolare hk passante per Pij .
Condizione necessaria per la convergenza `
e che il dominio di dipendenza discreto contenga il dominio di dipendenza continuo
1
k
ck

1 Condizione di Courant-Friedrichs-Lewy

=
h
c
h
15

Condizione sufficiente per la stabilit`


a
Uj = [u1,j , u2,j , . . . , uN,j ]T

A=

1
0
0

1 0

0
0

0
0

Convergenza dello schema upwind

Vj = [u0,j , 0, . . . , 0]T = [(tj ), 0, . . . , 0]T

1
0

Matrice di amplificazione

(Lu)(xi, tj ) = ut (xi, tj ) + cux(xi , tj ) =


=

u(xi , tj+1) u(xi, tj )


u(xi , tj ) u(xi1 , tj )
+ O(k) + c
+ O(h)
k
h

(LR {u(xi, tj )})ij =

Lo schema upwind pu`


o essere scritto in forma vettoriale:
Uj+1 = AUj + Vj

u(xi, tj+1) u(xi, tj )


u(xi, tj ) u(xi1 , tj )
+c
k
h

Equazione
differenziale
(esatta)
Schema numerico
applicato alla
soluzione esatta

Errore locale di troncamento

Perturbazione: S0 = [1,0, 2,0, . . . , N,0]T


(Uj+1 + Sj+1) = A(Uj + Sj ) + Vj
Sj+1 = A Sj
j 0 Sj = Aj+1 s0 ||Sj || kAkj kS0k

(xi , tj ) = (Lu)(xi, tj ) (LR {u(xi, tj )})ij = O(k + h) 0 per k, h 0


Lo schema `
e consistente e del primo ordine in x e t

Condizione sufficiente affinch


e lerrore si mantenga limitato `
e che
Per il teorema di equivalenza di Lax lo schema `
e condizionatamente convergente

kAk1 = kAk 1 || + |1 | 1
=

ck
1
h

Stabilit`
a condizionata
16

Nota. Lo schema `
e esatto per tutti i polinomi bilineari in x e t.
17

Esempio

Studio dellerrore globale


Errore globale: ei,j = u(xi, tj ) ui,j
Schema esatto: u(xi, tj+1) = (1 )u(xi, tj ) + u(xi1, tj ) + k (xi , tj )
Wj = [u(x1, tj ), . . . , u(xN , tj )]T
Wj+1 = AWj +Vj +kTj
Vj = [u(x0, tj ), 0, . . . , 0, u(xN +1, tj )]T
Tj = [ (x1, tj ), . . . , (xN , tj )]T

ut + ux = 0




( 

1x x3
1 x 3
2
2
2
2
u(x, 0) =

0
altrove

u(0, t) = 0
1

Soluzione
approssimata per k = 0.02
e h = 0.04

Numero di Courant:
=1
2

0.7
0.6
0.5

Sottraendo le due relazioni, per lerrore Ej = [e1,j , e2,j , . . . , eN,j ]T si ha


j+1
X
j+1
Aj+1r Tr1
Ej+1 = A Ej + kTj =
A
E
+
k
| {z 0}
errore di propagazione
| r=1
{z
}
errore di troncamento
convergenza

stabilit`
a

consistenza

18

t0

0.9
0.8

Schema upwind: ui,j+1 = (1 )ui,j + ui1,j


Uj+1 = AUj + Vj

x IR t > 0

0.4
0.3
0.2
0.1
0

0.5

1.5

19

Function MATLAB

Altri schemi espliciti

function [u] = PDE_upwind(numCFL,M,N,u0,g0)


%
% u = PDE_upwind(numCFL,M,N,u0,g0): risolve lequazione del trasporto
%
con il metodo upwind
%
% numCFL: numero di Courant-Friedrichs-Lewy
% M: numero di passi temporali
% N+1: numero di nodi
% u0: condizione iniziale
% g0: condizione al bordo
% u: soluzione approssimata

Usando le differenze finite centrate si ottengono gli schemi seguenti.


Metodo leapfrog: ui,j+1 = ui,j1 (ui+1,j ui1,j )
Metodo di Lax-Wendroff:
1
1
ui,j+1 = (1 2)ui,j (1 )ui+1,j + (1 + )ui1,j
2
2

u = zeros(N+1,M+1);
u(:,1) = u0;
u(1,:) = g0;
for j = 1:M
for i = 2:N+1
u(i,j+1) = (1-numCFL)*u(i,j)+numCFL*u(i-1,j);
end
end

Errore locale di troncamento: (xi, yj ) = O(k2 + h2)


I due schemi sono consistenti, del secondo ordine e condizionatamente stabili se < 1 i due schemi sono convergenti
20

Schemi impliciti

Convergenza dello schema implicito

Sono schemi in cui la soluzione approssimata `


e ottenuta risolvendo ad
ogni passo temporale un sistema lineare.
Esempio. Utilizzando le differenze finite allindietro per approssimare sia ut che ux si ha
u(xi, tj ) u(xi, tj1)
k
+ utt(xi, j )+
k
2
+c

AUj+1 + Vj+1 = Uj dove A =

1+
0
0

0
1 + 0

0
0
1 +
0
0
0

1 +

Ej+1 = A1Ej

u(xi, tj ) u(xi1, tj )
h
+ uxx(i , tj ) = 0
h
2
j [tj1, tj ]

21

Lo schema `
e consistente, del primo ordine e incondizionatamente
stabile in quanto si pu`
o dimostrare che

i [xi1, xi]

||A1||1 = ||A1||

Schema numerico: (1 + )ui,j ui1,j = ui,j1

X
1
k = 1
1 + k=0

1+

independentemente da k e h

Si tratta di uno schema del primo ordine in x e t, implicito, a due


livelli temporali.
22

lo schema `
e incondizionatamente convergente
23

Sistema lineare

Schema di Crank-Nicholson

Per ogni j > 1, lapprossimazione Uj+1 = [u1,j+1, . . . , uN,j+1]T al


tempo tj+1 si ottiene risolvendo il sistema lineare

Utilizzando le differenze finite centrate


 u

i,j+1 ui,j
ut xi, tj+ 1
2
k



 u
1 1
1
i+1,j+1/2 ui1,j+1/2

(ui+1,j + ui+1,j+1 ) (ui1,j + ui1,j+1)


ux xi , tj+ 1
2
2h
2h 2
2


nellequazione ut xi, tj+ 1 + c ux xi, tj+ 1


2

=0

si ha lo schema numerico seguente:

ui,j+1 ui,j = (ui+1,j+1 ui1,j+1 + ui+1,j ui1,j )


4
Lo schema `
e consistente, del secondo ordine e incondizionatae incondizionatamente convergente
mente stabile lo schema `
24

ui1,j+1+ui,j+1+ ui+1,j+1 = ui1,j +ui,j ui+1,j


4
4
4
4

A Uj+1 = AT Uj + Vj
4
dove

0
0

0
1

1
0 0

4
4

1
0

4
4

. . . . . . . . . . . . . . . ..
A = ..

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
.

..

.
.
.
.
.
.
.
.
.
1

4
4

1
0
0
4

Esempio

ut + ux = 0




( 

1x x3
1 x 3
2
2
2
2
u(x, 0) =

0
altrove

u(0, t) = 0

1iN

25

x IR t > 0

t0

1.2

Soluzione
approssimata per k = 0.02
e h = 0.04

Numero di Courant:
=1
2

0.8

0.6

0.4

0.2

0.2

0.5

1.5

26

Riferimenti bibliografici
L. Gori, Calcolo Numerico: 10

27