Subroutine that constructs SOC potential for the new solverfrom radial derivative
of vins
and adds this to vnspll
(output is vnspll1=vnspll+V_SOC
)
S u b r o u t i n e
t h a t
c o n s t r u c t s
S O C
p o t e n t i a l
f o r
t h e
n e w
s o l v e r
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | lmax |
l_max cutoff |
||
integer, | intent(in) | :: | lmmaxd |
(l_max+1)^2 maximal number in combined L=(l,m) index (L_max) |
||
real(kind=dp), | intent(in), | dimension(irmdnew, lmpotd, nspin) | :: | vins |
non-sperical input potential in (l,m) basis, separately spin-polarized |
|
real(kind=dp), | intent(in), | dimension(nrmaxd) | :: | rnew |
radial points of Chebychev mesh |
|
complex(kind=dp), | intent(in) | :: | eryd |
complex energy |
||
real(kind=dp), | intent(in) | :: | zat |
atom charge |
||
real(kind=dp), | intent(in) | :: | cvlight |
speed of light |
||
real(kind=dp), | intent(in) | :: | socscale |
scaling factor for SOC strength |
||
integer, | intent(in) | :: | nspin |
number of spin channels |
||
integer, | intent(in) | :: | lmpotd |
L_max cutoff of potential (from Gaunt coefficients <= 4 l_max) |
||
real(kind=dp) | :: | theta | ||||
real(kind=dp) | :: | phi | ||||
integer, | intent(in), | dimension(0:npan_tot) | :: | ipan_intervall | ||
real(kind=dp), | intent(in), | dimension(0:npan_tot) | :: | rpan_intervall | ||
integer, | intent(in) | :: | npan_tot |
total number of Chebychev panels of radial mesh |
||
integer, | intent(in) | :: | ncheb |
number of Chebychev polynomials (radial points per panel) |
||
integer, | intent(in) | :: | irmdnew | |||
integer, | intent(in) | :: | nrmaxd |
maximal number of radial points (NPAN_TOT*NCHEB) |
||
complex(kind=dp), | intent(in), | dimension(2*lmmaxd, 2*lmmaxd, irmdnew) | :: | vnspll |
input potential in (l,m,s) basis |
|
complex(kind=dp), | intent(out), | dimension(2*lmmaxd, 2*lmmaxd, irmdnew) | :: | vnspll1 |
output potential (sum of input + V_SOC) in (l,m,s) basis |
|
character(len=*), | intent(in) | :: | mode |
either '1' or 'transpose', depending whether SOC potential is constructed for right or left solution |