160 likes | 328 Views
Metodi di integrazione numerica ( ODE+PDE ). Jost von Hardenberg – ISAC-CNR. Integrazione numerica di equazioni differenziali. Cerchiamo una soluzione (un’approssimazione numerica) per un’equazione differenziale ordinaria p.es Oppure per equazioni alle derivate parziali, es :
E N D
Metodi di integrazione numerica (ODE+PDE) Jost von Hardenberg – ISAC-CNR
Integrazione numerica di equazioni differenziali Cerchiamo una soluzione (un’approssimazione numerica) per un’equazione differenziale ordinaria p.es Oppure per equazioni alle derivate parziali, es: date opportune condizioni iniziali e/o al contorno
Metodi a differenze finite • Sostituiamo al problema continuo una sua rappresentazione su una griglia discretizzata (nello spazio e nel tempo): - Problema ben posto- Consistenza
Rappresentazione a differenze finite delle derivate Ottenibile da: • Definizione classica derivata prima di una funzione u(x,y) in un punto: • Espansione in serie di Taylor di u(x,y) attorno ad un punto
Rappresentazione a differenze finite delle derivate Ottenibile da: • Fit di un polinomio nell’intorno di un punto: ui ui+1 ui-1 x-x x x+x
Integrazione numerica di eq. differenziali ordinarie NB: qualunque ODE di ordine > 1 può essere scritta come sistema di eq. 1. ordine. Es: Problema generico:
ODE: Il metodo di Eulero + Err.ore Troncamento yn+1 f(y) yn • Metodo accurato al 1. ordine • - Poco stabile • Metodo esplicito • Metodo asimmetrico t
ODE: Runge-Kutta 2 k2 yn+1 y(t) k1 yn k2 • Metodo accurato al 2. ordine • - Buona stabilità • Metodo esplicito • più simmetrico di Eulero t+t t+t/2 t
ODE: Runge-Kutta 4 k4 k2 y(t) k1 k3 yn k2 • Metodo accurato al 4. ordine • - Buona stabilità • Metodo esplicito t+t t+t/2 t
Altri metodi Leapfrog …. molti altri metodi espliciti Predictor-corrector Metodi impliciti (maggiore stabilità, non necessariamente accuratezza)
PDE, esempi Avvezione di uno scalare Non è stabile! FT CS Equazione del calore
PDE: Condizioni al contorno n s Condizioni di Dirichleteg. u=fsu Condizioni di von Neumann: eg: u/n=f oppure u/s=g su Condizioni miste e.g: u/n+ku=f
Analisi di stabilità • D = soluzione discreta (infinita precisione) • N = soluzione numerica (precisione finita) • A = soluzione analitica • Err. di discretizzazione = A - D • Err. arrotondamento = N – D Come cresce l’errore di arrotondamento ?
Analisi di stabilità di von Neumann • Seguiamo un piccolo errore : y’=y+nelle equazioni discrete • Eq. lineari (linearizzate) per la crescita dell’errore • Errori rappresentati come modi di Fourier: Sostituiamo e cerchiamo
Altri metodi: • Griglie staggered • Metodi spettrali • Metodi impliciti • Volumi finiti ….. • Metodi per equazioni ellittiche(rilassamento, multigriglia ….)