Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
Loading...
Searching...
No Matches
spin_resolved_entity.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* SpinResolvedEntity — base class for quantum entities with spin-resolved data.
5
*
6
* Provides common spin component count and spin-polarization query for
7
* charge density, effective potential, and other spin-resolved quantities.
8
* The number of spin components is set at construction time by subclasses.
9
*
10
* Convention:
11
* number_of_spin_components = 1 → non-spin-polarized (LDA/GGA)
12
* number_of_spin_components = 2 → spin-polarized (LSDA/spin-GGA)
13
*/
14
15
namespace
q3
{
16
17
class
SpinResolvedEntity
{
18
public
:
19
virtual
~SpinResolvedEntity
() =
default
;
20
21
[[nodiscard]]
int
number_of_spin_components
()
const
{
22
return
number_of_spin_components_
;
23
}
24
[[nodiscard]]
bool
is_spin_polarized
()
const
{
25
return
number_of_spin_components_
>= 2;
26
}
27
28
protected
:
29
int
number_of_spin_components_
= 1;
30
};
31
32
}
// namespace q3
q3::SpinResolvedEntity
Definition
spin_resolved_entity.hpp:17
q3::SpinResolvedEntity::number_of_spin_components
int number_of_spin_components() const
Definition
spin_resolved_entity.hpp:21
q3::SpinResolvedEntity::is_spin_polarized
bool is_spin_polarized() const
Definition
spin_resolved_entity.hpp:24
q3::SpinResolvedEntity::number_of_spin_components_
int number_of_spin_components_
Definition
spin_resolved_entity.hpp:29
q3::SpinResolvedEntity::~SpinResolvedEntity
virtual ~SpinResolvedEntity()=default
q3
Definition
q3_core_api.hpp:33
src
layer_2_quantum_system
core
spin_resolved_entity.hpp
Generated by
1.9.8