Indice degli argomenti

    • 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.
  • Prima Lezione

    Introduzione al calcolo scientifico.

  • Soluzione numerica del problema di Cauchy

    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.

  • Problemi ai limiti

    Metodi alle differenze finite per la soluzione di problemi ai limiti per equazioni differenziali ordinarie.

  • Equazioni alle derivate parziali

  • Sistemi lineari

    Metodi diretti e iterativi per la soluzione numerica di sistemi lineari

  • Soluzione di equazioni e sistemi di equazioni non lineari

    Metodi iterativi per la soluzione di equazioni e sistemi di equazioni non lineari.

  • Approssimazione di dati e funzioni

    Approssimazione polinomiale e trigonometrica di dati e funzioni. Metodo ai minimi quadrati. Interpolazione.

  • Formule di quadratura

    Formule di Newton-Cotes per l'approssimazione di integrali definiti.

  • Prima Esercitazione

    Introduzione al sistema operativo Ubuntu e sua istallazione. 

    Definizione di programma, algoritmo e compilatore.

  • Seconda Esercitazione

    Introduzione all'architettura di un calcolatore. Introduzione ai linguaggi di programmazione in particolare a Fortran 90. Completamento dell'istallazione di Ubuntu.

  • Terza Esercitazione

    I principali comandi di Fortran: lettura-scrittura, dichiarazione di variabili, operazioni tra variabili, operazioni cicliche, espressioni logiche e operazioni di condizionamento.

  • Quarta Esercitazione

    I principali comandi di Fortran: lettura-scrittura, dichiarazione di variabili, operazioni tra variabili, operazioni cicliche, espressioni logiche e operazioni di condizionamento.

  • Quinta esercitazione

    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.

  • Sesta Esercitazione

    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.

  • Settima Esercitazione

    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"

  • Ottava esercitazione

    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)

  • Nona Esercitazione

    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.

  • Decima Esercitazione

    Introduzione dell'equazione di convezione lineare con metodo di Eulero per la derivata temporale e up-wind (down-wind) per la derivata spaziale.

  • Undicesima Esercitazione

    Introduzione dell'algoritmo di soluzione dell'equazione di convezione lineare e scrittura del codice per l'integrazione.

  • Dodicesima Esercitazione

    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.

  • Tredicesima Esercitazione

    Dimostrazione del concetto di errore di diffusione e di dispersione. Introduzione dell’equazione di diffusione e relativa soluzione analitica.

  • Quattordicesima Esercitazione

    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).

  • Quindicesima Esercitazione

    Introduzione ai metodi iterativi per la soluzione di sistemi algebrici: Jacobi, Gauss-Seidel

  • Sedicesima Esercitazione

    Algoritmo e programma per la soluzione di sistemi algebrici con i metodi di Jacobi e Gauss-Seidel

  • Diciassettesima Esercitazione

    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.