PEXSI

References: Lin2009, Lin2013

Specifies the parameters of the PEXSI library. The density matrix is calculated with PEXSI if PURIFICATION_METHOD (in LS_SCF section) is set to PEXSI. The computational cost of PEXSI is at most quadratically scaling w.r.t. the system size and PEXSI is applicable to insulating and metallic systems. The value of EPS_PGF_ORB (in QS input section) defines the sparsity of the matrices sent to PEXSI and EPS_FILTER is overwritten with 0. [Edit on GitHub]

Keywords

Keyword descriptions

CSR_SCREENING

Type: logical
Default: T
Lone keyword: T

Description: Whether distance screening should be applied to improve sparsity of CSR matrices.

[Edit on GitHub]

GAP

Type: real
Default: 0.00000000E+000 [hartree]

Description: Spectral gap. Note: This can be set to be 0 in most cases.

[Edit on GitHub]

IS_INERTIA_COUNT

Type: logical
Default: F
Lone keyword: T

Description: Whether inertia counting is used each time the DFT driver of PEXSI is invoked. If FALSE, inertia counting is still used in the first SCF iteration.

[Edit on GitHub]

MAX_PEXSI_ITER

Type: integer
Default: 5

Description: Maximum number of PEXSI iterations after each inertia counting procedure.

[Edit on GitHub]

MIN_RANKS_PER_POLE

Type: integer
Default: 64

Description: The minimum number of processors used for each pole. The real number of processors per pole is the smallest number greater or equal to MIN_RANKS_PER_POLE that divides MPI size without remainder. For efficiency, MIN_RANKS_PER_POLE should be a small numbers (limited by the available memory).

[Edit on GitHub]

MU_INERTIA_EXPANSION

Type: real
Default: 1.50000000E-001 [hartree]

Description: If the chemical potential is not in the initial interval, the interval is expanded by MU_INERTIA_EXPANSION.

[Edit on GitHub]

MU_INERTIA_TOLERANCE

Type: real
Default: 1.00000000E-002 [hartree]

Description: Stopping criterion in terms of the chemical potential for the inertia counting procedure.

[Edit on GitHub]

MU_MAX_0

Type: real
Default: 5.00000000E+000 [hartree]

Description: Initial guess of upper bound for mu.

[Edit on GitHub]

MU_MIN_0

Type: real
Default: -5.00000000E+000 [hartree]

Description: Initial guess of lower bound for mu.

[Edit on GitHub]

MU_PEXSI_SAFE_GUARD

Type: real
Default: 1.00000000E-002 [hartree]

Description: Safe guard criterion in terms of the chemical potential to reinvoke the inertia counting procedure.

[Edit on GitHub]

NP_SYMB_FACT

Type: integer
Default: 1

Description: Number of processors for PARMETIS/PT-SCOTCH. Only used if ORDERING is set to PARALLEL. If 0, the number of processors for PARMETIS/PT-SCOTCH will be set equal to the number of MPI ranks per pole. Note: if more than one processor is used, a segmentation fault may occur in the symbolic factorization phase.

[Edit on GitHub]

NUM_ELECTRON_INITIAL_TOLERANCE

Type: real
Default: 0.00000000E+000

Description: The same as NUM_ELECTRON_PEXSI_TOLERANCE but applied in the first SCF steps. If set to a value smaller than NUM_ELECTRON_PEXSI_TOLERANCE, it is overwritten with NUM_ELECTRON_PEXSI_TOLERANCE (default). If set to a value larger than NUM_ELECTRON_PEXSI_TOLERANCE, the PEXSI tolerance in number of electrons is set adaptively according to the SCF convergence error of the previous SCF step. This reduces the number of PEXSI iterations in the first SCF steps but leads to at least one more SCF step.

[Edit on GitHub]

NUM_ELECTRON_PEXSI_TOLERANCE

Type: real
Default: 1.00000000E-001

Description: Stopping criterion of the PEXSI iteration in terms of The number of electrons compared to the exact number of electrons. This threshold is the target tolerance applied at convergence of SCF.

[Edit on GitHub]

NUM_POLE

Type: integer
Default: 64

Description: Number of terms in the pole expansion (should be even).

[Edit on GitHub]

ORDERING

Type: enum
Default: PARALLEL

Description: Ordering strategy for factorization and selected inversion.

Valid values:

  • PARALLEL Parallel ordering using ParMETIS/PT-SCOTCH (PARMETIS option in SuperLU_DIST)

  • SEQUENTIAL Sequential ordering using METIS (METIS_AT_PLUS_A option in SuperLU_DIST)

  • MULTIPLE_MINIMUM_DEGREE Multiple minimum degree ordering (MMD_AT_PLUS_A option in SuperLU_DIST)

[Edit on GitHub]

ROW_ORDERING

Type: enum
Default: NOROWPERM

Description: row permutation strategy for factorization and selected inversion.

Valid values:

  • NOROWPERM No row permutation (NOROWPERM option in SuperLU_DIST)

  • LARGEDIAG Make diagonal entry larger than off diagonal (LargeDiag option in SuperLU_DIST)

[Edit on GitHub]

TEMPERATURE

Type: real
Default: 3.00000000E+002 [K]

Description: Electronic temperature

[Edit on GitHub]

VERBOSITY

Type: enum
Default: BASIC

Description: The level of output information.

Valid values:

  • SILENT

  • BASIC

  • DETAILED

[Edit on GitHub]