MaximallyLocalizedWannierFunctions

Documentation for MaximallyLocalizedWannierFunctions.

MaximallyLocalizedWannierFunctions.MLWFType
MLWF(tba::TBA, brillouinzone::BrillouinZone, bands::AbstractVector{Int}, guess::Union{δ, Nothing}=nothing; kwargs...)
MLWF(hamiltonian::Function, lattice::Lattice, brillouinzone::BrillouinZone, bands::AbstractVector{Int}, guess::Union{δ, Nothing}=nothing; kwargs...)

Initialize a set of maximally localized Wannier functions.

source
MaximallyLocalizedWannierFunctions.finitedifferencesMethod
finitedifferences(vectors::AbstractVector{<:AbstractVector}; nneighbor::Int=12, coordination::Int=12) -> Tuple{Vector, Vector{Vector}}

Get the weights and difference vectors of a Monkhorst-Pack discretization scheme whose minimum mesh translations are given by vectors.

See Sec. 3.2 in Reference for the details of the method.

source
MaximallyLocalizedWannierFunctions.gradientMethod
gradient(mlwf::MLWF) -> Vector{Matrix{Complex{dtype(mlwf)}}}

The gradient of the spread functional of the Wannier functions with respect to the infinitesimal gauge transformations at each momentum point.

source
QuantumLattices.update!Method
update!(mlwf::MLWF, ::GradientDescent) -> MLWF

Update the maximally localized Wannier functions by the gradient descent method.

source
TightBindingApproximation.optimize!Function
optimize!(mlwf::MLWF, method::FirstOrderOptimizer=GradientDescent(); maxiter::Int=20000, atol=atol, rtol=rtol, verbose::Union{Nothing, Int}=nothing) -> MLWF

Optimize a set of Wannier function to minimize the spread functional.

source