9template <
typename FPTYPE,
typename Device>
13#ifdef __ENABLE_FLOAT_FFTW
20 using resmem_lcomplex_op = base_device::memory::resize_memory_op_mt<std::complex<lowTYPE>, Device>;
21 using delmem_lcomplex_op = base_device::memory::delete_memory_op_mt<std::complex<lowTYPE>, Device>;
34 psi::Psi<std::complex<FPTYPE>, Device>* p_psi_in,
54 void decide_nche(
const FPTYPE dt,
const FPTYPE cond_thr,
const int&
fd_nche, FPTYPE try_emin, FPTYPE try_emax);
67 void sKG(
const int& smear_type,
73 const int& npart_sto);
95 const psi::Psi<std::complex<lowTYPE>, Device>& kspsi_all,
96 const psi::Psi<std::complex<lowTYPE>, Device>& vkspsi,
99 std::complex<FPTYPE>* leftfact,
100 std::complex<FPTYPE>* rightfact,
101 psi::Psi<std::complex<lowTYPE>, Device>& leftchi,
102 psi::Psi<std::complex<lowTYPE>, Device>& rightchi,
103 psi::Psi<std::complex<lowTYPE>, Device>& left_hchi,
104 psi::Psi<std::complex<lowTYPE>, Device>& right_hchi,
105 psi::Psi<std::complex<lowTYPE>, Device>& batch_vchi,
106 psi::Psi<std::complex<lowTYPE>, Device>& batch_vhchi,
108 psi::Psi<std::complex<lowTYPE>, Device>& chi_all,
109 psi::Psi<std::complex<lowTYPE>, Device>& hchi_all,
111 void* gatherinfo_sto,
113 const int& bsize_psi,
114 std::complex<lowTYPE>* j1,
115 std::complex<lowTYPE>* j2,
116 std::complex<lowTYPE>* tmpj,
119 const std::complex<lowTYPE>& factor,
120 const int bandinfo[6]);
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
Definition sto_elecond.h:11
Stochastic_WF< std::complex< FPTYPE >, Device > * p_stowf
pointer to the stochastic wavefunctions
Definition sto_elecond.h:82
Sto_Func< FPTYPE > stofunc
functions
Definition sto_elecond.h:83
hamilt::Hamilt< std::complex< FPTYPE >, Device > * p_hamilt
pointer to the Hamiltonian
Definition sto_elecond.h:81
void decide_nche(const FPTYPE dt, const FPTYPE cond_thr, const int &fd_nche, FPTYPE try_emin, FPTYPE try_emax)
Set the N order of Chebyshev expansion for conductivities It will change class member : fd_nche,...
Definition sto_elecond.cpp:47
~Sto_EleCond()
Definition sto_elecond.h:39
hamilt::HamiltSdftPW< std::complex< lowTYPE >, Device > * hamilt_sto_
pointer to the Hamiltonian for sDFT
Definition sto_elecond.h:86
void sKG(const int &smear_type, const double &fwhmin, const double &wcut, const double &dw_in, const double &dt_in, const bool &nonlocal, const int &npart_sto)
calculate Stochastic Kubo-Greenwood
Definition sto_elecond.cpp:478
hamilt::HamiltSdftPW< std::complex< FPTYPE >, Device > * p_hamilt_sto
pointer to the Hamiltonian for sDFT
Definition sto_elecond.h:85
void cal_jmatrix(hamilt::HamiltSdftPW< std::complex< lowTYPE >, Device > *hamilt, const psi::Psi< std::complex< lowTYPE >, Device > &kspsi_all, const psi::Psi< std::complex< lowTYPE >, Device > &vkspsi, const double *en, const double *en_all, std::complex< FPTYPE > *leftfact, std::complex< FPTYPE > *rightfact, psi::Psi< std::complex< lowTYPE >, Device > &leftchi, psi::Psi< std::complex< lowTYPE >, Device > &rightchi, psi::Psi< std::complex< lowTYPE >, Device > &left_hchi, psi::Psi< std::complex< lowTYPE >, Device > &right_hchi, psi::Psi< std::complex< lowTYPE >, Device > &batch_vchi, psi::Psi< std::complex< lowTYPE >, Device > &batch_vhchi, psi::Psi< std::complex< lowTYPE >, Device > &chi_all, psi::Psi< std::complex< lowTYPE >, Device > &hchi_all, void *gatherinfo_ks, void *gatherinfo_sto, const int &bsize_psi, std::complex< lowTYPE > *j1, std::complex< lowTYPE > *j2, std::complex< lowTYPE > *tmpj, hamilt::Velocity< lowTYPE, Device > &velop, const int &ik, const std::complex< lowTYPE > &factor, const int bandinfo[6])
calculate Jmatrix <leftv|J|rightv>
Definition sto_elecond.cpp:148
lowTYPE low_emax_
Emax of the Hamiltonian for sDFT.
Definition sto_elecond.h:88
int nbands_sto
number of stochastic bands
Definition sto_elecond.h:77
double lowTYPE
Definition sto_elecond.h:16
lowTYPE low_emin_
Emin of the Hamiltonian for sDFT.
Definition sto_elecond.h:87
int fd_nche
number of Chebyshev orders for Fermi-Dirac function
Definition sto_elecond.h:79
int cond_nche
number of Chebyshev orders for conductivities
Definition sto_elecond.h:78
std::complex< lowTYPE > lcomplex
Definition sto_elecond.h:18
int nbands_ks
number of KS bands
Definition sto_elecond.h:76
int cond_dtbatch
number of time steps in a batch
Definition sto_elecond.h:80
Definition elecstate.h:15
Definition hamilt_sdft_pw.h:11
Definition op_pw_vel.h:13
base device SOURCES math_hegvd_test cpp endif() if(ENABLE_GOOGLEBENCH) AddTest(TARGET PERF_MODULE_HSOLVER_KERNELS LIBS parameter $
Definition CMakeLists.txt:10
Definition memory_op.h:99
Definition memory_op.h:115
Definition memory_op.h:17
Definition memory_op.h:61