17 static void decision(
const std::string &name,
const std::string &smearing_method,
const double &smearing_sigma);
24 static const bool&
fix(
void)
40 const std::vector<double>& wk,
47 const std::vector<int>& isk);
50 const std::vector<double>& wk,
53 const double& smearing_sigma,
60 const std::vector<int>& isk);
62 static void tweights(
const int nks,
const int nspin,
const int nband,
63 const double &nelec,
const int ntetra,
73 const std::vector<double>& wk,
74 const double& smearing_sigma,
78 const std::vector<int>& isk);
83 const std::vector<double>& wk,
84 const double& smearing_sigma,
88 const std::vector<int>& isk);
90 static double wgauss(
const double& x,
const int n);
92 static double w1gauss(
const double& x,
const int n);
3 elements vector
Definition vector3.h:22
static double gaussian_parameter
Definition occupy.h:34
static int gaussian_type
Definition occupy.h:33
static double w1gauss(const double &x, const int n)
Definition occupy.cpp:514
static void iweights(const int nks, const std::vector< double > &wk, const int nband, const double &nelec, const ModuleBase::matrix &ekb, double &ef, ModuleBase::matrix &wg, const int &is, const std::vector< int > &isk)
calculates weights and fermi energy for semiconductors and insulators
Definition occupy.cpp:131
static double wgauss(const double &x, const int n)
Definition occupy.cpp:432
static bool use_gaussian_broadening
Definition occupy.h:32
static void gweights(const int nks, const std::vector< double > &wk, const int nband, const double &nelec, const double &smearing_sigma, const int ngauss, const ModuleBase::matrix &ekb, double &ef, double &demet, ModuleBase::matrix &wg, const int &is, const std::vector< int > &isk)
calculates weights with the gaussian spreading technique
Definition occupy.cpp:205
static double sumkg(const ModuleBase::matrix &ekb, const int nband, const int nks, const std::vector< double > &wk, const double &smearing_sigma, const int ngauss, const double &e, const int &is, const std::vector< int > &isk)
This function computes the number of states under a given energy e.
Definition occupy.cpp:391
static double sumkt(double **ekb, const int nband, const int nks, const int nspin, const int ntetra, const ModuleBase::matrix &tetra, const double &eup)
static void piksort(const int n, double *a)
static const bool & fix(void)
Definition occupy.h:24
static void efermit(double **ekb, const int nband, const int nks, const double &nelec, const int nspin, const int ntetra, const ModuleBase::matrix &tetra, double &ef)
static void efermig(const ModuleBase::matrix &ekb, const int nbnd, const int nks, const double &nelec, const std::vector< double > &wk, const double &smearing_sigma, const int ngauss, double &ef, const int &is, const std::vector< int > &isk)
Finds the Fermi energy.
Definition occupy.cpp:268
Occupy()
Definition occupy.cpp:8
static bool fixed_occupations
Definition occupy.h:37
~Occupy()
Definition occupy.cpp:11
static const bool & gauss(void)
Definition occupy.h:19
static void decision(const std::string &name, const std::string &smearing_method, const double &smearing_sigma)
Definition occupy.cpp:28
static void tweights(const int nks, const int nspin, const int nband, const double &nelec, const int ntetra, const ModuleBase::matrix &tetra, double **ekb, double &ef, ModuleBase::matrix &wg)
static double wsweight(const ModuleBase::Vector3< double > &r, ModuleBase::Vector3< double > *rws, const int nrws)