Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
kpoint_band_classification.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* KPointBandClassification — one k-point's verdict: the role of every band,
5
* and the working basis the subspace iteration sees.
6
*/
7
8
#include <vector>
9
10
#include "
layer_4_computation/interpolator/method/wannier/internal/band_role.hpp
"
11
12
namespace
q3
{
13
14
struct
[[nodiscard]]
KPointBandClassification
{
15
std::vector<BandRole>
roles
;
16
/// Band indices that survive, frozen first is NOT assumed; ascending.
17
std::vector<int>
kept_bands
;
18
/// Positions within `kept_bands` that are frozen, ascending.
19
std::vector<int>
frozen_positions
;
20
21
[[nodiscard]]
int
number_kept
()
const
{
22
return
static_cast<
int
>
(kept_bands.size());
23
}
24
[[nodiscard]]
int
number_frozen
()
const
{
25
return
static_cast<
int
>
(frozen_positions.size());
26
}
27
};
28
29
}
// namespace q3
band_role.hpp
q3
Definition
q3_core_api.hpp:33
q3::KPointBandClassification
Definition
kpoint_band_classification.hpp:14
q3::KPointBandClassification::number_frozen
int number_frozen() const
Definition
kpoint_band_classification.hpp:24
q3::KPointBandClassification::number_kept
int number_kept() const
Definition
kpoint_band_classification.hpp:21
q3::KPointBandClassification::kept_bands
std::vector< int > kept_bands
Band indices that survive, frozen first is NOT assumed; ascending.
Definition
kpoint_band_classification.hpp:17
q3::KPointBandClassification::frozen_positions
std::vector< int > frozen_positions
Positions within kept_bands that are frozen, ascending.
Definition
kpoint_band_classification.hpp:19
q3::KPointBandClassification::roles
std::vector< BandRole > roles
Definition
kpoint_band_classification.hpp:15
src
layer_4_computation
interpolator
method
wannier
internal
kpoint_band_classification.hpp
Generated by
1.9.8