Loading...
Searching...
No Matches
init.hpp
Go to the documentation of this file.
1#pragma once
2
4
5namespace q3 {
6
7/**
8 * Base energy components in Rydberg.
9 *
10 * Abstract base for all SCF energy breakdowns. Concrete subtypes add
11 * physics-level energy terms (Hartree, XC, Ewald, …) and override total()
12 * to sum them.
13 *
14 * There is a single canonical energy value: the return value of total().
15 * No separately-stored field mirrors it — that would create a silent
16 * divergence risk when new terms are added to an override chain.
17 */
19 virtual ~SCFEnergies() = default;
20
21 /// Return the total energy as the sum of all component fields.
22 virtual Real total() const = 0;
23};
24
25} // namespace q3
double Real
virtual ~SCFEnergies()=default
virtual Real total() const =0
Return the total energy as the sum of all component fields.