|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <gaussian_abfs.h>
Public Member Functions | |
| void | init (const UnitCell &ucell, const int &Lmax, const std::vector< ModuleBase::Vector3< double > > &kvec_c, const ModuleBase::Matrix3 &G, const double &lambda) |
| Calculating bare Coulomb integrals in reciprocal space, using Gaussians. | |
| RI::Tensor< std::complex< double > > | get_Vq (const int &lp_max, const int &lq_max, const size_t &ik, const double &chi, const ModuleBase::Vector3< double > &tau, const ModuleBase::realArray &gaunt) |
| std::array< RI::Tensor< std::complex< double > >, 3 > | get_dVq (const int &lp_max, const int &lq_max, const size_t &ik, const double &chi, const ModuleBase::Vector3< double > &tau, const ModuleBase::realArray &gaunt) |
| std::vector< std::complex< double > > | get_lattice_sum (const double &tpiba, const size_t &ik, const double &power, const double &exponent, const bool &exclude_Gamma, const int &lmax, const ModuleBase::Vector3< double > &tau) |
| std::vector< std::array< std::complex< double >, 3 > > | get_d_lattice_sum (const double &tpiba, const size_t &ik, const double &power, const double &exponent, const bool &exclude_Gamma, const int &lmax, const ModuleBase::Vector3< double > &tau) |
| Numerical_Orbital_Lm | Gauss (const Numerical_Orbital_Lm &orb, const double &lambda) |
| template<typename Tout , typename Tin > | |
| auto | DPcal_Vq_dVq (const double &omega, const int &lp_max, const int &lq_max, const size_t &ik, const double &chi, const ModuleBase::Vector3< double > &tau, const ModuleBase::realArray &gaunt, const T_func_DPcal_lattice_sum< Tin > &func_DPcal_lattice_sum) -> Tout |
| template<typename Tresult > | |
| auto | DPcal_lattice_sum (const double &tpiba, const size_t &ik, const double &power, const double &exponent, const bool &exclude_Gamma, const int &lmax, const T_func_DPcal_phase< Tresult > &func_DPcal_phase) -> std::vector< Tresult > |
Private Types | |
| template<typename Tresult > | |
| using | T_func_DPcal_phase = std::function< Tresult(const ModuleBase::Vector3< double > &vec)> |
| template<typename Tresult > | |
| using | T_func_DPcal_lattice_sum = std::function< std::vector< Tresult >(const double &power, const double &exponent, const bool &exclude_Gamma, const int &lmax)> |
Private Member Functions | |
| template<typename Tout , typename Tin > | |
| Tout | DPcal_Vq_dVq (const double &omega, const int &lp_max, const int &lq_max, const size_t &ik, const double &chi, const ModuleBase::Vector3< double > &tau, const ModuleBase::realArray &gaunt, const T_func_DPcal_lattice_sum< Tin > &func_DPcal_lattice_sum) |
| template<typename Tresult > | |
| std::vector< Tresult > | DPcal_lattice_sum (const double &tpiba, const size_t &ik, const double &power, const double &exponent, const bool &exclude_Gamma, const int &lmax, const T_func_DPcal_phase< Tresult > &func_DPcal_phase) |
Static Private Member Functions | |
| static double | double_factorial (const int &n) |
| static std::vector< int > | get_n_supercells (const double &lat0, const ModuleBase::Matrix3 &G, const double &Gmax) |
Private Attributes | |
| double | lambda |
| double | tpiba |
| double | lat0 |
| double | omega |
| std::vector< ModuleBase::Vector3< double > > | kvec_c |
| std::vector< std::vector< ModuleBase::Vector3< double > > > | qGvecs |
| std::vector< int > | n_cells |
| std::vector< std::vector< bool > > | check_gamma |
| std::vector< ModuleBase::matrix > | ylm |
|
private |
|
private |
|
staticprivate |
|
private |
| auto Gaussian_Abfs::DPcal_lattice_sum | ( | const double & | tpiba, |
| const size_t & | ik, | ||
| const double & | power, | ||
| const double & | exponent, | ||
| const bool & | exclude_Gamma, | ||
| const int & | lmax, | ||
| const T_func_DPcal_phase< Tresult > & | func_DPcal_phase | ||
| ) | -> std::vector<Tresult> |
|
private |
| auto Gaussian_Abfs::DPcal_Vq_dVq | ( | const double & | omega, |
| const int & | lp_max, | ||
| const int & | lq_max, | ||
| const size_t & | ik, | ||
| const double & | chi, | ||
| const ModuleBase::Vector3< double > & | tau, | ||
| const ModuleBase::realArray & | gaunt, | ||
| const T_func_DPcal_lattice_sum< Tin > & | func_DPcal_lattice_sum | ||
| ) | -> Tout |
| Numerical_Orbital_Lm Gaussian_Abfs::Gauss | ( | const Numerical_Orbital_Lm & | orb, |
| const double & | lambda | ||
| ) |
| auto Gaussian_Abfs::get_d_lattice_sum | ( | const double & | tpiba, |
| const size_t & | ik, | ||
| const double & | power, | ||
| const double & | exponent, | ||
| const bool & | exclude_Gamma, | ||
| const int & | lmax, | ||
| const ModuleBase::Vector3< double > & | tau | ||
| ) |
| auto Gaussian_Abfs::get_dVq | ( | const int & | lp_max, |
| const int & | lq_max, | ||
| const size_t & | ik, | ||
| const double & | chi, | ||
| const ModuleBase::Vector3< double > & | tau, | ||
| const ModuleBase::realArray & | gaunt | ||
| ) |
| auto Gaussian_Abfs::get_lattice_sum | ( | const double & | tpiba, |
| const size_t & | ik, | ||
| const double & | power, | ||
| const double & | exponent, | ||
| const bool & | exclude_Gamma, | ||
| const int & | lmax, | ||
| const ModuleBase::Vector3< double > & | tau | ||
| ) |
|
staticprivate |
| auto Gaussian_Abfs::get_Vq | ( | const int & | lp_max, |
| const int & | lq_max, | ||
| const size_t & | ik, | ||
| const double & | chi, | ||
| const ModuleBase::Vector3< double > & | tau, | ||
| const ModuleBase::realArray & | gaunt | ||
| ) |
| void Gaussian_Abfs::init | ( | const UnitCell & | ucell, |
| const int & | Lmax, | ||
| const std::vector< ModuleBase::Vector3< double > > & | kvec_c, | ||
| const ModuleBase::Matrix3 & | G, | ||
| const double & | lambda | ||
| ) |
Calculating bare Coulomb integrals in reciprocal space, using Gaussians.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |