===== 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]
[-mpi-mapping|--mpi-mapping]
[-o]
[-r|-run] [-s|--shell] [--xml]
starts the CP2K program, see
The easiest way is cp2k.popt
The following options can be used:
-i : provides an input file name, if it is the last
argument, the -i flag is not needed
-o : 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
--echo, -e : echoes the , 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 {{ :exercises:2019_uzh_acpc2:argon.zip |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 [[http://www.ks.uiuc.edu/Research/vmd/|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 [[http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD|here]].
If you are using MacOS Catalina and are experiencing issue, please download VMD from [[https://www.dropbox.com/s/700vi9kkpglf6m6/VMD%201.9.4a38.zip?dl=0|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 [[https://en.wikipedia.org/wiki/XYZ_file_format|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:
- The number of atoms on the first line
- A blank line (or a comment)
- 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:
{{:exercises:2018_uzh_acpc2:argon_liq_first_sim.png?400 |}}
===== 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.