mod_wmatldausoc Module

Calculation of Coulomb interaction potential in LDA+U relativistic + SOC (new solver)


Uses

    • mod_datatypes

Subroutines

public subroutine wmatldausoc(ntldau, itldau, nspin, denmatn, lopt, ueff, jeff, uldau, wldau, eu, edc, mmaxd, natyp, nspind, lmax)

Author
N. Long
License
Creative Commons License
Category
total-energy, potential, lda+u, spin-orbit-coupling, KKRhost

C a l c u l a t i o n

o f

C o u l o m b

i n t e r a c t i o n

p o t e n t i a l

i n

L D A + U

r e l a t i v i s t i c

+

S O C

( n e w

s o l v e r )

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ntldau

number of atoms on which LDA+U is applied

integer, intent(in), dimension (natyp) :: itldau

integer pointer connecting the NTLDAU atoms to their corresponding index in the unit cell

integer, intent(in) :: nspin

Counter for spin directions

complex(kind=dp), intent(inout), dimension (mmaxd, mmaxd, 2, 2, natyp) :: denmatn
integer, intent(in), dimension (natyp) :: 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 (natyp) :: ueff

input U parameter for each atom

real(kind=dp), intent(in), dimension (natyp) :: jeff

input J parameter for each atom

real(kind=dp), intent(in), dimension (mmaxd, mmaxd, mmaxd, mmaxd, natyp) :: uldau

calculated Coulomb matrix elements (EREFLDAU)

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

potential matrix

real(kind=dp), intent(inout), dimension (natyp) :: eu

Total energy corrections

real(kind=dp), intent(inout), dimension (natyp) :: edc

Double-counting correction

integer, intent(in) :: mmaxd

2*LMAX+1

integer, intent(in) :: natyp

Number of kinds of atoms in unit cell

integer, intent(in) :: nspind

KREL+(1-KREL)*(NSPIN+1)

integer, intent(in) :: lmax

Maximum l component in wave function expansion