#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. | |
|
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().
|
inline |
Definition at line 76 of file init.hpp.
Referenced by q3::create_subspace_selection().
|
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.
|
inline |
True unless localisation was refused outright.
Definition at line 80 of file init.hpp.
Referenced by q3::create_gauge_choice().
| 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().
| LocalizationPolicy q3::WannierConstructionSettings::localization = LocalizationPolicy::None |
| 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().