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

#include <get_wf_lcao.h>

Collaboration diagram for Get_wf_lcao:

Public Member Functions

 Get_wf_lcao (const elecstate::ElecState *pes)
 
 ~Get_wf_lcao ()
 
void begin (const UnitCell &ucell, const psi::Psi< double > *psid, const ModulePW::PW_Basis_K *pw_wfc, const Parallel_Grid &pgrid, const Parallel_Orbitals &para_orb, Gint_Gamma &gg, const int &out_wfc_pw, const K_Vectors &kv, const double nelec, const std::vector< int > &out_wfc_norm, const std::vector< int > &out_wfc_re_im, const int nbands, const int nspin, const int nlocal, const std::string &global_out_dir, std::ofstream &ofs_running)
 For gamma_only.
 
void begin (const UnitCell &ucell, const psi::Psi< double > *psid, const ModulePW::PW_Basis_K *pw_wfc, const Parallel_Grid &pgrid, const Parallel_Orbitals &para_orb, Gint_k &gg, const int &out_wfc_pw, const K_Vectors &kv, const double nelec, const std::vector< int > &out_wfc_norm, const std::vector< int > &out_wfc_re_im, const int nbands, const int nspin, const int nlocal, const std::string &global_out_dir, std::ofstream &ofs_running)
 tmp, delete after Gint is refactored.
 
void begin (const UnitCell &ucell, const psi::Psi< std::complex< double > > *psi, const ModulePW::PW_Basis_K *pw_wfc, const Parallel_Grid &pgrid, const Parallel_Orbitals &para_orb, Gint_k &gk, const int &out_wfc_pw, const K_Vectors &kv, const double nelec, const std::vector< int > &out_wfc_norm, const std::vector< int > &out_wfc_re_im, const int nbands, const int nspin, const int nlocal, const std::string &global_out_dir, std::ofstream &ofs_running)
 For multi-k.
 
void begin (const UnitCell &ucell, const psi::Psi< std::complex< double > > *psi, const ModulePW::PW_Basis_K *pw_wfc, const Parallel_Grid &pgrid, const Parallel_Orbitals &para_orb, Gint_Gamma &gk, const int &out_wfc_pw, const K_Vectors &kv, const double nelec, const std::vector< int > &out_wfc_norm, const std::vector< int > &out_wfc_re_im, const int nbands, const int nspin, const int nlocal, const std::string &global_out_dir, std::ofstream &ofs_running)
 tmp, delete after Gint is refactored.
 

Private Member Functions

void prepare_get_wf (std::ofstream &ofs_running)
 
void select_bands (const std::vector< int > &out_wfc_kb, const int nbands, const int fermi_band)
 
void set_pw_wfc (const ModulePW::PW_Basis_K *pw_wfc, const int &ik, const int &ib, const int &nspin, const double *const *const rho, psi::Psi< std::complex< double > > &wfc_g)
 
int globalIndex (int localindex, int nblk, int nprocs, int myproc)
 
int localIndex (int globalindex, int nblk, int nprocs, int &myproc)
 
template<typename T >
int set_wfc_grid (const int naroc[2], const int nb, const int dim0, const int dim1, const int iprow, const int ipcol, const T *in, T **out, const std::vector< int > &trace_lo)
 
template<typename T >
void wfc_2d_to_grid (const T *wfc_2d, const Parallel_Orbitals &pv, T **wfc_grid, const std::vector< int > &trace_lo)
 

Private Attributes

std::vector< int > bands_picked_
 
const elecstate::ElecStatepes_ = nullptr
 

Constructor & Destructor Documentation

◆ Get_wf_lcao()

Get_wf_lcao::Get_wf_lcao ( const elecstate::ElecState pes)

◆ ~Get_wf_lcao()

Get_wf_lcao::~Get_wf_lcao ( )

Member Function Documentation

◆ begin() [1/4]

void Get_wf_lcao::begin ( const UnitCell ucell,
const psi::Psi< double > *  psid,
const ModulePW::PW_Basis_K pw_wfc,
const Parallel_Grid pgrid,
const Parallel_Orbitals para_orb,
Gint_Gamma gg,
const int &  out_wfc_pw,
const K_Vectors kv,
const double  nelec,
const std::vector< int > &  out_wfc_norm,
const std::vector< int > &  out_wfc_re_im,
const int  nbands,
const int  nspin,
const int  nlocal,
const std::string &  global_out_dir,
std::ofstream &  ofs_running 
)

For gamma_only.

Here is the call graph for this function:

◆ begin() [2/4]

void Get_wf_lcao::begin ( const UnitCell ucell,
const psi::Psi< double > *  psid,
const ModulePW::PW_Basis_K pw_wfc,
const Parallel_Grid pgrid,
const Parallel_Orbitals para_orb,
Gint_k gg,
const int &  out_wfc_pw,
const K_Vectors kv,
const double  nelec,
const std::vector< int > &  out_wfc_norm,
const std::vector< int > &  out_wfc_re_im,
const int  nbands,
const int  nspin,
const int  nlocal,
const std::string &  global_out_dir,
std::ofstream &  ofs_running 
)
inline

tmp, delete after Gint is refactored.

◆ begin() [3/4]

void Get_wf_lcao::begin ( const UnitCell ucell,
const psi::Psi< std::complex< double > > *  psi,
const ModulePW::PW_Basis_K pw_wfc,
const Parallel_Grid pgrid,
const Parallel_Orbitals para_orb,
Gint_Gamma gk,
const int &  out_wfc_pw,
const K_Vectors kv,
const double  nelec,
const std::vector< int > &  out_wfc_norm,
const std::vector< int > &  out_wfc_re_im,
const int  nbands,
const int  nspin,
const int  nlocal,
const std::string &  global_out_dir,
std::ofstream &  ofs_running 
)
inline

tmp, delete after Gint is refactored.

◆ begin() [4/4]

void Get_wf_lcao::begin ( const UnitCell ucell,
const psi::Psi< std::complex< double > > *  psi,
const ModulePW::PW_Basis_K pw_wfc,
const Parallel_Grid pgrid,
const Parallel_Orbitals para_orb,
Gint_k gk,
const int &  out_wfc_pw,
const K_Vectors kv,
const double  nelec,
const std::vector< int > &  out_wfc_norm,
const std::vector< int > &  out_wfc_re_im,
const int  nbands,
const int  nspin,
const int  nlocal,
const std::string &  global_out_dir,
std::ofstream &  ofs_running 
)

For multi-k.

Here is the call graph for this function:

◆ globalIndex()

int Get_wf_lcao::globalIndex ( int  localindex,
int  nblk,
int  nprocs,
int  myproc 
)
private
Here is the caller graph for this function:

◆ localIndex()

int Get_wf_lcao::localIndex ( int  globalindex,
int  nblk,
int  nprocs,
int &  myproc 
)
private

◆ prepare_get_wf()

void Get_wf_lcao::prepare_get_wf ( std::ofstream &  ofs_running)
private
Here is the caller graph for this function:

◆ select_bands()

void Get_wf_lcao::select_bands ( const std::vector< int > &  out_wfc_kb,
const int  nbands,
const int  fermi_band 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_pw_wfc()

void Get_wf_lcao::set_pw_wfc ( const ModulePW::PW_Basis_K pw_wfc,
const int &  ik,
const int &  ib,
const int &  nspin,
const double *const *const  rho,
psi::Psi< std::complex< double > > &  wfc_g 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_wfc_grid()

template<typename T >
template int Get_wf_lcao::set_wfc_grid ( const int  naroc[2],
const int  nb,
const int  dim0,
const int  dim1,
const int  iprow,
const int  ipcol,
const T in,
T **  out,
const std::vector< int > &  trace_lo 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ wfc_2d_to_grid()

template<typename T >
template void Get_wf_lcao::wfc_2d_to_grid ( const T wfc_2d,
const Parallel_Orbitals pv,
T **  wfc_grid,
const std::vector< int > &  trace_lo 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bands_picked_

std::vector<int> Get_wf_lcao::bands_picked_
private

◆ pes_

const elecstate::ElecState* Get_wf_lcao::pes_ = nullptr
private

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