- 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)
-
from Sep 18, 2024 to Dec 18, 2024
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