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 ! Hartree-Fock-Bogoliubov coupling constant
23 real(8) ehfb
24 ! density matrices VV† and UV†
25 complex(8), pointer, contiguous :: dvv(:,:,:),duv(:,:,:)
26 ! fermionic anomalous correlation entropy
27 real(8) face
28 ! bdiag is .true. if the matrix B is taken to be diagonal
29 logical bdiag
30 ! cut-off energy for matrix B (elements outside this window are set to zero)
31 real(8) ecutb
32 
33 !--------------------------------------!
34 ! bosonic Bogoliubov variables !
35 !--------------------------------------!
36 ! Bogoliubov equation eigenvalues
37 real(8), allocatable :: evalwx(:,:)
38 ! power used in formula for (W,X) pseudo-normalisation (see article)
39 integer pwxpsn
40 ! X-norm for each branch and q-point
41 real(8), allocatable :: xnorm(:,:)
42 ! density matrices XX† and WX†
43 complex(8), pointer, contiguous :: dxx(:,:,:),dwx(:,:,:)
44 ! ediag is .true. if the matrix E is taken to be diagonal
45 logical ediag
46 
47 end module
48 
real(8), dimension(:,:), allocatable evalwx
Definition: modbog.f90:37
real(8), dimension(:,:), allocatable evaluv
Definition: modbog.f90:15
logical bdiag
Definition: modbog.f90:29
real(8) ehfb
Definition: modbog.f90:23
complex(8), dimension(:,:,:), pointer, contiguous dwx
Definition: modbog.f90:43
real(8) epsefm
Definition: modbog.f90:21
real(8) tauefm
Definition: modbog.f90:19
logical ediag
Definition: modbog.f90:45
real(8), dimension(:,:), allocatable xnorm
Definition: modbog.f90:41
Definition: modbog.f90:6
complex(8), dimension(:), allocatable, target duvwx
Definition: modbog.f90:9
complex(8), dimension(:,:,:), pointer, contiguous duv
Definition: modbog.f90:25
complex(8), dimension(:,:,:), pointer, contiguous dxx
Definition: modbog.f90:43
real(8), dimension(:,:), allocatable vnorm
Definition: modbog.f90:17
integer pwxpsn
Definition: modbog.f90:39
complex(8), dimension(:,:,:), pointer, contiguous dvv
Definition: modbog.f90:25
real(8) ecutb
Definition: modbog.f90:31
real(8) face
Definition: modbog.f90:27