NBANDS: Difference between revisions

From VASP Wiki
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 2: Line 2:
{{DEF|NBANDS|max({{TAG|NELECT}}/2+NIONS/2,{{TAG|NELECT}}*0.6)|}}
{{DEF|NBANDS|max({{TAG|NELECT}}/2+NIONS/2,{{TAG|NELECT}}*0.6)|}}


Description: {{TAG|NBANDS}} specifies the number of bands in the calculation.
Description: {{TAG|NBANDS}} specifies the total number of KS or QP orbitals in the calculation.
----
----
The right choice of {{TAG|NBANDS}} strongly depends on the type of the performed
The right choice of {{TAG|NBANDS}} strongly depends on the type of the performed calculation and the system. As a minimum, VASP requires all occupied states + one empty band, otherwise, a warning is given.  
calculation and the system. As a minimum, VASP requires one empty band,
otherwise, a warning is given. Only in large gap insulators, accurate
results can be obtained without empty bands and the warning might be ignored.


Since in iterative matrix-diagonalization schemes eigenvectors close to the top
==== Electronic minimization ====
of the calculated number of states converge much slower than the lowest
In the electronic minimization calculations, empty states do not contribute to the total energy, however, empty states are required to achieve a better convergence.
eigenstates, it is important to choose a sufficiently large {{TAG|NBANDS}}.  An
In iterative matrix-diagonalization algorithms (see {{TAG|ALGO}}) eigenvectors close to the top of the calculated number of states converge much slower than the lowest eigenstates, thus it is important to choose a sufficiently large {{TAG|NBANDS}}.  Therefore, we recommend using the default settings for {{TAG|NBANDS}}, i.e.,  ''NELECT/2 + NIONS/2'', which is a safe choice in most cases. In some cases, it is also possible to decrease it to ''NELECT/2+NIONS/4'', however, in some transition metals with open ''f'' shells a much larger number of empty bands might be required (up to ''NELECT/2+2*NIONS''). To check this parameter perform several calculations for a fixed potential ({{TAG|ICHARG}}=12) with an increasing number of bands (e.g. starting from ''NELECT/2 + NIONS/2''). An accuracy of <math> 10^{-6}</math> should be obtained in 10-15 iterations.  
insufficient number of empty bands might result in a significant performance
{{NB|tip|Note that the {{TAG|RMM-DIIS}} scheme ({{TAG|ALGO}}{{=}}Fast) is more sensitive to the number of bands than the default Davidson algorithm ({{TAG|ALGO}}{{=}}Normal) and can require more bands for fast convergence.|}}
loss. Therefore, we recommend setting {{TAG|NBANDS}} to the default value of
''NELECT/2 + NIONS/2'', which is safe in most cases. In some cases, it is also
possible to decrease the number of additional bands to ''NIONS/4'' and improve
the performance slightly. On the other hand, some transition metals and atoms with open
''f'' shells might require a much larger number of empty bands (up to
''2*NIONS'').
To check this parameter perform several calculations for a fixed potential
({{TAG|ICHARG}}=12) with an increasing number of bands (e.g. starting from
''NELECT/2 + NIONS/2''). An accuracy of <math> 10^{-6}</math> should be obtained
in 10-15 iterations.  


The convergence of the calculations with a large number of empty states can be
==== Many-body perturbation theory calculations ====
slow. In such cases, we recommend performing an exact diagonalization
In the Many-Body Perturbation Theory calculations ([[Practical guide to GW calculations|''GW'']],[[RPA/ACFDT: Correlation energy in the Random Phase Approximation|RPA]], and [[BSE calculations|BSE]]), a large number of empty orbitals is usually required, which can be much higher than the number of occupied states.  The convergence of the calculations with a large number of empty states can be very slow. In such cases, we recommend performing an exact diagonalization ({{TAG|ALGO}}=Exact) of the Hamiltonian with empty bands starting from a converged charge density.
({{TAG|ALGO}}=Exact) of the Hamiltonian with empty bands starting from a
converged charge density.
{{NB|tip|Note that the {{TAG|RMM-DIIS}} scheme ({{TAG|ALGO}}{{=}}Fast) is more sensitive to the number of bands than the default Davidson algorithm ({{TAG|ALGO}}{{=}}Normal).|}} 


==== Parallelization ====
==== Parallelization ====
When executed on multiple CPUs, VASP automatically increases the number of bands, so that {{TAG|NBANDS}} is divisible by the number of CPU cores.  
When executed on multiple CPUs, VASP automatically increases the number of bands, so that {{TAG|NBANDS}} is divisible by the number of CPU cores. If {{TAG|NCORE}} > 1, {{TAG|NBANDS}} is increased until it is divisible by the number of cores in a group ({{TAG|NCORE}}). If {{TAG|KPAR}} > 1, {{TAG|NBANDS}} is increased until it is divisible by the number of cores in a group.  
If {{TAG|NCORE}} > 1, {{TAG|NBANDS}} is increased until it is divisible by the number of cores in a group ({{TAG|NCORE}}).
If {{TAG|KPAR}} > 1, {{TAG|NBANDS}} is increased until it is divisible by the number of cores in a group.  


==== Spin-polarized calculation ====
==== Spin-polarized calculation ====
In the case of spin-polarized calculations, the default value for {{TAG|NBANDS}} is
In the case of spin-polarized calculations, the default value for {{TAG|NBANDS}} is increased to account for the initial magnetic moments.
increased to account for the initial magnetic moments.


==== Noncollinear calculation ====
==== Noncollinear calculation ====
In noncollinear calculations, the default {{TAG|NBANDS}} value is doubled to account for the
In noncollinear calculations, the default {{TAG|NBANDS}} value is doubled to account for the spinors components.
spinors components.
 
== Related tags and article ==
{{TAG|NCORE}}, {{TAG|NBANDS}}, {{TAG|NBANDSGW}}, {{TAG|NBANDSV}}, {{TAG|NBANDSO}}, {{TAG|NPAR}},{{TAG|KPAR}}


----
----
 
[[Category:INCAR tag]][[Category:Electronic minimization]][[Category:Dielectric properties]]
[[Category:INCAR]][[Category:Electronic minimization]][[Category:Dielectric properties]]

Latest revision as of 13:35, 30 May 2022

NBANDS = [integer] 

Default: NBANDS = max(NELECT/2+NIONS/2,NELECT*0.6)

Description: NBANDS specifies the total number of KS or QP orbitals in the calculation.


The right choice of NBANDS strongly depends on the type of the performed calculation and the system. As a minimum, VASP requires all occupied states + one empty band, otherwise, a warning is given.

Electronic minimization

In the electronic minimization calculations, empty states do not contribute to the total energy, however, empty states are required to achieve a better convergence. In iterative matrix-diagonalization algorithms (see ALGO) eigenvectors close to the top of the calculated number of states converge much slower than the lowest eigenstates, thus it is important to choose a sufficiently large NBANDS. Therefore, we recommend using the default settings for NBANDS, i.e., NELECT/2 + NIONS/2, which is a safe choice in most cases. In some cases, it is also possible to decrease it to NELECT/2+NIONS/4, however, in some transition metals with open f shells a much larger number of empty bands might be required (up to NELECT/2+2*NIONS). To check this parameter perform several calculations for a fixed potential (ICHARG=12) with an increasing number of bands (e.g. starting from NELECT/2 + NIONS/2). An accuracy of should be obtained in 10-15 iterations.

Tip: Note that the RMM-DIIS scheme (ALGO=Fast) is more sensitive to the number of bands than the default Davidson algorithm (ALGO=Normal) and can require more bands for fast convergence.

Many-body perturbation theory calculations

In the Many-Body Perturbation Theory calculations (GW,RPA, and BSE), a large number of empty orbitals is usually required, which can be much higher than the number of occupied states. The convergence of the calculations with a large number of empty states can be very slow. In such cases, we recommend performing an exact diagonalization (ALGO=Exact) of the Hamiltonian with empty bands starting from a converged charge density.

Parallelization

When executed on multiple CPUs, VASP automatically increases the number of bands, so that NBANDS is divisible by the number of CPU cores. If NCORE > 1, NBANDS is increased until it is divisible by the number of cores in a group (NCORE). If KPAR > 1, NBANDS is increased until it is divisible by the number of cores in a group.

Spin-polarized calculation

In the case of spin-polarized calculations, the default value for NBANDS is increased to account for the initial magnetic moments.

Noncollinear calculation

In noncollinear calculations, the default NBANDS value is doubled to account for the spinors components.

Related tags and article

NCORE, NBANDS, NBANDSGW, NBANDSV, NBANDSO, NPAR,KPAR