NUMERICAL SIMULATION
SIMULAZIONE NUMERICA
A.Y. | Credits |
---|---|
2021/2022 | 6 |
Lecturer | Office hours for students | |
---|---|---|
Andrea Viceré | By appointment with the teacher |
Teaching in foreign languages |
---|
Course with optional materials in a foreign language
English
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language. |
Assigned to the Degree Course
Date | Time | Classroom / Location |
---|
Date | Time | Classroom / Location |
---|
Learning Objectives
The course is aimed at introducing the simulation of systems that are modeled by differential equations or in terms of deterministic or stochastic processes.
The student will acquire a general knowledge of the most common numerical methods for simulating complex systems, in the time domain and more generally by sampling the configuration space.
The course will promote in the students the following specific learning objectives:
- to be able to implement in a program some of the classical simulation techniques;
- to be able to estimate precision and accuracy of a numerical simulation;
- to be able to identify the main causes of numerical instability in a simulation;
- to be able to estimate the error dependency on the simulation parameters;
- to be able to estimate the convergence order of a specific simulation method;
- to be able to compare the results of simulations obtained with different methods;
- to acquire a basic knowledge of some among the modern simulation techniques;
- to be able to choose the simulation technique most appropriate for a specific mathematical model;
- to be able to discuss the simulation results by presenting coherently formulas, code and graphics;
- to learn the basics of Python programming and the use of some of the main Python libraries for numerical and symbolic computation, and for graphics output,
Program
1. Course introduction
1.1 The Python language: a crash introduction
2. Ordinary differential equations
2.1 A case study: the "phogoid" motion of aeromobiles
2.2 Perturbative treatment, and the Euler method
2.3 A more complete method, and orders of convergence
2.4 Higher order schemes, and Runge-Kutta methods
3. Partial differential equations: convective problems
3.1 The convective motion in 1D
3.2 Numerical stability and CFL condition
3.3 The diffusion equation in 1D
3.4 Convection and diffusion together: the Burgers equation
3.5 Convection and conservation laws
3.6 Shocks, integration schemes, predictor-corrector methods
4. Partial differential equations: diffusive problems
4.0 Function parameters in Python
4.1 Heat equation in 1D: explicit methods
4.2 Heat equation in 1D: implicit methods
4.3 Heat equation in 2D: explicit methods
4.4 Heat equation in 2D: implicit methods
4.5 Assignment: reaction-diffusion equations
5. Finite elements methods
5.1 Finite volume method
5.2 Finite elements (1): the beam
5.3 Finite elements (2): the double pendulum
5.4 State space representation, and time-domain simulation
6 Stochastic systems
6.1 Stochastic processes, random walks, Ornstein-Uhlenbeck model
6.2 Distribution, Metropolis-Hastings e Hybrid Monte Carlo methods
6.3 Ising model as an application of MH
7. Partial differential equations: elliptic problems
7.1 Laplace equation, and Jacobi method
7.2 Poisson equation
7.3 Gauss-Seidel and Successive Over-Relaxation methods
7.4 Conjugate gradient method
7.5 Multigrid methods
7.6 Example: a ball on an elastic drum
8 Simulations based on emerging dynamics
8.1 Cellular automata
8.2 Lattice gas cellular automata
8.3 Lattice Boltzmann methods
Bridging Courses
It is crucial to have attended already the courses of "Logica, Algebra e Geometria" and "Analisi 1", since derivatives, integrals and matrix calculs are relevant for all topics of the Numerical Simulation course.
Having attended "Probabilità e Statistica" is very important, in order to be able to understand the stochastic simulations.
The attendance of "Algoritmi e strutture dati" is crucially important in order to have acquired the basics of programming.
It is useful to have attended "Analisi 2" and "Fisica", but not indispensable.
Learning Achievements (Dublin Descriptors)
Knowledge and understanding: the student will learn the main simulation methods in the time domain, including the Euler method and its higher order generalisations, as the Leap-Frog and Runge-Kutta methods. The student will be able to formulate and solve numerically ordinary differential equations and some of the most common partial differential equations. The student will be able to simulate stochastic systems, also with several degrees of freedom. The student will know the basics of the finite element method, of the simulation techniques based on cellular automata, and on multigrid techniques.
Applying knowledge and understanding: the student will be able to choose the simulation method most appropriate for a specific mathematicl problem, and will be able to transpose it into an algorithm. The student will be able to implement a simulation algorithm that uses assigned data, generates and presents in graphics form numerical results.
Making judgements: the student will be capable of evaluating the accuracy of simulation results and of estimating the dependency of the error on the choice of the simulation parameters, for instance by identifying the order of convergence of an algorithm for the numerical integration of a differential equation.
Communication skills: the student will be able to present the results of his/her simulation work. In particular, he/she will be able to write down a structured, well documented code, and to present the simulation results in graphics form, in order to communicate correctly and effectively.
Learning skills: the student will be in position to study in greater depth specific topics in numerical simulation, not discussed during the course, by making use of scientific books and specialised publications in the field.
Teaching Material
The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it
Supporting Activities
Slides of the course lessons, example Python code.
Teaching, Attendance, Course Books and Assessment
- Teaching
Frontal lessons and laboratory activities.
Realization of simulation projects and evaluation, on Moodle.
- Attendance
Attending the course is not an obligation, but it is strongly recommended.
- Course books
The study material and the relevant bibliography will be provided by means of the Moodle platform.
- Assessment
Realization of a simulation project agreed with the teacher, defined by means of a set of requirements.
The project should be realized and submitted for evaluation within two weeks (ten working days) at most.
The evaluation criteria are: the number of requirements met, the quality of the implemetation (including documentation), the correctness of the assessment of the simulation results.
Each criterion is graded on a scale including insufficient, fair, good, excellent.
Subsequent oral exam, based on the discussion of the project and aimed at sampling the student's competence on the other aspects of the course programme, graded on the same levels.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
Additional Information for Non-Attending Students
- Teaching
The same as for attending students, thanks to the availability of course material through the Moodle platform.
- Course books
The same
- Assessment
The same
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
« back | Last update: 19/07/2021 |