#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 |
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.
|
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.
|
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.
|
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.
|
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.
| Real q3::NormConservingPlanewaveKohnShamEnergies::hubbard_energy = 0.0 |
Definition at line 15 of file init.hpp.
Referenced by hubbard_energy_contribution(), and total().
| 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().
| Real q3::NormConservingPlanewaveKohnShamEnergies::van_der_waals_energy = 0.0 |
Definition at line 16 of file init.hpp.
Referenced by q3::PlanewavePseudopotentialKohnShamSCFIterator::compute_effective_potential_from_density(), dispersion_energy(), and total().