allocate_potential Subroutine

public subroutine allocate_potential(flag, irm, natyp, npotd, ipand, nfund, lmxspd, lmpot, irmind, nspotd, nfu, irc, ncore, irmin, lmsp, lmsp1, ircut, lcore, llmsp, ititle, visp, ecore, vins)

Subroutine handling the allocation/deallocation of arrays that describe the potential

Arguments

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

number of kinds of atoms in unit cell

integer, intent(in) :: npotd

2*NATYP

integer, intent(in) :: ipand
integer, intent(in) :: nfund
integer, intent(in) :: lmxspd
integer, intent(in) :: lmpot
integer, intent(in) :: irmind
integer, intent(in) :: nspotd
integer, intent(inout), dimension (:), allocatable :: nfu
integer, intent(inout), dimension (:), allocatable :: irc

R point for potential cutting

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

Number of core states

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

Max R for spherical treatment

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

0,1 : non/-vanishing lm=(l,m) component of non-spherical potential

integer, intent(inout), dimension (:, :), allocatable :: lmsp1
integer, intent(inout), dimension (:, :), allocatable :: ircut

R points of panel borders

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

Angular momentum of core states

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

lm=(l,m) of 'nfund'th nonvanishing component of non-spherical pot.

integer, intent(inout), dimension (:, :), allocatable :: ititle
real(kind=dp), intent(inout), dimension (:, :), allocatable :: visp

Spherical part of the potential

real(kind=dp), intent(inout), dimension (:, :), allocatable :: ecore

Core energies

real(kind=dp), intent(inout), dimension (:, :, :), allocatable :: vins

Non-spherical part of the potential