Topic outline
-
-
Programma del corso:
Soluzione numerica di problemi differenziali: metodi one-step per equazioni e sistemi di equazioni differenziali ordinarie; metodi alle differenze finite per problemi ai limiti. Metodi iterativi per la soluzione di sistemi lineari e sistemi di equazioni non lineari. Approssimazione di dati e funzioni. Formule di quadratura.
Elementi di programmazione in Fortran.
Prerequisiti: calcolo differenziale, algebra lineare, geometria analitica, equazioni differenziali ordinarie.
Libri di testo:
L. Gori - Calcolo Numerico, Ed. Kappa, V edizione, 2006.L. Gori, F. Pitolli, M.L. Lo Cascio - Esercizi di Calcolo Numerico, Ed. Kappa, II edizione, 2007.Materiale didattico disponibile sulla pagina web del corso.
-
Introduzione al calcolo scientifico.
-
Soluzione del problema di Cauchy per equazioni differenziali del primo ordine. Concetti di errore di troncamento, convergenza, consistenza, stabilità. Metodo di Eulero, metodi di Runge-Kutta. Metodi impliciti, metodi predictor-corrector. Soluzione di equazione differenziali di ordine superiore al primo e sistemi di equazioni differenziali.
-
Metodi alle differenze finite per la soluzione di problemi ai limiti per equazioni differenziali ordinarie.
-
Metodi alle differenze finite per la soluzione di equazioni alle derivate parziali del primo e del secondo ordine
-
Metodi diretti e iterativi per la soluzione numerica di sistemi lineari
-
Metodi iterativi per la soluzione di equazioni e sistemi di equazioni non lineari.
-
Approssimazione polinomiale e trigonometrica di dati e funzioni. Metodo ai minimi quadrati. Interpolazione.
-
Approssimazione polinomiale e trigonometrica di dati e funzioni.
-
-
Formule di Newton-Cotes per l'approssimazione di integrali definiti.
-
Approssimazione di integrali definiti con le formule di Newton-Cotes elementari e generalizzate
-
-
Introduzione al sistema operativo Ubuntu e sua istallazione.
Definizione di programma, algoritmo e compilatore.
-
Introduzione all'architettura di un calcolatore. Introduzione ai linguaggi di programmazione in particolare a Fortran 90. Completamento dell'istallazione di Ubuntu.
-
I principali comandi di Fortran: lettura-scrittura, dichiarazione di variabili, operazioni tra variabili, operazioni cicliche, espressioni logiche e operazioni di condizionamento.
-
I principali comandi di Fortran: lettura-scrittura, dichiarazione di variabili, operazioni tra variabili, operazioni cicliche, espressioni logiche e operazioni di condizionamento.
-
Nella quinta lezione si mostrano programmi che utilizzano tutti i comandi e le istruzioni mostrate in precendenza; si illustra l'utilizzo di subroutine e funzioni.
-
Applicazione degli argomenti delle lezioni precedenti alla creazione di subroutine e function utili per il prosieguo del corso: gestione di stringhe per la creazione del nome di file, lettura da file e scrittura su file.
Scrittura di un programma complesso che stampa la soluzione esatta di una equazione differenziale ordinaria semplice.
-
Completamento del programma oggetto della sesta esercitazione con introduzione della soluzione numerica con il metodo di Eulero della stessa equazione differenziale ordinaria (ODE). Presentazione dell'algoritmo completo e sua applicazione in fortran.
-
Il file compresso contiene il programma "eulero.f90" e il file con i parametri necessari per l'esecuzione del programma, "input.dat"
-
-
Introduzione a Gnuplot, software per la visualizzazione dati. Concetto di convergenza ed applicazione dello schema di integrazione con applicazione ai metodi di Eulero, Heun e Runge-Kutta (IV ordine)
-
Applicazione del metodo di Eulero ad all'equazione differenziale che descrive l'evoluzione della velocità di una particella sottoposta a gravità ed alla resistenza del fluido in cui cade.
-
Introduzione dell'equazione di convezione lineare con metodo di Eulero per la derivata temporale e up-wind (down-wind) per la derivata spaziale.
-
Introduzione dell'algoritmo di soluzione dell'equazione di convezione lineare e scrittura del codice per l'integrazione.
-
Completamento dell'illustrazione del codice per l'integrazione dell'equazione di convezione lineare con il metodo di Eulero nel tempo e upwind al primo e secondo ordine nello spazio. Osservazioni sull'errore di diffusone e l'errore di dispersione.
-
Dimostrazione del concetto di errore di diffusione e di dispersione. Introduzione dell’equazione di diffusione e relativa soluzione analitica.
-
Introduzione dell'equazione del calore (equazione di diffusione) e sua soluzione numerica con schema al primo ordine nel tempo e centrato al secondo ordine per la derivata seconda nello spazio (FTCS-BTCS). Descrizione del codice per la soluzione con schema esplicito (FTCS).
-
Introduzione ai metodi iterativi per la soluzione di sistemi algebrici: Jacobi, Gauss-Seidel
-
Algoritmo e programma per la soluzione di sistemi algebrici con i metodi di Jacobi e Gauss-Seidel
-
Soluzione del problema di convezione naturale in formulazione vorticità/funzione di corrente per flussi 2D incomprimibili. Discretizzazione delle equazioni e breve descrizione del codice solutore. Discussione dei risultati.