Difference between revisions of "Simulation Methods in Physics I WS 2016/2017"
(Created page with "More information will follow.") 
(Copy from previous yer) 

Line 1:  Line 1:  
−  +  == Overview ==  
+  
+  ;Type  
+  :Lecture (2 SWS) and Tutorials (2 SWS)  
+  ;Lecturer  
+  :Prof. Dr. [[Christian Holm]]  
+  ;Course language  
+  :English  
+  ;Location and Time  
+  :'''Lecture''': Thu, 14:00  15:30; ICP, Allmandring 3, Seminar Room (room 01.079)  
+  :'''Tutorials''': tba. <!Thu, 11:30  13:00 (Tutor: [[Michael Kuron]]) and Fri, 14:00  15:30 (Tutor: [[Johannes Zeman]]); ICP, Allmandring 3, CIPPool (room 01.033)>  
+  ; 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 and C).  
+  
+  The lecture is accompanied by handson tutorials which will take place in the CIPPool of the ICP, Allmandring 3 (room 01.033). They consist of practical exercises at the computer such as 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 focus of the lecture will be to introduce different approaches to simulating 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:  
+  
+  ; Molecular Dynamics  
+  :The first problem that comes to mind when thinking about simulating physics is solving Newtons equations of motion for 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.  
+  
+  ; Error Analysis  
+  :Autocorrelation, Jackknifing, Bootstrapping  
+  
+  ; 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 such as the Ising model.  
+  
+  ; Critical exponents  
+  : Finitesize scaling, universality concept, how to determine critical exponent with lattice spin models  
+  
+  === Course Material ===  
+  
+  { class="wikitable"  
+    
+  !Date !! Subject !! Resources  
+  
+    
+  15.10.2015  Course Content, Organization, Introduction <!{{DownloadExt/teaching/2015wssim_methods/slides01.pdfSlides}}>  
+  
+    
+  22.10.2015  MD: Integrators  <!{{DownloadExt/teaching/2015wssim_methods/lecture02_notes.pdfLecture Notes}}>  
+  
+    
+  29.10.2015  Basics of Statistical Mechanics  <!{{DownloadExt/teaching/2015wssim_methods/lecture03_notes.pdfLecture Notes}}>  
+  
+    
+  05.11.2015  MD: Potentials, Units  <!{{DownloadExt/teaching/2015wssim_methods/lecture04_notes.pdfLecture Notes}}>  
+  
+    
+  12.11.2015  MD  continued  <!{{DownloadExt/teaching/2015wssim_methods/lecture05_notes.pdfLecture Notes}}>  
+  
+    
+  19.11.2015  PBC, celllists, Observables  <!{{DownloadExt/teaching/2015wssim_methods/lecture06_notes.pdfLecture Notes}}>  
+  
+    
+  26.11.2015  RDF, D, Brownian motion  <!{{DownloadExt/teaching/2015wssim_methods/lecture07_notes.pdfLecture Notes}}, {{DownloadExt/teaching/2015wssim_methods/simulating_brownian_motion.pdfBrownian Motion}}>  
+  
+    
+  03.12.2015  GreenKubo, Langevin Dynamics, Thermostats  <!{{DownloadExt/teaching/2015wssim_methods/lecture08_notes.pdfLecture Notes}}>  
+  
+    
+  10.12.2015  Thermostats, Barostats  <!{{DownloadExt/teaching/2015wssim_methods/lecture09_notes.pdfLecture Notes}}>  
+  
+    
+  17.12.2015  Error Analysis  <!{{DownloadExt/teaching/2015wssim_methods/lecture11_notes.pdfLecture Notes}}>  
+  
+    
+  07.01.2016  MonteCarlo Method  <!{{DownloadExt/teaching/2015wssim_methods/lecture12_notes.pdfLecture Notes}}>  
+  
+    
+  14.01.2016  MonteCarlo and Critical Phenomena  <!{{DownloadExt/teaching/2015wssim_methods/lecture13_notes.pdfLecture Notes}}>  
+  
+    
+  21.01.2016  Finite Size Scaling  <!{{DownloadExt/teaching/2015wssim_methods/lecture14_notes.pdfLecture Notes}}>  
+  
+    
+  28.01.2016  Binder Parameters  <!{{DownloadExt/teaching/2015wssim_methods/lecture15_notes.pdfLecture Notes}}>  
+  
+    
+  04.02.2016  B.Sc. / M.Sc. thesis @ ICP: information & research topics  <!{{DownloadExt/teaching/2015wssim_methods/lecture10_bachelor_topics_slides_2014.pdfBachelor topics presentation}}>  
+  <!  
+    
+  11.02.2016  Lattice QCD  <!{{DownloadExt/teaching/2015wssim_methods/lecture16_notes.pdfLecture Notes}}  
+  >  
+  }  
+  
+  === Script ===  
+  A '''''preliminary''''' version of the script can be downloaded {{DownloadExt/teaching/2015wssim_methods/script.pdfhere}}.  
+  
+  If you find any kind of mistake / error / typo / bad formatting / etc. in the script (you surely will!), please send an email to [[Johannes Zeman]].  
+  
+  === Recommended literature ===  
+  <bibentry>frenkel02b,allen87a,rapaport04a,landau05a,newman99a,thijssen07,tuckerman10</bibentry>  
+  === Useful online resources ===  
+  <!* 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.  
+  
+  * Error analysis: W. Janke, [http://www.physik.unileipzig.de/~janke/Paper/nic10_423_2002.pdf <i>Statistical Analysis of Simulations:Data Correlations and Error Estimation</i>], Quantum Simulations of Complex ManyBody Systems:  
+  From Theory to Algorithms, Lecture Notes, (2002).  
+  
+  * [http://homepage.tudelft.nl/v9k6y/imsst/index.html Introduction to Molecular Simulation and Statistical Thermodynamics (pdf textbook from TU Delft)]  
+  
+  * 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.  
+  
+  == Tutorials ==  
+  
+  <!=== Location and Time ===  
+  * The tutorials take place in the CIPPool on the first floor of the ICP (Room 01.033, Allmandring 3) on  
+  ** Thursday, 11:30  13:00 (Tutor: [[Michael Kuron]])  
+  ** Friday, 14:00  15:30 (Tutor: [[Johannes Zeman]])  
+  
+  === Worksheets ===  
+  ==== Worksheet 6: Ising Model and Finite Size Scaling ====  
+  * Deadline: '''February 01, 2016'''  
+  * {{DownloadWS_2015_SM1_worksheet6.pdfWorksheet 6}}  
+  * {{DownloadWS_2015_SM1_WS6_templates.tar.gztemplates.tar.gztgz}}  Archive containing the files required for this worksheet.  
+  ==== Worksheet 5: Thermostats, MonteCarlo ====  
+  * Deadline: '''January 18, 2016'''  
+  * {{DownloadWS_2015_SM1_worksheet5.pdfWorksheet 5}}  
+  ==== Worksheet 4: Error Analysis and Langevin Thermostat ====  
+  * Deadline: '''January 7, 2016'''  
+  * {{DownloadWS_2015_SM1_worksheet4.pdfWorksheet 4}}  
+  * {{DownloadWS_2014_SM1_WS4_templates.tar.gztemplates.tar.gztgz}}  Archive containing the files required for this worksheet.  
+  ==== Worksheet 3: Molecular Dynamics 2 and Observables ====  
+  * Deadline: '''December 07, 2015'''  
+  * {{DownloadWS_2015_SM1_worksheet3.pdfWorksheet 3}}  
+  * {{DownloadWS_2015_SM1_WS3_templates.tar.gztemplates.tar.gztgz}}  Archive containing the files required for this worksheet.  
+  ==== Worksheet 2: Statistical Mechanics and Molecular Dynamics ====  
+  * Deadline: '''November 23, 2015'''  
+  * {{DownloadWS_2015_SM1_worksheet2.pdfWorksheet 2}}  
+  * {{DownloadWS_2015_SM1_WS2_templates.tar.gztemplates.tar.gztgz}}  Archive containing the files required in some tasks  
+  ==== Worksheet 1: Integrators ====  
+  * Deadline: '''November 9, 2015, 10:00 a.m.'''  
+  * {{DownloadWS_2015_SM1_worksheet1.pdfWorksheet 1pdf}}  
+  * {{Downloadsolar_system.pkl.gzsolar_system.pkl.gztgz}}  Archive containing the files required in some tasks  
+  * {{Downloadcannonball_template.pngcannonball_template.png}}  Python program template as an image  
+  * {{Downloadlatextemplate.texlatextemplate.textxt}}  LaTeX template for the report  
+  ==== Worksheet 0: First steps with Linux, Python, and C ====  
+  * {{DownloadWS_2015_SM1_worksheet0.pdfWorksheet 0pdf}}  
+  >  
+  
+  === General Remarks ===  
+  
+  * For the tutorials, you will get a [[ICP Unix Accounts for Studentspersonal account for the ICP machines]].  
+  * All material required for the tutorials can also be found on the ICP computers in the directory <code>/group/sm/2015</code>.  
+  * For the reports, we have a nice {{Downloadlatextemplate.texlatextemplate.textxt}}.  
+  * You can do the exercises in the CIPPool when it is not [[CIP Pool Occupancyoccupied 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 using LaTeX to prepare the report.  
+  * You have two weeks to prepare the report for each worksheet.  
+  * The report has to be sent to your tutor via email.  
+  * Most participants need 50% of the points in the handsin exercises to be admitted to the oral examination (see [[#ExaminationExamination]] for details).  
+  
+  === What happens in a tutorial ===  
+  
+  * The tutorials take place every week.  
+  * The new worksheet will be available for download 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.  
+  * 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 ====  
+  * {{Downloadlinuxcheatsheet.pdfLinux Cheat Sheet}} ({{Downloadlinuxcheatsheet.odtsource}})  the most important linux commands on a single page  
+  
+  ==== Python ====  
+  * Use the existing documentation of Python itself! To get help on the command <code>print</code>, 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.)  
+  * {{DownloadByte_of_Python.pdf}}  the free eBook "A byte of Python" [http://www.swaroopch.com/notes/python/], also available in German[http://sourceforge.net/projects/abopgerman.berlios/]  
+  
+  ==== NumPy ====  
+  * first of all, try to use  
+  pydoc numpy  
+  * http://numpy.scipy.org/  the homepage of NumPy contains a lot of documentation  
+  * {{DownloadSS_2014_PadC.pdfScript of the lecture "Physik auf dem Computer" (German)}}  Numerics in Python using Numpy  
+  
+  ==== LaTeX ====  
+  * [http://ctan.tug.org/texarchive/info/lshort/english/lshort.pdf The Not So Short Introduction to LaTeX]  
+  * [http://www.latexproject.org/guides/ Documentation list of the LaTeX project]  
+  
+  == 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 handin 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 2016)  
+  :** Contents: both lectures and the excercises 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 handin excercises of this lecture as a prerequisite for the examination  
+  :* 30 min of oral examination (PL) about the lecture and the excercises  
+  ; BSc/MSc SimTech, Modul "Simulationsmethoden in der Physik für SimTech I" (40520):  
+  :* Obtain 50% of the possible points in the handin excercises of this lecture as a prerequisite for the examination (USLV)  
+  :* 40 min of oral examination (PL) about the lecture and the excercises  
+  ; 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) 
Revision as of 13:25, 18 October 2016
Overview
 Type
 Lecture (2 SWS) and Tutorials (2 SWS)
 Lecturer
 Prof. Dr. Christian Holm
 Course language
 English
 Location and Time
 Lecture: Thu, 14:00  15:30; ICP, Allmandring 3, Seminar Room (room 01.079)
 Tutorials: tba.
 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 and C).
The lecture is accompanied by handson tutorials which will take place in the CIPPool of the ICP, Allmandring 3 (room 01.033). They consist of practical exercises at the computer such as 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 focus of the lecture will be to introduce different approaches to simulating 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:
 Molecular Dynamics
 The first problem that comes to mind when thinking about simulating physics is solving Newtons equations of motion for 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.
 Error Analysis
 Autocorrelation, Jackknifing, Bootstrapping
 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 such as the Ising model.
 Critical exponents
 Finitesize scaling, universality concept, how to determine critical exponent with lattice spin models
Course Material
Date  Subject  Resources 

15.10.2015  Course Content, Organization, Introduction  
22.10.2015  MD: Integrators  
29.10.2015  Basics of Statistical Mechanics  
05.11.2015  MD: Potentials, Units  
12.11.2015  MD  continued  
19.11.2015  PBC, celllists, Observables  
26.11.2015  RDF, D, Brownian motion  
03.12.2015  GreenKubo, Langevin Dynamics, Thermostats  
10.12.2015  Thermostats, Barostats  
17.12.2015  Error Analysis  
07.01.2016  MonteCarlo Method  
14.01.2016  MonteCarlo and Critical Phenomena  
21.01.2016  Finite Size Scaling  
28.01.2016  Binder Parameters  
04.02.2016  B.Sc. / M.Sc. thesis @ ICP: information & research topics 
Script
A preliminary version of the script can be downloaded here (929 kB).
If you find any kind of mistake / error / typo / bad formatting / etc. in the script (you surely will!), please send an email to Johannes Zeman.
Recommended literature

Daan Frenkel, Berend Smit.
Understanding Molecular Simulation: From Algorithms to Applications.
Part of Computational Science, volume 1. Edition 2.
Academic Press, San Diego, 2002. ISBN: 9780122673511.
[DOI] 
Mike P. Allen, Dominik J. Tildesley.
Computer Simulation of Liquids.
Part of Oxford Science Publications. Edition 1.
Clarendon Press, Oxford, 1987.

D. C. Rapaport.
The Art of Molecular Dynamics Simulation.
Edition 2.
Cambridge University Press, 2004. ISBN: 9780511816581.
[DOI] 
D. P. Landau, K. Binder.
A guide to Monte Carlo Simulations in Statistical Physics.
Edition second edition.
Cambridge, 2005.

M. E. J. Newman, G. T. Barkema.
Monte Carlo Methods in Statistical Physics.
Edition 2002 edition.
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.
 Error analysis: W. Janke, Statistical Analysis of Simulations:Data Correlations and Error Estimation, Quantum Simulations of Complex ManyBody Systems:
From Theory to Algorithms, Lecture Notes, (2002).
 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.
Tutorials
General Remarks
 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/2015
.  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 using LaTeX to prepare the report.
 You have two weeks to prepare the report for each worksheet.
 The report has to be sent to your 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.
 The new worksheet will be available for download 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.
 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
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.42 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 handin 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 2016)
 Contents: both lectures and the excercises 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 handin excercises of this lecture as a prerequisite for the examination
 30 min of oral examination (PL) about the lecture and the excercises
 BSc/MSc SimTech, Modul "Simulationsmethoden in der Physik für SimTech I" (40520)

 Obtain 50% of the possible points in the handin excercises of this lecture as a prerequisite for the examination (USLV)
 40 min of oral examination (PL) about the lecture and the excercises
 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)