================================================== Contains information about the manifold of states from which the MLWFs are to be disentangled. ==================================================
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | win_min | = | -huge(0.0_dp) |
lower bound of the disentanglement outer window |
|
| real(kind=dp), | public | :: | win_max | = | huge(0.0_dp) |
upper bound of the disentanglement outer window |
|
| real(kind=dp), | public | :: | froz_min | = | -huge(0.0_dp) |
lower bound of the disentanglement inner (frozen) window |
|
| real(kind=dp), | public | :: | froz_max | = | huge(0.0_dp) |
upper bound of the disentanglement inner (frozen) window |
|
| logical, | public | :: | frozen_states | = | .false. |
whether to use energy frozen window, i.e., froz_min/froz_max |
|
| real(kind=dp), | public | :: | proj_min | = | -1.0_dp |
lower threshold of the projectability disentanglement, below are discarded (negative = unset: set explicitly or determined automatically via proj_auto) |
|
| real(kind=dp), | public | :: | proj_max | = | -1.0_dp |
upper threshold of the projectability disentanglement, equal and above are frozen (negative = unset: set explicitly or determined automatically via proj_auto) |
|
| logical, | public | :: | frozen_proj |
whether to use projectability frozen window, i.e., proj_min/proj_max |
|||
| logical, | public | :: | proj_auto | = | .true. |
whether to determine proj_min/proj_max automatically via multi-Otsu thresholding (ignored when proj_min/proj_max are set explicitly) |
|
| integer, | public | :: | proj_auto_num_classes | = | 5 |
number of classes for the automatic multi-Otsu projectability thresholds |
|
| integer, | public, | allocatable | :: | ndimwin(:) |
number of bands in outer window at each k |
||
| integer, | public, | allocatable | :: | nfirstwin(:) |
index of first band in outer window at each k |
||
| logical, | public, | allocatable | :: | lwindow(:,:) |
type dis_manifold_type !!================================================== !! Contains information about the manifold of states from which the MLWFs are to be disentangled. !!================================================== real(kind=dp) :: win_min = -huge(0.0_dp) !! lower bound of the disentanglement outer window real(kind=dp) :: win_max = huge(0.0_dp) !! upper bound of the disentanglement outer window real(kind=dp) :: froz_min = -huge(0.0_dp) !! lower bound of the disentanglement inner (frozen) window real(kind=dp) :: froz_max = huge(0.0_dp) !! upper bound of the disentanglement inner (frozen) window logical :: frozen_states = .false. !! whether to use energy frozen window, i.e., froz_min/froz_max real(kind=dp) :: proj_min = -1.0_dp !! lower threshold of the projectability disentanglement, below are discarded !! (negative = unset: set explicitly or determined automatically via proj_auto) real(kind=dp) :: proj_max = -1.0_dp !! upper threshold of the projectability disentanglement, equal and above are frozen !! (negative = unset: set explicitly or determined automatically via proj_auto) logical :: frozen_proj !! whether to use projectability frozen window, i.e., proj_min/proj_max logical :: proj_auto = .true. !! whether to determine proj_min/proj_max automatically via multi-Otsu thresholding !! (ignored when proj_min/proj_max are set explicitly) integer :: proj_auto_num_classes = 5 !! number of classes for the automatic multi-Otsu projectability thresholds ! disentangle parameters ! Used by plot, hamiltonian, wannierise, postw90_common, get_oper - not read integer, allocatable :: ndimwin(:) !! number of bands in outer window at each k integer, allocatable :: nfirstwin(:) !! index of first band in outer window at each k logical, allocatable :: lwindow(:, :) end type dis_manifold_type