Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The goal of this pr will be to implement gauge-covariant derivative operators.
I explain the theory in the following memo:
gauge.pdf.
Given coefficients
O_R
for a Wannier interpolant of an operatorO
, the only additional data that is required for these derivatives is a Berry connectionA_R
.What I would like to achieve is:
DerivativeSeries
in FourierSeriesEvaluators.jl) and a choice to transform betweenWannier
andHamiltonian
gaugesIntra/Inter
-band velocities) and a perturbation-theory calculation of the Berry connection in the Hamiltonian gauge (see the memo for how to do this for the inverse effective mass)AbstractWannierInterp
to contain properties such asgauge
andcoord
in a CommonSolve.jl problemload_wannier90_data
'sinterp
keyword so that it tries to load all possible input files into multiple Fourier series, and later pick those needed for the physical observable requested by the problemIt would be great to identify a unifying idea around which to organize the implementation, such as the gauge-covariant derivative mentioned above, as the current status of
src/interp.jl
is just a mish-mash ofAbstractFourierSeries
constructed from one another to obtain the requested observable.