#include <pexsi_solver.h>
|
static int | pexsi_npole |
| Number of terms in the pole expansion.
|
|
static bool | pexsi_inertia |
| Whether inertia counting is used at the very beginning.
|
|
static int | pexsi_nmax |
| Maximum number of PEXSI iterations after each inertia counting procedure.
|
|
static bool | pexsi_comm |
| Whether to construct PSelInv communication pattern.
|
|
static bool | pexsi_storage |
| Whether to use symmetric storage space used by the Selected Inversion algorithm for symmetric matrices.
|
|
static int | pexsi_ordering |
| Ordering strategy for factorization and selected inversion.
|
|
static int | pexsi_row_ordering |
| row permutation strategy for factorization and selected inversion.
|
|
static int | pexsi_nproc |
| Number of processors for PARMETIS/PT-SCOTCH. Only used if the ordering == 0.
|
|
static bool | pexsi_symm |
| Matrix structure.
|
|
static bool | pexsi_trans |
| Transpose.
|
|
static int | pexsi_method |
| The pole expansion method to be used.
|
|
static int | pexsi_nproc_pole |
| The point parallelizaion of PEXSI.
|
|
static double | pexsi_temp |
| Temperature, in the same unit as H.
|
|
static double | pexsi_gap |
| Spectral gap. Note This can be set to be 0 in most cases.
|
|
static double | pexsi_delta_e |
| An upper bound for the spectral radius of .
|
|
static double | pexsi_mu_lower |
| Initial guess of lower bound for mu.
|
|
static double | pexsi_mu_upper |
| Initial guess of upper bound for mu.
|
|
static double | pexsi_mu |
| Initial guess for mu (for the solver) (AG)
|
|
static double | pexsi_mu_thr |
| Stopping criterion in terms of the chemical potential for the inertia counting procedure.
|
|
static double | pexsi_mu_expand |
| If the chemical potential is not in the initial interval, the interval is expanded by muInertiaExpansion.
|
|
static double | pexsi_mu_guard |
| Safe guard criterion in terms of the chemical potential to reinvoke the inertia counting procedure.
|
|
static double | pexsi_elec_thr |
| Stopping criterion of the PEXSI iteration in terms of the number of electrons compared to numElectronExact.
|
|
static double | pexsi_zero_thr |
| If the absolute value of CCS matrix element is less than this value, it will be considered as zero.
|
|
◆ get_mu()
const double pexsi::PEXSI_Solver::get_mu |
( |
| ) |
const |
◆ get_totalEnergyH()
const double pexsi::PEXSI_Solver::get_totalEnergyH |
( |
| ) |
const |
◆ get_totalEnergyS()
const double pexsi::PEXSI_Solver::get_totalEnergyS |
( |
| ) |
const |
◆ get_totalFreeEnergy()
const double pexsi::PEXSI_Solver::get_totalFreeEnergy |
( |
| ) |
const |
◆ prepare()
void pexsi::PEXSI_Solver::prepare |
( |
const int |
blacs_text, |
|
|
const int |
nb, |
|
|
const int |
nrow, |
|
|
const int |
ncol, |
|
|
const double * |
h, |
|
|
const double * |
s, |
|
|
double *& |
DM, |
|
|
double *& |
EDM |
|
) |
| |
◆ solve()
int pexsi::PEXSI_Solver::solve |
( |
double |
mu0 | ) |
|
◆ blacs_text
int pexsi::PEXSI_Solver::blacs_text |
|
private |
◆ DM
double* pexsi::PEXSI_Solver::DM |
|
private |
◆ EDM
double* pexsi::PEXSI_Solver::EDM |
|
private |
double* pexsi::PEXSI_Solver::h |
|
private |
◆ mu
double pexsi::PEXSI_Solver::mu |
|
private |
◆ nb
int pexsi::PEXSI_Solver::nb |
|
private |
◆ ncol
int pexsi::PEXSI_Solver::ncol |
|
private |
◆ nrow
int pexsi::PEXSI_Solver::nrow |
|
private |
◆ pexsi_comm
bool pexsi::PEXSI_Solver::pexsi_comm |
|
static |
Whether to construct PSelInv communication pattern.
◆ pexsi_delta_e
double pexsi::PEXSI_Solver::pexsi_delta_e |
|
static |
An upper bound for the spectral radius of
.
◆ pexsi_elec_thr
double pexsi::PEXSI_Solver::pexsi_elec_thr |
|
static |
Stopping criterion of the PEXSI iteration in terms of the number of electrons compared to numElectronExact.
◆ pexsi_gap
double pexsi::PEXSI_Solver::pexsi_gap |
|
static |
Spectral gap. Note This can be set to be 0 in most cases.
◆ pexsi_inertia
bool pexsi::PEXSI_Solver::pexsi_inertia |
|
static |
Whether inertia counting is used at the very beginning.
◆ pexsi_method
int pexsi::PEXSI_Solver::pexsi_method |
|
static |
The pole expansion method to be used.
- = 1 : Cauchy Contour Integral method used.
- = 2 : Moussa optimized method.
◆ pexsi_mu
double pexsi::PEXSI_Solver::pexsi_mu |
|
static |
Initial guess for mu (for the solver) (AG)
◆ pexsi_mu_expand
double pexsi::PEXSI_Solver::pexsi_mu_expand |
|
static |
If the chemical potential is not in the initial interval, the interval is expanded by muInertiaExpansion.
◆ pexsi_mu_guard
double pexsi::PEXSI_Solver::pexsi_mu_guard |
|
static |
Safe guard criterion in terms of the chemical potential to reinvoke the inertia counting procedure.
◆ pexsi_mu_lower
double pexsi::PEXSI_Solver::pexsi_mu_lower |
|
static |
Initial guess of lower bound for mu.
◆ pexsi_mu_thr
double pexsi::PEXSI_Solver::pexsi_mu_thr |
|
static |
Stopping criterion in terms of the chemical potential for the inertia counting procedure.
◆ pexsi_mu_upper
double pexsi::PEXSI_Solver::pexsi_mu_upper |
|
static |
Initial guess of upper bound for mu.
◆ pexsi_nmax
int pexsi::PEXSI_Solver::pexsi_nmax |
|
static |
Maximum number of PEXSI iterations after each inertia counting procedure.
◆ pexsi_npole
int pexsi::PEXSI_Solver::pexsi_npole |
|
static |
Number of terms in the pole expansion.
◆ pexsi_nproc
int pexsi::PEXSI_Solver::pexsi_nproc |
|
static |
Number of processors for PARMETIS/PT-SCOTCH. Only used if the ordering == 0.
◆ pexsi_nproc_pole
int pexsi::PEXSI_Solver::pexsi_nproc_pole |
|
static |
The point parallelizaion of PEXSI.
- = 2 : Recommend two points parallelization
◆ pexsi_ordering
int pexsi::PEXSI_Solver::pexsi_ordering |
|
static |
Ordering strategy for factorization and selected inversion.
◆ pexsi_row_ordering
int pexsi::PEXSI_Solver::pexsi_row_ordering |
|
static |
row permutation strategy for factorization and selected inversion.
◆ pexsi_storage
bool pexsi::PEXSI_Solver::pexsi_storage |
|
static |
Whether to use symmetric storage space used by the Selected Inversion algorithm for symmetric matrices.
◆ pexsi_symm
bool pexsi::PEXSI_Solver::pexsi_symm |
|
static |
Matrix structure.
- = 0 : Unsymmetric matrix
- = 1 : Symmetric matrix (default).
◆ pexsi_temp
double pexsi::PEXSI_Solver::pexsi_temp |
|
static |
Temperature, in the same unit as H.
◆ pexsi_trans
bool pexsi::PEXSI_Solver::pexsi_trans |
|
static |
Transpose.
- = 0 : Factor non transposed matrix (default).
- = 1 : Factor transposed matrix.
◆ pexsi_zero_thr
double pexsi::PEXSI_Solver::pexsi_zero_thr |
|
static |
If the absolute value of CCS matrix element is less than this value, it will be considered as zero.
double* pexsi::PEXSI_Solver::s |
|
private |
◆ totalEnergyH
double pexsi::PEXSI_Solver::totalEnergyH |
|
private |
◆ totalEnergyS
double pexsi::PEXSI_Solver::totalEnergyS |
|
private |
◆ totalFreeEnergy
double pexsi::PEXSI_Solver::totalFreeEnergy |
|
private |
The documentation for this class was generated from the following file:
- /home/runner/work/abacus-develop/abacus-develop/source/source_hsolver/module_pexsi/pexsi_solver.h