Skip to content

ParaBands code input keywords (parabands.inp)

Required keywords

Optional keywords

Keyword documentation

Misc. parameters

input_wfn_file

Input file with DFT wavefunctions. The input WFN file is assumed to be in binary Fortran format. This file is controlled by the wfng_flag/wfng_file options in pw2bgw.inp.

output_wfn_file

Output file to write DFT wavefunctions to. The output WFN file will be written in HDF5 format.

vsc_file

Input file with self-consistent potential. This file is controlled by the vscg_flag/vscg_file options in pw2bgw.inp.

vkb_file

Input file with Kleinman-Bylander projectors. This file is controlled by the vkbg_flag/vkbg_file options in pw2bgw.inp.

number_bands [integer]

Number of bands to generate. Default is -1, which generates bands up to the energy cutoff.

solver_algorithm [integer]

Direct solvers (see the documentation for more information). Options are:

  • -2: dummy, i.e., don't diagonalize. Useful to benchmark I/O.
  • -1: default => 10 if compiled with ELPA, 0 otherwise
  • 0: Bisection
  • 1: Divide and Conquer
  • 2: Relatively Robust Representations/MR3 (needs special flags; see the documentation)
  • 10: ELPA (typically best option, but need special linking; see the documentation)
  • 1xx: PRIMME (needs special linking; see notes below and the documentation)
Specific solvers for the PRIMME library

Using PRIMME is in general not recommended! (see the documentation on how to enable PRIMME). Options are:

  • 100: PRIMMEF77_DYNAMIC
  • 101: PRIMMEF77_DEFAULT_MIN_TIME
  • 102: PRIMMEF77_DEFAULT_MIN_MATVECS
  • 103: PRIMMEF77_Arnoldi
  • 104: PRIMMEF77_GD
  • 105: PRIMMEF77_GD_plusK
  • 106: PRIMMEF77_GD_Olsen_plusK
  • 107: PRIMMEF77_JD_Olsen_plusK
  • 108: PRIMMEF77_RQI
  • 109: PRIMMEF77_JDQR
  • 110: PRIMMEF77_JDQMR
  • 111: PRIMMEF77_JDQMR_ETol
  • 112: PRIMMEF77_SUBSPACE_ITERATION
  • 113: PRIMMEF77_LOBPCG_OrthoBasis
  • 114: PRIMMEF77_LOBPCG_OrthoBasis_Window

Allows [array of integers]

restart

verbosity [integer]

Verbosity level, options are:

  • 1: default
  • 2: medium - info about k-points, symmetries, and eqp corrections.
  • 3: high - full dump of the reduced and unfolded k-points.
  • 4: log - log of various function calls. Use to debug code.
  • 5: debug - extra debug statements. Use to debug code.
  • 6: max - only use if instructed to, severe performance downgrade. Note that verbosity levels are cumulative. Most users will want to stick with level 1 and, at most, level 3. Only use level 4+ if debugging the code.

wfn_io_mpiio_mode [integer]

MPI-IO driver when writing output WFN file. Options are:

  • 0: Collective MPI-IO (default)
  • 1: Independent MPI-IO

use_pseudobands

Turn stochastic pseudobands on or off.


dont_use_pseudobands

protected_cond_bands [integer]

Protected conduction bands (int) Should be at least as many conduction bands as you want to compute in Sigma/BSE Defaults to 10.

accumulation_window [float]

Accumulation window, as a fraction of the energy of the band in each subspace. Defaults to 2%.

num_bands_per_slice [integer]

Number of stochastic pseudobands per energy subspcace. Defaults to 2.

block_size [integer]

Block size for 2D block-cyclic-distributed matrices. You might want to increase this number if you have more threads.

tolerance [float]

Tolerance for iterative solvers

max_block_size [integer]

Maximum block size for iterative solvers

max_basis_size [integer]

Maximum basis size for iterative solver

exact_diag_size [integer]

Size of the Hamiltonian to be explicitly diagonalized, if you are using an iterative solver. We use these eigenvectors, plus some ramdom perturbation, as the starting eigenvector for the iterative procedure. Set this to 0 if you want to start from purely random vectors.

ritz_shift [float]

If you are using an iterative solver, this is the shift to be applied to the Ritz values in the preconditioner M in Ry, i.e., M_i = (\mathrm{diag}(H) - \rho_i - \mathtt{ritz\_shift}), where \rho_i is the Ritz value associated with the Ritz vector i. We apply this shift because the Ritz value is always an upper bound to the true eigenvalue.