NBANDS: Difference between revisions

From VASP Wiki
No edit summary
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{TAGDEF|NBANDS|[integer]}}
{{TAGDEF|NBANDS|[integer]}}
{{DEF|NBANDS|{{TAG|NELECT}}/2+NIONS/2|non-spinpolarized|0.6*{{TAG|NELECT}}+NMAG|spinpolarized}}
{{DEF|NBANDS|max({{TAG|NELECT}}/2+NIONS/2,{{TAG|NELECT}}*0.6)|}}


Description: {{TAG|NBANDS}} determines the actual number of bands in the calculation.
Description: {{TAG|NBANDS}} specifies the total number of KS or QP orbitals in the calculation.
----
----
One should choose {{TAG|NBANDS}} such that a considerable number of empty bands is included in the calculation. As a minimum we require one empty band. VASP will give a warning, if this is not the case.
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.  


{{TAG|NBANDS}} is also important from a technical point of view: In iterative matrix-diagonalization schemes eigenvectors close to the top of the calculated number of vectors converge much slower than the lowest eigenvectors. This might result in a significant performance loss if not enough empty bands are included in the calculation. Therefore we recommend to set {{TAG|NBANDS}} to {{TAG|NELECT}}/2 + NIONS/2, this is also the default setting of the makeparam utility and of VASP.4.X. This setting is safe in most cases. In some cases, it is also possible to decrease the number of additional bands to NIONS/4 for large systems without performance loss, but on the other hand transition metals do require a much larger number of empty bands (up to 2*NIONS).
==== 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 {{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.
{{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.|}}


To check this parameter perform several calculations for a fixed potential ({{TAG|ICHARG}}=12) with an increasing number of bands (e.g. starting from {{TAG|NELECT}}/2 + NIONS/2). An accuracy of should be obtained in 10-15 iterations. Mind that the RMM-DIIS scheme ({{TAG|IALGO}}=48) is more sensible to the number of bands than the default CG algorithm ({{TAG|IALGO}}=38).
==== Many-body perturbation theory calculations ====
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.
 
==== 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.  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 ====
In the case of spin-polarized calculations, the default value for {{TAG|NBANDS}} is increased to account for the initial magnetic moments.
 
==== Noncollinear calculation ====
In noncollinear calculations, the default {{TAG|NBANDS}} value is doubled to account for the spinors components.
 
== Related tags and article ==
{{TAG|NCORE}}, {{TAG|NBANDS}}, {{TAG|NBANDSGW}}, {{TAG|NBANDSV}}, {{TAG|NBANDSO}}, {{TAG|NPAR}},{{TAG|KPAR}}


== Example Calculations using this Tag ==
{{TAG|Bandgap of Si in GW}}, {{TAG|Bandstructure of Si in GW (VASP2WANNIER90)}}, {{TAG|Bandstructure of SrVO3 in GW}}, {{TAG|Dielectric properties of Si}}, {{TAG|Dielectric properties of SiC}}
----
----
[[The_VASP_Manual|Contents]]
[[Category:INCAR tag]][[Category:Electronic minimization]][[Category:Dielectric properties]]
 
[[Category:INCAR]]

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