|Lecturer||Office hours for students|
|Teaching in foreign languages|
Course with optional materials in a foreign language
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|
The objective is to provide a general introduction to numerical simulation techniques, demonstrating their application in different fields, by means of writing software code in Python to solve specific problems.
The student will acquire a basic knowledge of simulation methodologies and of the techniques for assessing the validity of simulation results.
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
8 Simulations based on emerging dynamics
8.1 Cellular automata
8.2 Lattice gas cellular automata
8.3 Lattice Boltzmann methods
The students should have acquired already competences in analysis, discrete mathematics, probability and statistics.
They should be also capable of writing pseudo-code, by having acquired already basic programming competences.
Learning Achievements (Dublin Descriptors)
Knowledge and understanding: the student will know the main simulation methodologies in a broad range of application contexts.
Applying knowledge and understanding: the student will be capable of identifying the simulation methodology most appropriate to a specific real problem, and will be able to write the code or pseudo-code of a simulation program.
Making judgements: the student will be able to evaluate autonomously if a simulation output is reasonable, and to establish procedures for verifying its correctness.
Communication skills: the student will acquire a scientific language appropriate in the field of numerical simulation.
Learning skills: the student will be able to study in deeper depth specific topics, not discussed during the course, using scientific textbooks also at a specialistic level.
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
Slides of the course lessons, example Python code.
Didactics, Attendance, Course Books and Assessment
Frontal lessons and laboratory activities.
Realization of simulation projects and evaluation, on Moodle.
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.
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.
Additional Information for Non-Attending Students
The same as for attending students, thanks to the availability of course material through the Moodle platform.
- Course books
The course offers additional e-learning facilities on the Moodle platform > elearning.uniurb.it
|« back||Last update: 07/07/2020|