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

#include <init.hpp>

Public Member Functions

bool demands_localization () const
 True when localisation is demanded, so a record that cannot support it is an error.
 
bool disentangles () const
 
bool localizes () const
 True unless localisation was refused outright.
 

Static Public Member Functions

static WannierConstructionSettings from (const InterpolationSpecification &specification)
 

Public Attributes

std::optional< ProjectabilityDisentanglementSettings > disentanglement
 
LocalizationPolicy localization = LocalizationPolicy::None
 
SpreadMinimizationSettings spread_minimization
 The spread minimiser's settings, read only when a gauge is localised.
 

Detailed Description

Definition at line 31 of file init.hpp.

Member Function Documentation

◆ demands_localization()

bool q3::WannierConstructionSettings::demands_localization ( ) const
inline

True when localisation is demanded, so a record that cannot support it is an error.

Definition at line 84 of file init.hpp.

Referenced by q3::create_gauge_choice().

◆ disentangles()

bool q3::WannierConstructionSettings::disentangles ( ) const
inline

Definition at line 76 of file init.hpp.

Referenced by q3::create_subspace_selection().

◆ from()

static WannierConstructionSettings q3::WannierConstructionSettings::from ( const InterpolationSpecification &  specification)
inlinestatic

The evaluation manifest's settings: the one place the control.interpolation knobs are mapped onto the builder's.

Disentanglement and localisation are chosen when the model is EVALUATED, not when the record is captured: the record stores the raw window, its projectabilities and its overlaps, so the same capture serves a run with them and a run without, and the Wannier90 export keeps handing another code the untouched matrices. Whether the record can support what the manifest asks for is the builder's question, answered against the record itself (gauge/factory.hpp).

Definition at line 56 of file init.hpp.

References q3::BandClassificationThresholds::automatic_frozen_window, q3::DisentanglementSettings::convergence_tolerance, disentanglement, q3::InterpolationSpecification::disentanglement_convergence_tolerance, q3::InterpolationSpecification::disentanglement_maximum_iterations, q3::InterpolationSpecification::disentangles(), q3::InterpolationSpecification::frozen_window_above_fermi_ev, q3::BandClassificationThresholds::frozen_window_above_fermi_rydberg, q3::InterpolationSpecification::frozen_window_is_automatic, q3::ProjectabilityDisentanglementSettings::iteration, q3::InterpolationSpecification::localization, localization, q3::InterpolationSpecification::localization_maximum_iterations, q3::localization_policy_from(), q3::DisentanglementSettings::maximum_iterations, q3::SpreadMinimizationSettings::maximum_iterations, q3::InterpolationSpecification::projectability_maximum, q3::BandClassificationThresholds::projectability_maximum, q3::InterpolationSpecification::projectability_minimum, q3::BandClassificationThresholds::projectability_minimum, spread_minimization, and q3::ProjectabilityDisentanglementSettings::thresholds.

◆ localizes()

bool q3::WannierConstructionSettings::localizes ( ) const
inline

True unless localisation was refused outright.

Definition at line 80 of file init.hpp.

Referenced by q3::create_gauge_choice().

Member Data Documentation

◆ disentanglement

std::optional<ProjectabilityDisentanglementSettings> q3::WannierConstructionSettings::disentanglement

Absent, the band window must already be exactly the N states the gauge is built from, which is what an isolated manifold gives. Present, classification and the subspace iteration choose them out of a wider window, which is what an entangled manifold needs.

Definition at line 38 of file init.hpp.

Referenced by q3::create_subspace_selection(), and from().

◆ localization

LocalizationPolicy q3::WannierConstructionSettings::localization = LocalizationPolicy::None

Definition at line 39 of file init.hpp.

Referenced by from().

◆ spread_minimization

SpreadMinimizationSettings q3::WannierConstructionSettings::spread_minimization

The spread minimiser's settings, read only when a gauge is localised.

Definition at line 41 of file init.hpp.

Referenced by q3::create_gauge_choice(), and from().


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