Unit COMPUTATIONAL METHODS FOR PHYSICS
- Course
- Physics
- Study-unit Code
- 55A00001
- Location
- PERUGIA
- Curriculum
- In all curricula
- Teacher
- Stefano Germani
- Teachers
-
- Stefano Germani
- Hours
- 42 ore - Stefano Germani
- CFU
- 6
- Course Regulation
- Coorte 2020
- Offered
- 2022/23
- Learning activities
- Affine/integrativa
- Area
- Attività formative affini o integrative
- Academic discipline
- FIS/03
- Type of study-unit
- Opzionale (Optional)
- Type of learning activities
- Attività formativa monodisciplinare
- Language of instruction
- Italian
- Contents
The course focuses on:
• The Linux operative system, commands and the shell environment;
• The python programming language and basic notions on C/C++;
• Techniques and algorithms to solve common problems in Physics (numerical integration, system of differential equation, Fourier transform);
• Techniques and algorithms based on the generation of random numbers (Monte Carlo simulations, Monte Carlo Markov Chains);- Reference texts
M. Newman "Computational Physics",
CreateSpace Independent Publishing Platform (November 7, 2012).
ISBN-10 ¿ : ¿ 1480145513
ISBN-13 ¿ : ¿ 978-1480145511- Educational objectives
- The main learning goal of the course are the knowledge of the techniques and algorithms commonly used for the solution problems typical of the Physics research.
A secondary learning goal, which is a fundamental prerequisite to reach the main one, is the improvement of the skills of the student both in terms of programming and data management. - Prerequisites
It is mandatory to have passed the Laboratorio di Informatica exam.
The examples used during the course and in the final practice, require the ability to solve simple Mechanics and/or Electromagnetism and/or Statistics problems.- Teaching methods
• Lessons: 12 classes, 1 hour each, where the computational techniques are presented from a theoretical point of view.
• Practical exercises with the computer: 10 practical sessions, 3 hours each, where the techniques introduced from the theoretical point of view are applied to selected Physics problems.- Learning verification modality
The final exam is based on a practical project to be completed and discussed during an oral examination.
The practical project is assigned by the teacher also considering proposals from the student.- Extended program
• Course introduction;
• Basic use of the Linux shell;
• Python basics and the main libraries used for scientific computing (Numpy / SciPy / Matplotlib);
• Comparison between Python and C/C++;
• Computational errors;
• Integrals and derivatives;
• Differential equations ;
• Minimisation;
• Fourier Transforms;
• Random numbers and Monte Carlo techniques;
• Markov Chain Monte Carlo;
• Classes and Objects;
• Computational performance, compilation and C wrappers;
• Advanced and hybrid tools: Jupyter notebook, PyROOT;