Calculation of Coulomb interaction potential in LDA+U relativistic + SOC (new solver) The expression evaluated (array VLDAU) is:
Note
For details see H. Ebert at al., Sol. Stat. Comm. 127 (2003) 443
EU,EDC initialised outside the routine
Type | Intent | Optional | 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 |