34 void allocate(
const int& nrxx,
const int& nspin);
43 const std::complex<double>* Porter_g,
44 std::complex<double>* PS_TOTN,
50 std::complex<double>*
N,
55 const std::complex<double>* Porter_g,
56 std::complex<double>*
N,
57 std::complex<double>* TOTN,
58 const double* vlocal);
62 const std::complex<double>* PS_TOTN,
67 std::complex<double>* PS_TOTN,
73 std::complex<double>* TOTN,
74 std::complex<double>* PS_TOTN,
87 const double*
const*
const rho,
88 std::vector<double>& res);
93 const std::complex<double>* tot_N,
94 std::complex<double>* phi,
99 std::complex<double>* phi,
101 std::complex<double>* gradphi_G_work,
102 std::complex<double>* lp,
110 const double*
const*
const rho,
111 const double* vlocal,
118 const double*
const*
const rho);
3 elements vector
Definition vector3.h:22
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition parallel_grid.h:8
Definition structure_factor.h:11
void force_cor_two(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, ModuleBase::matrix &forcesol)
Definition sol_force.cpp:69
double qs
Definition surchem.h:25
void clear()
Definition surchem.cpp:45
static double Ael
Definition surchem.h:28
ModuleBase::matrix Vel
Definition surchem.h:24
void v_correction(const UnitCell &cell, const Parallel_Grid &pgrid, const ModulePW::PW_Basis *rho_basis, const int &nspin, const double *const *const rho, const double *vlocal, Structure_Factor *sf, ModuleBase::matrix &v)
Definition H_correction_pw.cpp:9
void induced_charge(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, double *induced_rho) const
Definition cal_totn.cpp:37
void cal_pseudo(const UnitCell &cell, const Parallel_Grid &pgrid, const ModulePW::PW_Basis *rho_basis, const std::complex< double > *Porter_g, std::complex< double > *PS_TOTN, Structure_Factor *sf)
Definition cal_pseudo.cpp:41
double cal_Ael(const UnitCell &cell, const int &nrxx, const int &nxyz)
void minimize_cg(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, double *d_eps, const std::complex< double > *tot_N, std::complex< double > *phi, int &ncgsol)
Definition minimize_cg.cpp:4
void Leps2(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *phi, double *epsilon, std::complex< double > *gradphi_G_work, std::complex< double > *lp, ModuleBase::Vector3< double > *grad_phi_R, double *aux_R)
Definition minimize_cg.cpp:167
void allocate(const int &nrxx, const int &nspin)
Definition surchem.cpp:16
atom_in GetAtom
Definition surchem.h:31
~surchem()
Definition potential_new_test.cpp:48
void get_totn_reci(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *totn_reci)
surchem()
Definition potential_new_test.cpp:45
void gauss_charge(const UnitCell &cell, const Parallel_Grid &pgrid, const ModulePW::PW_Basis *rho_basis, std::complex< double > *N, Structure_Factor *sf)
Definition cal_pseudo.cpp:6
void cal_vel(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *TOTN, std::complex< double > *PS_TOTN, int nspin, ModuleBase::matrix &v)
Definition cal_vel.cpp:59
void cal_force_sol(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const ModuleBase::matrix &vloc, ModuleBase::matrix &forcesol)
Definition sol_force.cpp:150
double * TOTN_real
Definition surchem.h:20
void cal_vcav(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *PS_TOTN, int nspin, ModuleBase::matrix &v)
Definition cal_vcav.cpp:169
void force_cor_one(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const ModuleBase::matrix &vloc, ModuleBase::matrix &forcesol)
Definition sol_force.cpp:5
ModuleBase::matrix Vcav
Definition surchem.h:23
double * delta_phi
Definition surchem.h:21
static double Acav
Definition surchem.h:27
double * epspot
Definition surchem.h:22
void test_V_to_N(ModuleBase::matrix &v, const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const double *const *const rho)
void cal_epsilon(const ModulePW::PW_Basis *rho_basis, const double *PS_TOTN_real, double *epsilon, double *epsilon0)
Definition cal_epsilon.cpp:4
void cal_totn(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const std::complex< double > *Porter_g, std::complex< double > *N, std::complex< double > *TOTN, const double *vlocal)
Definition cal_totn.cpp:3
void createcavity(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, const std::complex< double > *PS_TOTN, double *vwork)
Definition cal_vcav.cpp:63
void cal_Acomp(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const double *const *const rho, std::vector< double > &res)
double cal_Acav(const UnitCell &cell, const int &nxyz)
#define N
Definition exp.cpp:24