NBSEBLOCKO

From VASP Wiki
Revision as of 10:03, 11 June 2024 by Tal (talk | contribs) (Created page with "{{TAGDEF|NBSEBLOCKO|[integer]}} {{DEF|NBSEBLOCKO|-1|}} Description: {{TAG|NBSEBLOCKO}} specifies the blocking factor for the occupied states when setting up the BSE Hamiltonian. ---- By default, the construction of the BSE Hamiltonian in VASP is parallelized over k-points, such that each MPI rank can compute a pair of k-points. This way the BSE Hamiltonian setup can be parallelized up to <math>\mathrm{NKPTS*(NKPTS+1)/2}</math> MPI ranks or <math>\mathrm{NKPTS*2*(NKPTS*2...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

NBSEBLOCKO = [integer] 

Default: NBSEBLOCKO = -1

Description: NBSEBLOCKO specifies the blocking factor for the occupied states when setting up the BSE Hamiltonian.


By default, the construction of the BSE Hamiltonian in VASP is parallelized over k-points, such that each MPI rank can compute a pair of k-points. This way the BSE Hamiltonian setup can be parallelized up to MPI ranks or for spin-polarized case, where is the total number of k-points in the full Brillouin zone. However, if a large number of MPI ranks is used in a calculation with too few k-point, this leads to load imbalance, where some of the MPI rank will have no data to compute. In such cases, it is recommended to use parallelization over bands. If the paralliziation over bands is used, all occupied (unoccupied) bands are divided into a number of blocks, where and Failed to parse (Conversion error. Server ("cli") reported: "[INVALID]"): {\displaystyle \mathrm{NBLKV=NBANDSV/NBSEBLOCKV}</mathrm}. This bands blocking allows VASP to parallelize the setup of the matrix up to <math>\mathrm{NBLKO*NBLKV*NKPTS*(NBLKO*NBLKV*NKPTS+1)/2}} ranks.

If no or is specified, no paralliziation over bands is used and .

Related tags and sections

BSE, NBSEBLOCKV, BSE calculations