Jump to content

Requests for technical support from the VASP team should be posted in the VASP Forum.

Band-structure calculation using hybrid functionals: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 1: Line 1:
[[:Category:Band structure |Band-structure calculations]] for [[:Category:Hybrid functionals |hybrid functionals]] require multiple steps. Below we give a step-by-step introduction and an example. Additionally, we provide some advice reduce computational and human effort.
[[:Category:Band structure |Band-structure calculations]] for [[:Category:Hybrid functionals |hybrid functionals]] require multiple steps. Below we give a step-by-step introduction and an example. Additionally, we provide some advice to reduce computational and human effort.


== Step-by-step instructions ==
== Step-by-step instructions ==


For [[:Category:Hybrid functionals |hybrid functionals]], the Hamiltonian cannot be expressed in terms of the electronic charge density alone. Instead, the Kohn-Sham orbitals on a regular '''k''' mesh are required for any calculation within the [[Hybrid functionals: formalism|formalism of hybrid functionals]]. The regular '''k''' mesh must be supplied in the {{FILE|KPOINTS}} file. Consequently, restarting a hybrid calculation requires the {{FILE|WAVECAR}} file of the previous self-consistent-field (SCF) run. This is in contrast to [[GGA|density-functional theory]] (DFT) where the electronic charge density written to the {{FILE|CHGCAR}} file suffices to restart a DFT calculation.
For [[:Category:Hybrid functionals |hybrid functionals]], the Hamiltonian cannot be expressed in terms of the electronic charge density alone. Instead, the Kohn-Sham orbitals on a regular '''k''' mesh are required for any calculation within the [[Hybrid functionals: formalism|formalism of hybrid functionals]]. The regular '''k''' mesh must be supplied in the {{FILE|KPOINTS}} file. Consequently, restarting a hybrid calculation requires the {{FILE|WAVECAR}} file of the previous self-consistent-field (SCF) run. This is in contrast to [[GGA|density-functional theory]] (DFT), where the electronic charge density written to the {{FILE|CHGCAR}} file suffices to restart a DFT calculation.


'''Step 1:''' Run an SCF calculation to obtain a converged {{FILE|WAVECAR}} file.  
'''Step 1:''' Run an SCF calculation to obtain a converged {{FILE|WAVECAR}} file.  
Line 13: Line 13:
There are two options to simultaneously supply a regular '''k''' mesh and '''k''' points along a high-symmetry path to VASP.  
There are two options to simultaneously supply a regular '''k''' mesh and '''k''' points along a high-symmetry path to VASP.  
:;1. Read an [[KPOINTS#Explicit_k-point_mesh|explicit list of '''k''' points]] with zero-weighted '''k''' points.  
:;1. Read an [[KPOINTS#Explicit_k-point_mesh|explicit list of '''k''' points]] with zero-weighted '''k''' points.  
::Here, the explicit list of the irreducible '''k''' points of the regular '''k''' mesh can be copied from the {{FILE|IBZKPT}} file of a previous run to the {{FILE|KPOINTS}} file. These irreducible '''k''' points must be weighted by their multiplicity according to the symmetry of the system. Additionally, the '''k''' points along a high-symmetry path must be added to the {{FILE|KPOINTS}} file with the value of all weights set to zero.
::Here, the explicit list of the irreducible '''k''' points of the regular '''k''' mesh can be copied from the {{FILE|IBZKPT}} file of a previous run to the {{FILE|KPOINTS}} file. These irreducible '''k''' points must be weighted by their multiplicity according to the system's symmetry. Additionally, the '''k''' points along a high-symmetry path must be added to the {{FILE|KPOINTS}} file with the value of all weights set to zero.


:;2. Read an additional {{FILE|KPOINTS_OPT}} file that can specify the [[KPOINTS#Band-structure_calculations|high-symmetry path in line mode]].  
:;2. Read an additional {{FILE|KPOINTS_OPT}} file that can specify the [[KPOINTS#Band-structure_calculations|high-symmetry path in line mode]].  
Line 34: Line 34:
To understand how the two methods work in practice, try using them with a DFT calculation as if it were a hybrid calculation.
To understand how the two methods work in practice, try using them with a DFT calculation as if it were a hybrid calculation.


Finally, let us stress a major difference in hybrid band-structure calculations and DFT band-structure calculations. For density functionals, the electronic charge density suffices to define the Hamiltonian and no regular '''k''' mesh is required during DFT band-structure calculations. If no regular '''k''' mesh is provided, the electronic charge density must be fixed during the DFT band-structure calculation by setting {{TAG|ICHARG}}=11 in the {{FILE|INCAR}} file.
Finally, let us stress a significant difference between hybrid band-structure calculations and DFT band-structure calculations. The electronic charge density suffices for density functionals to define the Hamiltonian, and no regular '''k''' mesh is required during DFT band-structure calculations. However, if no regular '''k''' mesh is provided, the electronic charge density must be fixed during the DFT band-structure calculation by setting {{TAG|ICHARG}}=11 in the {{FILE|INCAR}} file.
{{NB|warning| The electronic charge density must not be fixed for any hybrid calculation, i.e., never set {{TAG|ICHARG}}{{=}}11!}}
{{NB|warning| The electronic charge density must not be fixed for any hybrid calculation, i.e., never set {{TAG|ICHARG}}{{=}}11!}}



Revision as of 14:33, 10 May 2022

Band-structure calculations for hybrid functionals require multiple steps. Below we give a step-by-step introduction and an example. Additionally, we provide some advice to reduce computational and human effort.

Step-by-step instructions

For hybrid functionals, the Hamiltonian cannot be expressed in terms of the electronic charge density alone. Instead, the Kohn-Sham orbitals on a regular k mesh are required for any calculation within the formalism of hybrid functionals. The regular k mesh must be supplied in the KPOINTS file. Consequently, restarting a hybrid calculation requires the WAVECAR file of the previous self-consistent-field (SCF) run. This is in contrast to density-functional theory (DFT), where the electronic charge density written to the CHGCAR file suffices to restart a DFT calculation.

Step 1: Run an SCF calculation to obtain a converged WAVECAR file.

Band-structure calculations generally compute the Kohn-Sham orbitals and eigenenergies along a path in reciprocal space which usually connects high-symmetry points in the first Brillouin zone. Some external tools[1][2] help to identify the high-symmetry points and k points along a high-symmetry path for materials of any symmetry.

Step 2: Determine the high-symmetry points along which VASP should compute the band structure.

There are two options to simultaneously supply a regular k mesh and k points along a high-symmetry path to VASP.

1. Read an explicit list of k points with zero-weighted k points.
Here, the explicit list of the irreducible k points of the regular k mesh can be copied from the IBZKPT file of a previous run to the KPOINTS file. These irreducible k points must be weighted by their multiplicity according to the system's symmetry. Additionally, the k points along a high-symmetry path must be added to the KPOINTS file with the value of all weights set to zero.
2. Read an additional KPOINTS_OPT file that can specify the high-symmetry path in line mode.
Generally, the KPOINTS file and the KPOINTS_OPT file accept the same format. But again, the regular k mesh needs to be supplied in the KPOINTS file and the high-symmetry path in the KPOINTS_OPT file. We therefore recommend using the Γ-centered mesh or Monkhorst-Pack mesh and providing the high-symmetry path in line mode, respectively.

The KPOINTS_OPT method is more convenient because it allows using the automatic generation modes for the k points. The computational cost and memory requirement can vary for the two methods due to the scaling with the number of k points.

Step 3: Supply a regular k mesh and k points along a high-symmetry path either using the explicit list including zero-weighted k points or using a KPOINTS_OPT file and restart the hybrid calculation from the converged WAVECAR file.

Recommendations and advice

The KPOINTS_OPT file can also be provided when starting an SCF calculation from scratch. In that case, VASP computes the band energies for the k points of the KPOINTS_OPT file after SCF is reached. While this seems to make step 1 obsolete, mind that it affects how VASP can treat the Coulomb-convergence during the SCF calculation. That is, FOCKCORR=2 cannot be used when computing the band structure with either option of supplying the k points.

The method using an explicit list including zero-weighted k points should not be used from scratch for performance reasons. Constructing the Fock exchange dominates the computational cost and memory requirement and it scales with the number of k points. Thus, each SCF step will get unnecessarily expensive when including zero-weighted k points.

As mentioned, the computational cost and memory requirement can vary for the two methods due to the scaling with the number of k points. It is still possible to achieve very fine sampling along the k path with both methods: For the KPOINTS_OPT method, set an appropriate batch size, i.e., the KPOINTS_OPT_NKBATCH tag. For the explicit list including zero-weighted k points, VASP may exceed the available memory if the number of zero-weighted k points is large. In that case, split the hybrid band-structure calculation into multiple calculations. For each calculation, add part of the zero-weighted k points.

To understand how the two methods work in practice, try using them with a DFT calculation as if it were a hybrid calculation.

Finally, let us stress a significant difference between hybrid band-structure calculations and DFT band-structure calculations. The electronic charge density suffices for density functionals to define the Hamiltonian, and no regular k mesh is required during DFT band-structure calculations. However, if no regular k mesh is provided, the electronic charge density must be fixed during the DFT band-structure calculation by setting ICHARG=11 in the INCAR file.

Example of k points for hybrid band-structure calculation

For instance, for cubic-diamond Si with the following POSCAR file

 cd Si
 5.5
  0.0    0.5     0.5 
  0.5    0.0     0.5 
  0.5    0.5     0.0 
   Si
   2
 Fractional
  -0.125 -0.125 -0.125
   0.125  0.125  0.125

we can generate a regular k mesh using the following KPOINTS file

 Regular k-points mesh
 0
 Monkhorst-Pack method
  3 3 3 
  0 0 0

The resulting IBZKPT file contains the following lines:

 Automatically generated mesh
      4
 Reciprocal lattice
   0.00000000000000    0.00000000000000    0.00000000000000             1
   0.33333333333334    0.00000000000000   -0.00000000000000             8
   0.33333333333334    0.33333333333334   -0.00000000000000             6
  -0.33333333333334    0.33333333333334    0.00000000000000            12

For the explicit k-points list, copy the regular k mesh from the IBZKPT file and add, e.g., 5 k points from Γ to X with zero weight:

 Explicit k-points list
      9
 Reciprocal lattice
   0.00000000000000    0.00000000000000    0.00000000000000             1
   0.33333333333334    0.00000000000000   -0.00000000000000             8
   0.33333333333334    0.33333333333334   -0.00000000000000             6
  -0.33333333333334    0.33333333333334    0.00000000000000            12
   0.00000000       0.00000000       0.00000000 0   
   0.12500000       0.00000000       0.12500000 0
   0.25000000       0.00000000       0.25000000 0
   0.37500000       0.00000000       0.37500000 0
   0.50000000       0.00000000       0.50000000 0

For the KPOINTS_OPT method, the same path from Γ to X can be specified by creating the following KPOINTS_OPT file

 k points for band structure
 5  ! intersections 
 line-mode
 Fractional
   0.0000000000     0.0000000000     0.0000000000 Γ
   0.5000000000     0.0000000000     0.5000000000 X 

And continue using the following KPOINTS file

 Regular k-points mesh
 0
 Monkhorst-Pack method
  3 3 3 
  0 0 0

Related tags and articles

KPOINTS, KPOINTS_OPT, Hybrid functionals

References