Table of Contents

First CP2K simulation

Module loading

Since there are numerous applications with different and possibly conflicting requirements, the module system is used. This means that only basic commands are available until explicitly loaded.

To list all available modules:

module avail

To list all modules which are currently loaded use:

module list

To load the CP2K module used in this course, use:

module load cp2k/8.1-intel-20.0.2-gimphmw

When you list the loaded modules again at this point (see command above), you will notice that the list has changed.

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

cp2k.popt --help

Which should give you the output

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

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

 The easiest way is cp2k.popt <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           : echoes the <input_file>, and make all defaults explicit
                         The input is also checked, but only a failure is reported
  --help, -h           : writes this message
  --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
  --shell, -s          : start interactive shell mode
  --version, -v        : prints the CP2K version and the revision number
  --xml                : dumps the whole CP2K input structure as a XML file
                         xml2htm generates a HTML manual from this XML file
  --set, -E name=value : set the initial value of a preprocessor value

Now, make a new directory, for instance called exercise0, and change into it:

mkdir exercise0

cd exercise0

Download and extract the file argon.inp into this directory:

wget https://www.cp2k.org/_media/exercises:2019_uzh_acpc2:argon.zip

mv exercises:2019_uzh_acpc2:argon.zip argon.zip

unzip argon.zip

Finally, you can run cp2K by typing:

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

To run cp2k with MPI, for instance with 2 CPUs, you can use:

mpirun -n 2 cp2k.popt -i argon.inp -o out_ex0.out

You just ran a short Molecular Dynamics trajectory of liquid argon! Now, let's look at the results.

Visualization with VMD

Part II: Loading and running a program

The software we need for visualization is VMD.

You can either use our provided installation on tcopt7 if you followed the setup-instructions to use graphical programs from the server, or you have to install VMD on your local machine yourself.

Starting VMD on ''tcopt7''

Load the respective module:

module load vmd/1.9.3-gcc-7.5.0-pxvond2

Pay attention to load the correct version of VMD (i.e. 1.9.3) because any other module may not work as expected.

You can start VMD by typing:

vmd

Two new windows named VMD Main and VMD 1.9.3 … Display should open on your local machine while the server shows:

Info) VMD for LINUXAMD64, version 1.9.3 (November 30, 2016)
Info) http://www.ks.uiuc.edu/Research/vmd/
Info) Email questions and bug reports to vmd@ks.uiuc.edu
Info) Please include this reference in published work using VMD:
Info)    Humphrey, W., Dalke, A. and Schulten, K., `VMD - Visual
Info)    Molecular Dynamics', J. Molec. Graphics 1996, 14.1, 33-38.
Info) -------------------------------------------------------------
Info) Multithreading available, 48 CPUs detected.
Info)   CPU features: SSE2 AVX AVX2 FMA
Info) Free system memory: 214GB (85%)
Info) No CUDA accelerator devices available.
Warning) Detected X11 'Composite' extension: if incorrect display occurs
Warning) try disabling this X server option.  Most OpenGL drivers
Warning) disable stereoscopic display when 'Composite' is enabled.
Info) OpenGL renderer: llvmpipe (LLVM 11.0.1, 256 bits)
Info)   Features: STENCIL MSAA(4) MDE CVA MTX NPOT PP PS GLSL(OVFS)
Info)   Full GLSL rendering mode is available.
Info)   Textures: 2-D (16384x16384), 3-D (512x512x512), Multitexture (8)
Info) Dynamically loaded 2 plugins in directory:
Info) /sw-ng/spack/opt/spack/linux-opensuse_leap15-sandybridge/gcc-7.5.0/vmd-1.9.3-pxvond2pthsd3gubsorb4sqfsj22av7w/lib64/plugins/LINUXAMD64/molfile
vmd >

If you only get the output on the server but not the 2 windows there is something wrong with your setup and you should check the setup instructions again. You can exit VMD by either closing the VMD Main or by giving the quit command at the vmd > prompt:

vmd > quit
The module loading is not persistent. You have to reload the modules every time you log back in.

Installing VMD on your **local** machine

Simply download and install VMD for your operating system as indicated here.

If you are using MacOS Catalina and are experiencing issue, please download VMD from here, instead.

Getting the input data

Before you can try out VMD, we must get some data to visualize. For now, we simply want to view all the Argon atoms from our previous simulation. To do so, we need to extract their coordinates from the input file. The easiest solution to this, is to copy them into an XYZ coordinate file:

cp argon.inp argon.xyz

Now, you must remove everything but the atoms coordinates. You should end up with 108 lines in your file, each containing the coordinate of a single Ar atom.

To make this a fully functional XYZ file, you must change the top of the file to be the following:

  1. The number of atoms on the first line
  2. A blank line (or a comment)
  3. The rest of the file
108

Ar -8.53869012951987116 -15.5816257770688615 2.85663672298278293
...

Using VMD

Now, we are ready for our first visualization with VMD.

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
pbc stands for periodic boundary conditions and you can also find the box edge lengths in the input file under FORCE_EVAL/SUBSYS/CELL/ABC
If you prefer to load the file and set the drawing methods via commands, you can do the following:
mol new argon.xyz
mol modstyle 0 0 vdw

The first commands loads the file argon.xyz. The second command assumes this is the first file you load (the first index 0) and that this file contains only a single molecule (the second index 0).

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

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 programs 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.