ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
H_Ewald_pw.h
Go to the documentation of this file.
1#ifndef H_EWALD_PW_H
2#define H_EWALD_PW_H
3
7
9{
10 public:
11 H_Ewald_pw();
13
14 // compute the Ewald energy
15 static double compute_ewald(const UnitCell& cell,
16 const ModulePW::PW_Basis* rho_basis,
17 const ModuleBase::ComplexMatrix& strucFac);
18
19 public:
20 static int estimate_mxr(const double &rmax, const ModuleBase::Matrix3 &bg);
21
22 static void rgen(
24 const double &rmax,
25 int *irr,
26 const ModuleBase::Matrix3 &at,
27 const ModuleBase::Matrix3 &bg,
29 double *r2,
30 const int mxr,
31 int &nrm
32 );
33
34 // the coefficient of ewald method
35 static double alpha;
36 static int mxr;
37
38};
39
40#endif //ewald energy
Definition H_Ewald_pw.h:9
~H_Ewald_pw()
Definition H_Ewald_pw.cpp:14
static double compute_ewald(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const ModuleBase::ComplexMatrix &strucFac)
Definition H_Ewald_pw.cpp:28
static int estimate_mxr(const double &rmax, const ModuleBase::Matrix3 &bg)
Definition H_Ewald_pw.cpp:16
static int mxr
Definition H_Ewald_pw.h:36
static double alpha
Definition H_Ewald_pw.h:35
H_Ewald_pw()
Definition H_Ewald_pw.cpp:13
static void rgen(const ModuleBase::Vector3< double > &dtau, const double &rmax, int *irr, const ModuleBase::Matrix3 &at, const ModuleBase::Matrix3 &bg, ModuleBase::Vector3< double > *r, double *r2, const int mxr, int &nrm)
Definition H_Ewald_pw.cpp:300
Definition complexmatrix.h:13
3x3 matrix and related mathamatical operations
Definition matrix3.h:19
3 elements vector
Definition vector3.h:24
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