ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
surchem Class Reference

#include <surchem.h>

Collaboration diagram for surchem:

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
 

Constructor & Destructor Documentation

◆ surchem()

surchem::surchem ( )

◆ ~surchem()

surchem::~surchem ( )

Member Function Documentation

◆ allocate()

void surchem::allocate ( const int &  nrxx,
const int &  nspin 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_Acav()

double surchem::cal_Acav ( const UnitCell cell,
const int &  nxyz 
)

◆ cal_Acomp()

void surchem::cal_Acomp ( const UnitCell cell,
const ModulePW::PW_Basis rho_basis,
const double *const *const  rho,
std::vector< double > &  res 
)

◆ cal_Ael()

double surchem::cal_Ael ( const UnitCell cell,
const int &  nrxx,
const int &  nxyz 
)

◆ cal_epsilon()

void surchem::cal_epsilon ( const ModulePW::PW_Basis rho_basis,
const double *  PS_TOTN_real,
double *  epsilon,
double *  epsilon0 
)
Here is the caller graph for this function:

◆ cal_force_sol()

void surchem::cal_force_sol ( const UnitCell cell,
const ModulePW::PW_Basis rho_basis,
const ModuleBase::matrix vloc,
ModuleBase::matrix forcesol 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_pseudo()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_totn()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_vcav()

ModuleBase::matrix surchem::cal_vcav ( const UnitCell ucell,
const ModulePW::PW_Basis rho_basis,
std::complex< double > *  PS_TOTN,
int  nspin 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_vel()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear()

void surchem::clear ( )
Here is the caller graph for this function:

◆ createcavity()

void surchem::createcavity ( const UnitCell ucell,
const ModulePW::PW_Basis rho_basis,
const std::complex< double > *  PS_TOTN,
double *  vwork 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ force_cor_one()

void surchem::force_cor_one ( const UnitCell cell,
const ModulePW::PW_Basis rho_basis,
const ModuleBase::matrix vloc,
ModuleBase::matrix forcesol 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ force_cor_two()

void surchem::force_cor_two ( const UnitCell cell,
const ModulePW::PW_Basis rho_basis,
ModuleBase::matrix forcesol 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gauss_charge()

void surchem::gauss_charge ( const UnitCell cell,
const Parallel_Grid pgrid,
const ModulePW::PW_Basis rho_basis,
std::complex< double > *  N,
Structure_Factor sf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_totn_reci()

void surchem::get_totn_reci ( const UnitCell cell,
const ModulePW::PW_Basis rho_basis,
std::complex< double > *  totn_reci 
)

◆ induced_charge()

void surchem::induced_charge ( const UnitCell cell,
const ModulePW::PW_Basis rho_basis,
double *  induced_rho 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Leps2()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ minimize_cg()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_V_to_N()

void surchem::test_V_to_N ( ModuleBase::matrix v,
const UnitCell cell,
const ModulePW::PW_Basis rho_basis,
const double *const *const  rho 
)

◆ v_correction()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ Acav

double surchem::Acav = 0
static

◆ Ael

double surchem::Ael = 0
static

◆ delta_phi

double* surchem::delta_phi

◆ epspot

double* surchem::epspot

◆ GetAtom

atom_in surchem::GetAtom

◆ qs

double surchem::qs

◆ TOTN_real

double* surchem::TOTN_real

◆ Vcav

ModuleBase::matrix surchem::Vcav

◆ Vel

ModuleBase::matrix surchem::Vel

The documentation for this class was generated from the following files: