Difference between revisions of "Simulation Methods in Physics I WS 2013"
Line 65:  Line 65:  
=== Useful online resources ===  === Useful online resources ===  
<!* Roethlisberger, Tavernarelli, EPFL, Lausanne, 2011: [http://lcbcpc21.epfl.ch/Group_members/ivano/bachelor.pdf Introduction to electronic structure methods.]>  <!* Roethlisberger, Tavernarelli, EPFL, Lausanne, 2011: [http://lcbcpc21.epfl.ch/Group_members/ivano/bachelor.pdf Introduction to electronic structure methods.]>  
+  
+  * Thermostats: Philippe H. Hünenberger, [http://link.springer.com/chapter/10.1007%2Fb99427 <i>Thermostat Algorithms for Molecular Dynamics Simulations</i>], Adv. Polym. Sci. (2005) 173:105–149.  
* [http://homepage.tudelft.nl/v9k6y/imsst/index.html Introduction to Molecular Simulation and Statistical Thermodynamics (pdf textbook from TU Delft)]  * [http://homepage.tudelft.nl/v9k6y/imsst/index.html Introduction to Molecular Simulation and Statistical Thermodynamics (pdf textbook from TU Delft)] 
Revision as of 09:09, 21 November 2013
Overview
 Type
 Lecture (2 SWS) and Tutorials (2 SWS)
 Lecturer
 JP Dr. Maria Fyta (Lecture); Dr. Olaf Lenz, Bibek Adhikari, Elena Minina (Tutorials)
 Course language
 English
 Location and Time
 Lecture: Thu, 11:30  13:00 (Seminar room ICP, Allmandring 3); Tutorials: Wed, 15:4517:15 (Bibek), Fri, 15:4517:15 (Elena) (CIPPool ICP, Allmandring 3)
 Prerequisites
 We expect the participants to have basic knowledge in classical and statistical mechanics, thermodynamics, and partial differential equations, as well as knowledge of a programming language (Python or C).
The lecture is accompanied by handsontutorials which will take place in the CIPPool of the ICP, Allmandring 3. They consist of practical exercises at the computer, like small programming tasks, simulations, visualization and data analysis. The tutorials build upon each other, therefore continuous attendance is expected.
Lecture
Scope
The first part of the course intends to give an overview about modern simulation methods used in physics today. The lecture should introduce different approaches to simulate a physical systems. In this respect, rather a broad range of methods will be outlined than an exhaustive presentation of specific computational methods. Roughly, the lecture will consist of:
 General overview
 The first 23 weeks will be dedicated on the general common aspects of computer simulations, elements of statistical ensemble theory and elements of elasticity theory, which are essential in understanding and performing simulations.
 Quantum Mechanics
 An extensive presentation of quantum mechanical simulations will be given in the second part of this course. Here, a general overview of the ideas behind these kinds of simulations will be given.
 Molecular Dynamics
 A more extensive investigation of classical Molecular Dynamics (MD) simulations is planned. This includes the algorithm, the integrators, the thermostats, to name a few necessary to perform MD simulations.
 In terms of the respective tutorials, the goal is to be able to set up and run real MD simulations for different ensembles and understand and interpret the output.
 Monte Carlo Simulations
 A part of the lecture will be dedicated on Monte Carlo (MC) methods and their algorithms. Specific examples, such as the Ising model will be studied.
 Error Analysis
 The way errors come into the simulations and how to estimate these will be outlined.<!!Autocorrelation, Jackknifing, Bootstrapping>
 Potentials
 An important component of molecular simulations are the potentials or force fields chosen to model the interactions within the simulated system. The efficiency of the simulations is stongly dependent on this choice. To this purpose, various methods can be applied for obtaining efficient potentials for different methods. Here, representative examples will be outlined.
 Simulation of liquids
 Methods such as the lattice Boltzmann method and specific details on simulating liquids will be briefly given.
 Advanced simulation techniques
 In the end of the course, a short overview of other more advanced methods than the ones studied here will be presented. Examples include MC beyond the Metropolis algorithm, metadynamics or rare events sampling.
Prerequisites
We expect the participants to have basic knowledge in quantum, classical and statistical mechanics, thermodynamics, electrodynamics, and partial differential equations, as well as knowledge of a programming language.
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: There will be an oral examination performed at (or after) the end of the course Simulation Methods II (SS 2012).
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.

Rapaport, D. C..
"The Art of Molecular Dynamics Simulation".
Cambridge University Press, 2004.
[DOI] 
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
 Thermostats: Philippe H. Hünenberger, Thermostat Algorithms for Molecular Dynamics Simulations, Adv. Polym. Sci. (2005) 173:105–149.
 Be careful when using Wikipedia as a resource. It may contain a lot of useful information, but also a lot of nonsense, because anyone can write it.
Course Material
Date  Subject  Resources 

17.10.2013  Course Content, Introduction  Lecture Notes (2.54 MB) 
24.10.2013  Molecular Dynamics (Introduction, integrators)  Lecture Notes (4.59 MB) 
31.10.2013  Energy minimization, common features in computer simulations of particles  Lecture Notes (8.91 MB) 
07.11.2013  Basics of Stat Mech, ensembles, observables  Lecture Notes (6.53 MB) 
14.11.2013  More on StatMech, MD (thermostats/barostats;intro)  Lecture Notes (4.94 MB) 
21.11.2013  MD (thermostats/barostats)  
28.11.2013  Interactions, longrange interactions  
05.12.2013  Elements of elasticity theory  
12.12.2013  Introduction to Monte Carlo (MC)  
19.12.2013  MC (examples  Ising model, beyond Metropolis)  
09.01.2014  Building potentials  
16.01.2014  Langevin dynamics, Brownian dynamics  
23.01.2014  Error analysis  
30.01.2014  Simulating liquids  
06.02.2014  Advanced simulation techniques 
Tutorials
Location and Time
 Wednesday, 15:4517:15 (Bibek Adhikari)
 Friday, 15:4517:15 (Elena Minina)
Worksheets
Worksheet 3: Molecular Dynamics 2 and Observables
 Deadline: Monday, 2 December 2013, 10:00
 Worksheet 3 (319 KB)
 templates.tar.gz (4 KB)  Archive that contains the files required in some tasks
Worksheet 2: Statistical Mechanics and Molecular Dynamics
 Deadline: Monday, 18 November 2013, 10:00
 Worksheet 2 (331 KB)
 template.tar.gz (6 KB)  Archive that contains the files required in some tasks
 latextemplate.tex (7 KB)  LaTeXtemplate for the report
Worksheet 1: Integrators
 Deadline: Monday, 4th November 2013, 10:00
 Worksheet 1 (288 KB)
 solar_system.pkl.gz (496 bytes)  Archive that contains the files required in some tasks
 cannonball_template.png (114 KB)  Python program template as an image
General Remarks
 The tutorials take place in the CIPPool on the first floor of the ICP (Room 1.033, Allmandring 3).
 For the tutorials, you will get a personal account for the ICP machines.
 All material required for the tutorials can also be found on the ICP computers in the directory
/group/sm/2013
.  For the reports, we have a nice latextemplate.tex (7 KB).
 You can do the exercises in the CIPPool when it is not occupied by another course. The pool is accessible on all days, except weekends and late evenings.
 If you do the exercises in the CIPPool, all required software and tools are available.
 If you want to do the exercises on your own computer, the following tools are required. All of these packages should be readily available from your OS distribution, if it is not Windows.
 Python
 The following Python packages:
 IPython
 NumPy
 SciPy
 matplotlib
 A C compiler (e.g. GCC)
 We only have experience with Unix/Linux machines. Although most tools will probably also work on Windows, we cannot guarantee it, and we can also not help you to get it running there.
Handinexercises
 The worksheets are to be solved in groups of two or three people. We will not accept handinexercises that only have a single name on it.
 A written report (between 5 and 10 pages) has to be handed in for each worksheet. We recommend to use LaTeX to prepare the report.
 You have two weeks to prepare the report for each worksheet.
 The report has to be sent to the tutor via email.
 Most participants need 50% of the points in the handsin exercises to be admitted to the oral examination (see [[#Examination]] for details).
What happens in a tutorial
 The tutorials take place every week.
 You will receive the new worksheet on the days before the tutorial.
 In the first tutorial after you received a worksheet, the solutions of the previous worksheet will be presented (see below) and the new worksheet will be discussed.
 In the second tutorial after you received the worksheet, there is time to work on the exercises and to ask questions for the tutor.
 You will have to hand in the reports on Monday after the second tutorial.
 In the third tutorial after you received the worksheet, the solutions will be discussed:
 The tutor will ask a team to present their solution.
 The tutor will choose one of the members of the team to present each task.
 This means that each team member should be able to present any task.
 At the end of the term, everybody should have presented at least once.
Documentation
Linux
 Linux Cheat Sheet (2.27 MB) (source (42 KB))  the most important linux commands on a single page
 A good and freely available book about using Linux: Introduction to Linux by M. Garrels
 Short introduction to shell scripting (bash)
 A more detailed introduction to bash scripting
Python
 Use the existing documentation of Python itself! To get help on the command
print
, use
pydoc print
 Or use the Web browser to read it. Start
pydoc p 4242
 and visit the page http://localhost:4242
 http://python.org/doc/  the official Python documentation (including tutorials etc.)
 Byte_of_Python.pdf (546 KB)  the free eBook "A byte of Python" [1], also available in German[2]
NumPy
 first of all, try to use
pydoc numpy
 http://numpy.scipy.org/  the homepage of NumPy contains a lot of documentation
 Script of the lecture "Physik auf dem Computer" (german) (3.24 MB)  Numerics in Python, using Numpy
LaTeX
Examination
Depending on the module that this lecture is part of, there are differences on how to get the credits for the module:
 BSc/MSc Physik, Modul "Simulationsmethoden in der Physik" (36010) and Erasmus Mundus International Master FUSIONEP

 Obtain 50% of the possible points in the handsin excercises of this lecture and the second part of the lecture as a prerequisite for the examination (USLV)
 60 min of oral examination (PL)
 After the lecture "Simulation Methods in Physics II" in summer term (i.e. Summer 2013)
 Contents: both lectures and the tutorials of "Simulation Methods in Physics I"
 International MSc Physics, Elective Module "Simulation Techniques in Physics I, II" (240918005)

 Obtain 50% of the possible points in the tutorials of this lecture as a prerequisite for the examination
 30 min of oral examination (PL) about the lecture and the tutorials
 BSc/MSc SimTech, Modul "Simulationsmethoden in der Physik für SimTech I" (40520)

 Obtain 50% of the possible points in the handsin excercises of this lecture as a prerequisite for the examination (USLV)
 40 min of oral examination (PL) about the lecture and the tutorials
 MSc Chemie, Modul "Simulationsmethoden in der Physik für Chemiker I" (35840)

 The marks for the module are the marks obtained in the excercises (BSL)