50 return "disentanglement_unconverged";
52 return "disentanglement_unsupported";
54 return "frozen_window_overfull";
56 return "kept_bands_underfull";
58 return "gauge_singular";
60 return "gauge_collapsed";
62 return "overlaps_not_orthonormal";
64 return "localization_unsupported";
66 return "two_point_axis";
68 throw std::logic_error(
"wannier_diagnostic_name: an enumerator without a name");
std::string wannier_diagnostic_name(WannierDiagnostic diagnostic)
The enumerator's own spelling, which is what the diagnostic: line prints.
@ two_point_axis
The k-mesh has an axis of two points, on which k+b and k-b coincide.
@ overlaps_not_orthonormal
The gauge-invariant spread came out negative: the overlaps are not of orthonormal states.
@ frozen_window_overfull
A k-point freezes more bands than there are Wannier functions.
@ gauge_singular
The trial orbitals do not span the chosen manifold at some k-point.
@ disentanglement_unsupported
The record lacks the overlaps or the projectabilities that disentanglement reads.
@ localization_unsupported
The record lacks the overlaps that localisation minimises.
@ kept_bands_underfull
A k-point keeps fewer bands than there are Wannier functions.
@ disentanglement_unconverged
The subspace iteration exhausted its budget; the error carries the spreads it reached.
@ gauge_collapsed
A diagonal overlap vanished, so a Berry phase – a centre – is undefined.