Setting up an electronic minimization
Setting up an electronic minimization calculation using density-functional theory requires a few steps. The input files must be created or copied into the execution folder. This includes making a few choices for the k point sampling and electronic smearing, minimization algorithm, and exchange-correlation functionals. A dry-run can be used to review settings and select appropriate parallelization tags. After running the calculation, the output can be analyzed.
Step-by-step instructions
Step 1: Create a POSCAR file containing the structure for which you want to compute the electronic groundstate. External Python tools like the Atomic Simulation Environment can help create structures.
Step 2: Choose an exchange-correlation (XC) functional appropriate for your material and quantity of interest according to the best practices for choosing an XC functional page.
Step 3: Create a suitable POTCAR file by following the instructions on our preparing a POTCAR page.
Step 4: Create a KPOINTS file to define the integration mesh in reciprocal space. Start with a regular mesh. Usually Monkhorst-Pack meshes are more efficient than Gamma-centered meshes, but they might break the symmetry for certain structures. Consult the symmetry reduction section of the KPOINTS page to select the appropriate mesh type.
Step 5: Write an INCAR file. It is recommended to start from a rather minimal file, and only specify the most important tags like:
- ALGO to select the algorithm for electronic minimization.
- ISMEAR to select the type of electronic smearing technique.
- SIGMA to choose an appropriate smearing width of the electronic smearing. A larger smearing might be required to converge the calculation if your KPOINTS mesh is less dense.
- ENCUT to set the plane-wave energy cutoff. ENCUT defaults to the largest ENMAX value found in the POTCAR file, but it is always a good idea to include it in the INCAR.
- EDIFF to specify the global break condition for the electronic self-consistent loop
Step 6: Select the appropriate version of the VASP executable. I.e. vasp_gam
if you only want to use the Gamma point for reciprocal space integration, vasp_ncl
for noncollinear calculations, or vasp_std
for anything else. Then Run a dry-run calculation. This will not only uncover some possibe errors in your input (e.g. mismatched POSCAR and POTCAR files; Unrecognized INCAR tag values; etc.), but also allow you to inspect all computational parameters in the OUTCAR file.
Step 6: Inspect the OUTCAR file of your dry-run and choose appropriate parallelization tags for your actual calculation.
Recommendations and advice
Example
Related tags and articles
INCAR, POSCAR, KPOINTS, POTCAR, KSPACING