#include <sto_dos.h>
|
| Sto_DOS (ModulePW::PW_Basis_K *p_wfcpw_in, K_Vectors *p_kv_in, elecstate::ElecState *p_elec_in, psi::Psi< std::complex< double > > *p_psi_in, hamilt::Hamilt< std::complex< double > > *p_hamilt_in, StoChe< FPTYPE, Device > &stoche, Stochastic_WF< std::complex< double >, base_device::DEVICE_CPU > *p_stowf_in) |
|
| ~Sto_DOS () |
|
void | decide_param (const int &dos_nche, const double &emin_sto, const double &emax_sto, const bool &dos_setemin, const bool &dos_setemax, const double &dos_emin_ev, const double &dos_emax_ev, const double &dos_scale) |
| decide the parameters for the DOS calculation
|
|
void | caldos (const double sigmain, const double de, const int npart) |
| Calculate DOS using stochastic wavefunctions.
|
|
◆ Sto_DOS()
template<typename FPTYPE , typename Device >
◆ ~Sto_DOS()
template<typename FPTYPE , typename Device >
◆ caldos()
template<typename FPTYPE , typename Device >
void Sto_DOS< FPTYPE, Device >::caldos |
( |
const double |
sigmain, |
|
|
const double |
de, |
|
|
const int |
npart |
|
) |
| |
Calculate DOS using stochastic wavefunctions.
- Parameters
-
sigmain | sigma for the gaussian broadening |
de | energy step |
npart | number of parts to reduce the memory usage |
◆ decide_param()
template<typename FPTYPE , typename Device >
void Sto_DOS< FPTYPE, Device >::decide_param |
( |
const int & |
dos_nche, |
|
|
const double & |
emin_sto, |
|
|
const double & |
emax_sto, |
|
|
const bool & |
dos_setemin, |
|
|
const bool & |
dos_setemax, |
|
|
const double & |
dos_emin_ev, |
|
|
const double & |
dos_emax_ev, |
|
|
const double & |
dos_scale |
|
) |
| |
decide the parameters for the DOS calculation
- Parameters
-
dos_nche | Number of Chebyshev orders |
emin_sto | Emin input for sdft |
emax_sto | Emax input for sdft |
dos_setemin | whether to set the minimum energy |
dos_setemax | whether to set the maximum energy |
dos_emin_ev | Emin input for DOS |
dos_emax_ev | Emax input for DOS |
dos_scale | dos_scale input for DOS |
◆ dos_nche
template<typename FPTYPE , typename Device >
int Sto_DOS< FPTYPE, Device >::dos_nche = 0 |
|
protected |
number of Chebyshev orders for DOS
◆ emax
template<typename FPTYPE , typename Device >
double Sto_DOS< FPTYPE, Device >::emax = 0.0 |
|
protected |
◆ emin
template<typename FPTYPE , typename Device >
double Sto_DOS< FPTYPE, Device >::emin = 0.0 |
|
protected |
◆ method_sto
template<typename FPTYPE , typename Device >
int Sto_DOS< FPTYPE, Device >::method_sto = 1 |
|
protected |
◆ nbands_ks
template<typename FPTYPE , typename Device >
int Sto_DOS< FPTYPE, Device >::nbands_ks = 0 |
|
protected |
◆ nbands_sto
template<typename FPTYPE , typename Device >
int Sto_DOS< FPTYPE, Device >::nbands_sto = 0 |
|
protected |
number of stochastic bands
◆ p_elec
template<typename FPTYPE , typename Device >
pointer to the electronic state
◆ p_hamilt
template<typename FPTYPE , typename Device >
pointer to the Hamiltonian
◆ p_hamilt_sto
template<typename FPTYPE , typename Device >
pointer to the Hamiltonian for sDFT
◆ p_kv
template<typename FPTYPE , typename Device >
◆ p_psi
template<typename FPTYPE , typename Device >
psi::Psi<std::complex<double> >* Sto_DOS< FPTYPE, Device >::p_psi = nullptr |
|
protected |
pointer to the wavefunction
◆ p_stowf
template<typename FPTYPE , typename Device >
Stochastic_WF<std::complex<double>, base_device::DEVICE_CPU>* Sto_DOS< FPTYPE, Device >::p_stowf = nullptr |
|
protected |
pointer to the stochastic wavefunctions
◆ p_wfcpw
template<typename FPTYPE , typename Device >
pointer to the plane wave basis
◆ stofunc
template<typename FPTYPE , typename Device >
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_stodft/sto_dos.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_stodft/sto_dos.cpp