ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Classes | Functions
ModuleESolver Namespace Reference

plane wave basis More...

Classes

class  ESolver
 
class  ESolver_DM2rho
 
class  ESolver_DP
 
class  ESolver_FP
 
class  ESolver_GetS
 
class  ESolver_KS
 
class  ESolver_KS_LCAO
 
class  ESolver_KS_LCAO_TDDFT
 
class  ESolver_KS_LIP
 
class  ESolver_KS_PW
 
class  ESolver_LJ
 
class  ESolver_OF
 
class  ESolver_SDFT_PW
 
struct  Matrix_g
 

Functions

std::string determine_type ()
 A subrutine called in init_esolver() This function returns type of ESolver Based on PARAM.inp.basis_type and PARAM.inp.esolver_type.
 
ESolverinit_esolver (const Input_para &inp, UnitCell &ucell)
 Determine and initialize an ESolver based on input information.
 
void clean_esolver (ESolver *&pesolver, const bool lcao_cblacs_exit)
 
template<typename T >
void gatherMatrix (const int myid, const int root_proc, const hamilt::MatrixBlock< T > &mat_l, Matrix_g< T > &mat_g)
 
void pw_setup (const Input_para &inp, const UnitCell &ucell, const ModulePW::PW_Basis &pw_rho, K_Vectors &kv, ModulePW::PW_Basis_K &pw_wfc)
 

Detailed Description

plane wave basis

Input parameters.

symmetry analysis electronic states charge extrapolation solvation model local pseudopotential structure factor related to plane wave basis The First-Principles (FP) Energy Solver Class This class represents components that needed in first-principles energy solver, such as the plane wave basis, the structure factors, and the k points.

Unit cell information Plane wave basis K points in Brillouin zone Plane wave basis set for k points

Function Documentation

◆ clean_esolver()

void ModuleESolver::clean_esolver ( ESolver *&  pesolver,
const bool  lcao_cblacs_exit 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ determine_type()

std::string ModuleESolver::determine_type ( )

A subrutine called in init_esolver() This function returns type of ESolver Based on PARAM.inp.basis_type and PARAM.inp.esolver_type.

Returns
[out] std::string The type of ESolver
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gatherMatrix()

template<typename T >
void ModuleESolver::gatherMatrix ( const int  myid,
const int  root_proc,
const hamilt::MatrixBlock< T > &  mat_l,
Matrix_g< T > &  mat_g 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_esolver()

ESolver * ModuleESolver::init_esolver ( const Input_para inp,
UnitCell ucell 
)

Determine and initialize an ESolver based on input information.

This function determines the type of ESolver to create based on input information and initializes the corresponding ESolver child class. It supports various ESolver types including ksdft_pw, ksdft_lcao, ksdft_lcao_tddft, sdft_pw, ofdft, lj_pot, and dp_pot.

Returns
[out] A pointer to an ESolver object that will be initialized.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pw_setup()

void ModuleESolver::pw_setup ( const Input_para inp,
const UnitCell ucell,
const ModulePW::PW_Basis pw_rho,
K_Vectors kv,
ModulePW::PW_Basis_K pw_wfc 
)

new plane wave basis, fft grids, etc.

initialize the number of plane waves for each k point

Here is the call graph for this function: