Loading...
Searching...
No Matches
q3::WannierInputs Struct Reference

#include <inputs.hpp>

Public Member Functions

bool has_overlaps () const
 Whether the record carries M_mn(k,b): the spread and the subspace iteration need it.
 
bool has_projectabilities () const
 Whether the record carries p_nk: classification by projectability needs it.
 
bool has_trial_orbital_centers () const
 Whether every trial orbital's position is known: the localiser's guiding centres.
 
int number_of_kpoints () const
 

Public Attributes

std::vector< std::vector< Real > > eigenvalues_rydberg
 Eigenvalues in Rydberg, indexed [kpoint_index][band_index].
 
Real fermi_energy_rydberg = 0.0
 
std::vector< Vector3D > kpoint_coordinates
 
std::array< int, 3 > kpoint_grid_dimensions = {0, 0, 0}
 
std::vector< KPointNeighborDirection > neighbor_directions
 
int number_of_bands = 0
 
int number_of_spin_components = 1
 
int number_of_trial_orbitals = 0
 
std::vector< std::vector< std::vector< Complex > > > overlap_matrices
 
std::vector< std::vector< Real > > projectabilities
 p_nk = sum_m |A_mn(k)|^2, indexed [kpoint_index][band_index].
 
std::vector< std::vector< Complex > > projection_matrices
 
std::vector< Vector3D > trial_orbital_centers_bohr
 

Detailed Description

Definition at line 29 of file inputs.hpp.

Member Function Documentation

◆ has_overlaps()

bool q3::WannierInputs::has_overlaps ( ) const
inline

Whether the record carries M_mn(k,b): the spread and the subspace iteration need it.

Definition at line 94 of file inputs.hpp.

Referenced by q3::WannierConstructionInputs::WannierConstructionInputs().

◆ has_projectabilities()

bool q3::WannierInputs::has_projectabilities ( ) const
inline

Whether the record carries p_nk: classification by projectability needs it.

Definition at line 98 of file inputs.hpp.

◆ has_trial_orbital_centers()

bool q3::WannierInputs::has_trial_orbital_centers ( ) const
inline

Whether every trial orbital's position is known: the localiser's guiding centres.

Definition at line 102 of file inputs.hpp.

Referenced by q3::MaximallyLocalizedGaugeChoice::choose(), and q3::ProjectionGaugeChoice::choose().

◆ number_of_kpoints()

Member Data Documentation

◆ eigenvalues_rydberg

std::vector<std::vector<Real> > q3::WannierInputs::eigenvalues_rydberg

◆ fermi_energy_rydberg

Real q3::WannierInputs::fermi_energy_rydberg = 0.0

◆ kpoint_coordinates

std::vector<Vector3D> q3::WannierInputs::kpoint_coordinates

Crystal (fractional) coordinates, one per physical k-point, in the same enumeration order KPointsGrid::generate() produces.

Definition at line 42 of file inputs.hpp.

Referenced by q3::import_wannier90_files(), q3::internal::wannier_payload::read(), q3::internal::wannier_payload::write(), and q3::Wannier90FormatWriter::write_neighbor_list().

◆ kpoint_grid_dimensions

std::array<int, 3> q3::WannierInputs::kpoint_grid_dimensions = {0, 0, 0}

Monkhorst-Pack grid dimensions this record's k-points were generated on – a full, unreduced grid: the construction sums over every k-point's neighbours, and has no path through a symmetry-reduced wedge.

Definition at line 37 of file inputs.hpp.

Referenced by q3::WannierConstructionInputs::WannierConstructionInputs(), q3::import_wannier90_files(), q3::internal::wannier_payload::read(), q3::MaximallyLocalizedGaugeChoice::require_supported(), q3::internal::wannier_payload::write(), q3::Wannier90FormatWriter::write_neighbor_list(), and q3::Wannier90FormatWriter::write_overlaps().

◆ neighbor_directions

◆ number_of_bands

◆ number_of_spin_components

int q3::WannierInputs::number_of_spin_components = 1

◆ number_of_trial_orbitals

◆ overlap_matrices

std::vector<std::vector<std::vector<Complex> > > q3::WannierInputs::overlap_matrices

M_mn(k,b) = <u_mk|u_n,k+b>, one entry per (k, b, m, n): indexed [kpoint_index][direction_index][neighbor_band_index * number_of_bands

  • band_index] – the k-side band m varies fastest, i.e. each (k,b) block is column-major with m as the row index, the dense-linear- algebra convention the localizer expects and the order a .mmn block is written in.

Definition at line 60 of file inputs.hpp.

Referenced by q3::WannierConstructionInputs::WannierConstructionInputs(), q3::Wannier90Exporter::export_to_directory(), q3::internal::wannier_payload::read(), q3::internal::wannier_payload::write(), and q3::Wannier90FormatWriter::write_overlaps().

◆ projectabilities

std::vector<std::vector<Real> > q3::WannierInputs::projectabilities

p_nk = sum_m |A_mn(k)|^2, indexed [kpoint_index][band_index].

Definition at line 76 of file inputs.hpp.

Referenced by q3::BandClassifier::classify(), q3::import_wannier90_files(), q3::internal::wannier_payload::read(), and q3::internal::wannier_payload::write().

◆ projection_matrices

std::vector<std::vector<Complex> > q3::WannierInputs::projection_matrices

A_mn(k) = <psi_mk|S|g_n>, one entry per k-point: indexed [kpoint_index][orbital_index * number_of_bands + band_index] – the band m varies fastest (column-major with m as the row index), the layout PlanewaveWannierCapture packs, ProjectionGauge reads and the .amn writer streams.

Definition at line 68 of file inputs.hpp.

Referenced by q3::WannierConstructionInputs::WannierConstructionInputs(), q3::import_wannier90_files(), q3::internal::wannier_payload::read(), q3::internal::wannier_payload::write(), and q3::Wannier90FormatWriter::write_projections().

◆ trial_orbital_centers_bohr

std::vector<Vector3D> q3::WannierInputs::trial_orbital_centers_bohr

Where each trial orbital was placed, Cartesian, in BOHR, one per orbital in orbital order – the same frame and unit as the b-vectors, so b . r is dimensionless without a conversion. These are the localiser's guiding centres. Empty means the record predates them or was imported from a format that does not carry them; the localiser then falls back to the projection gauge's own centres and says so.

Definition at line 87 of file inputs.hpp.

Referenced by q3::MaximallyLocalizedGaugeChoice::choose(), q3::ProjectionGaugeChoice::choose(), q3::internal::wannier_payload::read(), and q3::internal::wannier_payload::write().


The documentation for this struct was generated from the following file: