ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
center2_orb-orb11.h
Go to the documentation of this file.
1//=========================================================
2// AUTHOR : Peize Lin
3// DATE : 2016-01-24
4//=========================================================
5
6#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_CENTER2_ORB_ORB11_H
7#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_CENTER2_ORB_ORB11_H
8
9#include "center2_orb.h"
11#include "source_base/vector3.h"
14
15#include <map>
16#include <set>
17#include <vector>
18
20{
21 public:
22 Orb11(const Numerical_Orbital_Lm& nA_in,
23 const Numerical_Orbital_Lm& nB_in,
25 const ORB_gaunt_table& MGT_in);
26
27 void init_radial_table();
28 void init_radial_table(const std::set<size_t>& radials); // unit: Bohr/MOT.dr
29
31 const ModuleBase::Vector3<double>& RB, // unit: Bohr
32 const int& mA,
33 const int& mB) const;
34
35 ModuleBase::Vector3<double> cal_grad_overlap( // caoyu add 2021-11-19
37 const ModuleBase::Vector3<double>& RB, // unit: Bohr
38 const int& mA,
39 const int& mB) const;
40
41 private:
44
47
48 std::map<int, std::vector<double>> Table_r; // unit: Bohr/MOT.dr
49 std::map<int, std::vector<double>> Table_dr;
50
51 // NOTE: the following variable is introduced during refactoring in order
52 // to decouple this class with ORB_table_phi. Before, MOT.dr is widely
53 // used by this class. MOT.dr, however, is in fact ORB.dR, which is in
54 // turn lcao_dr, one of the four parameters that define the two-center
55 // integration grid. This parameter is usually not set and defaults to
56 // 0.01.
57 const double dr_ = 0.01;
58};
59
60// this->Table_r[LAB][ir]
61
62#endif // W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_CENTER2_ORB_ORB11_H
Definition center2_orb-orb11.h:20
std::map< int, std::vector< double > > Table_r
Definition center2_orb-orb11.h:48
std::map< int, std::vector< double > > Table_dr
Definition center2_orb-orb11.h:49
const double dr_
Definition center2_orb-orb11.h:57
const ORB_gaunt_table & MGT
Definition center2_orb-orb11.h:46
void init_radial_table()
Definition center2_orb-orb11.cpp:25
double cal_overlap(const ModuleBase::Vector3< double > &RA, const ModuleBase::Vector3< double > &RB, const int &mA, const int &mB) const
Definition center2_orb-orb11.cpp:87
const Numerical_Orbital_Lm & nA
Definition center2_orb-orb11.h:42
ModuleBase::Vector3< double > cal_grad_overlap(const ModuleBase::Vector3< double > &RA, const ModuleBase::Vector3< double > &RB, const int &mA, const int &mB) const
Definition center2_orb-orb11.cpp:155
const ModuleBase::Sph_Bessel_Recursive::D2 * psb_
Definition center2_orb-orb11.h:45
const Numerical_Orbital_Lm & nB
Definition center2_orb-orb11.h:43
Definition sph_bessel_recursive.h:49
3 elements vector
Definition vector3.h:22
Definition ORB_atomic_lm.h:22
Definition ORB_gaunt_table.h:9