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.
Knowledge and understanding:
- Deterministic and stochastic dynamical systems
- Monte- Carlo Techniques
- Stochastic Optimization
- Simulation of quantum.
Skills acquired:
- 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 Fortran 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 (for example, in the course Statistical Physics and Information Theory, available via video). 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, stefano.ruffo@unifi.it. Franco Bagnoli is also available for receptions via skype / google hangout. Course website: http://fisico.complexworld.net/teaching. 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, 3) Monte-Carlo methods. 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.
- 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.