LIBRPA Namespace Reference

LibRPA: LIBRPA Namespace Reference
LibRPA
LIBRPA Namespace Reference

Namespaces

 app
 
 envs
 
 utils
 

Classes

class  AnalyContPade
 
class  AtomicBasis
 
class  Exx
 
class  G0W0
 
class  MPI_COMM_handler
 
class  BLACS_CTXT_handler
 
class  Array_Desc
 

Enumerations

enum  ParallelRouting { ATOM_PAIR , R_TAU , LIBRI , COUNT }
 
enum class  CTXT_LAYOUT { R , C }
 
enum class  CTXT_SCOPE { R , C , A }
 
enum class  task_t {
  RPA , EXX , G0W0 , Wc_Rf ,
  print_minimax
}
 

Functions

void set_parallel_routing (const string &option, const int &atpais_num, const int &Rt_num, ParallelRouting &routing)
 
void CTXT_barrier (int ictxt, CTXT_SCOPE scope)
 
std::pair< Array_Desc, Array_Descprepare_array_desc_mr2d_src_and_all (const BLACS_CTXT_handler &ctxt_h, const int &m, const int &n, const int &mb, const int &nb, const int &irsrc, const int &icsrc)
 
std::set< std::pair< int, int > > get_necessary_IJ_from_block_2D (const AtomicBasis &atbasis_row, const AtomicBasis &atbasis_col, const Array_Desc &arrdesc)
 obtain the necessary atom pair of atomic basis to build the block-cyclic submatrix
 
std::set< std::pair< int, int > > get_necessary_IJ_from_block_2D_sy (const char &uplo, const AtomicBasis &atbasis, const Array_Desc &arrdesc)
 
int qpe_solver_pade_self_consistent (const AnalyContPade &pade, const double &e_mf, const double &e_fermi, const double &vxc, const double &sigma_x, double &e_qp, cplxdb &sigc, double thres=1.0e-5)
 Solve quasi-particle equation self-consistently by computing self-energy on real freqeuncy through Pade Analytic continuation. More...
 

Variables

AtomicBasis atomic_basis_wfc
 
AtomicBasis atomic_basis_abf
 
const string parallel_routing_notes [ParallelRouting::COUNT]
 
ParallelRouting parallel_routing = ParallelRouting::ATOM_PAIR
 

Detailed Description

Author
Min-Ye Zhang
Date
2024-04-25

Global namespace for LibRPA functions and classes

Function Documentation

◆ prepare_array_desc_mr2d_src_and_all()

std::pair< Array_Desc, Array_Desc > LIBRPA::prepare_array_desc_mr2d_src_and_all ( const BLACS_CTXT_handler ctxt_h,
const int &  m,
const int &  n,
const int &  mb,
const int &  nb,
const int &  irsrc,
const int &  icsrc 
)

prepare array descriptors for distributing(collecting) submatrices from(to) a full matrix on source process with p?gemr2d

Here is the call graph for this function:

◆ qpe_solver_pade_self_consistent()

int LIBRPA::qpe_solver_pade_self_consistent ( const AnalyContPade pade,
const double &  e_mf,
const double &  e_fermi,
const double &  vxc,
const double &  sigma_x,
double &  e_qp,
cplxdb &  sigc,
double  thres = 1.0e-5 
)

Solve quasi-particle equation self-consistently by computing self-energy on real freqeuncy through Pade Analytic continuation.

Parameters
[in]padeAnalyContPade object, constructed from correlation self-energy at imaginary frequency
[in]e_mfEnergy of the state of meanf-field calculation
[in]e_fermiFermi energy
[in]vxcExchange-correlation potential in the mean-field calculation
[in]sigma_xExchange self-energy
[out]e_qpQuasi-particle energy as the solution of QPE
[out]sigcCorrelation self-energy of the quasi-particle
Return values
info0 if QPE is solved successfully
Here is the call graph for this function:

Variable Documentation

◆ parallel_routing_notes

const string LIBRPA::parallel_routing_notes
Initial value:
= {
"atom-pair",
"R-tau",
"LibRI"
}