(git:6344619)
Loading...
Searching...
No Matches
wannier90_projections Module Reference

Gauge-covariant selection of fixed trial orbitals for Wannier90. More...

Functions/Subroutines

subroutine, public wannier90_window_mask (eigenvalues, num_wann, windows, window_set, allowed)
 Restrict fixed trial selection to the bands admitted by disentanglement windows.
subroutine, public wannier90_hybrid_candidates (ao, groups, candidates)
 Form tetrahedral s/p trials from the full AO bank before selecting projections.
subroutine, public wannier90_select_projections (candidates, para_env, amn, pivots, min_svalue, anchor_kpoint)
 Select the same trial orbitals at every k-point using a mesh-wide pivoted QR.
real(kind=dp) function, public wannier90_projection_rank (amn, rank_defect)
 Validate the trial rank independently at every k-point.

Detailed Description

Gauge-covariant selection of fixed trial orbitals for Wannier90.

Author
Thomas D. Kuehne, tkueh.nosp@m.ne@c.nosp@m.p2k.o.nosp@m.rg

Function/Subroutine Documentation

◆ wannier90_window_mask()

subroutine, public wannier90_projections::wannier90_window_mask ( real(kind=dp), dimension(:), intent(in) eigenvalues,
integer, intent(in) num_wann,
real(kind=dp), dimension(4), intent(in) windows,
logical, dimension(4), intent(in) window_set,
logical, dimension(:), intent(out) allowed )

Restrict fixed trial selection to the bands admitted by disentanglement windows.

Parameters
eigenvaluesExported eigenvalues in the same units as the windows.
num_wannNumber of target Wannier functions.
windowsOuter minimum/maximum and frozen minimum/maximum energies.
window_setWhether each bound is explicitly set.
allowedBands used to select the physical trial orbitals.

Definition at line 37 of file wannier90_projections.F.

Here is the caller graph for this function:

◆ wannier90_hybrid_candidates()

subroutine, public wannier90_projections::wannier90_hybrid_candidates ( complex(kind=dp), dimension(:, :, :), intent(in) ao,
integer, dimension(:, :), intent(in) groups,
complex(kind=dp), dimension(:, :, :), intent(out), allocatable candidates )

Form tetrahedral s/p trials from the full AO bank before selecting projections.

Parameters
aoBand/AO/k-point projections on the source rank, empty elsewhere.
groupsAO indices of one s and three p functions for each radial shell pair.
candidatesHybrid trials and AOs not belonging to any hybrid group.

Definition at line 72 of file wannier90_projections.F.

Here is the caller graph for this function:

◆ wannier90_select_projections()

subroutine, public wannier90_projections::wannier90_select_projections ( complex(kind=dp), dimension(:, :, :), intent(in) candidates,
type(mp_para_env_type), pointer para_env,
complex(kind=dp), dimension(:, :, :), intent(out) amn,
integer, dimension(:), intent(out) pivots,
real(kind=dp), intent(out) min_svalue,
integer, intent(in), optional anchor_kpoint )

Select the same trial orbitals at every k-point using a mesh-wide pivoted QR.

Parameters
candidatesBand/candidate/k-point projections, stored only on the source rank.
para_envGlobal parallel environment.
amnSelected projection matrices, allocated with the target dimensions on all ranks.
pivotsSelected candidate indices, allocated on all ranks.
min_svalueSmallest singular value of the selected projections over the mesh.
anchor_kpointOptional fixed QR anchor; zero selects the stacked mesh. Without an explicit anchor, try individual k-points if the stacked selection loses rank.

Definition at line 129 of file wannier90_projections.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ wannier90_projection_rank()

real(kind=dp) function, public wannier90_projections::wannier90_projection_rank ( complex(kind=dp), dimension(:, :, :), intent(in) amn,
integer, intent(out), optional rank_defect )

Validate the trial rank independently at every k-point.

Parameters
amnBand/trial/k-point projections, possibly rectangular.
rank_defectTotal number of missing trial directions summed over the mesh.
Returns
Smallest singular value over all k-points.

Definition at line 286 of file wannier90_projections.F.

Here is the caller graph for this function: