NBANDSO: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by 2 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  
Description: {{TAG|NBANDSO}} determines how many occupied orbitals are included in the Casida/[[BSE calculations]] or time propagation ({{TAG|ALGO}}=TIMEEV.
Casida/[[BSE calculations]] or [[timepropagation]]


----
----
For the timepropagation algorithm increasing {{TAG|NBANDSO}} only modestly increases the compute time.
For the time-propagation algorithm increasing {{TAG|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
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 14: 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}},
[[BSE calculations]],
[[BSE calculations]],
Line 26: Line 25:
----
----


[[The_VASP_Manual|Contents]]
[[Category:INCAR tag]][[Category:Many-body perturbation theory]][[Category:Bethe-Salpeter equations]]
 
[[Category:INCAR]] [[Category:Many-Body Perturbation Theory]][[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