ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
Sto_DOS< FPTYPE, Device > Class Template Reference

#include <sto_dos.h>

Collaboration diagram for Sto_DOS< FPTYPE, Device >:

Public Member Functions

 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.
 

Protected Attributes

int nbands_ks = 0
 number of KS bands
 
int nbands_sto = 0
 number of stochastic bands
 
int dos_nche = 0
 number of Chebyshev orders for DOS
 
int method_sto = 1
 method for sDFT
 
double emax = 0.0
 maximum energy
 
double emin = 0.0
 minimum energy
 
ModulePW::PW_Basis_Kp_wfcpw = nullptr
 pointer to the plane wave basis
 
K_Vectorsp_kv = nullptr
 pointer to the k vectors
 
elecstate::ElecStatep_elec = nullptr
 pointer to the electronic state
 
psi::Psi< std::complex< double > > * p_psi = nullptr
 pointer to the wavefunction
 
hamilt::Hamilt< std::complex< double > > * p_hamilt
 pointer to the Hamiltonian
 
Stochastic_WF< std::complex< double >, base_device::DEVICE_CPU > * p_stowf = nullptr
 pointer to the stochastic wavefunctions
 
Sto_Func< double > stofunc
 functions
 
hamilt::HamiltSdftPW< std::complex< double > > * p_hamilt_sto = nullptr
 pointer to the Hamiltonian for sDFT
 

Constructor & Destructor Documentation

◆ Sto_DOS()

template<typename FPTYPE , typename Device >
Sto_DOS< FPTYPE, Device >::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()

template<typename FPTYPE , typename Device >
Sto_DOS< FPTYPE, Device >::~Sto_DOS ( )

Member Function Documentation

◆ 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
sigmainsigma for the gaussian broadening
deenergy step
npartnumber of parts to reduce the memory usage
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_ncheNumber of Chebyshev orders
emin_stoEmin input for sdft
emax_stoEmax input for sdft
dos_seteminwhether to set the minimum energy
dos_setemaxwhether to set the maximum energy
dos_emin_evEmin input for DOS
dos_emax_evEmax input for DOS
dos_scaledos_scale input for DOS
Here is the caller graph for this function:

Member Data Documentation

◆ 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

maximum energy

◆ emin

template<typename FPTYPE , typename Device >
double Sto_DOS< FPTYPE, Device >::emin = 0.0
protected

minimum energy

◆ method_sto

template<typename FPTYPE , typename Device >
int Sto_DOS< FPTYPE, Device >::method_sto = 1
protected

method for sDFT

◆ nbands_ks

template<typename FPTYPE , typename Device >
int Sto_DOS< FPTYPE, Device >::nbands_ks = 0
protected

number of KS bands

◆ 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 >
elecstate::ElecState* Sto_DOS< FPTYPE, Device >::p_elec = nullptr
protected

pointer to the electronic state

◆ p_hamilt

template<typename FPTYPE , typename Device >
hamilt::Hamilt<std::complex<double> >* Sto_DOS< FPTYPE, Device >::p_hamilt
protected

pointer to the Hamiltonian

◆ p_hamilt_sto

template<typename FPTYPE , typename Device >
hamilt::HamiltSdftPW<std::complex<double> >* Sto_DOS< FPTYPE, Device >::p_hamilt_sto = nullptr
protected

pointer to the Hamiltonian for sDFT

◆ p_kv

template<typename FPTYPE , typename Device >
K_Vectors* Sto_DOS< FPTYPE, Device >::p_kv = nullptr
protected

pointer to the k vectors

◆ 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 >
ModulePW::PW_Basis_K* Sto_DOS< FPTYPE, Device >::p_wfcpw = nullptr
protected

pointer to the plane wave basis

◆ stofunc

template<typename FPTYPE , typename Device >
Sto_Func<double> Sto_DOS< FPTYPE, Device >::stofunc
protected

functions


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