16 static void decision(
const std::string &name,
const std::string &smearing_method,
const double &smearing_sigma);
23 static const bool&
fix(
void)
39 const std::vector<double>& wk,
46 const std::vector<int>& isk);
49 const std::vector<double>& wk,
52 const double& smearing_sigma,
59 const std::vector<int>& isk);
61 static void tweights(
const int nks,
const int nspin,
const int nband,
62 const double &nelec,
const int ntetra,
72 const std::vector<double>& wk,
73 const double& smearing_sigma,
77 const std::vector<int>& isk);
82 const std::vector<double>& wk,
83 const double& smearing_sigma,
87 const std::vector<int>& isk);
89 static double wgauss(
const double& x,
const int n);
91 static double w1gauss(
const double& x,
const int n);
3 elements vector
Definition vector3.h:24
static double gaussian_parameter
Definition occupy.h:33
static int gaussian_type
Definition occupy.h:32
static double w1gauss(const double &x, const int n)
Definition occupy.cpp:515
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:433
static bool use_gaussian_broadening
Definition occupy.h:31
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:204
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:392
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:23
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:267
Occupy()
Definition occupy.cpp:8
static bool fixed_occupations
Definition occupy.h:36
~Occupy()
Definition occupy.cpp:11
static const bool & gauss(void)
Definition occupy.h:18
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)