Jump to content

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

DEG THRESHOLD: Difference between revisions

From VASP Wiki
No edit summary
Kresse (talk | contribs)
More detailed explanation.
Line 2: Line 2:
{{DEF|DEG_THRESHOLD| $2*10^{-3}$ | }}
{{DEF|DEG_THRESHOLD| $2*10^{-3}$ | }}


Description: {{TAG|DEG_THRESHOLD}} specifies whether two eigenvalues should be treated as degenerate during wavefunction clustering. {{TAG|DEG_THRESHOLD}} is specified in units of eV.
Description: {{TAG|DEG_THRESHOLD}} specifies whether two eigenvalues should be treated as degenerate during clustering of orbitals in the linear response code. {{TAG|DEG_THRESHOLD}} is specified in units of eV.


----
----
This parameter is used to find clusters of wave functions within a given energy range. If it is set too high, non-degenerate eigenvalue pairs may be detected as degenerate pairs. Then, the inverse iteration will attempt to converge them. Ultimately, the program will get stuck and converge poorly. Conversely, too small a value might not detect all degenerate eigenvalues. The most severe problems are caused by very narrow semicore bands.
This parameter is used to find degenerate clusters of orbitals. It is used within VASP whenever linear-response calculations are performed (either with respect to external fields or with respect to ionic displacements). VASP internally uses an inverse-iteration solver with complex shifting to solve the Sternheimer linear-response equation. If the value is too large, non-degenerate eigenvalue pairs may be detected as degenerate pairs. This can lead to very poor convergence or errorneous results, in particular, for systems with low symmetry. Conversely, too small a value might not lead to a proper detection of all degenerate eigenvalues. For insulating systems, this usually does not cause errors, since the imaginary shift can deal with degenerate eigenvalue/eigenvector pairs.
 
It is recommended to use tiny values for systems that do not possess any symmetry (say around $10^{-5}). For highly symmetric insulators, results should be largely insensitive to the choice of {{TAG|DEG_THRESHOLD}}. For metals, degenerate states with partial occupancies must be correctly resolved to obtain highly accurate results (so {{TAG|DEG_THRESHOLD}} must be set to a value that allows safe detection of degenerate states).
 


{{NB|tip|If you experience large drifts in the Born effective charges and adding more k-points does not help, try adjusting this parameter.}}
{{NB|tip|If you experience large drifts in the Born effective charges and adding more k-points does not help, try adjusting this parameter.}}

Revision as of 16:33, 20 April 2026

DEG_THRESHOLD = [real] 

Default: DEG_THRESHOLD = $2*10^{-3}$

Description: DEG_THRESHOLD specifies whether two eigenvalues should be treated as degenerate during clustering of orbitals in the linear response code. DEG_THRESHOLD is specified in units of eV.


This parameter is used to find degenerate clusters of orbitals. It is used within VASP whenever linear-response calculations are performed (either with respect to external fields or with respect to ionic displacements). VASP internally uses an inverse-iteration solver with complex shifting to solve the Sternheimer linear-response equation. If the value is too large, non-degenerate eigenvalue pairs may be detected as degenerate pairs. This can lead to very poor convergence or errorneous results, in particular, for systems with low symmetry. Conversely, too small a value might not lead to a proper detection of all degenerate eigenvalues. For insulating systems, this usually does not cause errors, since the imaginary shift can deal with degenerate eigenvalue/eigenvector pairs.

It is recommended to use tiny values for systems that do not possess any symmetry (say around $10^{-5}). For highly symmetric insulators, results should be largely insensitive to the choice of DEG_THRESHOLD. For metals, degenerate states with partial occupancies must be correctly resolved to obtain highly accurate results (so DEG_THRESHOLD must be set to a value that allows safe detection of degenerate states).


Related tags and articles

LSUBROT