Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
charge_density.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* ChargeDensity — abstract charge density.
5
*
6
* A scalar field property of a quantum system.
7
* Pure data container. Computation is done by calculators in layer 4.
8
*/
9
10
#include "
layer_0_core/types/init.hpp
"
11
#include "
layer_2_quantum_system/core/spin_resolved_entity.hpp
"
12
13
namespace
q3
{
14
15
/// Abstract charge density — a scalar field property of a quantum system.
16
class
ChargeDensity
:
public
SpinResolvedEntity
{
17
public
:
18
virtual
~ChargeDensity
() =
default
;
19
20
[[nodiscard]]
virtual
Real
get_total_charge
()
const
= 0;
21
virtual
void
reset
() = 0;
22
};
23
24
}
// namespace q3
q3::ChargeDensity
Abstract charge density — a scalar field property of a quantum system.
Definition
charge_density.hpp:16
q3::ChargeDensity::get_total_charge
virtual Real get_total_charge() const =0
q3::ChargeDensity::~ChargeDensity
virtual ~ChargeDensity()=default
q3::ChargeDensity::reset
virtual void reset()=0
q3::SpinResolvedEntity
Definition
spin_resolved_entity.hpp:17
init.hpp
q3
Definition
q3_core_api.hpp:33
q3::Real
double Real
Definition
type_aliases.hpp:20
spin_resolved_entity.hpp
src
layer_2_quantum_system
derived
charge_density.hpp
Generated by
1.9.8