Professional Documents
Culture Documents
CALCOLO NUMERICO
(A.A. 2012-2013)
F (x, y, u, ux, uy ) = 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 )
Problemi al bordo
u(x, 0) = (x)
x IR
x IR
t>0
Condizioni inizali
x IR
t>0
x IR
x IR
t>0
Condizioni inizali
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)
t0
Condizioni al bordo
u(x, 0) = T0
u(t, 0) = u(t, L) = T1
t>0
L:
k:
R:
C:
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 , .
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
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
u ( ), ( ) = ( )
0 1
d
u ( ), ( ) = ( )ux + ( ) uy = ( )
d
Per poter calcolare ux e uy su bisogna risolvere il sistema lineare:
Se `
e derivabile
( ) u + ( ) u = ( )
x
y
D = det
"
a b
su
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
1
0.8
0.8
0.6
u(x,t)
ut + c ux = 0
x IR t > 0
u(x, 0) = (x) x IR
0.6
0.4
0.2
0.4
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) = ( )
ut + c ux = 0
x IR t > 0
u(x, 0) = (x) x IR
u(0, t) = (t) t 0
u(x, t) = (x c t)
tj = jk
0 i N +1
0 j M +1
k2
utt(xi, j )
2
j [tj , tj+1]
h2
uxx(i , tj )
2
i [xi1, xi]
tj
Pij
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 ) =
k
h
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
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
+c
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
12
13
max |e(xi, tj )| =
(xi ,tj )R
(xi ,tj )R
tj
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
A=
1
0
0
1 0
0
0
0
0
1
0
Matrice di amplificazione
Equazione
differenziale
(esatta)
Schema numerico
applicato alla
soluzione esatta
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
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
stabilit`
a
consistenza
18
t0
0.9
0.8
x IR t > 0
0.4
0.3
0.2
0.1
0
0.5
1.5
19
Function MATLAB
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
Schemi impliciti
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||
X
1
k = 1
1 + k=0
1+
independentemente da k e h
lo schema `
e incondizionatamente convergente
23
Sistema lineare
Schema di Crank-Nicholson
=0
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