Werner Krauth, Statistical Mechanics: Algorithms and Computations (Oxford Master Series in Statistical, Computational, and Theoretical Physics) (2006)
Harvey Gould, Jan Tobochnik, and Wolfgang Christian, Introduction to Computer Simulation Methods, Addison-Wesley
Herman J. C. Berendsen, Simulating the Physical World: Hierarchical Modeling from Quantum Mechanics to Fluid Dynamics, Cambridge University Press
Luciano Maria Barone, Enzo Marinari, Giovanni Organtini, Federico Ricci-Tersenghi, Scientific Programming: C-Language, Algorithms and Models in Science, World Scientific (2013)
Learning Objectives
The course aims to provide the basic elements of the scientific programming in the field of physics. During the course one will face problems of classical and quantum physics from a computational point of view. We will analyze the deterministic and stochastic dynamic systems with few and many degrees of freedom.
Those who follow this course could usefully combine it with: Physics of Complex Systems, Statistical Physics and Information Theory, Quantum Information (Curriculum of Condensed Matter); Statistical Mechanics I and II , Theory of Dynamical Systems (Curriculum of Theoretical Physics). In addition, there are strong links to the courses in physics of solids, liquids and phase transitions.
- Writing of a scientific program and its execution.
- Numerical simulation of a physical model.
- Analysis, visualization and interpretation of the data.
- Comparison of numerical results with physical theories.
Prerequisites
- Basic knowledge of: mathematical analysis and linear algebra, physics, classical and quantum statistical mechanics.
- Basic elements of the C and Matlab programming languages
- Use of an operating system
Teaching Methods
6 credits, with lab lectures.
The theory is only hinted at, you can find a more extensive discussion in other courses (Statistica Mechanics, Critical Phenomena, Physics of Complex Systems, Out of Equilibrium Statistical Physics, Theory of Dynamical Systems). In the workshop will present practical problems, given a sample implementation and prompted the development of a program working in small groups.
Further information
Office hours by appointment. Emails: franco.bagnoli@unifi.it. Available for receptions via skype / google hangout.
Refer also to the e-learning system http://e-l.unifi.it .
Type of Assessment
The test involves writing three individual reports based on the main topics of the course: 1) deterministic dynamics, 2) stochastic dynamics, in particular the Monte-Carlo method. The final exam is subject to a positive evaluation of the reports. The final exam consists of a project to be carried out in groups of 2-3 students, leading to a written report and an individual oral presentation.
Course program
- Introduction to scientific programming. Structure of a program. Input and output. Displaying data with gnuplot and Matlab.
- Numerical integration of differential equations. Conservative systems (harmonic oscillator , pendulum): symplectic methods. Non-conservative systems (forced and damped oscillator): Runge- Kutta methods. Bifurcations. Chaos: the model of Lorenz. Lyapunov exponents, entropies, fractal dimensions.
- Discrete Evolution: logistic map. Bifurcations and chaos.
- Molecular dynamics: simulations of N-body systems interacting via the Lennard-Jones potential. Relaxation to equilibrium. Calculation of observables: temperature, pressure, etc. Fluctuations. Correlation functions.