ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
vl_pw.h
Go to the documentation of this file.
1#ifndef VL_IN_PW_H
2#define VL_IN_PW_H
3
8
10{
11public:
12
15
22 void init_vloc(const UnitCell& ucell,
23 const ModulePW::PW_Basis* rho_basis);
24
25 ModuleBase::matrix vloc; //(ntype,ngl),the local potential for each atom type(ntype,ngl)
26 bool * numeric = nullptr; //[ntype], =true
27
28private:
29
30 double * zp = nullptr; // (npsx),the charge of the pseudopotential
31
32 void allocate(const UnitCell& ucell,
33 const int ngg);
38 void vloc_coulomb(const UnitCell& ucell,
39 const double& zp,
40 double* vloc_1d,
41 const ModulePW::PW_Basis* rho_basis) const;
42 // generate vloc for a particular atom type.
43 void vloc_of_g(const int& msh,
44 const double* rab,
45 const double* r,
46 const double* vloc_at,
47 const double& zp,
48 double* vloc,
49 const UnitCell& ucell,
50 const ModulePW::PW_Basis* rho_basis) const;
51
52 void print_vloc(const UnitCell& ucell,
53 const ModulePW::PW_Basis* rho_basis) const;
54};
55
56#endif // VL_IN_PW
Definition matrix.h:18
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition unitcell.h:15
Definition vl_pw.h:10
void allocate(const UnitCell &ucell, const int ngg)
Definition vl_pw.cpp:80
void vloc_of_g(const int &msh, const double *rab, const double *r, const double *vloc_at, const double &zp, double *vloc, const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis) const
Definition vl_pw.cpp:148
~pseudopot_cell_vl()
Definition klist_test.cpp:71
bool * numeric
Definition vl_pw.h:26
void init_vloc(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis)
init local potential
Definition vl_pw.cpp:20
void vloc_coulomb(const UnitCell &ucell, const double &zp, double *vloc_1d, const ModulePW::PW_Basis *rho_basis) const
compute the coulomb potential in reciprocal space v(g) = -\frac{4pi}{V} * zp*e^2 / G^2
Definition vl_pw.cpp:110
ModuleBase::matrix vloc
Definition vl_pw.h:25
void print_vloc(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis) const
Definition vl_pw.cpp:252
pseudopot_cell_vl()
Definition klist_test.cpp:68
double * zp
Definition vl_pw.h:30