Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


NUMERICAL SIMULATION
SIMULAZIONE NUMERICA

A.Y. Credits
2022/2023 6
Lecturer Email Office hours for students
Andrea Viceré Thursdays, 2:00 PM - 4:00 PM or by appointment.
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

Applied Informatics (L-31)
Curriculum: Curriculum per l'elaborazione delle Informazioni
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 Matematica" is very useful, 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 attend "Analisi Matematica 2" and "Fisica Generale", but not indispensable for understanding the course concepts.

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.
During the course the teacher will propose small exercises and projects to be realised at home and to be subsequently corrected or discussed in the class.


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.

Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

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

Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

« back Last update: 30/08/2022

Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

15 22

Se sei vittima di violenza o stalking chiama il 1522, scarica l'app o chatta su www.1522.eu

Il numero, gratuito è attivo 24 h su 24, accoglie con operatrici specializzate le richieste di aiuto e sostegno delle vittime di violenza e stalking.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top