Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
init.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
layer_0_core/types/init.hpp
"
4
5
namespace
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
*/
18
struct
SCFEnergies
{
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
init.hpp
q3
Definition
q3_core_api.hpp:33
q3::Real
double Real
Definition
type_aliases.hpp:20
q3::SCFEnergies
Definition
init.hpp:18
q3::SCFEnergies::~SCFEnergies
virtual ~SCFEnergies()=default
q3::SCFEnergies::total
virtual Real total() const =0
Return the total energy as the sum of all component fields.
src
layer_4_computation
state
internal
energies
init.hpp
Generated by
1.9.8