Loading...
Searching...
No Matches
q3::PlanewaveKohnShamEnergyCalculator Class Reference

#include <energy_calculator.hpp>

Public Member Functions

 PlanewaveKohnShamEnergyCalculator (const KPointsGrid &kpoint_grid, const PlanewaveKohnShamQuantumSystem &quantum_system, const SmearingScheme *smearing_scheme)
 
Real compute_band_energy (int number_of_bands, int number_of_spin_components) const
 
Real compute_smearing_entropy (int number_of_bands, int number_of_spin_components) const
 

Detailed Description

Computes the band energy and smearing entropy contribution from the occupied Kohn-Sham eigenvalues and occupations.

All referenced objects must outlive this calculator (non-owning references). The smearing_scheme pointer is nullable; pass nullptr for insulators.

Definition at line 33 of file energy_calculator.hpp.

Constructor & Destructor Documentation

◆ PlanewaveKohnShamEnergyCalculator()

q3::PlanewaveKohnShamEnergyCalculator::PlanewaveKohnShamEnergyCalculator ( const KPointsGrid &  kpoint_grid,
const PlanewaveKohnShamQuantumSystem &  quantum_system,
const SmearingScheme *  smearing_scheme 
)
inline

Construct a calculator bound to the given k-point grid, quantum system, and smearing scheme.

Parameters
kpoint_gridK-point grid providing coordinates and integration weights.
quantum_systemThe Kohn-Sham quantum system (eigenvalues, occupations, Fermi energy).
smearing_schemePointer to the active smearing scheme, or nullptr for no smearing.

Definition at line 43 of file energy_calculator.hpp.

Member Function Documentation

◆ compute_band_energy()

Real q3::PlanewaveKohnShamEnergyCalculator::compute_band_energy ( int  number_of_bands,
int  number_of_spin_components 
) const
inline

Compute the band energy: Σ_{k,n} w_k * f_{k,n} * ε_{k,n} (Ry).

Parameters
number_of_bandsNumber of bands per k-point state.
number_of_spin_components1 (non-spin-polarized) or 2 (LSDA).

Definition at line 56 of file energy_calculator.hpp.

References q3::PlanewaveKohnShamQuantumSystem::eigenvalue(), q3::KPointsGrid::number_of_kpoints(), and q3::PlanewaveKohnShamQuantumSystem::occupation_by_kpoint_state_index_and_band_index().

◆ compute_smearing_entropy()

Real q3::PlanewaveKohnShamEnergyCalculator::compute_smearing_entropy ( int  number_of_bands,
int  number_of_spin_components 
) const
inline

Compute the smearing entropy contribution -T*S (Ry).

Returns 0.0 immediately if no smearing scheme is active.

Parameters
number_of_bandsNumber of bands per k-point state.
number_of_spin_components1 (non-spin-polarized) or 2 (LSDA).

Definition at line 84 of file energy_calculator.hpp.

References q3::PlanewaveKohnShamQuantumSystem::eigenvalue(), q3::SmearingScheme::entropy_weight(), q3::PlanewaveKohnShamQuantumSystem::fermi_energy(), q3::KPointsGrid::number_of_kpoints(), q3::SmearingScheme::smearing_width(), and q3::SmearingScheme::uses_smearing().


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