Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
reciprocal_space.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* Reciprocal-space wavefunction.
5
*
6
* A wavefunction defined as a function of a reciprocal-space vector.
7
* ψ(G): reciprocal space → C
8
*/
9
10
#include "
layer_0_core/types/init.hpp
"
11
#include "
layer_1_structure/reciprocal_space/reciprocal_space_vector.hpp
"
12
#include "
layer_2_quantum_system/core/wavefunction/init.hpp
"
13
14
namespace
q3
{
15
16
/// A wavefunction in reciprocal space: ψ(G).
17
class
ReciprocalSpaceWavefunction
:
public
Wavefunction
{
18
public
:
19
~ReciprocalSpaceWavefunction
()
override
=
default
;
20
21
/// Evaluate the wavefunction at a reciprocal-space vector.
22
[[nodiscard]]
virtual
Complex
evaluate
(
const
ReciprocalSpaceVector
& g_vector)
const
= 0;
23
};
24
25
}
// namespace q3
q3::ReciprocalSpaceWavefunction
A wavefunction in reciprocal space: ψ(G).
Definition
reciprocal_space.hpp:17
q3::ReciprocalSpaceWavefunction::~ReciprocalSpaceWavefunction
~ReciprocalSpaceWavefunction() override=default
q3::ReciprocalSpaceWavefunction::evaluate
virtual Complex evaluate(const ReciprocalSpaceVector &g_vector) const =0
Evaluate the wavefunction at a reciprocal-space vector.
q3::Wavefunction
Abstract base for all wavefunction types.
Definition
init.hpp:17
init.hpp
init.hpp
q3
Definition
q3_core_api.hpp:33
q3::Complex
std::complex< double > Complex
Definition
type_aliases.hpp:21
reciprocal_space_vector.hpp
q3::ReciprocalSpaceVector
A vector in reciprocal space (Cartesian, units of 2π/alat).
Definition
reciprocal_space_vector.hpp:16
src
layer_2_quantum_system
core
wavefunction
reciprocal_space.hpp
Generated by
1.9.8