ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <surchem.h>
Public Member Functions | |
surchem () | |
~surchem () | |
void | allocate (const int &nrxx, const int &nspin) |
void | clear () |
void | cal_epsilon (const ModulePW::PW_Basis *rho_basis, const double *PS_TOTN_real, double *epsilon, double *epsilon0) |
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) |
void | gauss_charge (const UnitCell &cell, const Parallel_Grid &pgrid, const ModulePW::PW_Basis *rho_basis, std::complex< double > *N, Structure_Factor *sf) |
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) |
void | createcavity (const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, const std::complex< double > *PS_TOTN, double *vwork) |
ModuleBase::matrix | cal_vcav (const UnitCell &ucell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *PS_TOTN, int nspin) |
ModuleBase::matrix | cal_vel (const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *TOTN, std::complex< double > *PS_TOTN, int nspin) |
double | cal_Ael (const UnitCell &cell, const int &nrxx, const int &nxyz) |
double | cal_Acav (const UnitCell &cell, const int &nxyz) |
void | cal_Acomp (const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const double *const *const rho, std::vector< double > &res) |
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) |
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) |
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) |
void | test_V_to_N (ModuleBase::matrix &v, const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const double *const *const rho) |
void | cal_force_sol (const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const ModuleBase::matrix &vloc, ModuleBase::matrix &forcesol) |
void | force_cor_one (const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const ModuleBase::matrix &vloc, ModuleBase::matrix &forcesol) |
void | force_cor_two (const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, ModuleBase::matrix &forcesol) |
void | get_totn_reci (const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, std::complex< double > *totn_reci) |
void | induced_charge (const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, double *induced_rho) const |
Public Attributes | |
double * | TOTN_real |
double * | delta_phi |
double * | epspot |
ModuleBase::matrix | Vcav |
ModuleBase::matrix | Vel |
double | qs |
atom_in | GetAtom |
Static Public Attributes | |
static double | Acav = 0 |
static double | Ael = 0 |
surchem::surchem | ( | ) |
surchem::~surchem | ( | ) |
void surchem::allocate | ( | const int & | nrxx, |
const int & | nspin | ||
) |
double surchem::cal_Acav | ( | const UnitCell & | cell, |
const int & | nxyz | ||
) |
void surchem::cal_Acomp | ( | const UnitCell & | cell, |
const ModulePW::PW_Basis * | rho_basis, | ||
const double *const *const | rho, | ||
std::vector< double > & | res | ||
) |
double surchem::cal_Ael | ( | const UnitCell & | cell, |
const int & | nrxx, | ||
const int & | nxyz | ||
) |
void surchem::cal_epsilon | ( | const ModulePW::PW_Basis * | rho_basis, |
const double * | PS_TOTN_real, | ||
double * | epsilon, | ||
double * | epsilon0 | ||
) |
void surchem::cal_force_sol | ( | const UnitCell & | cell, |
const ModulePW::PW_Basis * | rho_basis, | ||
const ModuleBase::matrix & | vloc, | ||
ModuleBase::matrix & | forcesol | ||
) |
void surchem::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 | ||
) |
void surchem::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 | ||
) |
ModuleBase::matrix surchem::cal_vcav | ( | const UnitCell & | ucell, |
const ModulePW::PW_Basis * | rho_basis, | ||
std::complex< double > * | PS_TOTN, | ||
int | nspin | ||
) |
ModuleBase::matrix surchem::cal_vel | ( | const UnitCell & | cell, |
const ModulePW::PW_Basis * | rho_basis, | ||
std::complex< double > * | TOTN, | ||
std::complex< double > * | PS_TOTN, | ||
int | nspin | ||
) |
void surchem::clear | ( | ) |
void surchem::createcavity | ( | const UnitCell & | ucell, |
const ModulePW::PW_Basis * | rho_basis, | ||
const std::complex< double > * | PS_TOTN, | ||
double * | vwork | ||
) |
void surchem::force_cor_one | ( | const UnitCell & | cell, |
const ModulePW::PW_Basis * | rho_basis, | ||
const ModuleBase::matrix & | vloc, | ||
ModuleBase::matrix & | forcesol | ||
) |
void surchem::force_cor_two | ( | const UnitCell & | cell, |
const ModulePW::PW_Basis * | rho_basis, | ||
ModuleBase::matrix & | forcesol | ||
) |
void surchem::gauss_charge | ( | const UnitCell & | cell, |
const Parallel_Grid & | pgrid, | ||
const ModulePW::PW_Basis * | rho_basis, | ||
std::complex< double > * | N, | ||
Structure_Factor * | sf | ||
) |
void surchem::get_totn_reci | ( | const UnitCell & | cell, |
const ModulePW::PW_Basis * | rho_basis, | ||
std::complex< double > * | totn_reci | ||
) |
void surchem::induced_charge | ( | const UnitCell & | cell, |
const ModulePW::PW_Basis * | rho_basis, | ||
double * | induced_rho | ||
) | const |
void surchem::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 | ||
) |
void surchem::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 | ||
) |
void surchem::test_V_to_N | ( | ModuleBase::matrix & | v, |
const UnitCell & | cell, | ||
const ModulePW::PW_Basis * | rho_basis, | ||
const double *const *const | rho | ||
) |
ModuleBase::matrix surchem::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 | ||
) |
|
static |
|
static |
double* surchem::delta_phi |
double* surchem::epspot |
atom_in surchem::GetAtom |
double surchem::qs |
double* surchem::TOTN_real |
ModuleBase::matrix surchem::Vcav |
ModuleBase::matrix surchem::Vel |