ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <LRI_CV.h>
Public Member Functions | |
LRI_CV () | |
~LRI_CV () | |
void | set_orbitals (const UnitCell &ucell, const LCAO_Orbitals &orb, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &lcaos_in, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &abfs_in, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &abfs_ccp_in, const double &kmesh_times, ORB_gaunt_table &MGT, const bool &init_MGT, const bool &init_C) |
std::map< TA, std::map< TAC, RI::Tensor< Tdata > > > | cal_Vs (const UnitCell &ucell, const std::vector< TA > &list_A0, const std::vector< TAC > &list_A1, const std::map< std::string, bool > &flags) |
std::map< TA, std::map< TAC, std::array< RI::Tensor< Tdata >, 3 > > > | cal_dVs (const UnitCell &ucell, const std::vector< TA > &list_A0, const std::vector< TAC > &list_A1, const std::map< std::string, bool > &flags) |
std::pair< std::map< TA, std::map< TAC, RI::Tensor< Tdata > > >, std::map< TA, std::map< TAC, std::array< RI::Tensor< Tdata >, 3 > > > > | cal_Cs_dCs (const UnitCell &ucell, const std::vector< TA > &list_A0, const std::vector< TAC > &list_A1, const std::map< std::string, bool > &flags) |
size_t | get_index_abfs_size (const size_t &iat) |
template<typename Tresult > | |
auto | cal_datas (const UnitCell &ucell, const std::vector< TA > &list_A0, const std::vector< TAC > &list_A1, const std::map< std::string, bool > &flags, const T_func_cal_Rcut &func_cal_Rcut, const T_func_DPcal_data< Tresult > &func_DPcal_data) -> std::map< TA, std::map< TAC, Tresult > > |
Public Attributes | |
std::map< int, std::map< int, std::map< Abfs::Vector3_Order< double >, RI::Tensor< Tdata > > > > | Vws |
std::map< int, std::map< int, std::map< Abfs::Vector3_Order< double >, RI::Tensor< Tdata > > > > | Cws |
std::map< int, std::map< int, std::map< Abfs::Vector3_Order< double >, std::array< RI::Tensor< Tdata >, 3 > > > > | dVws |
std::map< int, std::map< int, std::map< Abfs::Vector3_Order< double >, std::array< RI::Tensor< Tdata >, 3 > > > > | dCws |
Private Types | |
using | TA = int |
using | TC = std::array< int, 3 > |
using | TAC = std::pair< TA, TC > |
using | Tdata_real = RI::Global_Func::To_Real_t< Tdata > |
template<typename Tresult > | |
using | T_func_DPcal_data = std::function< Tresult(const int it0, const int it1, const Abfs::Vector3_Order< double > &R, const std::map< std::string, bool > &flags)> |
using | T_func_cal_Rcut = std::function< double(const int it0, const int it1)> |
Private Member Functions | |
template<typename Tresult > | |
std::map< TA, std::map< TAC, Tresult > > | cal_datas (const UnitCell &ucell, const std::vector< TA > &list_A0, const std::vector< TAC > &list_A1, const std::map< std::string, bool > &flags, const T_func_cal_Rcut &func_cal_Rcut, const T_func_DPcal_data< Tresult > &func_DPcal_data) |
double | cal_V_Rcut (const int it0, const int it1) |
double | cal_C_Rcut (const int it0, const int it1) |
RI::Tensor< Tdata > | DPcal_V (const int it0, const int it1, const Abfs::Vector3_Order< double > &R, const std::map< std::string, bool > &flags) |
std::array< RI::Tensor< Tdata >, 3 > | DPcal_dV (const int it0, const int it1, const Abfs::Vector3_Order< double > &R, const std::map< std::string, bool > &flags) |
std::pair< RI::Tensor< Tdata >, std::array< RI::Tensor< Tdata >, 3 > > | DPcal_C_dC (const int it0, const int it1, const Abfs::Vector3_Order< double > &R, const std::map< std::string, bool > &flags) |
template<typename To11 , typename Tfunc > | |
To11 | DPcal_o11 (const int it0, const int it1, const Abfs::Vector3_Order< double > &R, const bool &flag_writable_o11ws, pthread_rwlock_t &rwlock_o11, std::map< int, std::map< int, std::map< Abfs::Vector3_Order< double >, To11 > > > &o11ws, const Tfunc &func_cal_o11) |
Private Attributes | |
std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > | lcaos |
std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > | abfs |
std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > | abfs_ccp |
ModuleBase::Element_Basis_Index::IndexLNM | index_lcaos |
ModuleBase::Element_Basis_Index::IndexLNM | index_abfs |
std::vector< double > | lcaos_rcut |
std::vector< double > | abfs_ccp_rcut |
pthread_rwlock_t | rwlock_Vw |
pthread_rwlock_t | rwlock_Cw |
pthread_rwlock_t | rwlock_dVw |
pthread_rwlock_t | rwlock_dCw |
Matrix_Orbs11 | m_abfs_abfs |
Matrix_Orbs21 | m_abfslcaos_lcaos |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
auto LRI_CV< Tdata >::cal_Cs_dCs | ( | const UnitCell & | ucell, |
const std::vector< TA > & | list_A0, | ||
const std::vector< TAC > & | list_A1, | ||
const std::map< std::string, bool > & | flags | ||
) |
|
private |
auto LRI_CV< Tdata >::cal_datas | ( | const UnitCell & | ucell, |
const std::vector< TA > & | list_A0, | ||
const std::vector< TAC > & | list_A1, | ||
const std::map< std::string, bool > & | flags, | ||
const T_func_cal_Rcut & | func_cal_Rcut, | ||
const T_func_DPcal_data< Tresult > & | func_DPcal_data | ||
) | -> std::map<TA,std::map<TAC,Tresult>> |
|
inline |
|
inlineprivate |
|
inline |
|
private |
|
inlineprivate |
|
private |
|
inlineprivate |
|
inline |
void LRI_CV< Tdata >::set_orbitals | ( | const UnitCell & | ucell, |
const LCAO_Orbitals & | orb, | ||
const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > & | lcaos_in, | ||
const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > & | abfs_in, | ||
const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > & | abfs_ccp_in, | ||
const double & | kmesh_times, | ||
ORB_gaunt_table & | MGT, | ||
const bool & | init_MGT, | ||
const bool & | init_C | ||
) |
|
private |
|
private |
|
private |
std::map<int,std::map<int,std::map<Abfs::Vector3_Order<double>,RI::Tensor<Tdata> > > > LRI_CV< Tdata >::Cws |
std::map<int,std::map<int,std::map<Abfs::Vector3_Order<double>,std::array<RI::Tensor<Tdata>,3> > > > LRI_CV< Tdata >::dCws |
std::map<int,std::map<int,std::map<Abfs::Vector3_Order<double>,std::array<RI::Tensor<Tdata>,3> > > > LRI_CV< Tdata >::dVws |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
std::map<int,std::map<int,std::map<Abfs::Vector3_Order<double>,RI::Tensor<Tdata> > > > LRI_CV< Tdata >::Vws |