Skip to content

Geometry Optimization

Julien Steffen edited this page Mar 11, 2024 · 6 revisions

For geometry optimizations, all settings from the Description of Input Files page can be used. Besides them, some others must be added.

Unfortunately, a geometry optimization with VASP can be challenging, especially if large systems periodic with many smooth degrees of freedom (e.g., long alkyl chains adsorbed on a meta surface) are treated.

Tricks

Some tricks on the trade might help here, if you :

  • Use selective dynamics and set as many degrees as freedom as possible to frozen (F F F), but not the atoms that are crucial for the properties of interest. Usually, lower layers of a metal surface are frozen if an adsorption shall be calculated. The script build_adsorbates.py has an option included to freeze all subtrate atoms that are far enough away from any of the adsorbate atoms.

  • Use a large number of ionic steps (see below). Even if the progress of a calculation seems to be nonexistent, it often happens that after 100-200 steps of stagnation, the deciding last movement occurs. The total number of steps might then exceed 1000 or more. If you do your calculations on a cluster with limited walltime, the script opt_long.sh might be ideal for you.

  • Raise the plane wave cutoff (ENCUT) of the calculation, e.g., to 600 instead of 400 eV for a systems containing hydrocarbons.

  • Raise the NELMIN number to 8 or more. It might happen that the system is trapped and the SCF always converges after 2-3 cycles but nothing goes forward. This change can sometimes release the system.

Settings

The following list gives a keywords that should be added to an INCAR file besides those in the Description of Input Files for a geometry optimization.

  • IBRION = 1 or 2 If 1 is set, the quasi-Newton optimzation algirithm is chosen. It is usually the fastest one to converge, but requires a resonable starting structure. Else, explosions might occur. If IBRION = 2 is set, the simpler conjugate-gradient algorithm is chosen. It can be used for bad starting structures. If the system get stucked and stagnates for one of the algorithms, simply try the other if it improves the situation.

Clone this wiki locally