ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
simple_pexsi.h
Go to the documentation of this file.
1#ifndef SIMPLE_PEXSI_H
2#define SIMPLE_PEXSI_H
3
4#include <mpi.h>
5// a simple interface for calling pexsi with 2D block cyclic distributed matrix
6namespace pexsi
7{
8int simplePEXSI(MPI_Comm comm_PEXSI,
9 MPI_Comm comm_2D,
10 MPI_Group group_2D,
11 const int blacs_ctxt, // communicator parameters
12 const int size,
13 const int nblk,
14 const int nrow,
15 const int ncol,
16 char layout, // input matrix parameters
17 double* H,
18 double* S, // input matrices
19 const double nElectronExact,
20 const std::string PexsiOptionFile, // pexsi parameters file
21 double*& DM,
22 double*& EDM, // output matrices
23 double& totalEnergyH,
24 double& totalEnergyS,
25 double& totalFreeEnergy,
26 double& mu,
27 double mu0);
28}
29#endif // SIMPLE_PEXSI_H
Definition dist_bcd_matrix.h:12
int simplePEXSI(MPI_Comm comm_PEXSI, MPI_Comm comm_2D, MPI_Group group_2D, const int blacs_ctxt, const int size, const int nblk, const int nrow, const int ncol, char layout, double *H, double *S, const double nElectronExact, const std::string PexsiOptionFile, double *&DM, double *&EDM, double &totalEnergyH, double &totalEnergyS, double &totalFreeEnergy, double &mu, double mu0)