Table of Contents

Exercise 0

In this exercise you will learn how to use the bash terminal, to do a minimal installation of CP2K, which will be used to perform the molecular dynamics simulations, and to install a few useful programs required to analyse the simulations.

First of all, you have to make sure that your Windows or Mac machine has the packages required to install CP2K and other software that will be used.
If your machine is running a Mac OS X, you will need to install XQuartz and XCode.
If instead it is running on Windows you will need to install Cygwin.

0.1a Installation of Cygwin on Windows

If your machine is running windows you will need to install Cygwin. Cygwin is a large collection of GNU and Open Source tools which provides functionality similar to a Linux distribution on Windows.

For 32 bit Windows execute setup_x86.exe and follow the rest of directions in the wizard.

For 64 bit Windows setup_x86_64.exe can be used.

When installing Cygwin make sure you install the following additional packages:

Please operate according to the wizard to finish the Cygwin installation.

0.1b Installation of XCode and XQuartz on Mac OSX

If you are running on a Mac OS X you need to install XCode and XQuartz.

Download and install XQuartz unless you already have it on your machine.

Also, you need to install XCode from the apple store or from the following link: XCode.

0.2 Using the terminal

Throughout this course you will need to use the terminal or command line. Below there's a list of basic commands that you will need to use. Spend some time to become familiar with them. If you have a Mac open the Apple terminal, whereas if you are running Windows, start Cygwin.

Let's start with a list of useful commands that you need to use in the terminal environment – just type them into the command line and confirm with RETURN.

ls             # get list of files in the current directory
mkdir MD_course   # make directory 'MD_course'
cd             # change into your home directory
cd MD_course      # change into directory 'MD_course'
cd ..          # go up one directory
pwd            # print path to the current working directory

Below you find a command that will open a file using a text editor called vim. You will need to edit input files throughout the course in order to run MD simulations with CP2K. You can use any text editor, vim is one of them. Other text editors, which may be simpler to use, are Atom (plus the line-ending-selector-unix plugin) or Notepad++.

In this simple example, we will open a new file with vim, write some text, save and close this file. On the terminal type:

vim myfile      # opens 'myfile' in vim

Type i to go to insert mode, then insert some text. Now go to normal mode by typing ESC. In normal mode you can save and quit a file by typing :wq. Now copy myfile to the MD_course directory using the cp command. To do this type:

cp myfile MD_course

0.2a CP2K Installation on Windows

Download CP2K using git command or from github website:

git clone --recursive https://github.com/cp2k/cp2k.git cp2k

After downloading using git or extract the zip file from CP2K-github you will find it in the directory cp2k.

In order to compile cp2k one has to specify an arch file to indicate which compilers and libraries to use. Change directory to cp2k/arch. Once you are in this directory open a new file called Cygwin-i686-gfortran.sopt

Copy the following lines and paste into the newly opened Cygwin-i686-gfortran.sopt file:

CC       = cc
CPP      = 

FC       = gfortran
LD       = gfortran

AR       = ar -r

CPPFLAGS = 
DFLAGS   = -D__GFORTRAN -D__FFTSG
FCFLAGS  = -g -O2 -funroll-loops -ftree-vectorize -march=native -ffree-form $(DFLAGS) 
LDFLAGS  = $(FCFLAGS) 
LIBS     = -llapack -lblas

OBJECTS_ARCHITECTURE = machine_gfortran.o

Save this file (again if you use vim type ESC and then ':wq').
Run the make command as follows in order to compile cp2k:

make ARCH=Cygwin-i686-gfortran VERSION=sopt

If you find cp2k.sopt in cp2k/exe directory, then compilation is successfully done.

0.2b CP2K Installation on Mac OS X

Download CP2K using git command or from github website:

git clone --recursive https://github.com/cp2k/cp2k.git cp2k

After the code you will find it in the directory cp2k.

In order to compile cp2k one has to specify an arch file to indicate which compilers and libraries to use. Change directory to cp2k/arch. Once you are in this directory open a new file called Darwin-IntelMacintosh-gfortran.sopt, copy and paste the following lines into this file.

CC       = gcc
CPP      =
FC       = gfortran
LD       = gfortran
AR       = ar -r
RANLIB   = ranlib
DFLAGS   = -D__NO_STATM_ACCESS -D__ACCELERATE
FCFLAGS  = -O2 -funroll-loops \
           -ftree-vectorize -ffree-form $(DFLAGS)
LDFLAGS  = $(FCFLAGS)
LIBS     = -framework Accelerate

Save it as Darwin-IntelMacintosh-gfortran.sopt in the cp2k/arch directory alongside the other ARCH files.
Launch the Terminal and change the working directory to cp2k/Makefiles. Type make command as follows:

make ARCH=Darwin-IntelMacintosh-gfortran VERSION=sopt

It may take quite a while until a compilation is completed.

If you find cp2k.sopt in cp2k/exe directory, then compilation is successfully done.

0.3 First CP2K simulation

It is possible to run cp2k from any directory on your own machine by adding a line to your .bashrc file, without having to specify the location of the cp2k.sopt file.

To do this change to the directory where the cp2k.sopt binary is located and type pwd. Copy the output of this command and edit the .bashrc file located on your home directory: To edit the .bashrc file type

vim ~/.bashrc

Add the following line, replacing /path_of_cp2k_binary/ with the actual path where cp2k.sopt is located.

export PATH=${PATH}:/path_of_cp2k_binary/

Save the .bashrc file and quit. You can do this by typing :wq in normal mode if you use vim. In the terminal after typing

source ~/.bashrc

you can run cp2k from any directory. To do this enter

cp2k.sopt --help

Which should give you the output

 cp2k.sopt [-c|--check] [-e|--echo] [-h|--help] [--html-manual]
           [-i] <input_file>
           [-mpi-mapping|--mpi-mapping] <method>
           [-o] <output_file>
           [-r|-run] [--xml]

 starts the CP2K program, see <https://www.cp2k.org/>

 The easiest way is cp2k.sopt <input_file>

 The following options can be used:

  -i <input_file>   : provides an input file name, if it is the last
                      argument, the -i flag is not needed
  -o <output_file>  : provides an output file name [default: screen]

 These switches skip the simulation, unless [-r|-run] is specified:

  --check, -c       : performs a syntax check of the <input_file>
  --echo, -e        : echos the <input_file>, and make all defaults explicit
                      The input is also checked, but only a failure is reported
  --help, -h        : writes this message
  --html-manual     : writes a HTML reference manual of the CP2K input
                      in the current directory. The file index.html is a good
                      starting point for browsing
  --license         : prints the CP2K license
  --mpi-mapping     : applies a given MPI reordering to CP2K
  --run, -r         : forces a CP2K run regardless of other specified flags
  --version, -v     : prints the CP2K version and the SVN revision number
  --xml             : dumps the whole CP2K input structure as a XML file
                      xml2htm generates a HTML manual from this XML file

Now, make a new directory, for instance called exercise0. Download and extract the file argon.zip into this directory and run cp2k by typing

cp2k.sopt -i argon.inp -o out_ex0.out

You just ran a short Molecular Dynamics trajectory of liquid argon.

0.4 Visualization with VMD

We will visualize this trajectory with VMD, a molecular visualization program. First of all, download and install VMD for your operating system as indicated here.

Open VMD. From File → New molecule… open the file with the .xyz extension. Go to Graphics → Representations.. and change the Drawing Method to VDW. On the VMD shell type the following commands to define the unit cell of the system and wrap the atoms back to their original unit cell.

pbc set {17.158 17.158 17.158} -all
pbc box
pbc wrap -all

A snapshot of the molecular dynamics trajectory should approximately look like this:

0.5 Plotting tools

Throughout the course you will also need to plot some graphs. You can use any tool you like for that. gnuplot and Xmgrace are two programmes often used in Linux environments that are rather easy to use, but you can also use MS Office, Numbers, the plotting library of python Matplotlib, etc. Take care to install any of these software on your machine as needed.