ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Types | Private Attributes | Static Private Attributes | List of all members
RPA_LRI< T, Tdata > Class Template Reference

#include <RPA_LRI.h>

Collaboration diagram for RPA_LRI< T, Tdata >:

Public Member Functions

 RPA_LRI (const Exx_Info::Exx_Info_RI &info_in)
 
 ~RPA_LRI ()
 
void init (const MPI_Comm &mpi_comm_in, const K_Vectors &kv_in, const std::vector< double > &orb_cutoff)
 
void cal_rpa_cv (const UnitCell &ucell)
 
void cal_postSCF_exx (const elecstate::DensityMatrix< T, Tdata > &dm, const MPI_Comm &mpi_comm_in, const UnitCell &ucell, const K_Vectors &kv, const LCAO_Orbitals &orb)
 
void out_for_RPA (const UnitCell &ucell, const Parallel_Orbitals &parav, const psi::Psi< T > &psi, const elecstate::ElecState *pelec)
 
void out_eigen_vector (const Parallel_Orbitals &parav, const psi::Psi< T > &psi)
 
void out_struc (const UnitCell &ucell)
 
void out_bands (const elecstate::ElecState *pelec)
 
void out_Cs (const UnitCell &ucell)
 
void out_coulomb_k (const UnitCell &ucell)
 

Public Attributes

Tdata Erpa
 

Private Types

using TA = int
 
using Tcell = int
 
using TC = std::array< Tcell, Ndim >
 
using TAC = std::pair< TA, TC >
 
using TatomR = std::array< double, Ndim >
 

Private Attributes

const Exx_Info::Exx_Info_RIinfo
 
const K_Vectorsp_kv =nullptr
 
MPI_Comm mpi_comm
 
std::vector< double > orb_cutoff_
 
std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > lcaos
 
std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > abfs
 
std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > Vs_period
 
std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > Cs_period
 

Static Private Attributes

static constexpr std::size_t Ndim = 3
 

Member Typedef Documentation

◆ TA

template<typename T , typename Tdata >
using RPA_LRI< T, Tdata >::TA = int
private

◆ TAC

template<typename T , typename Tdata >
using RPA_LRI< T, Tdata >::TAC = std::pair<TA, TC>
private

◆ TatomR

template<typename T , typename Tdata >
using RPA_LRI< T, Tdata >::TatomR = std::array<double, Ndim>
private

◆ TC

template<typename T , typename Tdata >
using RPA_LRI< T, Tdata >::TC = std::array<Tcell, Ndim>
private

◆ Tcell

template<typename T , typename Tdata >
using RPA_LRI< T, Tdata >::Tcell = int
private

Constructor & Destructor Documentation

◆ RPA_LRI()

template<typename T , typename Tdata >
RPA_LRI< T, Tdata >::RPA_LRI ( const Exx_Info::Exx_Info_RI info_in)
inline

◆ ~RPA_LRI()

template<typename T , typename Tdata >
RPA_LRI< T, Tdata >::~RPA_LRI ( )
inline

Member Function Documentation

◆ cal_postSCF_exx()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::cal_postSCF_exx ( const elecstate::DensityMatrix< T, Tdata > &  dm,
const MPI_Comm &  mpi_comm_in,
const UnitCell ucell,
const K_Vectors kv,
const LCAO_Orbitals orb 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_rpa_cv()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::cal_rpa_cv ( const UnitCell ucell)
Here is the call graph for this function:

◆ init()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::init ( const MPI_Comm &  mpi_comm_in,
const K_Vectors kv_in,
const std::vector< double > &  orb_cutoff 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ out_bands()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::out_bands ( const elecstate::ElecState pelec)
Here is the call graph for this function:

◆ out_coulomb_k()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::out_coulomb_k ( const UnitCell ucell)
Here is the call graph for this function:

◆ out_Cs()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::out_Cs ( const UnitCell ucell)

◆ out_eigen_vector()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::out_eigen_vector ( const Parallel_Orbitals parav,
const psi::Psi< T > &  psi 
)
Here is the call graph for this function:

◆ out_for_RPA()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::out_for_RPA ( const UnitCell ucell,
const Parallel_Orbitals parav,
const psi::Psi< T > &  psi,
const elecstate::ElecState pelec 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ out_struc()

template<typename T , typename Tdata >
void RPA_LRI< T, Tdata >::out_struc ( const UnitCell ucell)
Here is the call graph for this function:

Member Data Documentation

◆ abfs

template<typename T , typename Tdata >
std::vector<std::vector<std::vector<Numerical_Orbital_Lm> > > RPA_LRI< T, Tdata >::abfs
private

◆ Cs_period

template<typename T , typename Tdata >
std::map<TA, std::map<TAC, RI::Tensor<Tdata> > > RPA_LRI< T, Tdata >::Cs_period
private

◆ Erpa

template<typename T , typename Tdata >
Tdata RPA_LRI< T, Tdata >::Erpa

◆ info

template<typename T , typename Tdata >
const Exx_Info::Exx_Info_RI& RPA_LRI< T, Tdata >::info
private

◆ lcaos

template<typename T , typename Tdata >
std::vector<std::vector<std::vector<Numerical_Orbital_Lm> > > RPA_LRI< T, Tdata >::lcaos
private

◆ mpi_comm

template<typename T , typename Tdata >
MPI_Comm RPA_LRI< T, Tdata >::mpi_comm
private

◆ Ndim

template<typename T , typename Tdata >
constexpr std::size_t RPA_LRI< T, Tdata >::Ndim = 3
staticconstexprprivate

◆ orb_cutoff_

template<typename T , typename Tdata >
std::vector<double> RPA_LRI< T, Tdata >::orb_cutoff_
private

◆ p_kv

template<typename T , typename Tdata >
const K_Vectors* RPA_LRI< T, Tdata >::p_kv =nullptr
private

◆ Vs_period

template<typename T , typename Tdata >
std::map<TA, std::map<TAC, RI::Tensor<Tdata> > > RPA_LRI< T, Tdata >::Vs_period
private

The documentation for this class was generated from the following files: