![]() |
![]() |
![]() |
CPMD Tutorial Part 1 |
![]() |
3. Preparation and Installation Issues
3.1. Compiling CPMD
3.2. Running CPMD
3.3. Running cpmd2cube
Part 2
Start
Contents
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.
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.
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 |
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
![]() |
![]() |
||
|