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
34 end subroutine
35 !EOC
36 
integer, parameter lmmaxdm
Definition: moddftu.f90:14
subroutine vmatmtdu
Definition: vmatmtdu.f90:7
integer ftmtype
Definition: moddftu.f90:70
subroutine symdmat(lmax, ld, dmat)
Definition: symdmat.f90:7
complex(8), dimension(:,:,:,:,:), allocatable vmatmt
Definition: moddftu.f90:20
subroutine vmatmtftm
Definition: vmatmtftm.f90:7
integer dftu
Definition: moddftu.f90:32
integer, parameter lmaxdm
Definition: moddftu.f90:13
subroutine genvmatmt
Definition: genvmatmt.f90:10