The Elk Code
Loading...
Searching...
No Matches
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
genvmatmt
subroutine genvmatmt
Definition
genvmatmt.f90:10
moddftu
Definition
moddftu.f90:6
moddftu::dftu
integer dftu
Definition
moddftu.f90:32
moddftu::lmmaxdm
integer, parameter lmmaxdm
Definition
moddftu.f90:14
moddftu::ftmtype
integer ftmtype
Definition
moddftu.f90:70
moddftu::vmatmt
complex(8), dimension(:,:,:,:,:), allocatable vmatmt
Definition
moddftu.f90:20
moddftu::lmaxdm
integer, parameter lmaxdm
Definition
moddftu.f90:13
modmain
Definition
modmain.f90:6
symdmat
subroutine symdmat(lmax, ld, dmat)
Definition
symdmat.f90:7
vmatmtdu
subroutine vmatmtdu
Definition
vmatmtdu.f90:7
vmatmtftm
subroutine vmatmtftm
Definition
vmatmtftm.f90:7
genvmatmt.f90
Generated by
1.9.8