|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <RPA_LRI.h>
Public Member Functions | |
| RPA_LRI (const Exx_Info::Exx_Info_RI &info_in) | |
| ~RPA_LRI () | |
| void | postSCF (const UnitCell &ucell, const MPI_Comm &mpi_comm_in, const elecstate::DensityMatrix< T, Tdata > &dm, const elecstate::ElecState *pelec, const K_Vectors &kv, const LCAO_Orbitals &orb, const Parallel_Orbitals ¶v, const psi::Psi< T > &psi) |
| void | init (const MPI_Comm &mpi_comm_in, const K_Vectors &kv_in, const std::vector< double > &orb_cutoff) |
| 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 | output_ewald_coulomb (const UnitCell &ucell, const K_Vectors &kv, const LCAO_Orbitals &orb) |
| void | cal_large_Cs (const UnitCell &ucell, const LCAO_Orbitals &orb, const K_Vectors &kv) |
| void | cal_abfs_overlap (const UnitCell &ucell, const LCAO_Orbitals &orb, const K_Vectors &kv) |
| void | inverse_olp (const UnitCell &ucell, std::map< TA, std::map< TAq, RI::Tensor< std::complex< double > > > > &overlap_abfs_abfs, const ModuleBase::Element_Basis_Index::IndexLNM &index_abfs_s) |
| void | out_abfs_overlap (const UnitCell &ucell, std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &overlap_abfs_abfs, std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &overlap_abfs_abf, std::string filename, const ModuleBase::Element_Basis_Index::IndexLNM &index_abfs_s, const ModuleBase::Element_Basis_Index::IndexLNM &index_abfs) |
| void | out_eigen_vector (const Parallel_Orbitals ¶v, const psi::Psi< T > &psi) |
| void | out_struc (const UnitCell &ucell) |
| void | out_bands (const elecstate::ElecState *pelec) |
| void | output_cut_coulomb_cs (const UnitCell &ucell, Exx_LRI< double > *exx_lri_rpa) |
| void | out_Cs (const UnitCell &ucell, std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &Cs_in, std::string filename) |
| void | out_coulomb_k (const UnitCell &ucell, std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > &Vs, std::string filename, Exx_LRI< double > *exx_lri) |
Public Attributes | |
| Tdata | Erpa |
Private Types | |
| using | TA = int |
| using | Tcell = int |
| using | TC = std::array< Tcell, Ndim > |
| using | Tq = std::array< double, Ndim > |
| using | TAC = std::pair< TA, TC > |
| using | TAq = std::pair< TA, Tq > |
| using | TatomR = std::array< double, Ndim > |
Private Attributes | |
| const Exx_Info::Exx_Info_RI & | info |
| const K_Vectors * | p_kv =nullptr |
| MPI_Comm | mpi_comm |
| std::vector< double > | orb_cutoff_ |
| double | ccp_rmesh_times_ewald = 0.0 |
| std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > | lcaos |
| std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > | abfs |
| std::shared_ptr< ORB_gaunt_table > | MGT |
| std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > | abfs_shrink |
| std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > | Vs_period |
| std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > | Cs_period |
| Exx_LRI< double > * | exx_cut_coulomb = nullptr |
| Exx_LRI< double > * | exx_full_coulomb = nullptr |
Static Private Attributes | |
| static constexpr std::size_t | Ndim = 3 |
|
private |
|
private |
|
private |
|
inline |
| void RPA_LRI< T, Tdata >::cal_abfs_overlap | ( | const UnitCell & | ucell, |
| const LCAO_Orbitals & | orb, | ||
| const K_Vectors & | kv | ||
| ) |
| void RPA_LRI< T, Tdata >::cal_large_Cs | ( | const UnitCell & | ucell, |
| const LCAO_Orbitals & | orb, | ||
| const K_Vectors & | kv | ||
| ) |
| 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 | ||
| ) |
| void RPA_LRI< T, Tdata >::init | ( | const MPI_Comm & | mpi_comm_in, |
| const K_Vectors & | kv_in, | ||
| const std::vector< double > & | orb_cutoff | ||
| ) |
| void RPA_LRI< T, Tdata >::inverse_olp | ( | const UnitCell & | ucell, |
| std::map< TA, std::map< TAq, RI::Tensor< std::complex< double > > > > & | overlap_abfs_abfs, | ||
| const ModuleBase::Element_Basis_Index::IndexLNM & | index_abfs_s | ||
| ) |
| void RPA_LRI< T, Tdata >::out_abfs_overlap | ( | const UnitCell & | ucell, |
| std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > & | overlap_abfs_abfs, | ||
| std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > & | overlap_abfs_abf, | ||
| std::string | filename, | ||
| const ModuleBase::Element_Basis_Index::IndexLNM & | index_abfs_s, | ||
| const ModuleBase::Element_Basis_Index::IndexLNM & | index_abfs | ||
| ) |
| void RPA_LRI< T, Tdata >::out_bands | ( | const elecstate::ElecState * | pelec | ) |
| void RPA_LRI< T, Tdata >::out_coulomb_k | ( | const UnitCell & | ucell, |
| std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > & | Vs, | ||
| std::string | filename, | ||
| Exx_LRI< double > * | exx_lri | ||
| ) |
| void RPA_LRI< T, Tdata >::out_Cs | ( | const UnitCell & | ucell, |
| std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > & | Cs_in, | ||
| std::string | filename | ||
| ) |
| void RPA_LRI< T, Tdata >::out_eigen_vector | ( | const Parallel_Orbitals & | parav, |
| const psi::Psi< T > & | psi | ||
| ) |
| void RPA_LRI< T, Tdata >::out_struc | ( | const UnitCell & | ucell | ) |
| void RPA_LRI< T, Tdata >::output_cut_coulomb_cs | ( | const UnitCell & | ucell, |
| Exx_LRI< double > * | exx_lri_rpa | ||
| ) |
| void RPA_LRI< T, Tdata >::output_ewald_coulomb | ( | const UnitCell & | ucell, |
| const K_Vectors & | kv, | ||
| const LCAO_Orbitals & | orb | ||
| ) |
| void RPA_LRI< T, Tdata >::postSCF | ( | const UnitCell & | ucell, |
| const MPI_Comm & | mpi_comm_in, | ||
| const elecstate::DensityMatrix< T, Tdata > & | dm, | ||
| const elecstate::ElecState * | pelec, | ||
| const K_Vectors & | kv, | ||
| const LCAO_Orbitals & | orb, | ||
| const Parallel_Orbitals & | parav, | ||
| const psi::Psi< T > & | psi | ||
| ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticconstexprprivate |
|
private |