NBANDSO: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{TAGDEF|NBANDSO|[integer]}}
{{TAGDEF|NBANDSO|[integer]}}
 
{{DEF|NBANDSO|number of occupied orbitals|}}
Description: {{TAG|NBANDSO}} determines how many occupied orbitals are included in the BSE calculations.
Description: {{TAG|NBANDSO}} determines how many occupied orbitals are included in the Casida/[[BSE calculations]] or time propagation ({{TAG|ALGO}}=TIMEEV.


----
----
 
For the time-propagation algorithm increasing {{TAG|NBANDSO}} only modestly increases the compute time.
The compute time for BSE and Cassida type calculations grows with the third power of the number of included occupied and unoccupied bands
For BSE and Casida-type calculations, the compute time  grows with the third power of the number of included occupied and unoccupied bands


<math> (N_{\mathrm{occ}} N_{\mathrm{virtual}} N_{\mathrm{k}})^{3} </math>
<math> (N_{\mathrm{occ}} N_{\mathrm{virtual}} N_{\mathrm{k}})^{3} </math>
Line 13: Line 13:
<math> (N_{\mathrm{occ}}N_{\mathrm{virtual}} N_{\mathrm{k}})^{2} </math>
<math> (N_{\mathrm{occ}}N_{\mathrm{virtual}} N_{\mathrm{k}})^{2} </math>


Please be aware that symmetry is not exploited in the BSE code, hence memory requirements can be excessive. To allow for calculations on large systems, the BSE code distributes the BSE matrix among all available cores, and uses scaLAPACK for the diagonalization.
Please be aware that symmetry is not exploited in the BSE code, hence memory requirements can be excessive. To allow for calculations on large systems, the BSE code distributes the BSE matrix among all available cores and uses ScaLAPACK for the diagonalization.


VASP always uses the orbitals closest to the Fermi-level, and {{TAG|NBANDSO}} (<math>N_{\mathrm{occ}}</math>) and {{TAG|NBANDSV}} (<math>N_{\mathrm{virtual}}</math>) determines how many occupied and unoccupied orbitals are included. The defaults are fairly "conservative" and equal the total number of electrons/2 (this usually implies that all occupied state are included). For highly accurate results, {{TAG|NBANDSV}} often needs to be increased, whereas for large systems one is often forced to reduce both values to much smaller numbers. Sometimes qualitative results for band like Wannier-Mott excitons can be obtained even with a single conduction and valence band.
VASP always uses the orbitals closest to the Fermi-level, and {{TAG|NBANDSO}} (<math>N_{\mathrm{occ}}</math>) and {{TAG|NBANDSV}} (<math>N_{\mathrm{virtual}}</math>) determines how many occupied and unoccupied orbitals are included. The defaults are fairly "conservative" and equal the total number of electrons/2 (this usually implies that all occupied states are included). For highly accurate results, {{TAG|NBANDSV}} often needs to be increased, whereas for large systems one is often forced to reduce both values to much smaller numbers. Sometimes qualitative results for bandlike Wannier-Mott excitons can be obtained even with a single conduction and valence band.


== Related Tags and Sections ==
== Related tags and articles ==
{{TAG|NBANDSV}}.
{{TAG|NBANDSV}},
{{TAG|BSE calculations}}
[[BSE calculations]],
[[Timepropagation]]


{{sc|NBANDSO|Examples|Examples that use this tag}}
{{sc|NBANDSO|Examples|Examples that use this tag}}
----
----


[[The_VASP_Manual|Contents]]
[[Category:INCAR tag]][[Category:Many-body perturbation theory]][[Category:Bethe-Salpeter equations]]
 
[[Category:INCAR]] [[Category:BSE]]

Latest revision as of 09:17, 24 June 2022

NBANDSO = [integer] 

Default: NBANDSO = number of occupied orbitals

Description: NBANDSO determines how many occupied orbitals are included in the Casida/BSE calculations or time propagation (ALGO=TIMEEV.


For the time-propagation algorithm increasing NBANDSO only modestly increases the compute time. For BSE and Casida-type calculations, the compute time grows with the third power of the number of included occupied and unoccupied bands

and the memory requirements increase quadratically

Please be aware that symmetry is not exploited in the BSE code, hence memory requirements can be excessive. To allow for calculations on large systems, the BSE code distributes the BSE matrix among all available cores and uses ScaLAPACK for the diagonalization.

VASP always uses the orbitals closest to the Fermi-level, and NBANDSO () and NBANDSV () determines how many occupied and unoccupied orbitals are included. The defaults are fairly "conservative" and equal the total number of electrons/2 (this usually implies that all occupied states are included). For highly accurate results, NBANDSV often needs to be increased, whereas for large systems one is often forced to reduce both values to much smaller numbers. Sometimes qualitative results for bandlike Wannier-Mott excitons can be obtained even with a single conduction and valence band.

Related tags and articles

NBANDSV, BSE calculations, Timepropagation

Examples that use this tag