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,
72 std::complex<double>* TOTN,
73 std::complex<double>* PS_TOTN,
85 const double*
const*
const rho,
86 std::vector<double>& res);
91 const std::complex<double>* tot_N,
92 std::complex<double>* phi,
97 std::complex<double>* phi,
99 std::complex<double>* gradphi_x,
100 std::complex<double>* gradphi_y,
101 std::complex<double>* gradphi_z,
102 std::complex<double>* phi_work,
103 std::complex<double>* lp);
109 const double*
const*
const rho,
110 const double* vlocal,
116 const double*
const*
const rho);
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
ModuleBase::matrix cal_vel(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *TOTN, std::complex< double > *PS_TOTN, int nspin)
Definition cal_vel.cpp:57
void clear()
Definition surchem.cpp:45
static double Ael
Definition surchem.h:28
ModuleBase::matrix Vel
Definition surchem.h:24
ModuleBase::matrix 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)
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:40
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 allocate(const int &nrxx, const int &nspin)
Definition surchem.cpp:16
atom_in GetAtom
Definition surchem.h:31
~surchem()
Definition potential_new_test.cpp:44
ModuleBase::matrix cal_vcav(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *PS_TOTN, int nspin)
Definition cal_vcav.cpp:165
void get_totn_reci(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *totn_reci)
surchem()
Definition potential_new_test.cpp:41
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_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 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 Leps2(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *phi, double *epsilon, std::complex< double > *gradphi_x, std::complex< double > *gradphi_y, std::complex< double > *gradphi_z, std::complex< double > *phi_work, std::complex< double > *lp)
Definition minimize_cg.cpp:164
void createcavity(const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, const std::complex< double > *PS_TOTN, double *vwork)
Definition cal_vcav.cpp:62
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