ParaBands
code input keywords (parabands.inp
)
Required keywords
Optional keywords
block_size [integer]
exact_diag_size [integer]
max_basis_size [integer]
max_block_size [integer]
number_bands [integer]
number_pools [integer]
ritz_shift [float]
solver_algorithm [integer]
tolerance [float]
verbosity [integer]
wfn_io_mpiio_mode [integer]
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.
number_pools [integer]
Number of k-points pools. The total number of MPI tasks will distributed into this number of groups, each group working on a separate k-point.
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
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
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.