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

Functions

template<typename T , typename Device >
void setup_pot (const int istep, UnitCell &ucell, const K_Vectors &kv, Structure_Factor &sf, elecstate::ElecState *pelec, const Parallel_Grid &para_grid, const Charge &chr, pseudopot_cell_vl &locpp, pseudopot_cell_vnl &ppcell, VSep *vsep_cell, psi::Psi< T, Device > *kspw_psi, hamilt::Hamilt< T, Device > *p_hamilt, ModulePW::PW_Basis_K *pw_wfc, const ModulePW::PW_Basis *pw_rhod, const Input_para &inp)
 
void setup_pwrho (UnitCell &ucell, const bool double_grid, bool &pw_rho_flag, ModulePW::PW_Basis *&pw_rho, ModulePW::PW_Basis *&pw_rhod, ModulePW::PW_Basis_Big *&pw_big, const std::string &classname, const Input_para &inp)
 
void teardown_pwrho (bool &pw_rho_flag, const bool double_grid, ModulePW::PW_Basis *&pw_rho, ModulePW::PW_Basis *&pw_rhod)
 
void teardown_pwwfc (ModulePW::PW_Basis_K *&pw_wfc)
 
void setup_pwwfc (const Input_para &inp, const UnitCell &ucell, const ModulePW::PW_Basis &pw_rho, K_Vectors &kv, ModulePW::PW_Basis_K *&pw_wfc)
 

Function Documentation

◆ setup_pot()

template<typename T , typename Device >
void pw::setup_pot ( const int  istep,
UnitCell ucell,
const K_Vectors kv,
Structure_Factor sf,
elecstate::ElecState pelec,
const Parallel_Grid para_grid,
const Charge chr,
pseudopot_cell_vl locpp,
pseudopot_cell_vnl ppcell,
VSep vsep_cell,
psi::Psi< T, Device > *  kspw_psi,
hamilt::Hamilt< T, Device > *  p_hamilt,
ModulePW::PW_Basis_K pw_wfc,
const ModulePW::PW_Basis pw_rhod,
const Input_para inp 
)

0) DFT-1/2 calculations, sep potential need to generate

1) Renew local pseudopotential

2) Symmetrize the charge density (rho)

Symmetry_rho should behind init_scf, because charge should be initialized first. liuyu comment: Symmetry_rho should be located between init_rho and v_of_rho?

3) Calculate the effective potential with rho

liuyu move here 2023-10-09 D in uspp need vloc, thus behind init_scf() calculate the effective coefficient matrix for non-local pseudopotential projectors

4) Onsite projectors

5) Spin-constrained algorithms

6) DFT+U algorithm

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setup_pwrho()

void pw::setup_pwrho ( UnitCell ucell,
const bool  double_grid,
bool &  pw_rho_flag,
ModulePW::PW_Basis *&  pw_rho,
ModulePW::PW_Basis *&  pw_rhod,
ModulePW::PW_Basis_Big *&  pw_big,
const std::string &  classname,
const Input_para inp 
)

initialie the plane wave basis for rho

for OFDFT calculations

initialize the FFT grid

initialize the double grid (for uspp) if necessary

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setup_pwwfc()

void pw::setup_pwwfc ( const Input_para inp,
const UnitCell ucell,
const ModulePW::PW_Basis pw_rho,
K_Vectors kv,
ModulePW::PW_Basis_K *&  pw_wfc 
)

setup 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:

◆ teardown_pwrho()

void pw::teardown_pwrho ( bool &  pw_rho_flag,
const bool  double_grid,
ModulePW::PW_Basis *&  pw_rho,
ModulePW::PW_Basis *&  pw_rhod 
)
Here is the caller graph for this function:

◆ teardown_pwwfc()

void pw::teardown_pwwfc ( ModulePW::PW_Basis_K *&  pw_wfc)