Introduction to atomistic simulations 2003

53363-0 Introduction to atomistic simulations 2003 / Johdatus atomistisiin simulointeihin 2003

  • Newer version of course

    Summary in English

    Prerequisites: Knowledge of the basics of programming and the Unix environment, the structure of matter and thermodynamics. The course is also suited to chemists.

    Contents: Visualization and animation of atomic data. Molecular dynamics simulations, which enable following the motion of a set of pointlike objects (typically but not necessarily atoms). During the course, the students get to write in a supervised manner their own molecular dynamics code, capable of simulating atom motion in simple metals. Genetic algorithm and conjugate gradient energy minimization of atomic systems. Overview of quantum mechanical and classical models of atomic interaction, and a detailed description of modern classical force models for metals, semiconductors, ionic and organic materials. Literature: Lecture notes.

    Yhteenveto suomeksi

    Kurssin tarkoituksena on johdattaa opiskelija atomitasolla toimiviin fysikaalisiin simulointimenetelmiin ja antaa valmiudet kirjoittaa simulointikoodeja käytännössä. Kurssin aikana osallistujat kirjoittavat ohjatusti yksinkertaisen simulointikoodin. Opittuja koodausmenetelmiä voi käyttää hyväksi useissa muissakin yleisissä fysiikalisissa simuloinneissa. Lisäksi kurssilla esitellään viimeaikaista kehitystä simulointimenetelmissä ja atomistisissa vuorovaikutusmalleissa tarkoituksena antaa yleiskuva siitä millaista mallia kannattaa soveltaa mihinkin ongelmaan.

    Kurssin sisältö: Tietokonesimuloinnit fysiikassa, atomidatan visualisointi ja animointi, molekyylidynaamiset simulointimenetelmät, atomistisistä vuorovaikutusmalleista: kvanttimekaanisten, tight-binding- ja semiempiiristen mallien käyttöalueet, "breathing sphere"- polymeerimalli, geneettiset algoritmit rakenne-optimoinnissa sekä atomistisen simulointidatan vertaaminen kokeisiin.


    Lecturer 2003: Prof. Kai Nordlund

    Lectures Tue 12-14 room D114

    Exercises Thus 12-14 Accelerator laboratory seminar room! (note change)

    First lecture Tue 14.1 at 12.15

    The course is given in English in anyone who does not know Finnish turns up.

    Literature: lecture notes. As background material e.g. the books

  • Allen, Tildesley: "Computer simulation of Liquids" (Oxford University Press, Oxford, England, 1989)
  • J. von Boehm: "Molekyylidynamiikka-menetelmä" (Otatieto, Espoo, 2000)

    may be used.

    Requisite background information: The basics of programming and the Unix environment. Basic knowledge of the structure of matter and thermodynamics.


  • Lecture notes in postscript

  • Package 1: Introduction, contents and visualization methods
  • Package 2: Basics of MD, initialization, time step choice, speedup methods
  • Package 3 a: Neighbour lists
  • Package 3 b: mdmorse program description
  • Package 3 c: mdmorse F90 code prettyprinted
  • Package 3 b: mdmorse C code prettyprinted
  • Package 4: Solving the equations of motion
  • Package 5: Force calculation, pair potentials, potential fitting
  • Package 6: Theory, ensembles, P and T control
  • Package 7: Quantum mechanical interaction models
  • Package 8: Interaction models for metals
  • Package 9: Interatomic potentials for semiconductors
  • Package 10 a: Molecular interaction models 1. Reactive models
  • Package 10 b: Molecular interaction models 2. Molecular mechanics
  • Package 11: Ionic interactions
  • Package 11 b: Breathing sphere polymer model
  • Package 12: Conjugate gradients, genetic algorithms
  • Package 13: Metropolis MC simulation
  • Package 14: Comparison with atom-resolution experiments
  • Lecture 15: Summary and end

    Exercises in postscript

  • 1: lattice generation, deadline Tue Jan 21, session Thu Jan 23.
  • Note: no exercise session on Thu Jan 30!
  • 2: Gaussian random numbers, deadline Tue Feb 4, session Thu Feb 6.
  • 3: mdmorse init, neighbourlist, deadline Tue Feb 11, session Thu Feb 13.
  • 4: Solution of equations of motion, deadline Tue Feb 18, session Thu Feb 20.
  • 5: Force calculation, deadline Tue Feb 25, session Thu Feb 27.
  • 6: Cutoff effects, energy conservation, deadline Tue Mar 4, session Thu Mar 6.
  • 7: Maxwell-Boltzmann distribution, T control, deadline Mar 11, session Thu Mar 13.
  • 8: Pressure control, melting I, deadline Tue Mar 25, session Thu Mar 27.
  • 9: Sintering of nanoclusters, deadline Tue Apr 1, session Thu Apr 3.
  • 10: Melting 2, surface melting, deadline Tue Apr 8, session Thu Apr 10.
  • 11: Ion impact, deadline Tue Apr 15, session Thu Apr 17.
  • 12 (BONUS): Metropolis MC for NPT, deadline Mon Apr 28, session Tue Apr 29.

    mdmorse code

    Now (Mar 27) complete, also contains Berendsen T and P control!
    F90 version C version
    Makefile Makefile
    atoms.in (same as for Fortran)
    mdmorse.in (same of for Fortran)
    main.f90 main.c
    modules.f90 global.h
    inout.f90 inout.c
    forces.f90 forces.c
    neighbourlist.f90 neighbourlist.c
    physical.f90 physical.c
    solve.f90 solve.c
    - -
    Original, incomplete version in tar package Original incomplete version in tar package

    metropolismc code

    metropolismc.f90

    Exercise points

    Opiskelija		Bonus	Laskari				
    			bugit	1	2	3	4	5	6	7	8	9	10	11	12X	SUM	% of total
    ----------		-----	---	---	---	---	---	---	---	---	---	--	--	---	---	------
    Max Piste		0	12	18	24	21	30	18	18	24	18	25	21	-	229	50.000
    
    Kalle Heinola   F       -       -       12      17      21      25      10      17      6       -       -       -       -       108     23.581
    Mika Jahma      C       -       11      15      24      21      -       -       -       -       -       -       -       -       71      15.502
    Niklas Juslin   C       -       8       -       -       21      -       -       -       -       -       -       -       -       29       6.332
    Tommi Järvi     C       -       12      18      24      21      20      18      18      24      18      25      19      45      262     57.205
    Antti Lauri     F       -       6       18      24      21      20      16      18      6       18      -       15      -       162     35.371
    Olli Lehtonen   F       15      12      18      24      21      30      15      18      24      18      25      21      50      291     63.537
    Kenichiro Mizohata F    -       11      18      24      21      30      14      14      24      -       -       -       -       156     34.061
    Mikael Nizovsky C       -       5       18      23      21      20      12      17      12      6       20      19      -       173     37.773
    Olli Pakarinen  F       -       5       12      3       21      20      8       -       12      6       5       13      40      145     31.659
    Jens Pomoell    F/C     -       -       -       24      21      30      18      18      6       18      25      19      45      224     48.908
    Mika Tantarimäki C      -       6       10      24      21      20      14      16      15      15      20      25      20      206     44.978
    Stefan Taubert  F       -       8       6       0       18      20      -       12      3       -       25      8       -       100     21.834
    
    To sum these use:
    expand | awk '{ scores=substr($0,24); n=split(scores,a); s=0; for(i=1;i<=n;i++) s+=a[i]; printf "%s\t%d\t%-.3f%%\n",$0,s,s/229*50; }'
    
    The final grades on the course are given as follows:
    % of total
    ----------
    <25.0	i
    <45.0	+
    <50.0	1-
    <56.0	1	
    <62.0	1+
    <68.0	2-
    <76.0	2
    <82.0	2+
    <88.0	3-
    >=88.0	3
    

    Exercise solutions

    Only such solutions are provided here which are needed for future execises. All solutions are of course given at the exercise sessions.
  • Exercise 1, part 1: sample code
  • Exercise 2, part 1: Gaussian numbers code
  • Exercise 3: physical.f90 , neighbourlist.f90 ; physical.c , neighbourlist.c
  • Exercise 3: physical.f90 , neighbourlist.f90 ; physical.c , neighbourlist.c
  • Exercise 4: solve.f90 , solve.c ,
  • Exercise 5: forces.f90 , forces.c ,
  • Exercise 6: Solutions
  • Exercise 7: solve.f90 , solve.c with Berendsen T control
  • Exercise 8: forces.f90 , main.f90 , forces.c , main.c with Berendsen P control
  • Exercise 9: solution.txt

    Lecture notes in postscript from 2001

    These will be updated for 2003. The old notes are provided if the reader wants to take a preview of the contents, but it is not worth printing these as at least a few of them will be revised rather extensively.

  • Luento 1: Johdanto ja visualisointimenetelmät
  • Lecture 2: Basics of MD, initialization
  • Lecture 3: Neighbour lists, mdmorse code
  • Lecture 4: Algorithms to solve equations of motion
  • Lecture 5: Force calculation, basics of potentials
  • Lecture 6: Theory, P and T control
  • Lecture 7: Quantum mechanical methods
  • Lecture 8: Metal interaction models
  • Lecture 9: Semiconductor interaction models
  • Lecture 10: Molecular interaction models
  • Lecture 11 a: Ionic interactions
  • Lecture 11 b: Breathing sphere polymer model
  • Lecture 11 c: How to choose and test a potential
  • Lecture 12: Conjugate gradients, genetic algorithms
  • (no lecture 13 this time).
  • Lecture 14: Comparison to FIM, SPM and TEM experiments
  • Lecture 15: Summary and end

    Small guides and help files on this and that

  • xgraph-guide
  • MD algorithm reminder
  • Comparison of Fortran and C
  • List of common quantum chemistry acronyms

    General links elsewhere

  • Home page of 1999 course, including lecture notes in Finnish
  • Home page of 2001 course
  • Laskennallisen fysiikan erikoistumisvaihtoehto

  • Program examples from Allen-Tildesley's book 'Computer Simulation of Liquids'
  • Home page of Antti Kuronens MD-course
  • Home page of Kai Nordlund
  • MD-animations by Kai
  • Multimillion MD at LANL
  • An interview with B. J. Alder on the history of MD and Metropolis MC

    Background information on the course

  • Similar course at UIUC
  • Modeling in Materials Science (UV, Leo Zhigilei)
  • Molecular mechanics
  • Quantum chemistry intro
  • Path Integral MD, PIMD
  • Fast multipole method (Rajiv Kalia)
  • Fast multipole algorithms (FMA), actual software
  • Fast multipole method
  • Genetic Algorithms, Ames lab
  • Analytic Potentials and Molecular Dynamics Simulation
  • Linux4Chemistry, links to lots of serious software for Linux
  • Ab Initio Molecular Dynamics: Theory and Implementation


    The stuff for the course

  • Everything from 1999 in Framemaker format: atomistiset1999.tar.gz


    Kai Nordlund