#include <psi_initializer.h>
|
| psi_initializer () |
|
virtual | ~psi_initializer () |
|
virtual void | initialize (const Structure_Factor *, const ModulePW::PW_Basis_K *, const UnitCell *, const K_Vectors *=nullptr, const int &=1, const pseudopot_cell_vnl *=nullptr, const int &=0) |
| initialize the psi_initializer with external data and methods
|
|
virtual void | tabulate () |
| CENTRAL FUNCTION: calculate the interpolate table if needed.
|
|
virtual void | init_psig (T *psig, const int &ik)=0 |
| CENTRAL FUNCTION: init psi in pw basis.
|
|
std::string | method () const |
|
int | nbands_start () const |
|
int | nbands_complem () const |
|
template<typename U > |
std::enable_if< std::is_same< U, float >::value, U >::type | cast_to_T (const std::complex< double > in) |
|
template<typename U > |
std::enable_if< std::is_same< U, double >::value, U >::type | cast_to_T (const std::complex< double > in) |
|
template<typename U > |
std::enable_if< std::is_same< U, std::complex< float > >::value, U >::type | cast_to_T (const std::complex< double > in) |
|
template<typename U > |
std::enable_if< std::is_same< U, std::complex< double > >::value, U >::type | cast_to_T (const std::complex< double > in) |
|
|
void | stick_to_pool (Real *stick, const int &ir, Real *out) const |
| mapping from (ix, iy) to is
|
|
void | random_t (T *psi, const int iw_start, const int iw_end, const int ik, const int mode=1) |
| mode, 0 for rr*exp(i*arg), 1 for rr/(1+gk2)*exp(i*arg)
|
|
◆ Real
◆ psi_initializer()
◆ ~psi_initializer()
◆ cast_to_T() [1/4]
template<typename U >
std::enable_if< std::is_same< U, float >::value, U >::type psi_initializer< T >::cast_to_T |
( |
const std::complex< double > |
in | ) |
|
|
inline |
◆ cast_to_T() [2/4]
template<typename U >
std::enable_if< std::is_same< U, double >::value, U >::type psi_initializer< T >::cast_to_T |
( |
const std::complex< double > |
in | ) |
|
|
inline |
◆ cast_to_T() [3/4]
template<typename U >
std::enable_if< std::is_same< U, std::complex< float > >::value, U >::type psi_initializer< T >::cast_to_T |
( |
const std::complex< double > |
in | ) |
|
|
inline |
◆ cast_to_T() [4/4]
template<typename U >
std::enable_if< std::is_same< U, std::complex< double > >::value, U >::type psi_initializer< T >::cast_to_T |
( |
const std::complex< double > |
in | ) |
|
|
inline |
◆ init_psig()
◆ initialize()
◆ method()
◆ nbands_complem()
◆ nbands_start()
◆ random_t()
void psi_initializer< T >::random_t |
( |
T * |
psi, |
|
|
const int |
iw_start, |
|
|
const int |
iw_end, |
|
|
const int |
ik, |
|
|
const int |
mode = 1 |
|
) |
| |
|
protected |
mode, 0 for rr*exp(i*arg), 1 for rr/(1+gk2)*exp(i*arg)
- Parameters
-
[out] | psi | psi |
| iw_start | iw_start, starting band index |
| iw_end | iw_end, ending band index |
| ik | ik, kpoint index |
◆ stick_to_pool()
mapping from (ix, iy) to is
◆ tabulate()
◆ ixy2is_
used by stick_to_pool function
◆ mem_saver_
if save memory, only for nscf
◆ method_
◆ mixing_coef_
mixing coefficient for atomic+random and nao+random
◆ nbands_complem_
complement number of bands, which is nbands_start_ - ucell.natomwfc
◆ nbands_start_
starting nbands, which is no less than PARAM.inp.nbands
◆ p_kv
◆ p_pspot_nl_
◆ p_ucell_
◆ pw_wfc_
use |k+G>, |G>, getgpluskcar and so on in PW_Basis_K
◆ random_seed_
random seed, shared by random, atomic+random, nao+random
◆ sf_
The documentation for this class was generated from the following files: