Abstract interface for electronic smearing schemes. More...
#include <init.hpp>
Inheritance diagram for q3::SmearingScheme:Public Member Functions | |
| SmearingScheme (Real smearing_width=0.0) | |
| virtual | ~SmearingScheme ()=default |
| virtual Real | entropy_weight (Real x) const =0 |
| Compute the entropy contribution δ(x) weight. | |
| virtual std::string | name () const =0 |
| virtual Real | occupation (Real x) const =0 |
| Compute the occupation f(x) where x = (E - E_F) / σ. | |
| Real | smearing_width () const |
| Smearing width σ (degauss) in Ry. | |
| bool | uses_smearing () const |
| Whether this scheme uses actual smearing (width > 0). | |
Protected Attributes | |
| Real | smearing_width_ |
|
inlineexplicit |
|
virtualdefault |
Compute the entropy contribution δ(x) weight.
Implemented in q3::FermiDiracSmearing, q3::GaussianSmearing, q3::MarzariVanderbiltSmearing, q3::MethfesselPaxtonSmearing, and q3::FixedOccupation.
Referenced by q3::PlanewaveKohnShamEnergyCalculator::compute_smearing_entropy().
|
pure virtual |
Compute the occupation f(x) where x = (E - E_F) / σ.
Implemented in q3::FermiDiracSmearing, q3::FixedOccupation, q3::GaussianSmearing, q3::MarzariVanderbiltSmearing, and q3::MethfesselPaxtonSmearing.
|
inline |
Smearing width σ (degauss) in Ry.
Definition at line 33 of file init.hpp.
References smearing_width_.
Referenced by q3::PlanewaveKohnShamEnergyCalculator::compute_smearing_entropy().
|
inline |
Whether this scheme uses actual smearing (width > 0).
Definition at line 38 of file init.hpp.
References smearing_width_, and q3::math::tolerances::smearing_width_threshold.
Referenced by q3::PlanewaveKohnShamEnergyCalculator::compute_smearing_entropy(), and q3::PlanewaveFermiEnergyCalculator::uses_smearing().
|
protected |
Definition at line 43 of file init.hpp.
Referenced by smearing_width(), and uses_smearing().