Loading...
Searching...
No Matches
q3::SmearingScheme Class Referenceabstract

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_
 

Detailed Description

Abstract interface for electronic smearing schemes.

Definition at line 19 of file init.hpp.

Constructor & Destructor Documentation

◆ SmearingScheme()

q3::SmearingScheme::SmearingScheme ( Real  smearing_width = 0.0)
inlineexplicit

Definition at line 21 of file init.hpp.

◆ ~SmearingScheme()

virtual q3::SmearingScheme::~SmearingScheme ( )
virtualdefault

Member Function Documentation

◆ entropy_weight()

virtual Real q3::SmearingScheme::entropy_weight ( Real  x) const
pure virtual

◆ name()

virtual std::string q3::SmearingScheme::name ( ) const
pure virtual

◆ occupation()

virtual Real q3::SmearingScheme::occupation ( Real  x) const
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.

◆ smearing_width()

Real q3::SmearingScheme::smearing_width ( ) const
inline

Smearing width σ (degauss) in Ry.

Definition at line 33 of file init.hpp.

References smearing_width_.

Referenced by q3::PlanewaveKohnShamEnergyCalculator::compute_smearing_entropy().

◆ uses_smearing()

bool q3::SmearingScheme::uses_smearing ( ) const
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().

Member Data Documentation

◆ smearing_width_

Real q3::SmearingScheme::smearing_width_
protected

Definition at line 43 of file init.hpp.

Referenced by smearing_width(), and uses_smearing().


The documentation for this class was generated from the following file: