banner
Zachary

Zachary

code | engineering | Phd candidate
github
zhihu
email

VASP Practical Manual

Important commands to consider when encountering an error: dos2unix

Explanation of commonly used parameters in POTCAR:

  • VRHFIN is used to view the electronic configuration of elements. If you are familiar with the periodic table, you can ignore this parameter.
  • LEXCH indicates that the POTCAR corresponds to the GGA-PBE functional. If the functional is not set in INCAR, it is set by default through this parameter.
  • TITEL refers to the element and the time of POTCAR release.
  • ZVAL represents the number of valence electrons in the POTCAR, which is particularly important when performing Bader charge analysis.
  • ENMAX represents the default cutoff energy. It is related to the ENCUT parameter in INCAR.

If you want to convert the system from Cartesian to Direct, you can perform a single-point calculation. Because the CONTCAR result is in the Direct coordinate system.

Electronic structure optimization: electronic step
Geometric structure optimization: ionic step

Electronic step (SCF): EDIFF <=> NELM
Ionic step (structural optimization): EDIFFG <=> NSW

Electronic iteration self-consistent algorithms: DAV (Blocked Davidson algorithm), RMM (residual minimization scheme), CG (conjugate-gradient algorithm), etc., can be adjusted through ALGO in INCAR.

Spin polarization parameter settings (ISPIN=1, no spin polarization; =2, spin polarization enabled):
Consider spin polarization in the following cases:

  • Calculation of single atoms
  • O2 molecule (ground state is a triplet state)
  • Calculation related to free radicals
  • Systems containing Fe, Co, Ni
  • Systems with magnetic properties: paramagnetic, ferromagnetic, antiferromagnetic, etc., require spin polarization
  • When studying the electronic properties of a system and unsure whether to include spin polarization, it is recommended to include it

Changing the symmetry of the crystal cell is important for atomic electronic structure calculations. Describing it only with symmetry parameters (ISYM=0, ignoring symmetry) is not sufficient (it can only have limited effects).

ISMEAR:
Metallic systems:
ISMEAR is generally set to ISMEAR=0 or integers 1 and 2.
SIGMA=0.1 is sufficient.
Gas-phase molecules:
ISMEAR=0
SIGMA=0.02 is a reference value (slightly smaller)

EDIFF & EDIFFG:
Correspond to the convergence criteria for the electronic step and ionic step, respectively. EDIFFG can be set to 1e-5, and for small systems, it can be set to -0.01 (note the negative sign). For large systems, energy can be used as the convergence criterion (1e-4 is sufficient, 10 times the convergence accuracy of the electronic step).

IBRION:
Introduced for molecular optimization.
Generally, there are three choices for optimizing the structure:
IBRION=3: When the initial structure is poor.
IBRION=2: Conjugate gradient algorithm, a reliable choice with no major issues.
IBRION=1: Used for searching stable structures within a small range.

IBRION=5: Vibration frequency calculation. In this case, a smaller value of POTIM is used, and a stricter value of EDIFF is required. NFREE=2 is added to indicate motion in both positive and negative directions (Note: It is recommended to comment out NCORE, otherwise only one step can be calculated!)

MAGMOM:
Initial magnetic moment setting. For simple magnetic systems, ISPIN=2 can be directly used, and MAGMOM does not need to be set. If the magnetic moment of the system is unknown, it can be estimated based on the atomic chemical environment and bonding situation. The estimated number of unpaired electrons is multiplied by 1.5 (Note: The first part is the number, and the second part is the magnetic moment).
MAGMOM = 10*-2 - There are 10 atoms, and the initial magnetic moment of each atom is -2.

POTIM:
Controls the size of ion movement in optimization steps when calculating interatomic forces.
It is applicable when IBRION=2. If the initial structure is good, it can be set arbitrarily. If the initial structure is poor, it needs to be set smaller (POTIM=0.05 can be used as a reference value).

ENCUT:
1.3*EMAX is sufficient.

ISTART:
0: Automatically generate wavefunctions (orbitals).
1: Read orbital information from WAVECAR. If not available, generate them based on the new settings and regenerate the plane wave basis set.
2: Read orbital information from WAVECAR. If not available, generate them based on the new settings and use the old plane wave basis set.

NCORE:
Based on the experience of senior researchers: When NCORE = number of cores per node / 2, it saves the most time and is the most convenient to set. For submission to supercomputers, use 40/2=20. Comment out when calculating frequencies! (Otherwise, only one step can be calculated, reasons unknown). (Also comment out when calculating single points! Otherwise, problems may occur) (Use with caution! Not recommended!)

When obtaining PSOCAR from chemspider, pay attention to whether the coordinates provided are Cartesian or fractional coordinates. All elements in fractional coordinates should be less than 1.

Atomic fixed operations:

  1. Add the "select" keyword "S" after the number of elements.
  2. Control fixation (F) or relaxation (T) by setting the last T/F after the corresponding atomic coordinates. Since there are three coordinate values (xyz), we need three F or T. We can allow atoms to move in one direction while fixing them in other directions.
    F F F indicates fixing in all directions;
    T T T indicates releasing in all directions;
    F F T indicates fixing in the xy direction and allowing movement in the z direction.

Key points for vibration frequency calculations:

vasp frequency calculation

Difference between conventional cell and primitive cell:
Conventional cell is commonly used in crystal materials. It has good visual symmetry, but there may be repeated atoms inside. In other words, it is not the smallest repeating unit of the crystal. (Generally, conventional cell is used)
Primitive cell is the smallest repeating unit of the crystal.

Experience with K-point settings:
K * a = around 45 is sufficient to meet the requirements.

K-point settings

LREAL:
Determines whether to evaluate in real space (Auto, etc.) or reciprocal space (.FALSE.).
We recommend using real space projection for systems with more than 20 atoms. We also recommend using LREAL=Auto (for VASP.4.4 and newer versions) and LREAL=On (for all other versions)... LREAL=Auto usually provides the best performance, but if performance is not critical, LREAL=.TRUE. can also be used.
When calculating, the value of LREAL should be selected based on the number of atoms and subsequent calculations. Results obtained using LREAL=.FALSE. and LREAL=ON/.TRUE. should not be compared in terms of energy.

NELM:
Sets the maximum number of steps for the electronic self-consistency (SC) loop (default is 60). Usually, there is no need to change the default value: if the SC loop does not converge within 60 steps, it may not converge at all. In this case, you should reconsider the IALGO or ALGO, LSUBROT, and mixing parameters.

ALGO:
Specifies the electronic minimization algorithm or the type of GW calculation. When the calculation does not converge, try modifying this parameter.

ISIF:
Determines whether to calculate the stress tensor. ISIF=2/3 is commonly used, and when used, ENCUT needs to be increased to reduce errors [for lattice constants!].

ISIF settings

Once we have completed the calculation of the lattice constant, we can use other ENCUT values for calculations based on this result. In other words, only the step of determining the lattice constant is an exception, and the original values should be used for other cases. The parameters ISIF=3 and ENCUT must appear together.
When optimizing the cell, ISIF=3 is generally used.
When optimizing a slab model, we use ISIF=2, which is the default value in VASP and does not need to be set.

Explanation of slab models:
There are two types of slab models: symmetric and asymmetric. Symmetric structures often require many layers and have larger systems. Asymmetric structures have smaller systems but are affected by dipole moments. Pay attention to adding LDIPOL and IDIPOL parameters to eliminate this effect:
For bulk material calculations, in order to calculate other properties in subsequent calculations, it is often required to use the same ENCUT, ENAUG, PREC, LREAL, and ROPT throughout the calculation.
Generally, conventional cells are used, and FCC metals can use primitive cells. However, for other systems, there are problems when cutting surface models using primitive cells.
Dipole correction: LDIPOL = .TRUE.; IDIPOL = 3. These parameters are generally added to slab models.
When optimizing the model, it is necessary to consider fixing the bottom layer atoms! In the real environment, the bulk catalyst is considered unchanged, and only the surface atoms participate in the catalytic reaction.

Slab fixation instructions:
Fixing atoms in VASP needs to be done in POSCAR. There are two key points:

  1. Add a line after the 7th line in POSCAR, and the content of this line is Selective Dynamics. VASP only recognizes the first letter, so you can simply add S or s on this line. You can also replace it with other words starting with S, such as SB, Sexy BigBro, Super BigBro, etc.
  2. Add F or T after the atomic coordinates to indicate fixing (F) or releasing (T). Since there are three coordinate values (xyz), we need three F or T. We can allow atoms to move in one direction while fixing them in other directions.
    F F F indicates fixing in all directions;
    T T T indicates releasing in all directions;
    F F T indicates fixing in the xy direction and allowing movement in the z direction.

PREC:
Determines the precision mode of the calculation, often used in conjunction with ENCUT. PREC=High; ENCUT=1.3Emax;
When calculating frequencies, PREC=Normal (default in vasp5).

ICHARG:
ICHARG determines how VASP constructs the initial charge density.
Default: ICHARG = 2 if ISTART=0

LCHARG & LWAVE:
LCHARG determines whether the charge densities (files CHGCAR and CHG) are written.
LWAVE determines whether the wavefunctions are written to the WAVECAR file at the end of a run.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.