w90_sitesym Module

Routines to impose the site symmetry during minimisation of spread


Uses

  • module~~w90_sitesym~~UsesGraph module~w90_sitesym w90_sitesym module~w90_comms w90_comms module~w90_sitesym->module~w90_comms module~w90_constants w90_constants module~w90_sitesym->module~w90_constants module~w90_error w90_error module~w90_sitesym->module~w90_error module~w90_comms->module~w90_constants module~w90_error_base w90_error_base module~w90_comms->module~w90_error_base module~w90_error->module~w90_comms module~w90_error->module~w90_error_base

Used by

  • module~~w90_sitesym~~UsedByGraph module~w90_sitesym w90_sitesym proc~dis_extract dis_extract proc~dis_extract->module~w90_sitesym proc~dis_main dis_main proc~dis_main->module~w90_sitesym proc~internal_find_u internal_find_u proc~internal_find_u->module~w90_sitesym proc~overlap_project overlap_project proc~overlap_project->module~w90_sitesym proc~wann_domega wann_domega proc~wann_domega->module~w90_sitesym proc~wann_main wann_main proc~wann_main->module~w90_sitesym program~wannier wannier program~wannier->module~w90_sitesym

Subroutines

public subroutine sitesym_slim_d_matrix_band(num_bands, num_kpts, sitesym, lwindow_in)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: num_bands
integer, intent(in) :: num_kpts
type(sitesym_type), intent(inout) :: sitesym
logical, intent(in), optional :: lwindow_in(num_bands,num_kpts)

public subroutine sitesym_replace_d_matrix_band(sitesym, num_wann, error, comm)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(inout) :: sitesym
integer, intent(in) :: num_wann
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

public subroutine sitesym_symmetrize_u_matrix(sitesym, umat, num_bands, ndim, num_kpts, num_wann, stdout, error, comm, lwindow_in)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(in) :: sitesym
complex(kind=dp), intent(inout) :: umat(:,:,:)
integer, intent(in) :: num_bands
integer, intent(in) :: ndim
integer, intent(in) :: num_kpts
integer, intent(in) :: num_wann
integer, intent(in) :: stdout
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm
logical, intent(in), optional :: lwindow_in(:,:)

public subroutine sitesym_symmetrize_gradient(sitesym, grad, imode, num_kpts, num_wann, error, comm)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(in) :: sitesym
complex(kind=dp), intent(inout) :: grad(:,:,:)
integer, intent(in) :: imode
integer, intent(in) :: num_kpts
integer, intent(in) :: num_wann
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

public subroutine sitesym_symmetrize_rotation(sitesym, urot, num_kpts, num_wann, error, comm)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(in) :: sitesym
complex(kind=dp), intent(inout) :: urot(num_wann,num_wann,num_kpts)
integer, intent(in) :: num_kpts
integer, intent(in) :: num_wann
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

public subroutine sitesym_symmetrize_zmatrix(sitesym, czmat, num_bands, num_kpts, lwindow_in)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(in) :: sitesym
complex(kind=dp), intent(inout) :: czmat(num_bands,num_bands,num_kpts)
integer, intent(in) :: num_bands
integer, intent(in) :: num_kpts
logical, intent(in) :: lwindow_in(num_bands,num_kpts)

private subroutine symmetrize_ukirr(num_wann, num_bands, ir, ndim, umat, sitesym, stdout, error, comm, n)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: num_wann
integer, intent(in) :: num_bands
integer, intent(in) :: ir
integer, intent(in) :: ndim
complex(kind=dp), intent(inout) :: umat(ndim,num_wann)
type(sitesym_type), intent(in) :: sitesym
integer, intent(in) :: stdout
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm
integer, intent(in), optional :: n

private subroutine orthogonalize_u(ndim, m, u, n, error, comm)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ndim
integer, intent(in) :: m
complex(kind=dp), intent(inout) :: u(ndim,m)
integer, intent(in) :: n
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

public subroutine sitesym_dis_extract_symmetry(sitesym, lambda, umat, zmat, ik, n, num_bands, num_wann, stdout, error, comm)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(in) :: sitesym
complex(kind=dp), intent(out) :: lambda(:,:)
complex(kind=dp), intent(inout) :: umat(:,:)
complex(kind=dp), intent(in) :: zmat(:,:)
integer, intent(in) :: ik
integer, intent(in) :: n
integer, intent(in) :: num_bands
integer, intent(in) :: num_wann
integer, intent(in) :: stdout
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

public subroutine sitesym_read(sitesym, num_bands, num_kpts, num_wann, seedname, error, comm)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(inout) :: sitesym
integer, intent(in) :: num_bands
integer, intent(in) :: num_kpts
integer, intent(in) :: num_wann
character(len=*), intent(in) :: seedname
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

public subroutine sitesym_dealloc(sitesym, error, comm)

Arguments

Type IntentOptional Attributes Name
type(sitesym_type), intent(inout) :: sitesym
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm