The Elk Code
genvmatmt.f90
Go to the documentation of this file.
1
2
! Copyright (C) 2007 F. Bultmark, F. Cricchio and L. Nordstrom.
3
! This file is distributed under the terms of the GNU General Public License.
4
! See the file COPYING for license details.
5
6
!BOP
7
! !ROUTINE: genvmatmt
8
!INTERFACE:
9
subroutine
genvmatmt
10
! !USES:
11
use
modmain
12
use
moddftu
13
! !DESCRIPTION:
14
! Calculate the DFT+$U$ potential matrix to be used in the second-variational
15
! step and/or the potential matrix used for fixed tensor moment calculations.
16
! See {\it Phys. Rev. B} {\bf 52}, 5467 (1995) and {\it Phys. Rev. B}
17
! {\bf 80}, 035121 (2009).
18
!
19
! !REVISION HISTORY:
20
! Created November 2007 (FC,FB,LN,JKD)
21
! Fixed bug for dftu=3, January 2021 (JKD)
22
! Cleaned up and removed options, September 2021 (JKD)
23
!EOP
24
!BOC
25
implicit none
26
! zero the non-local muffin-tin potential for each atom
27
vmatmt
(:,:,:,:,:)=0.d0
28
! add the DFT+U potential and calculate the corresponding energies
29
if
(
dftu
/= 0)
call
vmatmtdu
30
! add the fixed tensor moment potential if required
31
if
(
ftmtype
> 0)
call
vmatmtftm
32
! symmetrise the potential
33
call
symdmat
(
lmaxdm
,
lmmaxdm
,
vmatmt
)
34
end subroutine
35
!EOC
36
moddftu::lmmaxdm
integer, parameter lmmaxdm
Definition:
moddftu.f90:14
vmatmtdu
subroutine vmatmtdu
Definition:
vmatmtdu.f90:7
moddftu
Definition:
moddftu.f90:6
modmain
Definition:
modmain.f90:6
moddftu::ftmtype
integer ftmtype
Definition:
moddftu.f90:70
symdmat
subroutine symdmat(lmax, ld, dmat)
Definition:
symdmat.f90:7
moddftu::vmatmt
complex(8), dimension(:,:,:,:,:), allocatable vmatmt
Definition:
moddftu.f90:20
vmatmtftm
subroutine vmatmtftm
Definition:
vmatmtftm.f90:7
moddftu::dftu
integer dftu
Definition:
moddftu.f90:32
moddftu::lmaxdm
integer, parameter lmaxdm
Definition:
moddftu.f90:13
genvmatmt
subroutine genvmatmt
Definition:
genvmatmt.f90:10
genvmatmt.f90
Generated by
1.8.14