Sistemi Stiff
Sistemi Stiff
L’equazione differenziale lineare
y0(t) = λy , y (0) = c, t ∈ [0, 1]
ha soluzione
y (t) = c exp(λt).
Se λ < 0, allora y (t) decade di un fattore c/e al tempo t = −1/λ (costante di tempo).
Pertanto se |λ| `e grande, la soluzione decade molto rapidamente.
Provare ad approssimare la soluzione con il metodo di Eulero quando λ = −5 e λ = −50, con passo h = 0.1. Usare poi il metodo dei trapezi
yn+1=yn+h/2(f (xn+1,yn+1) +f (xn,yn)) Cosa si osserva? Perch `e?
In generale, i sistemi stiff sono sistemi di equazioni differenziali che descrivono sistemi fisici caratterizzati da costanti di tempo molto differenti fra loro.
Sia dato il sistema di ODE lineari a coefficienti costanti y0(t) = Ay(t) + Φ(t), y, Φ(t) ∈ Rn, A ∈ Rn×n. Siano λ1, λ2, . . . , λngli n autovalori distinti di A
(|λ1| ≤ .... ≤ |λn|) e c1,c2, . . . ,cni corrispondenti autovettori.
Allora la soluzione del sistema si pu `o scrivere come
y (t) =
n
X
i=1
Kiexp(λit)ci+ Ψ(t)
avendo indicato con K1, ...,Knn costanti e con Ψ(t) una soluzione particolare del problema.
Sistemi Stiff
Sistemi Stiff
Si definiscequoziente di stiffness:
S = <(λn)
<(λ1).
Un sistema differenziale lineare a coefficienti costanti `estiffse tutti gli autovalori di A hanno parte reale negativa e il quoziente di stiffness `e grande.
Esempio 1 Problema
y0(t) = −103(y −exp (−t)) − exp(−t), y (0) = 0 t ∈ [0, 1]
Soluzione: y (t) = exp (−t) − exp (−103t)
Le componenti della soluzione hanno un fattore di decadimento molto diverso.
Sistemi Stiff
Alcuni esempi
Usiamo differenti solutori di Matlab
Metodo RK45: 311 successful steps - 1987 function evaluations Metodo implicito: 47 successful steps - 63 function evaluations
Esempio 2
y10(t) y10(t)
=
−2 1
997 −999
y1(t) y2(t)
+
2 sin (t) 999(cos (t) − sin(t))
y1(0) = 2, y2(0) = 3 Integro numericamente con RK45:
3019 successful steps - 18865 function evaluations Integro con un metodo implicito (trapezi):
93 successful steps - 145 function evaluations
Sistemi Stiff
Poich `e l’intervallo di assoluta stabilit `a del metodo RK usato `e λh ∈ (−3, 0)
devo scegliere il passo h < 0.003.
Non si presenta questo problema con il metodo dei trapezi in quanto l’intervallo di assoluta stabilit `a `e (−∞, 0).
Sistemi Stiff
Conclusione
I metodi Runge Kutta espliciti non sono sufficientemente stabili per l’integrazione di un sistema stiff: per avere risultati accettabili `e necessario utilizzare un passo di integrazione troppo piccolo.
Si devono usare metodi con una grande regione di assoluta stabilit `a: per esempio i metodi impliciti (trapezi).