NBANDSO: Difference between revisions
No edit summary |
No edit summary |
||
(9 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. | |||
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 | 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 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 articles == | |||
{{TAG|NBANDSV}}, | |||
[[BSE calculations]], | |||
[[Timepropagation]] | |||
{{sc|NBANDSO|Examples|Examples that use this tag}} | |||
{{ | |||
---- | ---- | ||
[[Category:INCAR]] [[Category: | [[Category:INCAR tag]][[Category:Many-body perturbation theory]][[Category:Bethe-Salpeter equations]] |
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