The Elk Code
modbog.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2019 J. K. Dewhurst and S. Sharma.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 module modbog
7 
8 ! combined target array for fermionic and bosonic density matrices
9 complex(8), allocatable, target :: duvwx(:)
10 
11 !----------------------------------------!
12 ! fermionic Bogoliubov variables !
13 !----------------------------------------!
14 ! Bogoliubov equation eigenvalues
15 real(8), allocatable :: evaluv(:,:)
16 ! V-norm for each state and k-point
17 real(8), allocatable :: vnorm(:,:)
18 ! Fermi energy adjustment step size
19 real(8) tauefm
20 ! Fermi energy convergence tolerance
21 real(8) epsefm
22 ! density matrices VV† and UV†
23 complex(8), pointer, contiguous :: dvv(:,:,:),duv(:,:,:)
24 ! fermionic anomalous correlation entropy
25 real(8) face
26 ! bdiag is .true. if the matrix B is taken to be diagonal
27 logical bdiag
28 ! cut-off energy for matrix B (elements outside this window are set to zero)
29 real(8) ecutb
30 
31 !--------------------------------------!
32 ! bosonic Bogoliubov variables !
33 !--------------------------------------!
34 ! Bogoliubov equation eigenvalues
35 real(8), allocatable :: evalwx(:,:)
36 ! power used in formula for (W,X) pseudo-normalisation (see article)
37 integer pwxpsn
38 ! X-norm for each branch and q-point
39 real(8), allocatable :: xnorm(:,:)
40 ! density matrices XX† and WX†
41 complex(8), pointer, contiguous :: dxx(:,:,:),dwx(:,:,:)
42 ! ediag is .true. if the matrix E is taken to be diagonal
43 logical ediag
44 
45 end module
46 
real(8), dimension(:,:), allocatable evalwx
Definition: modbog.f90:35
real(8), dimension(:,:), allocatable evaluv
Definition: modbog.f90:15
logical bdiag
Definition: modbog.f90:27
complex(8), dimension(:,:,:), pointer, contiguous dwx
Definition: modbog.f90:41
real(8) epsefm
Definition: modbog.f90:21
real(8) tauefm
Definition: modbog.f90:19
logical ediag
Definition: modbog.f90:43
real(8), dimension(:,:), allocatable xnorm
Definition: modbog.f90:39
Definition: modbog.f90:6
complex(8), dimension(:), allocatable, target duvwx
Definition: modbog.f90:9
complex(8), dimension(:,:,:), pointer, contiguous duv
Definition: modbog.f90:23
complex(8), dimension(:,:,:), pointer, contiguous dxx
Definition: modbog.f90:41
real(8), dimension(:,:), allocatable vnorm
Definition: modbog.f90:17
integer pwxpsn
Definition: modbog.f90:37
complex(8), dimension(:,:,:), pointer, contiguous dvv
Definition: modbog.f90:23
real(8) ecutb
Definition: modbog.f90:29
real(8) face
Definition: modbog.f90:25