Loading...
Searching...
No Matches
fixed.hpp
Go to the documentation of this file.
1#pragma once
2
3/**
4 * FixedOccupation — step-function occupation for insulating systems.
5 *
6 * All states below the Fermi energy are fully occupied (f=1), all above
7 * are empty (f=0). No smearing entropy contribution.
8 */
9
11
12namespace q3 {
13
14/// Fixed occupations (insulators): step function.
16 public:
18
19 [[nodiscard]] Real occupation(Real x) const override {
20 return x < 0.0 ? 1.0 : 0.0;
21 }
22 [[nodiscard]] Real entropy_weight(Real /* unused */) const override {
23 return 0.0;
24 }
25 [[nodiscard]] std::string name() const override {
26 return "fixed";
27 }
28};
29
30} // namespace q3
Fixed occupations (insulators): step function.
Definition fixed.hpp:15
Real entropy_weight(Real) const override
Compute the entropy contribution δ(x) weight.
Definition fixed.hpp:22
Real occupation(Real x) const override
Compute the occupation f(x) where x = (E - E_F) / σ.
Definition fixed.hpp:19
std::string name() const override
Definition fixed.hpp:25
Abstract interface for electronic smearing schemes.
Definition init.hpp:19
double Real