Vienna Ab-initio Simulation Package
VASP is a Density Functional Theory (DFT) program that we use to calculate the ionic and electronic properties of the various nano clusters for this class.
VASP user manual
Five Required Files
There are 5 starting files required for running a VASP job:- POSCAR
- INCAR
- KPOINTS
- POTCAR
- submission script (typically called file_name.sub)
POSCAR
The POSCAR file holds the information about the geometry of the molecule and the box in which it is contained.
sample POSCAR file
Line 1: | Elements that make up the geometry | |
Line 2: | A scaler; multiply this and vectors below to get lattice vectors; if the magnitude of the vectors below are 1, then this is your lattice constant. | |
Line 3,4,5: | These are the vectors that describe the box. The length of a side is determined by multiplying the vector by the lattice constant from Line 2 | |
Line 6: | Number of atoms of each element described respective to the order on Line 1 | |
Line 7: | Indicates whether the position of the atoms are given in Direct or Cartesian coordinates. VASP always outputs Direct coordinates to the new configuration file (CONTCAR) | |
Line 8-end: | Positions of atoms respective to the ordering in Lines 1 and 6. The first N coordinates will be specified by the first number, N, listed in line 6. Lines will N to N+M will be specified by the second number, M in line 6; and so on. Followed by True/False to indicate if a the atom is free to move in each vector direction. Note: You should check to make sure that all Direct coordinates are between 0 and 1 to insure that all atoms are in the box |
INCAR
sample INCAR file
The INCAR file describes what you will be doing in your calculation. Flags in this file will specify if you are performing a local optimization or running molecular dynamics and the parameters required for these calculations. Below is a list of some of the most important INCAR flags that you may need to change in your calculations:
- IBRION
describes what your simulation will do. Below describes a few relevant options:
- If IBRION is set to 0, you will run Molecular Dynamics.
- If IBRION is set to 1, you will perform a local optimization with Newton's Method
- If IBRION is set to 2, you will perform a local optimization with Conjugant Gradient
- If IBRION is set to 3, you will perform a local optimization with a Gradient Descent-like method.
- POTIM
; Depending on what IBRION is set to POTIM will serve a different purpose
- If IBRION = 0, POTIM is the time step for you MD simulation in fs.
- If IBRION = 1, 2 or 3, POTIM is a scalar for the forces in the molecular system (similar to alpha in gradient descent). For a conservative optimizer use IBRION=3 and POTIM=0.01.
- NSW
is the maximum number of steps your local optimization can take.
- EDIFF
is the convergence criteria for the optimization of the electronic wavefunction/electron density.
If the change in energy in consecutive steps in the optimization is less than this threshold, the optimization is complete.
- EDIFFG
is the convergence criteria for the optimization of the position of the nuclei.
If EDIFFG is negative, then it is specifying a force criteria.
If EDIFFG is positive, then your optimization will stop if the change in energy in consecutive steps in the optimization is less than this threshold.
- IALGO
specifies the optimization method for the electronic wavefunction.
IALGO=48 is more efficient less accurate.
IALGO=38 is less efficient, more accurate.
- ISIF
specifies if the lattice constants are fixed (ISIF=0) or relaxed (ISIF=3).
ISIF=3 should only be used for bulk calculations where you need to find optimal lattice constants.
Note: when optimizing lattice constants (ISIF=3) you need to wrap up and rerun the calculation until you have one ionic step.
- TEBEG
Initial temperature for a molecular dynamics run.
- TEEND Final temperature for a molecular dynamics run.
Because we are working with finite nano structures in this class and not periodic/infinite slabs there is no need for k-point sampling. In the gamma-point version of the code it is important to only use 1 k-point in each direction.
sample KPOINTS file
POTCAR
The POTCAR file is where the data about how the electrons behave for a given element is stored. It is important to have the pseudo-potentials in the POTCAR file in the same order as Line 1 of the POSCAR file. To create a POTCAR you can use the getpot followed by the atomic symbols in the correct order as required by your POSCAR file. For example, to create a POTCAR with Platinum first, then Gold type:
getpot Pt Au
To confirm that your created the correct POTCAR type:
potpaw
You should see the two metals listed in the same order.
Click here to see a sample POTCAR file
Submission Script
see The Queuing System