shellgen2k Subroutine

public subroutine shellgen2k(icc, natom, rcls, atom, nofgij, iofgij, jofgij, nrot, rsymat, isymindex, rotname, nshell, ratom, nsh1, nsh2, ish, jsh, ijtabsym, ijtabsh, ijtabcalc, iprint, nsheld, natomd)

Uses

Determines the number of different atomic pairs in a cluster by symmetry considerations assigning a "shell" pointer (used to set up the GF matrix), to each representative pair.

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: icc
integer, intent(in) :: natom
real(kind=dp), intent(in), dimension(3, natomd) :: rcls
integer, intent(in), dimension(natomd) :: atom
integer, intent(in) :: nofgij
integer, intent(in), dimension(nofgij) :: iofgij
integer, intent(in), dimension(nofgij) :: jofgij
integer, intent(in) :: nrot
real(kind=dp), intent(in), dimension(64, 3, 3) :: rsymat
integer, intent(in), dimension(nsymaxd) :: isymindex
character(len=10), intent(in), dimension(64) :: rotname
integer, intent(inout), dimension(0:nsheld) :: nshell
real(kind=dp), intent(inout), dimension(3, nsheld) :: ratom
integer, intent(inout), dimension(nsheld) :: nsh1
integer, intent(inout), dimension(nsheld) :: nsh2
integer, intent(out), dimension(nsheld, 2*nsymaxd) :: ish
integer, intent(out), dimension(nsheld, 2*nsymaxd) :: jsh
integer, intent(out), dimension(natom**2) :: ijtabsym
integer, intent(out), dimension(natom**2) :: ijtabsh
integer, intent(in), dimension(natom**2) :: 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(in) :: iprint
integer, intent(in) :: nsheld
integer, intent(in) :: natomd