La progettazione ingegneristica si serve sempre più dei risultati di simulazioni numeriche basate sull'integrazione di equazioni differenziali alle derivate parziali derivate da modelli fisici. Questo è particolarmente vero nel campo della progettazione aerospaziale, dove infatti la fluidodinamica computazionale, il calcolo strutturale e la simulazione di sistemi complessi hanno ottenuto i maggiori successi. Questo corso si propone come un'introduzione ai fondamenti del calcolo numerico e del calcolo scientifico. Verranno descritte le principali tecniche numeriche di base e i metodi in uso per integrare equazioni alle derivate parziali: differenze finite ed elementi finiti per problemi
ellittici e parabolici, volumi finiti per problemi iperbolici. I metodi studiati verranno poi applicati a problemi semplici, che siano in grado però di illustrare le caratteristiche di uno schema e i principali dettagli di implementazione.
Engineering design is based more and more on results and data coming from numerical simulation and scientific computing. In these applications, scientific computing requires the numerical integration of partial differential equations obtained from the modelling of physical phenomena. This is particularly true in aerospace engineering, where computational fluid dynamics, structural analysis and simulation of complex systems are extremely successful. This course introduces the basic techniques of numerical calculus and scientific computing. The program will cover the main numerical methods to integrate partial differential equations: finite differences and finite element methods for elliptic and parabolic problems, finite volume methods for hyperbolic systems of equations. The methods described in the course will be applied to simple test problems, in order to illustrate the main characteristics of each scheme, and the main issues arising from the practical implementation of the methods.
Acquisizione delle tecniche di base del calcolo numerico classico (soluzione numerica di sistemi lineari algebrici di grandi dimensioni, approssimazione, integrazione numerica, equazioni differenziali ordinarie). Conoscenza dei principali strumenti del calcolo scientifico per la risoluzione di equazioni alle derivate parziali: differenze finite ed elementi finiti per problemi ellittici e parabolici, volumi finiti per problemi iperbolici. Applicazioni a semplici problemi. Competenza necessaria ad analizzare criticamente le simulazioni numeriche di fenomeni fisici fornite da software commerciale.
The course aims at the acquisition of the main techniques of a basic numerical analysis class (numerical solution of large scale linear algebraic systems of equations, issues in approximation, numerical quadrature, numerical solution of ordinary differential equations). Moreover, the student will acquire basic knowledge in the main tools of scientific computing for the solution of partial differential equations: finite differences and finite element methods for elliptic and parabolic problems, and finite volume methods for hyperbolic equations. The student will learn to carry out the application of numerical tools to simple problems. The student will acquire the competence to analyze the quality of data coming from numerical simulation obtained with commercial software.
Una buona base di Analisi Matematica e Geometria, elementi di programmazione.
A good working knowledge from Calculus and Linear Algebra is required, together with the basis of computer programming.
Calcolo numerico di base:
- Soluzione di sistemi lineari algebrici di grandi dimensioni
- Richiami su interpolazione polinomiale globale e a tratti.
- Integrazione numerica.
- Soluzione di sistemi di equazioni non lineari.
- Soluzione di equazioni alle derivate ordinarie.
Problemi ellittici:
- Differenze finite.
- Formulazione variazionale; condizioni al bordo di Dirichlet e di Neumann.
- Metodo di Galerkin.
- Problema del filo elastico e della trave elastica.
- Problema della membrana elastica.
- Problemi di convezione-diffusione.
- Memorizzazione della triangolazione e assemblaggio del sistema lineare.
Risoluzione di sistemi lineari algebrici di grandi dimensioni:
- Metodo del gradiente e del gradiente coniugato
Problemi parabolici:
- Semidiscretizzazione nello spazio con differenze finite o elementi finiti.
- Discretizzazione nel tempo; metodo di Eulero esplicito e implicito, metodo di Crank-Nicolson.
Problemi iperbolici:
- Equazione del trasporto lineare; condizioni al contorno.
- Leggi di conservazione scalari.
- Metodi numerici per equazioni lineari; metodi di Lax-Friedrichs, Upwind e Lax-Wendroff.
Basic numerical methods:
- Solution of large scale linear algebraic systems
- Piecewise and global polynomial interpolation
- Numerical integration
- Solution of non-linear systems of equations
- Solution of ordinary differential equations
Elliptic problems:
- Finite differences
- Variational formulation; Dirichlet and Neumann boundary conditions.
- Galerkin method
- Elastic problems
- Elastic membranes
- Convection-diffusion problems
- Implementation issues
Solution of large scale linear algebraic systems:
- Gradient and Conjugate gradient methods
Parabolic problems:
- Space semidiscretization with finite elements methods or finite differences
- Time discretization; implicit and explicit Euler methods, Crank-Nicolson scheme
Hyperbolic problems:
- Linear advection equation, boundary conditions
- Scalar conservation laws
- Numerical methods for linear conservation laws; Lax-Friedrichs, Upwind and Lax-Wendroff schemes
Nelle esercitazioni si approfondiranno gli argomenti svolti a lezione studiando in dettaglio alcune situazioni concrete ed illustrando le tecniche viste a lezione con esercizi. Le esercitazioni di laboratorio affronteranno sia l'implementazione pratica degli algoritmi in ambiente Matlab per casi particolarmente semplici sia lo studio critico dei risultati numerici ottenuti con i metodi proposti.
In the exercise sessions, topics introduced in the main lectures will be illustrated with examples and a few detailed applications to practical problems. Lab sessions will concentrate on the practical implementation of schemes in the Matlab environment and on the critical study of numerical results obtained with the schemes introduced in class.
Il materiale del corso è trattato nelle dispense fornite dal docente. Per una trattazione più completa ed approfondita, si rimanda ai libri seguenti:
- G. Monegato, Metodi e algoritmi per il Calcolo Numerico, CLUT (2008).
- S. Berrone, S. Pieraccini, Esercizi svolti di Calcolo Numerico con introduzione a Matlab, CLUT (2004).
- A. Quarteroni, Modellistica numerica per problemi differenziali, Springer (2008)
- R. LeVeque, Numerical methods for conservation laws, Birkhäuser Verlag (1990)
All topics are described in manuscripts written by the instructor. For a more systematic and in-depth treatment, the following books are suggested:
- G. Monegato, Metodi e algoritmi per il Calcolo Numerico, CLUT (2008).
- S. Berrone, S. Pieraccini, Esercizi svolti di Calcolo Numerico con introduzione a Matlab, CLUT (2004).
- A. Quarteroni, Modellistica numerica per problemi differenziali, Springer (2008)
- R. LeVeque, Numerical methods for conservation laws, Birkhäuser Verlag (1990)
Modalità di esame: Test informatizzato in laboratorio; Prova scritta (in aula);
Exam: Computer lab-based test; Written test;
...
L’esame è volto ad accertare la capacità di individuare ed applicare opportuni metodi numerici per risolvere alcuni problemi di base. L'esame consiste in due prove finali, consistenti in una prova scritta e una prova in laboratorio informatico, entrambe da svolgersi senza l'uso di appunti o libri. La prova scritta consiste generalmente in 3 esercizi, ciascuno dei quali è articolato in 2-3 domande di carattere sia pratico che teorico, riguardanti tutto il programma del corso. La prova scritta permette di conseguire un punteggio massimo di 22 punti. La prova in laboratorio informatico consiste in un quiz costituito da domande a risposta multipla, riguardanti l'uso del software Matlab e/o Octave per risolvere problemi numerici della tipologia di quelli affrontati a lezione. Durante lo svolgimento della prova in laboratorio informatico, gli studenti avranno a disposizione il software Matlab e/o Octave. La prova in laboratorio permette di conseguire un punteggio massimo di 10 punti; se lo studente non raggiunge almeno 3 punti al test informatizzato, viene considerato respinto. La durata indicativa di ciascuna prova è di circa un'ora.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Computer lab-based test; Written test;
The exam aims at veryfing the ability to identify and apply suitable numerical methods to be used for solving basic numerical problems. The exam is composed of two tests: a written assignment and a test in laboratory, both without support of notes or books. The written test is typically made of 3 exercises, each one being divided in 2-3 questions, focusing on both practical and theoretical issues concerning the whole program. The written test scores up to 22 points. The test in laboratory is made of a multiple choice quiz, concerning the use of Matlab and/or Octave software for solving numerical problems of the same typology of those discussed during lectures. During the test in laboratory, the Matlab and/or Octave software will be made available to students. The test in laboratory scores up to 10 points; the exam is considered as failed if the student does not score at least 3 out of 10 points, at the laboratory test. The test time is about one hour each.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.