
Course unit
COMPUTATIONAL METHODS IN PHYSICS
SCP3050158, A.A. 2019/20
Information concerning the students who enrolled in A.Y. 2017/18
ECTS: details
Type 
ScientificDisciplinary Sector 
Credits allocated 
Educational activities in elective or integrative disciplines 
FIS/02 
Theoretical Physics, Mathematical Models and Methods 
6.0 
Course unit organization
Period 
First semester 
Year 
3rd Year 
Teaching method 
frontal 
Type of hours 
Credits 
Teaching hours 
Hours of Individual study 
Shifts 
Practice 
2.0 
24 
26.0 
No turn 
Lecture 
4.0 
32 
68.0 
No turn 
Examination board
Board 
From 
To 
Members of the board 
7 Metodi Computazioniali della Fisica 
01/10/2019 
30/11/2020 
UMARI
PAOLO
(Presidente)
GARFAGNINI
ALBERTO
(Membro Effettivo)
BRUGNERA
RICCARDO
(Supplente)
SILVESTRELLI
PIER LUIGI
(Supplente)

6 Metodi Computazioniali della Fisica 
01/10/2018 
30/11/2019 
TROVATO
ANTONIO
(Presidente)
GARFAGNINI
ALBERTO
(Membro Effettivo)
BRUGNERA
RICCARDO
(Supplente)
SILVESTRELLI
PIER LUIGI
(Supplente)

Prerequisites:

Physics I, Physics II 
Target skills and knowledge:

Numerical methods in classical and quantum physics.
Stochastic and deterministic approaches to numerical methods.
Writing simple numerical codes to solve specific computational problems; evaluation and analysis of the obtained results. 
Examination methods:

Oral exhamination.
A specific computational task will be given to the student a few days before the oral exhamination. 
Assessment criteria:

A specific computational task will be assigned to the student prior to the oral exhamination, in order to test his/her abilities in independent problem solving and in using the techniques learned throughout the course. The oral exhamination will test the basic knowledge of numerical methods to be used to solve physics problems and the reasoning and comprehension abilities of the student. 
Course unit contents:

Introduction. Numerical solution to ordinary differential equations (ODE) with Euler's method. Solution of some mechanics problems. Oscillatory motion. Evolution algorithms to solve ODE:
Euler, EulerCromer. Midpoint scheme and EulerRichardson algorithm. Verlet and velocity Verlet algorithms. RungeKutta methods: derivation of second order scheme. Discussion of RungeKutta higher order methods. Numerical computation of electric potential and field. Solution of Laplace equation:
finite difference and Jacobi methods. Partial differential equations (PDE); geometric classification with examples: wave equations, diffusion equation and Poisson equation. Finite difference solution algorithms: truncation errors, consistency and stability. Hyperbolic (wave) equations: FTCS and LAX methods. CourantFriedrichsLewy criterion. Staggered leapfrog algorithm. Parabolic (diffusion) equations: explicit FTCS algorithm, convergence constraints. Laasonen implicit algorithm. CrankNicolson algorithm. Rootfinding algorithms for real functions. Bisection, NewtonRaphson and secant methods. Interpolation and extrapolation of functions. Lagrange polynomials. Numerical intergration: NewtonCotes formulas. Linear system solution. GaussJordan elimination method: froward elimination and bachward substitution. Introduction to pivoting. Solution of tridiagonal matrix equations. Monte Carlo methods. Random number generators. LCG, ShiftRegister and Lagged Fibonacci generators. Generation of statistical samples fron probability distributions: inverse transformation method. Composition and Acceptance/Rejection method. Computation of definite integrals with Monte Carlo methods: HitorMiss, samplemean and Importance Sampling. Solution of PDE with different boundary conditions (boundary value problems). Shooting method and relaxation method. Fourier transform: Fast Fourier Transform. Deterministic optmization methods: steepest descent, conjugate gradient, downhill simplex methods. Stochastic optimization methods: simulated annealing. 
Planned learning activities and teaching methods:

Classroom theory lectures and practical classes in front of a pc desk. In the latter, some of the methodologies taught in the classroom will be practiced and applied to specific computational problems 
Additional notes about suggested reading:

Further bibliographic references will be given throughout the course, more specific to the treated subjects. 
Textbooks (and optional supplementary readings) 

Nicholas J. Giordano, Hisao Nakanishi, Computational Physics. : , .

Benjamin J. Stickler, Ewald Schachinger, Basic Concepts in Computational Physics. : , .

William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery, Numerical Recipes. : , .

Innovative teaching methods: Teaching and learning strategies
 Laboratory
 Problem based learning
 Questioning
 Problem solving
 Loading of files and pages (web pages, Moodle, ...)
Innovative teaching methods: Software or applications used
 Moodle (files, quizzes, workshops, ...)
 Latex

