User Tools

Site Tools


exercises:common:ensemble

Ensembles (Lennard-Jones liquids)

In this exercise, you will simulate a fluid of monoatomic particles that interact with a Lennard-Jones potential. The method to be used is molecular dynamics (MD) with periodic boundary conditions using CP2K. The aim is to explore the method, calculate the radial distribution function $g(r)$ and investigate a variety of ensembles.

Background

You are expected to carry out an MD simulation of Lennard-Jones (L-J) fluid containing mono-atomic particles. The L-J potential energy expression in use is

$U(x)=4\epsilon \left [\left ( \frac{\sigma }{r_{ij}} \right )^{12}- \left ( \frac{\sigma }{r_{ij}} \right )^{6} \right ]$

where $\epsilon$ is the well depth, $\sigma$ is related to the minimum of the Lennard-Jones potential, and $r_{ij}$ is the distance between atoms i and j.

Periodic boundary conditions (PBC) should be used in this simulation. The atom near the ”edge” of the simulation box interacts with atoms contained in the neighboring image of the box. In computer simulations, one of these is the original simulation box, and others are copies called images. During the simulation, only the properties of the original simulation box need to be recorded and propagated. The minimum-image convention is a common form of PBC particle bookkeeping in which each individual particle in the simulation interacts with the closest image of the remaining particles in the system. To prevent artifacts, it requires a cut-off value for $r_{ij}$ of the L-J potential. For realistic results, the cut-off should be less than half of the simulation box size and larger than $\sigma$. The radial distribution function, (or pair correlation function) $g(r)$, in a system of particles (atoms, molecules, colloids, etc.), describes how the density varies as a function of distance from a reference particle.

NVE Ensemble

In this section, we provide you with an example CP2K input for an MD calculation. Extensive comments have been added to the file, which starts with the symbol '#'.

Load the CP2K module as explained in Exercise 0, create a directory ex1 and change to it:

mkdir ex1
cd ex1

Save the following input to a file named argon.inp (for example using $ vim argon.inp):

argon.inp
##  It's highly recommended to go to 
##  https://manual.cp2k.org/ 
##  and learn how to set up a CP2K 
##  calculation correctly, using the manual.

&GLOBAL
  PROJECT ar108           #Project Name
  RUN_TYPE md             #Calculation Type: MD (molecular dynamics), GEO_OPT (Geometry Optimization), Energy (Energy Calculation)
&END GLOBAL

&MOTION
  &MD
    ENSEMBLE NVE          #The ensemble for MD propagation, NVE (microcanonical), NVT (canonical), NPT_I (NPT with isotropic cell) 
    STEPS 100             #The number of MD steps to perform
    TIMESTEP 5.           #The length of an integration step (fs)
    TEMPERATURE 85.0      #The temperature in K used to initialize the velocities with init and pos restart, and in the NPT/NVT simulations
  &END MD
&END MOTION

&FORCE_EVAL
  METHOD FIST             #Method to calculate force: Fist (Molecular Mechanics), QS or QUICKSTEP (Electronic structure methods, like DFT)
  &MM
    &FORCEFIELD
      &CHARGE             #charge of the MM atoms 
        ATOM Ar           #Defines the atomic kind of the charge
        CHARGE 0.0        #Defines the charge of the MM atom in an electron charge unit
      &END
      &NONBONDED
        &LENNARD-JONES    #LENNARD-JONES potential type.Functional form: V(r) = 4.0 * EPSILON * [(SIGMA/r)^12-(SIGMA/r)^6]
          atoms Ar Ar     #Defines the atomic kind involved in the nonbonded potential 
          EPSILON 119.8   #Defines the EPSILON parameter of the LJ potential (K_e) 
          SIGMA 3.405     #Defines the SIGMA parameter of the LJ potential (Angstrom)
          RCUT 8.4        #Defines the cutoff parameter of the LJ potential 
        &END LENNARD-JONES
      &END NONBONDED
    &END FORCEFIELD
    &POISSON              # Poisson solver
      &EWALD
        EWALD_TYPE none
      &END EWALD
    &END POISSON
  &END MM
  &SUBSYS
    &CELL
      ABC 17.1580 17.158 17.158    #Simulation box size
    &END CELL

    &COORD
   Ar -8.53869012951987116 -15.5816257770688615 2.85663672298278293
   Ar 1.53007304829383051 9.28528179040142554 11.1777824543317941
   Ar 11.9910225119590699 -7.48825329565798015 -9.96545306345559823
   Ar -12.6782400030290496 -3.34105872014234606 4.07471097818485806
   Ar -1.77046254278594462 -0.232459464264201887 13.2012946017273016
   Ar 8.01761371186688443 -2.57249587730733298 -4.12720554747711432
   Ar 8.57849517232300052 4.01396664624232002 5.57368821983998419
   Ar -3.89200679277030925 -10.2930917801117356 -6.98640232289045482
   Ar -3.35457160564444568 -16.1119619276890056 16.1358515626317427
   Ar 9.78957155103081966 -16.2628264194939263 -5.69790857071688350
   Ar 0.505143495414835719 -4.22978415759568183 12.4854171634357307
   Ar 15.5632243939617503 -7.98048905093276240 2.20994708545912832
   Ar -5.40741643995084953 -2.64764457113743079 -0.681485212640798199
   Ar -0.983719068448489081E-01 -1.73674004862212694 -7.11915545117132265
   Ar 7.52655781331927187 -5.52969969672439632 -12.8886150439489313
   Ar -5.45655410995716128 0.564445754429787061 2.03902510096247536
   Ar -11.8590998267164665 3.40407446386207724 3.72687933934436399
   Ar 16.7175362589401821 -7.47132377347522780 -1.02274476672697889
   Ar -20.4572129717055340 -5.73700807719791683 4.81845086375497811
   Ar 14.8485522289272627 -1.41608633045414667 -16.0839111490847451
   Ar 8.04379470511429595 -8.14033814842439263 -4.75543123809189261
   Ar 12.2738439612049568 -1.70589834674486429 12.9622486199573572
   Ar -0.421851806372696092 -11.1177490353157999 20.4545363332536283
   Ar 2.28194341698637571 5.92083917539752136 -11.1732449877738436
   Ar -13.9648466918215064 8.77923885764231926 8.07373370482465091
   Ar  -10.3147439499058429 6.38529561240966004 -15.3411964215061527
   Ar  -2.71899964647918457 -21.4890074469143855 10.8678096818980006
   Ar  -17.7923879123397271 -10.7840901151121251 -4.83954996524571968
   Ar  5.23494138507746420 -6.79222906792632841 -6.07187690814296133
   Ar  3.52448750638480446 -10.1225951872349782 2.96829048662758721
   Ar  -16.1586602901979361 -5.18274316385346445 8.57072694078649455
   Ar  -5.80982824422251287 4.32640193501643733 2.55599101868223322
   Ar  6.29160109084684382 27.5741337288405717 15.0246410590392632
   Ar  -3.18741711710350684 23.2996469099840624 -16.8034854143018748
   Ar  -4.20225755039435622 9.36037725943080190 16.5891306154890081
   Ar  -7.64392908749747946 -9.52432384411045341 -29.8228731471089645
   Ar  0.545352525792712428 13.9240554617015260 -0.383786780333776500
   Ar  -5.27432886808646906 -5.53813781787395865 -20.3014703747109415
   Ar  22.9921850152838871 6.78619371666398941 -1.98289905290632484
   Ar  19.7720034229251880 -10.2373337687313679 -3.33081818566269172
   Ar  0.156776902886395425 6.59630118110908725 8.90749062505743083
   Ar  5.57937381862174053 0.233106223140015806 1.02752287819280941
   Ar  -3.64343561800208793 3.96448881012491006 25.8752124557059595
   Ar  -0.248491698112870391 20.4489725648023182 -2.51220445353457666
   Ar  2.93626708600658270 0.859812213376437984 9.96743307236779508
   Ar  3.30384315693043895 -2.92421266591109408 -6.34927042371499883
   Ar  -6.15490235244551265 -6.84961480075890883 -6.46204144605644260
   Ar  -23.2388291761596619 -28.1213094673208666 7.13721047187827917
   Ar  4.11526291325474780 2.71564143367947342 -0.852030043744060328
   Ar  14.6194148692240713 2.80815182256426210 1.93601975975151541
   Ar  18.9667954753247869 16.5700888519293095 13.3423444868082761
   Ar  -28.6124161416877705 2.84353637083477562 -9.23601973326721648
   Ar  -5.97004594556101331 -16.2230172568109978 -9.22928061840017477
   Ar  10.0481077882725955 16.3854819569745231 5.12578711346205651
   Ar  -7.22508507825336643 6.34615422233080650 -0.680757463730119028
   Ar  -12.0138912984383506 -10.4653110276797570 -6.43434787584580103
   Ar  -8.53169926903037457 12.8976589212818862 -0.890361252446473683
   Ar  -25.3700692950848676 3.33119906434656077 -7.93917685683272722
   Ar  2.90163480643285920 -12.9668181360039672 -7.94907759259854707
   Ar  -13.5963940986222074 11.9896580951935974 -3.55068754869933789
   Ar  13.1416029517342476 4.97143783446568488 -3.50841252726170705
   Ar  -13.3295460955805254 16.0410015777677764 7.05282797577515375
   Ar  -4.15068335494176122 -19.5111913798076593 21.0255971827539376
   Ar  -8.42944270819351793 16.3065160593537009 -18.2887817284733885
   Ar  0.788636333898691255 9.59016836817029095 22.1772606194495872
   Ar  -2.92606778628861974 -7.97408054890791007 -21.3519900334304964
   Ar  -6.39959865978756426 -4.56280461803643256 2.75533571094951402
   Ar  -4.04423878093174860 -14.9275965394452506 -5.58561473738824965
   Ar  -27.8524912514281482 0.802052180719123098 -3.02663789713126441
   Ar  -2.83966529645897792 7.11627121253196915 6.18547332762273783
   Ar  -8.68327887612401739 -6.67088300493855879 -9.15815450219801264
   Ar  -11.9620847111198501 -2.20956249614563038 -1.83979975374852245
   Ar  22.6848553724304907 12.2047209420099971 1.01238797839832362
   Ar  6.29501012040417507 -0.769712471349173866 -6.91454332254278281
   Ar  3.49995546789933476 -8.00704920137973453 -0.426526631939732892
   Ar  0.385154812289867643 17.8769740351009112 -17.4065226240143041
   Ar  21.2288869131365736 10.2327102035561044 -13.0872200859088803
   Ar  1.22082587001210396 5.83597435065779457 16.8450099266840283
   Ar  -7.08754036219628425 6.03412971863339109 -22.3251445579668015
   Ar  -0.244265849036998037E-01 17.4693605251376454 7.37116730966604194
   Ar  15.0981822679441553 9.88940516251130397 -8.49382740142986670
   Ar  -6.57877688336587152 -15.0484532074656290 14.7230359830473887
   Ar  -2.22666666633409394 -4.18421900331013674 -2.47007887105670587
   Ar  5.20621069851729867 -22.6565181989138011 7.39475674805799521
   Ar  -8.85828800414884299 -2.47510661993999781 2.35441398531938617
   Ar  6.75202354538700167 0.430391383628436597 5.43492495261394382
   Ar  11.9263127546080856 8.13267254152258445 2.40081132956567966
   Ar  -14.5507562394484040 -0.471540677239574602 -13.7058431104765983
   Ar  14.1157692422228553 -2.98968593175088149 24.6842798176059546
   Ar  -3.35107336204723527 -0.681362546744063047 -7.37039916831594510
   Ar  7.79269876443546838 3.30687615091469800 -0.732378021069576002E-01
   Ar  -1.13289059102623746 -17.1672835835708497 -12.9126466371968966
   Ar  -9.21054349522787241 -10.4846510042527843 -8.38485797788161591
   Ar  -6.47848777956778044 -3.90736653076878993 -10.6499668409808841
   Ar  0.987874979233200667 13.7363585340729077 5.07209659800543733
   Ar  8.86097814789463278 9.96103887786039799 1.09373795795780060
   Ar  -6.58068766844202013 -20.4019345282015756 -7.28935608176262662
   Ar  -0.448977062720621045 19.5862520159664086 11.0351198968750293
   Ar  7.36056937465398153 -2.69594281683156067 7.26081874603436361
   Ar  13.8791344546872004 12.1903465249438128 1.24889885444881155
   Ar  -3.65782753722175302 19.7829061761924159 -11.8161510229542408
   Ar  1.49729450944005649 -5.39289977250827679 1.92445849672255198
   Ar  18.5861605633917577 3.00868366398259690 2.06440131010935168
   Ar  6.20730767975507014 -9.47418398815358032 5.54930507752316249
   Ar  3.65054837888884753 3.43181054126032858 -4.31160813615129435
   Ar  2.67862616463048520 2.29300605146530545 5.98502962150055051
   Ar 24.5113122275150914 4.00733170976478448 13.1412501215423774
   Ar -0.600233262008137092 3.62825631372324597 6.38411284716526772
    &END COORD
    &TOPOLOGY
    &END TOPOLOGY
  &END SUBSYS
&END FORCE_EVAL

Instructions starting with an ampersand & start a section and must be terminated with an &END SECTION-NAME. Other instructions are called keywords. The indentation is ignored but recommended for readability.

2. Step

Run a CP2K calculation with the following command:

$ cp2k.popt -i argon.inp -o argon.out 
Alternatively you can run it using
$ cp2k.popt -i argon.inp | tee argon.out

which will write the output simultaneously to a file argon.out and show it in the terminal.

TASK
  • Run the calculation and visualize the trajectories using VMD
  • Run calculations with different timesteps (0.5, 2, 5fs), different temperatures(84, 300, 400K), different densities($\rho$=0.25, 0.5, 1), and a different number of steps (100, 1000, 5000), and inspect the geometry in each case. Plot the total energy, temperature, and potential energy. Try to comment and explain what you observe.

NVT Ensemble

In the previous sections, you have already run NVE ensemble molecular dynamics calculations for liquid Ar. In this section, we will focus on the NVT ensembles.

Although the most popular Nose-Hoover thermostat is commonly-used in other MD codes, the original Nose-Hoover thermostat has an ergodic issue. This has been solved by Mark Tuckerman et al. See Nose-Hoover Chain Thermostat In CP2K, the default length of the Nose-Hoover chain is set to 3. (See Manual %MOTION%MD%THERMOSTAT%NOSE)

To set up an NVT calculation, change the settings in the &MD section as shown below:

&MD
  ENSEMBLE NVT
  STEPS 3000
  TIMESTEP 5
  TEMPERATURE 298
  &THERMOSTAT
    REGION MASSIVE
    &NOSE                    #Uses the Nose-Hoover thermostat
      TIMECON 100           #timeconstant of the thermostat chain, how often does the thermostat adjust your system 
    &END NOSE
  &END
&END MD

Alternatively, one can also use Canonical sampling through velocity rescaling (CSVR) as developed by Giovanni Bussi et al.

&MD
  ENSEMBLE NVT
  STEPS 3000
  TIMESTEP 5
  TEMPERATURE 298
  &THERMOSTAT
    &CSVR                    
      TIMECON 100           #timeconstant of the CSVR, how often does the thermostat adjust your system 
    &END CSVR
  &END
&END MD

NPT Ensemble

To set up an NPT calculation, change the settings in the &MD section as shown below:

&FORCE_EVAL
...
STRESS_TENSOR ANALYTICAL
...
&END FORCE_EVAL
...
...
&MD
  ENSEMBLE NPT_I                #constant temperature and pressure using an isotropic cell
  STEPS 3000
  TIMESTEP 5.
  TEMPERATURE 85.0
  &BAROSTAT
    PRESSURE 0.                 # PRESSURE, unit[bar]
    TIMECON 1000
  &END BAROSTAT
  &THERMOSTAT
    &NOSE
      TIMECON 1000
    &END NOSE
  &END THERMOSTAT
 &END MD
TASK
  • Run a calculation using the NVT ensemble at 300K. Check the temperature and energy of the whole system, and compare the result to an NVE ensemble (300K). Rationalize and discuss the difference.
  • Run a calculation using the NVT ensemble (300K) until the system is equilibrated, then run an NVE ensemble calculation. Check the temperature and energy of the whole system, and compare to the previous NVE simulation. Discuss your observations.
  • Remove some atoms and run an NPT ensemble simulation. Then, check the size of the simulation box. Discuss your observations.
You have multiple options on how to restart a CP2K calculation off of a previous one. What all approaches have in common, is that you need to make use of the RESTART-files which are automatically written by CP2K (unless you explicitly disable them).

For the purposes of this example, you should see a file called ar108-1.restart (at least for Part 1 of this exercise). Note: there will also be multiple backup files (.bak-# suffixes) which you do not need to care about. These files are nothing but another input file. However, their parameters are set such that they continue a CP2K calculation from the last step of the simulation which generated the RESTART file.

Here are two options for how you can use these RESTART-files:

1. Directly using the RESTART as an input.

  1. You can copy the RESTART file to a new input file:
    cp ar108-1.restart argon_follow_up.inp
  2. Now you can change the input to your liking (e.g. change the ensemble, etc.)
  3. And finally simply run CP2K with the new input file:
    cp2k -i argon_followup.inp -o argon_followup.out

2. You can also tell CP2K to load a specific RESTART-file.

  1. Write a new input file as usual:
    argon_followup.inp
  2. Add an EXT_RESTART section:
&EXT_RESTART
  RESTART_FILE_NAME ar108-1.restart
&END EXT_RESTART
  1. And now, again, simply run CP2K:
    cp2k -i argon_followup.inp -o argon_followup.out

Radial distribution function

In this section we analyze the dependence of the radial distribution function (rdf), $g(r)$, on the temperature of the system. To do so, you should plot $g(r)$ against various temperatures and examine the effects. You can use VMD (as explained below) or write your own program (Fortran, C, C++, Python etc.) to calculate the rdf.

VMD comes with an extension for exactly this purpose: In the VMD Main window open “Extensions → Analysis” click on “Radial Pair Distribution function $g(r)$“. In the appearing window use “Utilities → Set unit cell dimensions” to tell VMD the size of the simulation box you used. After that use Selection 1 and 2 to define the atomic types that you want to calculate the rdf for, for example “element Ar”. In the plot window, use the “File” menu to save the plot data.

TASK
  • Plot $g(r)$ at 84, 300 and 400 K into the same graph.
  • What are the differences in the height of the first peak, and why/how does the temperature contribute to the differences?
  • Compare your results to the experimental data taken at 84 K (given in exp_gr.dat, below). What does this say about the structure of the liquid and did you expect this?
exp_gr.dat
.0681      -.0789                                              
.1362      -.0545                                              
.2043      -.0263                                              
.2724      -.0062                                              
.3405      -.0008                                              
.4086      -.0088                                              
.4767      -.0222                                              
.5448      -.0313                                              
.6129      -.0305                                              
.6810      -.0206                                              
.7491      -.0082                                              
.8172      -.0010                                              
.8853      -.0031                                              
.9534      -.0123                                              
1.0215     -.0222                                              
1.0896     -.0259                                              
1.1577     -.0203                                              
1.2258     -.0085                                              
1.2939     .0026                                               
1.3620     .0065                                               
1.4301     .0011                                               
1.4982     -.0095                                              
1.5663     -.0180                                              
1.6344     -.0180                                              
1.7025     -.0086                                              
1.7706     .0053                                               
1.8387     .0155                                               
1.9068     .0157                                               
1.9749     .0058                                               
2.0430     -.0076                                              
2.1111     -.0153                                              
2.1792     .0111                                               
2.2473     .0038                                               
2.3154     .0210                                               
2.3835     .0295                                               
2.4516     .0232                                               
2.5197     .0052                                               
2.5878     -.0128                                              
2.6559     -.0176                                              
2.7240     .0030                                                
2.7921     .0241                                               
2.8602     .0455                                               
2.9283     .0427                                               
2.9964     .0112                                               
3.0645     -.0279                                              
3.1326     -.0276                                              
3.2007     .0721                                               
3.2688     .3212                                               
3.3369     .7356                                               
3.4050     1.2831                                              
3.4731     1.8857                                              
3.5412     2.4408                                              
3.6093     2.8510                                              
3.6774     3.0542                                              
3.7455     3.0403                                              
3.8136     2.8497                                              
3.8817     2.5549                                              
3.9498     2.2343                                              
4.0179     1.9474                                              
4.0860     1.7218                                              
4.1541     1.5545                                              
4.2222     1.4240                                              
4.2903     1.3059                                              
4.3584    1.1856                                              
4.4265     1.0624                                              
4.4946     .9458                                               
4.5627     .8471                                               
4.6308     .7730                                               
4.6989     .7219                                               
4.7670     .6862                                               
4.8351     .6571                                               
4.9032     .6293                                               
4.9713     .6023                                               
5.0394     .5796                                               
5.1075     .5651                                               
5.1756     .5604                                               
5.2437     .5640                                               
5.3118     .5725                                               
5.3799     .5829                                               
5.4480     .5945                                               
5.5161     .6091                                               
5.5842     .6294                                               
5.6523     .6569                                               
5.7204     .6911                                               
5.7885     .7291                                                
5.8566     .7675                                               
5.9247     .8043                                               
5.9928     .8395                                               
6.0609     .8751                                               
6.1290     .9137                                               
6.1971     .9569                                               
6.2652     1.0038                                              
6.3333     1.0520                                              
6.4014     1.0983                                              
6.4695     1.1398                                              
6.5376     1.1753                                              
6.6057     1.2048                                              
6.6738     1.2287                                              
6.7419     1.2475                                              
6.8100     1.2608                                              
6.8781     1.2685                                              
6.9462     1.2706                                              
7.0143     1.2679                                              
7.0824     1.2618                                              
7.1505     1.2536                                              
7.2186     1.2435                                              
7.2867     1.2304                                              
7.3548     1.2128                                              
7.4229     1.1891                                              
7.4910     1.1594                                              
7.5591     1.1254                                              
7.6272     1.0899                                              
7.6953     1.0561                                              
7.7634     1.0255                                              
7.8315     .9982                                               
7.8996     .9726                                               
7.9677     .9470                                               
8.0358     .9206                                               
8.1039     .8942                                               
8.1720     .8698                                               
8.2401     .8499                                               
8.3082     .8360                                               
8.3763     .8280                                               
8.4444     .8247                                               
8.5125     .8244                                               
8.5806     .8259                                               
8.6487     .8293                                               
8.7168     .8355                                               
8.7849     .8452                                               
8.8530     .8590                                               
8.9211     .8757                                               
8.9892     .8937                                               
9.0573     .9113                                               
9.1254     .9276                                               
9.1935     .9431                                               
9.2616     .9587                                               
9.3297     .9757                                               
9.3978     .9943                                               
9.4659     1.0138                                              
9.5340     1.0326                                              
9.6021     1.0492                                              
9.6702     1.0628                                              
9.7383     1.0738                                              
9.8064     1.0830                                              
9.8745     1.0913                                              
9.9426     1.0988                                              
10.0107    1.1048                                              
10.0788    1.1082                                              
10.1469    1.1079                                              
10.2150    1.1041                                              
10.2831    1.0977                                              
10.3512    1.0904                                              
10.4193    1.0835                                              
10.4874    1.0774                                              
10.5558    1.0716                                              
10.6236    1.0648                                              
10.6917    1.0559                                              
10.7598    1.0448                                              
10.8279    1.0322                                              
10.8960    1.0196                                              
10.9641    1.0083                                              
exercises/common/ensemble.txt · Last modified: 2022/10/31 17:28 by jglan