Up: Theoretische Chemie, Ruhr-Universität Bochum,Germany http://www.theochem.ruhr-uni-bochum.de/go/cpmd-tutor.html Home:Homepage Axel Kohlmeyer

CPMD Logo

CPMD Tutorial

Part 1

bulk water

    3. Preparation and Installation Issues

         3.1. Compiling CPMD

         3.2. Running CPMD

         3.3. Running cpmd2cube


    Next: Part 2     Up:Start     Down:Contents



3. Preparation and Installation Issues


3.1. Compiling CPMD

The first and (sometimes quite high) hurdle for doing calculations with CPMD, is to get the software compiled. CPMD is currently distributed (at no cost for non-commercial users) via the CPMD consortium homepage as a source code package only.

For this tutorial a generic, serial executable should be sufficient, but most serious applications of CPMD will need an awful lot of CPU power, i.e. a big parallel machine or cluster. To take full advantage of your (large) machine you thus need to compile a custom executable from the source code, which is compatible to and specifically optimized for your local machine. CPMD is well parallelized using a distributed memory MPI-based parallelization plus an optional and independent OpenMP parallelization for SMP nodes. Particularly the compilation of parallel executables will very much depend on the individual installation and configuration.

Please check out the CPMD manual on how to do it. Some hints and tricks for compiling CPMD on Linux machines (which is particularly troublesome), as well as supplementary binaries (customized ATLAS linear algebra performance library and MPI packages) can be found at http://www.theochem.ruhr-uni-bochum.de/~legacy.akohlmey/cpmd-linux.html.


3.2. Running CPMD

The following examples assume, that you create a separate subdirectory for each group of calculations containing the input file(s) and the pseudopotential file(s), and that you have a usable CPMD executable in your search path under the name cpmd.x . You can then run the calculations in that directory by typing something like:

 
  cpmd.x example.inp  > example.out
 

Again, please check out the manual for more details and further options (e.g. using PP_LIBRARY_PATH to load pseudopotentials from a central pseudopotential repository) and the purpose of the generated files. Additionally some examples contain scripts to help you extract data from the calculations. These assume that you are working in a unix-like environment and they were (usually only) tested on a Linux machine.


3.3. Running cpmd2cube

cpmd2cube.x is a companion program to CPMD and is used to convert volumetric data written by CPMD to realspace 3-dimensional gridded data in the .cube format as it also is produced by the Gaussian program package. These cube files can then be post-processed and visualized in the same way and with the same tools as for Gaussian calculations.

The cpmd2cube program has many options, most of them you will rarely need. Most importantly are the -rho and -psi option which will depend on the type of data (e.g. wave function or density). The program will try to autodetect, but this does not always work.

 
Usage:

cpmd2cube.x <option> filename

for wannier files, you can also process the full set in one step, e.g. with:

cpmd2cube.x -wave WANNIER_1.*

  If you specify more than one file, they MUST have the
  same g-vectors and (for the moment) atom positions
  The program will create one cube file for each file
  and one pdb file with the atom positions

further options:

-info   gives information about the file, like which atoms are in there,
        the lattice vectors, etc.
-rho    store the density instead of the wavefunction into the cube file.
-dens   alias for -dens

-wave   generate the wavefunction, otherwise it generates the density
-psi    alias for -wave

-v <verbosity>:
        <verbosity> is 0-3 (default is 1)
-halfmesh: (on by default)
        leave out half the grid points in each direction.
        reduces the file size by 1/8th.
        the conversion is still done on the full grid,
        so the output is usually quite smooth.
-fullmesh:
        use full grid (cancels -halfmesh) to resolve
        fine structures in the density/wavefunction.

-trim <threshold>:
      write a minimal cube file including all data points which have an
      absolute value above <treshold>. Can reduce the file size dramatically
      for isolated molecules and localized orbitals. incompatible with -rep.

-normpot:
      correct for the fact, that the integrated electrostatic potential
      is not zero. To be used when converting ELPOT files.

-o <prefix>:
      specify the prefix of the name used for the cube and pdb-files

-rep <n1> <n2> <n3>:
        replicate the cell n times along the -th direction by periodicity

-shift <r1> <r2> <r3>:
        shift cube density by r1*a1+r2*a2+r3*a3

-centre centre density around centre of mass of system.
-center alias for -centre

-inbox
        put atoms inside unit cell centred around origin

-double
        read the density in double precision (default is single)
--
        last option. Useful if you have a file with the same name as an option

-h  or  -?  or  -help  or  --help  or no files:
      write this help
 


Up:Top of Page     Next: Part 2     Up:Start     PDF version of this document.

Full Table of Contents


1. Introduction
     1.1. Development Notice
     1.2. Notes
     1.3. Recent Changes
     1.4. Citation / Bookmark
2. Table of Contents
3. Preparation and Installation Issues
     3.1. Compiling CPMD
     3.2. Running CPMD
     3.3. Running cpmd2cube
4. The Theory: Some Fundamental Infos and Useful Literature
5. The Basics: Running CPMD, Input and Output Formats
     5.1. Wavefunction Optimization: a) Input File Format
     5.2. Wavefunction Optimization: b) Output File Format
     5.3. Geometry Optimization
     5.4. Car-Parrinello Molecular Dynamics
     5.5. Further Job Types
     5.6. How to Use the Tutorial
6. Exercise: Electron Structure and Geometry Optimization
     6.1. Hydrogen Molecule
     6.2. Water Molecule
     6.3. Ammonia Molecule
7. Exercise: Car-Parrinello Molecular Dynamics
     7.1. Hydrogen Molecule
     7.2. Ammonia Molecule in Gas Phase
     7.3. Glycine Molecule in Gas Phase
     7.4. Glycine with Thermostats
8. Exercise: Bulk Systems
     8.1. Bulk Silicon
     8.2. Hydronium Ion in Bulk Water
9. Exercise: Determination of Dynamic Properties
     9.1. Calculation of Vibrational Spectra
     9.2. The 'Dragging Effect'
10. Proton Transfer in a Catalytic Triade Model
     10.1. Preparing a Model from a Large System
     10.2. Equilibration with a Blocked Reaction Path
     10.3. Modelling Part of the Reaction Path
     10.4. Calculating Electron Structure Properties and Visualizations
11. Credits
12. Downloads
13. File distribution policy


Up: Theoretische Chemie, Ruhr-Universität Bochum,Germany http://www.theochem.ruhr-uni-bochum.de/go/cpmd-tutor.html Home:Homepage Axel Kohlmeyer

Website META Language Disclaimer   /   E-mail to the webmaster of this hompage: webmaster@theochem.ruhr-uni-bochum.de
Source File: index.wml (Sat Jul 2 18:07:27 2005) ($Revision: 1.16 $) Translated to HTML: Mon Oct 10 00:06:26 2005