mod_rhovalnew Module

Calculation of the density for the new solver


Subroutines

public subroutine rhovalnew(ldorhoef, ielast, nsra, nspin, lmax, ez, wez, zat, socscale, cleb, icleb, iend, ifunm, lmsp, ncheb, npan_tot, npan_log, npan_eq, rmesh, irws, rpan_intervall, ipan_intervall, rnew, vinsnew, thetasnew, theta, phi, fixdir, i1, ipot, den_out, espv, rho2ns, r2nef, muorb, angles_new, totmoment, bconstr, idoldau, lopt, wldau, denmatn, natyp, ispin)

License
Creative Commons License
Category
physical-observables, KKRhost

C a l c u l a t i o n

o f

t h e

d e n s i t y

f o r

t h e

n e w

s o l v e r

Read more…

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: ldorhoef
integer, intent(in) :: ielast
integer, intent(in) :: nsra
integer, intent(in) :: nspin

Counter for spin directions

integer, intent(in) :: lmax

Maximum l component in wave function expansion

complex(kind=dp), intent(inout), dimension (iemxd) :: ez
complex(kind=dp), intent(inout), dimension (iemxd) :: wez
real(kind=dp), intent(in) :: zat

Nuclear charge for a given atom

real(kind=dp), intent(in) :: socscale

Spin-orbit scaling for a given atom

real(kind=dp), intent(in), dimension (*) :: cleb

GAUNT coefficients (GAUNT)

integer, intent(in), dimension (ncleb, 4) :: icleb
integer, intent(in) :: iend

Number of nonzero gaunt coefficients

integer, intent(in), dimension (lmxspd) :: ifunm
integer, intent(in), dimension (lmxspd) :: lmsp

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

integer, intent(in) :: ncheb

Number of Chebychev pannels for the new solver

integer, intent(in) :: npan_tot
integer, intent(in) :: npan_log

Number of intervals from nucleus to [R_LOG] Used in conjunction with runopt NEWSOSOL

integer, intent(in) :: npan_eq

Number of intervals from [R_LOG] to muffin-tin radius Used in conjunction with runopt NEWSOSOL

real(kind=dp), intent(in), dimension (irmd) :: rmesh
integer, intent(in) :: irws

R point at WS radius for a given atom

real(kind=dp), intent(inout), dimension (0:ntotd) :: rpan_intervall
integer, intent(in), dimension (0:ntotd) :: ipan_intervall
real(kind=dp), intent(inout), dimension (nrmaxd) :: rnew
real(kind=dp), intent(inout), dimension (nrmaxd, lmpotd, nspotd) :: vinsnew

Non-spherical part of the potential

real(kind=dp), intent(inout), dimension (nrmaxd, nfund) :: thetasnew
real(kind=dp), intent(inout) :: theta
real(kind=dp), intent(inout) :: phi
logical, intent(in) :: fixdir
integer, intent(in) :: i1
integer, intent(in) :: ipot
complex(kind=dp), intent(out), dimension (0:lmax+1, ielast, nspin/(nspin-korbit)) :: den_out
real(kind=dp), intent(out), dimension (0:lmax+1, 2/(nspin-korbit)) :: espv
real(kind=dp), intent(out), dimension (irmd, lmpotd, nspin/(nspin-korbit)*(1+korbit)) :: rho2ns
real(kind=dp), intent(out), dimension (irmd, lmpotd, nspin/(nspin-korbit)*(1+korbit)) :: r2nef
real(kind=dp), intent(inout), dimension (0:lmax+2, 3) :: muorb
real(kind=dp), intent(out), dimension (2) :: angles_new
real(kind=dp), intent(out) :: totmoment
real(kind=dp), intent(out), dimension (4) :: bconstr
integer, intent(in) :: idoldau

flag to perform LDA+U

integer, intent(in) :: lopt

angular momentum QNUM for the atoms on which LDA+U should be applied (-1 to switch it OFF)

real(kind=dp), intent(in), dimension (mmaxd, mmaxd, nspind) :: wldau

potential matrix

complex(kind=dp), dimension (mmaxd, mmaxd, 2, 2) :: denmatn
integer, intent(in) :: natyp

Number of kinds of atoms in unit cell

integer, intent(in) :: ispin