30 [[nodiscard]]
virtual std::string
name()
const = 0;
Abstract interface for electronic smearing schemes.
virtual Real entropy_weight(Real x) const =0
Compute the entropy contribution δ(x) weight.
virtual std::string name() const =0
Real smearing_width() const
Smearing width σ (degauss) in Ry.
SmearingScheme(Real smearing_width=0.0)
virtual ~SmearingScheme()=default
virtual Real occupation(Real x) const =0
Compute the occupation f(x) where x = (E - E_F) / σ.
bool uses_smearing() const
Whether this scheme uses actual smearing (width > 0).
constexpr double smearing_width_threshold