ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
VL_in_pw.h
Go to the documentation of this file.
1#ifndef VL_IN_PW_H
2#define VL_IN_PW_H
3
9
11{
12public:
13
16
23 void init_vloc(const UnitCell& ucell,
24 const ModulePW::PW_Basis* rho_basis);
25
26 ModuleBase::matrix vloc; //(ntype,ngl),the local potential for each atom type(ntype,ngl)
27 bool *numeric; //[ntype], =true
28
29private:
30
31 double *zp; // (npsx),the charge of the pseudopotential
32
33 void allocate(const UnitCell& ucell,
34 const int ngg);
39 void vloc_coulomb(const UnitCell& ucell,
40 const double& zp,
41 double* vloc_1d,
42 const ModulePW::PW_Basis* rho_basis) const;
43 // generate vloc for a particular atom type.
44 void vloc_of_g(const int& msh,
45 const double* rab,
46 const double* r,
47 const double* vloc_at,
48 const double& zp,
49 double* vloc,
50 const UnitCell& ucell,
51 const ModulePW::PW_Basis* rho_basis) const;
52
53 void print_vloc(const UnitCell& ucell,
54 const ModulePW::PW_Basis* rho_basis) const;
55};
56
57#endif // VL_IN_PW
Definition matrix.h:19
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:16
Definition VL_in_pw.h:11
void allocate(const UnitCell &ucell, const int ngg)
Definition VL_in_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_in_pw.cpp:148
~pseudopot_cell_vl()
Definition klist_test.cpp:71
bool * numeric
Definition VL_in_pw.h:27
void init_vloc(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis)
init local potential
Definition VL_in_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_in_pw.cpp:110
ModuleBase::matrix vloc
Definition VL_in_pw.h:26
void print_vloc(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis) const
Definition VL_in_pw.cpp:253
pseudopot_cell_vl()
Definition klist_test.cpp:68
double * zp
Definition VL_in_pw.h:31