78192 - Laboratory of Information Technology for the Dynamical Systems t

Academic Year 2024/2025

  • Docente: Niccolò Moggi
  • Credits: 3
  • SSD: ING-IND/19
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Mechanical Engineering (cod. 0927)

Learning outcomes

On completion of this course the students will be able to develop with Python simple algorithms that describe the evolution of dynamic systems. Namely they should be able to solve numerically differential equations and be familiar with numeric and graphic libraries.

Course contents

Recap of the Python language (v3): data structures and libraries (Numpy, Scipy).

In every session a problem is suggested and its numerical solution proposed. Topics are:

- Machine precision and numerical approximations

- Matrix computing

- Numerical integration of ordinary differential equations (ODE)of first, second and higher order.

- Euler, Euler-Cromer and Runge-Kutta algorithms

- Examples of harmonic and anharmonic oscillator, friction and time dependent forces.

- Plotting and visualization with Matplotlib.


Teaching methods

Lectures will be held in laboratory where a computer will be available for each student.

Large parte of the time will be devoted to exercises and practicing.

Exercises of increasing difficulty are proposed, and an algorithm for a numerical solution described more or less in detail. Students are supposed to implement the algorithm and test the final solution within the required precision. The algorithms are compared.

As concerns the teaching methods of this course unit, all students must attend Module 1, 2 [https://www.unibo.it/en/services-and-opportunities/health-and-assistance/health-and-safety/online-course-on-health-and-safety-in-study-and-internship-areas] on Health and Safety online.

Assessment methods

The final exam consist in writing a Python script for the solution of a given differential equation. Additionally, students are required to present a brief report in which is discussed the solution of the numerical analysis problem proposed at the final exam. Such report is to be prepared autonomously at home.

Teaching tools

Overhead projector, computers available in the lab (Linux). Students are encouraged to use their own laptop: all the libraries employed during the course are available for Windows, Linux and MacOS.

Office hours

See the website of Niccolò Moggi