30[[nodiscard]]
inline std::unique_ptr<GaugeChoice>
34 return std::make_unique<ProjectionGaugeChoice>();
37 log::info(
"interpolate: the record carries no neighbour overlaps, so the projection gauge "
38 "is used as it stands; ask for control.interpolation.localization: maximal to "
39 "make that an error instead");
40 return std::make_unique<ProjectionGaugeChoice>();
static void require_supported(const WannierConstructionInputs &inputs)
Throws WannierDiagnosticError, with the way out named, when the record cannot be localised.
void info(spdlog::format_string_t< Args... > fmt, Args &&... args)
std::unique_ptr< GaugeChoice > create_gauge_choice(const WannierConstructionSettings &settings, const WannierConstructionInputs &inputs)
bool localizes() const
True unless localisation was refused outright.
SpreadMinimizationSettings spread_minimization
The spread minimiser's settings, read only when a gauge is localised.
bool demands_localization() const
True when localisation is demanded, so a record that cannot support it is an error.