Loading...
Searching...
No Matches
q3::NormConservingPlanewaveKohnShamEnergies Struct Reference

#include <init.hpp>

+ Inheritance diagram for q3::NormConservingPlanewaveKohnShamEnergies:

Public Member Functions

Real dispersion_energy () const override
 
Real hubbard_energy_contribution () const override
 
Real one_center_energy_contribution () const override
 
Real total () const override
 Return the total energy as the sum of all component fields.
 
- Public Member Functions inherited from q3::PlanewaveKohnShamEnergies
Real total () const override
 Return the total energy as the sum of all component fields.
 
- Public Member Functions inherited from q3::SCFEnergies
virtual ~SCFEnergies ()=default
 

Public Attributes

Real hubbard_energy = 0.0
 
Real one_center_energy = 0.0
 
Real van_der_waals_energy = 0.0
 
- Public Attributes inherited from q3::PlanewaveKohnShamEnergies
Real ewald_energy = 0.0
 
Real smearing_entropy_contribution = 0.0
 
- Public Attributes inherited from q3::KohnShamEnergies
Real band_energy = 0.0
 
Real double_counting_correction = 0.0
 
Real exchange_correlation_energy = 0.0
 
Real exchange_correlation_potential_energy = 0.0
 
Real hartree_energy = 0.0
 

Detailed Description

Pseudopotential plane-wave Kohn-Sham energy components in Rydberg.

Extends PlanewaveKohnShamEnergies with correction terms that are specific to pseudopotential calculations: DFT+U Hubbard correction and dispersion (van der Waals) correction. Both are zero unless explicitly enabled.

Definition at line 14 of file init.hpp.

Member Function Documentation

◆ dispersion_energy()

Real q3::NormConservingPlanewaveKohnShamEnergies::dispersion_energy ( ) const
inlineoverridevirtual

Dispersion (van der Waals) correction, in Ry. 0 unless a subclass (e.g. the pseudopotential energies struct) overrides this to expose its own dispersion-correction field, for reporting purposes.

Reimplemented from q3::PlanewaveKohnShamEnergies.

Definition at line 36 of file init.hpp.

References van_der_waals_energy.

◆ hubbard_energy_contribution()

Real q3::NormConservingPlanewaveKohnShamEnergies::hubbard_energy_contribution ( ) const
inlineoverridevirtual

DFT+U (Hubbard) correction, in Ry. 0 unless a subclass overrides this to expose its own hubbard-energy field, for reporting purposes.

Reimplemented from q3::PlanewaveKohnShamEnergies.

Definition at line 40 of file init.hpp.

References hubbard_energy.

◆ one_center_energy_contribution()

Real q3::NormConservingPlanewaveKohnShamEnergies::one_center_energy_contribution ( ) const
inlineoverridevirtual

PAW one-center contribution Σ_a (E¹_a − Ẽ¹_a), in Ry. 0 unless a subclass overrides this to expose its own field, for reporting purposes.

Reimplemented from q3::PlanewaveKohnShamEnergies.

Definition at line 44 of file init.hpp.

References one_center_energy.

◆ total()

Real q3::NormConservingPlanewaveKohnShamEnergies::total ( ) const
inlineoverridevirtual

Return the total energy as the sum of all component fields.

Reimplemented from q3::KohnShamEnergies.

Definition at line 31 of file init.hpp.

References hubbard_energy, one_center_energy, q3::PlanewaveKohnShamEnergies::total(), and van_der_waals_energy.

Member Data Documentation

◆ hubbard_energy

Real q3::NormConservingPlanewaveKohnShamEnergies::hubbard_energy = 0.0

Definition at line 15 of file init.hpp.

Referenced by hubbard_energy_contribution(), and total().

◆ one_center_energy

Real q3::NormConservingPlanewaveKohnShamEnergies::one_center_energy = 0.0

PAW one-center contribution Σ_a (E¹_a − Ẽ¹_a), in Ry. 0 for NC and ultrasoft.

Its counterpart, −Σ_a Σ_ij ρ_ij D^oc_ij, goes into double_counting_correction rather than here, because that is what it is: the on-site potential entered the band energy through D, and the band energy is what the double-counting term exists to correct. Keeping the two in separate fields is what lets the A2.6 failure ladder compare the one-center total against QE's printed value directly.

Definition at line 29 of file init.hpp.

Referenced by q3::PawPlanewavePseudopotentialKohnShamSCFIterator::compute_energy_components(), one_center_energy_contribution(), and total().

◆ van_der_waals_energy

Real q3::NormConservingPlanewaveKohnShamEnergies::van_der_waals_energy = 0.0

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