Computational Physics

course ID





14 Weeks

Semester DD


Course details

Basic numerics
oTruncation and round-off errors

Algoritmi numerici di base
oSearch of zeros (bisection, Newton)
oLinear solvers (direct: LU, iterative: CG, MINRES, GMRES)

oSimpson’s rules and Gaussian quadratures, Gauss-Lobatto
Equazioni differenziali ordinarie (ODE)
oExplicit Methods (Runge-Kutta 45, Dormant-Prince, PC, Adaptive)
oMetodi impliciti

Attractors e Caos
oAttrattore di Lorenz (derived from Benard cell model)
oLogistic Map, Bifurcations and Feigenbaum theory.
oLyapunov exponents.

Brief overview of Molecular Dynamics
oA Lennard-Jones gas (development of a code with periodic BC)

Spectral Methods
oFourier and Chebyshev methods (solve Burger’s equation).

Partial differential equations
oParabolic, Elliptic, Hyperbolic. Stability issues.
Numerical solutions of Navier-Stokes (Finite Volume Method)


Students acquire the ability to solve physical problems with the help of a computer as numerical instrument. During this lecture course non-trivial examples of numerical solutions to physical models are tackled, among which numerical solutions to Ordinary Differential Equations (ODE) and Partial differential equations (PDE). In particular problems related to discretizations and finite precision arithmetics are presented and solutions discussed.
ODE solvers are developed and applied to analyze strange attractors and caotic trajectories.
Methods to compute critical points, bifurcations, Feigenbaum numbers, Lyapunov exponents and fractal dimensions are presented and discussed.
Particularly oriented to theorist in phisics and statistical physics, a classical molecular dynamics is developed and applied to study the Lennad-Jones gas, modelling solid-liquid phase transition and computing radial distributions functions and self-diffiusion coefficients.
In the last part of the course, solutions to PDEs are tackled, either elliptic (e.g., Poisson equation), parabolic (e.g. heat equation) or hyperbolic (advection and Navier-Stokes).
In all cases discretization and stabilization methods are presented. In order to enable solutions of such equations, iterative methods such as Conjugate-Gradients and Krylov subspace methods are presented and implemented.
Additionally, the course aims at teaching the basics af scientific programming under Linux and using a high level programming language such as Modern Fortran. How to compile and link external numerical libraries and some rudiments of parallel programming (MPI/OpenMP).
At the end the students are given a problem to be solved developing a code. This is used as part of the evaluation process in the final exam.

Computational Physics adresses ad the general objective of the batchelor course in Physics. In particular it strengthen basic theoretical knowledge and capability of analysis of erroneus results due to implementation mistakes. It strengthen critical abilities of acquired knowledge , particularly during the development of the final homework, also giving the chance to refine communication skills since the work and results must be illustrated at the exam under the form of a presentation. The treated subjects are frequently projected to the research forefront and development, giving the possibility to make literature searches and developing critical abilities and learning skills, also in view of a possible postgraduate stage