rllsll Subroutine

public subroutine rllsll(rpanbound, rmesh, vll, rll, sll, tllp, ncheb, npan, lmsize, lmsize2, lbessel, nrmax, nvec, jlk_index, hlk, jlk, hlk2, jlk2, gmatprefactor, cmoderll, cmodesll, cmodetest, use_sratrick1, alphaget)

Uses

Calculation o radial wave functions by the integral equation method of Gonzalez et al, Journal of Computational Physics 134, 134-149 (1997) which has been extended for KKR using non-sperical potentials. Further information can be found in David Bauer, Development of a relativistic full-potential first-principles multiple scattering Green function method applied to complex magnetic textures of nano structures at surfaces, PhD Thesis, 2014

This routine solves the following two equations: where the integral runs from 0 to * Green function prefacor (scalar value) tipically for non-relativistic and for SRA

The discretization of the Lippmann-Schwinger equation results in a matrix equation which is solved in this routine. Further information is given in section 5.2.3, page 90 of Bauer, PhD Source terms : right solution: , (nvec*lmsize,lmsize) or (lmsize,nvec*lmsize) left solution: , (lmsize,nvec*lmsize) or (nvec*lmsize,lmsize) Example: The source term is for LMSIZE=3 and NVEC=2 given by: first 3 rows are for the large and the last 3 rows for the small component

Operator can be chosen to be a unity or a transpose operation The unity operation is used to calculate the right solution The transpose operation is used to calculate the left solutionf the regular and irregular solutions

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: rpanbound(0:npan)
real(kind=dp) :: rmesh(nrmax)

Integration matrix from left ( CS_LC^-1 in eq. 5.53) Same from right ( CS_RC^-1 in eq. 5.54) Radial mesh point

complex(kind=dp) :: vll(lmsize*nvec,lmsize*nvec,nrmax)

irr. volterra sol. reg. fredholm sol. t-matrix potential term in 5.7 Bauer, PhD

complex(kind=dp) :: rll(lmsize2,lmsize,nrmax)

irr. volterra sol. reg. fredholm sol. t-matrix potential term in 5.7 Bauer, PhD

complex(kind=dp) :: sll(lmsize2,lmsize,nrmax)

irr. volterra sol. reg. fredholm sol. t-matrix potential term in 5.7 Bauer, PhD

complex(kind=dp) :: tllp(lmsize,lmsize)

irr. volterra sol. reg. fredholm sol. t-matrix potential term in 5.7 Bauer, PhD

integer :: ncheb

number of chebyshev nodes

integer :: npan

number of panels

integer :: lmsize

lm-components * nspin

integer :: lmsize2

lmsize * nvec

integer :: lbessel
integer :: nrmax

total number of rad. mesh points

integer :: nvec

spinor integer: nvec=1 non-rel, nvec=2 for sra and dirac

integer :: jlk_index(nvec*lmsize)
complex(kind=dp) :: hlk(lbessel,nrmax)
complex(kind=dp) :: jlk(lbessel,nrmax)
complex(kind=dp) :: hlk2(lbessel,nrmax)
complex(kind=dp) :: jlk2(lbessel,nrmax)
complex(kind=dp) :: gmatprefactor

prefactor of green function (non-rel: = kappa = sqrt e, rel: including mass correction)

character(len=1) :: cmoderll

These define the op(V(r)) in the eqs. above (comment in the beginning of this subroutine) cmoderll ="1" : op( )=identity for reg. solution cmoderll ="T" : op( )=transpose in L for reg. solution cmodesll: same for irregular

character(len=1) :: cmodesll

These define the op(V(r)) in the eqs. above (comment in the beginning of this subroutine) cmoderll ="1" : op( )=identity for reg. solution cmoderll ="T" : op( )=transpose in L for reg. solution cmodesll: same for irregular

character(len=1) :: cmodetest

These define the op(V(r)) in the eqs. above (comment in the beginning of this subroutine) cmoderll ="1" : op( )=identity for reg. solution cmoderll ="T" : op( )=transpose in L for reg. solution cmodesll: same for irregular

integer :: use_sratrick1
complex(kind=dp) :: alphaget(lmsize,lmsize)