LABORATORY FOR COMPUTATIONAL PHYSICS
cod. 1005897

Academic year 2016/17
1° year of course - First semester
Professor
Academic discipline
Fisica sperimentale (FIS/01)
Field
Sperimentale applicativo
Type of training activity
Characterising
62 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in - - -

Learning objectives

The course will introduce the basic concepts and algorithms of computational physics. The classes will be a mixture of lectures and work at the computer. The lectures will introduce the basic algorithms for the solution of linear systems, root finding, representation of functions, calculation of derivatives and integrals, interpolation methods, solution of ODEs and PDEs. These algorithm will be implemented during the hands-on sessions for the solution of simple physics problems. Weekly, homeworks will be assigned and discussed in the class to stimulate interactions.

Prerequisites

Linear algebra, ODEs, PDEs, Mathematical methods for Physics, basic computational skills

Course unit content

* Introduction to basic tools
- Linux and bash
- Version control, software repositories, git
- LaTeX, BibTeX and a simple Makefile

* Introduction to Python and start
- Basics: language, variables, functions, import, scripts, notebooks ...
- Modules: matplotlib, scipy, numpy

* Numbers on a computer
- floating point (FP) representation, machine precision
- FP arithmetics

* Root finding
- Bisection, Secant, Newthon-Raphson

* Linear systems
- Direct methods: Gauss and Gauss-Jordan elimination, LU, tridag
- Iterative methods: Jacobi, Gauss-Seidel, SOR algorithms
- Ideas about SVD and sparse system

* Functions representation, interpolation, integrals
- Polynomial approximations, interpolant and spectral representation
- Integrals: Simple formulas, Gauss quadrature
- Interpolation: Lagrangian polynomial and spline

* Derivatives
- Finite differencing: Taylor, interpolating polynomial, Fornmberg formula
- Spectral differentiation
- Comparison: Spectral, Finite Element, Finite Differencing (FD) methods

* ODE Initial Value Problems (IVPs)
- Euler and error analysis, Euler backwards
- Explicit/implicit, stiff equations
- Stability analysis
- Runge-Kutta methods
- Ideas about symplectic methods

* Fast Fourier transform
- The FFT algorithm
- Applications: time series analysis and spectral methods

* PDEs
- General ideas, example equations, Bounday Value Problem (BVP), IVP, IVBP
- Truncation error and convergence

* Elliptic PDEs
- FD and Spectral methods
- linear and nonlinear system

* Hyperbolic PDEs
- FD methods, stability analysis and CFL limit.
- Method of lines
- Ideas about Finite Volume (FV) and spectral methods

* Parabolic PDEs
- CLF stability, implicit/semi-implicit algorithms.

Full programme

- - -

Bibliography

* Numerical Recipes, the Art of Scientific Computing

* Spectral Methods in Matlab, Lloyd N. Trefethen

* Chebyshev and Fourier Spectral Methods, John, P. Boyd

* Evans, Lawrence C., Partial differential equations Graduate Studies in Mathematics 19 (2nd ed.), Providence,

* Numerical Approximation of Partial Differential Equations,
A .Quarteroni, A. Valli

* Lectures for VII Mexican school for Gravitation and Mathematical Physics, 2006, Matthew W.Choptuik

* Spectral Methods for Numerical Relativity http://relativity.livingreviews.org/Articles/lrr-2009-1/

* NIST Digital Library of Mathematical Functions
http://dlmf.nist.gov/

Teaching methods

Lectures and work at computer

Assessment methods and criteria

Exercises every week and final project

Other information

Interested students are invited to contact me to discuss eventual changes to the plan due to their background and interests