Simulationsmethoden I 10 11
Simulationsmethoden in der Physik I
Simulation Methods in Physics I
 Type
 Lecture (2 SWS) and Tutorials (1 SWS)
 Lecturer
 Prof. Dr. Christian Holm (Lecture); Marcello Sega and Peter Košovan (Tutorials)
 Course language
 Deutsch oder Englisch, wie gewünscht  German or English, by vote
Majority vote was for English!
 Lectures
 Time: Thursdays, 11:30  13:00, Room V 57.06
 Tutorials
 Time: Wednesday, 17:0018.30, 2 hours/(every other week)
The lecture is accompanied by handsontutorials which will take place in the CIPPool of the ICP, Pfaffenwaldring 27, U 108. They consist of practical exercises at the computer, like small programming tasks, simulations, visualization and data analysis. The tutorials build on each other, therefore continuous attendance is expected.
Note: students from the COMMAS master will have to attend tutorials every week.
Scope
The course intends to give an overview about modern simulation methods used in physics today. The stress of the lecture will be to introduce different approaches to simulate a problem, hence we will not go too to deep into specific details but rather try to cover a broad range of methods. In more detail, the lecture will consist of:
1. Molecular Dynamics
The first problem that comes to mind when thinking about simulating physics is solving Newtons equations of motion for some particles with given interactions. From that perspective, we first introduce the most common numerical integrators. This approach quickly leads us to Molecular Dynamics (MD) simulations. Many of the complex problems of practical importance require us to take a closer look at statistical properties, ensembles and the macroscopic observables.
The goal is to be able to set up and run real MD simulations for different ensembles and understand and interpret the output.
2. Partial Differential Equations
Some of the most common physical problems today can be formulated with Partial Differential Equations (PDEs). We want to think about what kinds of physical problems can be dealt with PDEs and what methods we have to solve them numerically.
The goal is to get to know the problems you run into when solving these simplelooking equations and to get an overview on the methods available.
3. Quantum mechanical systems
It is obvious that solving quantum mechanical systems analytically is not possible and we need numerical help. We want to introduce various methods like (post)HartreeFock, Density Functional Theory, and CarParrinelloMolecular dynamics. We also want to examine the possibilities to simulate the quantum chromodynamics PDEs on a lattice (lattice gauge theory).
The goal is to get an overview on the methods to treat quantum mechanical systems and know about some of the advantages and disadvantages of each method.
4. Monte Carlo Simulations
Since their invention, the importance of Monte Carlo (MC) sampling has grown constantly. Nowadays it is applied to a wide class of problems in modern computational physics. We want to present the general idea and theory behind MC simulations and show some more properties using simple toy models like the Isingmodel.
Prerequisites
We expect the participants to have basic knowledge in classical and statistical mechanics, thermodynamics, electrodynamics, and partial differential equations, as well as knowledge of a programming language (preferably C or C++).
Certificate Requirements:
 1. Attendance of the exercise classes
 2. Obtaining 50% of the possible marks in the handin exercises
There will be a final grade for the Module "Simulation Methods" (this module consists of both lectures, Sim I plus Sim II) determined at the end of lecture Simulation Methods II.
The final grade will be determined in the following way :
1. 50% comes from the marks for the handin exercises for both parts of the course (Simulation Methods in Physics I and II) Basis for the grade is the sum of all marks obtained in the tutorials in Sim I plus all accumulated marks of all tutorials in Sim II.
2. The other 50% will be determined in an oral examination performed at (or after) the end of the course Simulation Methods II (SS 2011).
NOTE: students from the COMMAS master will have to present, at the end of the course, a supplementary project (topic to be discussed with tutors).
Lecture
Date  Subject 

21.10.2010  Course Content, Organisation,Introduction 
28.10.2010  Equation of Motion and simple Integrators for Classical MD 
04.11.2010  Integrators cont., simple Potentials for Liquids 
11.11.2010  LJ Units, Simple MD Program 
18.11.2010  Stat Mech in a Nutshell, Observables in MD 
25.11.2010  
02.12.2010  
09.12.2010  
16.12.2010  
23.12.2010  
13.01.2011  
20.01.2011  
27.01.2011  
03.02.2011  
10.02.2011 
Tutorials (U 108)
 Obtaining extra points
 First person who identifies a bug in the code provided by the tutors gets an extra point and one additional extra point if he/she can fix the bug.
 Scheduling of tutorials
 Starting from the 2nd tutorial, they are scheduled every two weeks (see table below). In the week between the tutorials, the tutors will be available to help the students. Since participation is optional, it is recommended that the studendts notify the tutors that they are intending to come and seek their assistance.
Week  Date  Topic  

1.  27.10.2010  T0: First steps with Linux and C  
2.  3.11.2010  T1: Equations of motion and integrators  
3.  10.11.2010  Optional (attendance not required)  
4.  17.11.2010  T2: Molecular Dynamics: LennardJones liquid  
5.  24.11.2010  Optional (attendance not required)  
6.  1.12.2010  T3: MD in NVE and NVT ensembles; implementing different thermostats  
7.  8.12.2010  Optional (attendance not required)  
8.  15.12.2010  T(4+5): The finite Difference and Finite element methods Numerical Solution of the Schroedinger Equation  
9.  22.12.2010  Optional (attendance not required)  
10.  12.1.2011  T6: Simple and importance sampling. Random walks.  
11.  19.1.2011  Optional (attendance not required)  
12.  26.1.2011  T7: Monte CarloIsing model  
13.  2.2.2011  Optional (attendance not required)  
14.  9.2.2011  Discussion of T7, end of the tutorials 
Guidelines for submitting the homework
Homework for the tutorials should be submitted in the form of a report. It has to be submitted via email as a single pdf document or alternatively as a paper printout. Handwritten reports will be accepted. Source code should always be sent via email. If the code concerns only a few lines, it may be a part of the report. Reports clearly not meeting these requirements may be rejected without evaluation.
 Deadline
 Approximately 10 days after the tutorial, but no later than Monday 8:00 of the week when the next worksheet is handed out. Reports on paper can be handed in personally until lunch break on Monday.
 In case of special circumstances (illness, accident, ...) contact the tutor immediately via email to agree on an alternative deadline.
 Text of the report
 Has to contain author name, student ID and date.
 Should be subdivided into sections, each section being clearly related to one task of the homework.
 Must be written in sentences, not points like in a presentation.
 All conclusions must be explained and when appropriate, supported by data (plots, tables). In case a derivation is required, all intermediate steps have to be clearly understandable or explained in the text.
 For each simulation, it has to be clear, what were the input parameters, so that it can be rerun.
 Figures and plots
 Each figure has to have a number and a caption or title saying what is in the figure.
 In text, refer to figures by the number or title, so that it is clear which figure you are referring to.
 Each plot has to have labels on axes with font size comparable to other text. Plots without labels will not be considered.
 Data points should fill a major part of plot area. The point size, x and yscales have to be chosen appropriately so that all important features can be seen.
 All figures have to be included in the report. Figures sent as separate files will not be considered.
 You may optionally provide the data files. If there is a problem in your work, it may help the tutor understand where you made a mistake.
 Source files
 Provide all files in which you made changes!
 Use variables with intuitively understandable names. If not, at least put a comment saying what it means.
 If the code is more complex, add comments to it. Especially to parts which may not be easy to read.
 We recommend to indent your code for better readability.
Recommended literature

Daan Frenkel and Berend Smit.
"Understanding Molecular Simulation".
Academic Press, San Diego, 2002.
[DOI] 
Mike P. Allen and Dominik J. Tildesley.
"Computer Simulation of Liquids".
Oxford Science Publications, Clarendon Press, Oxford, 1987.

D. C. Rapaport.
"The Art of Molecular Dynamics Simulation".
Cambridge University Press, 2004.

D. P. Landau and K. Binder.
"A guide to Monte Carlo Simulations in Statistical Physics".
Cambridge, 2005.

M. E. J. Newman and G. T. Barkema.
"Monte Carlo Methods in Statistical Physics".
Oxford University Press, 1999.
Useful online resources
 Ebook: D.P. Landau and K. Binder: A guide to Monte Carlo Simulations in Statistical Physics
 Linux cheat sheet here (53 KB).
 A good and freely available book about using Linux: Introduction to Linux by M. Garrels
 Not so frequently asked questions about GNUPLOT (Often used by myself as a cheat sheet)
 Becareful when using Wikitype of resources. They may contain a lot of useful information, but also a lot of nonsense, because anyone can write into them.