allocate_green Subroutine

public subroutine allocate_green(flag, naez, iemxd, ngshd, nsheld, lmpot, nofgijd, ish, jsh, kmesh, imaxsh, iqcalc, iofgij, jofgij, ijtabsh, ijtabsym, ijtabcalc, ijtabcalc_i, ilm_map, gsh)

Subroutine handling the allocation/deallocation of arrays handling the Green functions

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: flag
integer, intent(in) :: naez

number of atoms in unit cell

integer, intent(in) :: iemxd
integer, intent(in) :: ngshd
integer, intent(in) :: nsheld
integer, intent(in) :: lmpot
integer, intent(in) :: nofgijd
integer, intent(inout), dimension (:,:), allocatable :: ish
integer, intent(inout), dimension (:,:), allocatable :: jsh
integer, intent(inout), dimension (:), allocatable :: kmesh
integer, intent(inout), dimension (:), allocatable :: imaxsh
integer, intent(inout), dimension (:), allocatable :: iqcalc
integer, intent(inout), dimension (:), allocatable :: iofgij

Linear pointers, similar to NSH1/NSH2 but giving the actual index of sites I,J = 1,NATOMIMP in the cluster

integer, intent(inout), dimension (:), allocatable :: jofgij

Linear pointers, similar to NSH1/NSH2 but giving the actual index of sites I,J = 1,NATOMIMP in the cluster

integer, intent(inout), dimension (:), allocatable :: ijtabsh

Linear pointer, assigns pair (i,j) to a shell in the array GS(,,*,NSHELD)

integer, intent(inout), dimension (:), allocatable :: ijtabsym

Linear pointer, assigns pair (i,j) to the rotation bringing GS into Gij

integer, intent(inout), dimension (:), allocatable :: ijtabcalc

Linear pointer,specifying whether the block (i,j) has to be calculated needs set up for ICC=-1, not used for ICC=1

integer, intent(inout), dimension (:), allocatable :: ijtabcalc_i
integer, intent(inout), dimension (:,:), allocatable :: ilm_map
real(kind=dp), intent(inout), dimension (:), allocatable :: gsh