The Elk Code
 
Loading...
Searching...
No Matches
modphonon.f90
Go to the documentation of this file.
1
2! Copyright (C) 2010 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
3! This file is distributed under the terms of the GNU General Public License.
4! See the file COPYING for license details.
5
7use modmain
8
9!--------------------------!
10! phonon variables !
11!--------------------------!
12! number of phonon branches (3*natmtot)
13integer nbph
14! current phonon q-point, species, atom and polarisation index
16! tphq0 is .true. if q = 0
17logical tphq0
18! number of vectors for writing out frequencies and eigenvectors
19integer nphwrt
20! vectors in lattice coordinates for writing out frequencies and eigenvectors
21real(8), allocatable :: vqlwrt(:,:)
22! Coulomb pseudopotential
23real(8) mustar
24! number of temperatures for the Eliashberg equations and thermal properties
25integer ntemp
26! dynamical matrices for all q-points
27complex(8), allocatable :: dynq(:,:,:)
28! dynamical matrices for all R-points
29real(8), allocatable :: dynr(:,:,:)
30! phonon frequencies for all q-points
31real(8), allocatable :: wphq(:,:)
32! tphnat is .true. if the non-analytic term is to be added to the phonon
33! dispersion; this requires the Born effective charges and dielectric function
34logical tphnat
35! Born effective charge tensor for each atom
36real(8), allocatable :: bec(:,:,:)
37! static dielectric tensor
38real(8) epsw0(3,3)
39
40!-----------------------------!
41! supercell variables !
42!-----------------------------!
43! number of primitive unit cells in phonon supercell
44integer nscph
45! Cartesian offset vectors for each primitive cell in the supercell
46real(8), allocatable :: vscph(:,:)
47! phonon displacement distance
48real(8) deltaph
49
50!---------------------!
51! k+q-vectors !
52!---------------------!
53! k+q-vectors in lattice coordinates
54real(8), allocatable :: vkql(:,:)
55! k+q-vectors in Cartesian coordinates
56real(8), allocatable :: vkqc(:,:)
57
58!------------------------------!
59! G+q-vector variables !
60!------------------------------!
61! G+q-vectors in Cartesian coordinates
62real(8), allocatable :: vgqc(:,:)
63! G+q-vector lengths
64real(8), allocatable :: gqc(:)
65! regularised Coulomb Green's function in G+q-space
66real(8), allocatable :: gclgq(:)
67! spherical Bessel functions j_l(|G+q|R_mt)
68real(8), allocatable :: jlgqrmt(:,:,:)
69! spherical harmonics for G+q-vectors
70complex(8), allocatable :: ylmgq(:,:)
71! structure factors for G+q-vectors
72complex(8), allocatable :: sfacgq(:,:)
73! smooth step function form factors for all species and G+q-vectors
74real(8), allocatable :: ffacgq(:,:)
75! characteristic function derivative in G- and G+q-space
76complex(8), allocatable :: dcfunig(:)
77! characteristic function derivative in real-space
78complex(8), allocatable :: dcfunir(:)
79
80!--------------------------------!
81! G+k+q-vector variables !
82!--------------------------------!
83! number of G+k+q-vector for each k-point
84integer, allocatable :: ngkq(:,:)
85! index from G+k+q-vectors to G-vectors
86integer, allocatable :: igkqig(:,:,:)
87! G+k+q-vectors in lattice and Cartesian coordinates
88real(8), allocatable :: vgkql(:,:,:,:),vgkqc(:,:,:,:)
89! G+k+q-vector lengths
90real(8), allocatable :: gkqc(:,:,:)
91! structure factors for the G+k+q-vectors
92complex(8), allocatable :: sfacgkq(:,:,:,:)
93
94!----------------------------------------------------------!
95! density functional perturbation theory variables !
96!----------------------------------------------------------!
97! density derivative
98complex(8), allocatable :: drhomt(:,:),drhoir(:)
99! magnetisation derivative
100complex(8), allocatable :: dmagmt(:,:,:),dmagir(:,:)
101! Coulomb potential derivative
102complex(8), allocatable :: dvclmt(:,:),dvclir(:)
103! gradient of vsmt for the displaced muffin-tin
104complex(8), allocatable :: gvsmt(:)
105! combined target array for dvsmt, dvsir, dbsmt and dbsir
106complex(8), allocatable, target :: dvsbs(:)
107! muffin-tin Kohn-Sham potential derivative
108complex(8), pointer, contiguous :: dvsmt(:,:)
109! interstitial Kohn-Sham potential derivative
110complex(8), allocatable :: dvsir(:)
111! G+q-space interstitial Kohn-Sham potential derivative
112complex(8), pointer, contiguous :: dvsig(:)
113! Kohn-Sham effective magnetic field derivative
114complex(8), pointer, contiguous :: dbsmt(:,:,:),dbsir(:,:)
115! spin-orbit coupling radial function derivative
116complex(8), allocatable :: dsocfr(:,:)
117! APW-APW Hamiltonian integral derivatives
118complex(8), allocatable :: dhaa(:,:,:,:,:,:)
119! local-orbital-APW Hamiltonian integral derivatives
120complex(8), allocatable :: dhloa(:,:,:,:,:)
121! local-orbital-local-orbital Hamiltonian integral derivatives
122complex(8), allocatable :: dhlolo(:,:,:,:)
123! real Gaunt coefficient array
124real(8), allocatable :: gntyyy(:,:,:)
125! smallest allowed perturbation theory denominator for eigenvector derivatives
126real(8) epsdev
127! Fermi energy derivative
128real(8) defermi
129! first-variational eigenvalue derivatives
130real(8), allocatable :: devalfv(:,:,:)
131! second-variational eigenvalue derivatives
132real(8), allocatable :: devalsv(:,:)
133! second-variational occupation number derivatives
134real(8), allocatable :: doccsv(:,:)
135
136!-------------------------------------------+
137! electron-phonon mean-field theory |
138!-------------------------------------------+
139! energy change of the electron system
140real(8) dengye
141! energy change of the phonon system
142real(8) dengyph
143! sum of energy changes in electron and phonon systems
144real(8) dengy
145! phonon frequency cut-off below which modes are neglected
146real(8) wphcut
147! scale factor of the electron-phonon term and its mixing parameter
148real(8) ephscf(2)
149! anomalous is .true. if only the anomalous density matrix is to be used in the
150! construction of the electron-phonon Hamiltonian
152! tephde is .true. if D = D0 + E, otherwise D = D0
153logical tephde
154! single-precision electron-phonon matrix element array for each k- and q-point
155complex(4), allocatable :: ephmkq(:,:,:,:,:)
156
157end module
158
integer ntemp
Definition modphonon.f90:25
real(8), dimension(:,:), allocatable vkql
Definition modphonon.f90:54
real(8) wphcut
integer, dimension(:,:), allocatable ngkq
Definition modphonon.f90:84
complex(8), dimension(:,:,:,:), allocatable sfacgkq
Definition modphonon.f90:92
real(8), dimension(:,:), allocatable doccsv
logical anomalous
real(8), dimension(:,:,:,:), allocatable vgkqc
Definition modphonon.f90:88
complex(8), dimension(:,:), allocatable ylmgq
Definition modphonon.f90:70
integer iaph
Definition modphonon.f90:15
complex(8), dimension(:), allocatable dcfunir
Definition modphonon.f90:78
real(8), dimension(2) ephscf
logical tephde
real(8), dimension(:), allocatable gclgq
Definition modphonon.f90:66
integer ipph
Definition modphonon.f90:15
integer nbph
Definition modphonon.f90:13
real(8), dimension(:,:,:), allocatable jlgqrmt
Definition modphonon.f90:68
real(8), dimension(:), allocatable gqc
Definition modphonon.f90:64
logical tphq0
Definition modphonon.f90:17
complex(8), dimension(:), allocatable dvsir
real(8) dengye
real(8), dimension(:,:,:), allocatable dynr
Definition modphonon.f90:29
real(8) dengy
complex(8), dimension(:,:,:,:), allocatable dhlolo
complex(8), dimension(:,:), pointer, contiguous dvsmt
integer iqph
Definition modphonon.f90:15
real(8), dimension(:,:), allocatable vscph
Definition modphonon.f90:46
integer iasph
Definition modphonon.f90:15
complex(4), dimension(:,:,:,:,:), allocatable ephmkq
complex(8), dimension(:,:,:), allocatable dmagmt
complex(8), dimension(:,:,:,:,:), allocatable dhloa
complex(8), dimension(:,:), pointer, contiguous dbsir
complex(8), dimension(:,:), allocatable dsocfr
real(8), dimension(:,:), allocatable ffacgq
Definition modphonon.f90:74
real(8), dimension(3, 3) epsw0
Definition modphonon.f90:38
complex(8), dimension(:), allocatable dcfunig
Definition modphonon.f90:76
integer isph
Definition modphonon.f90:15
complex(8), dimension(:,:,:,:,:,:), allocatable dhaa
real(8) epsdev
real(8), dimension(:,:), allocatable devalsv
complex(8), dimension(:,:), allocatable dmagir
complex(8), dimension(:), allocatable drhoir
Definition modphonon.f90:98
complex(8), dimension(:,:,:), allocatable dynq
Definition modphonon.f90:27
real(8), dimension(:,:,:,:), allocatable vgkql
Definition modphonon.f90:88
real(8), dimension(:,:,:), allocatable gntyyy
real(8) defermi
complex(8), dimension(:,:), allocatable drhomt
Definition modphonon.f90:98
real(8) mustar
Definition modphonon.f90:23
real(8), dimension(:,:,:), allocatable devalfv
integer nscph
Definition modphonon.f90:44
real(8) dengyph
real(8), dimension(:,:,:), allocatable gkqc
Definition modphonon.f90:90
logical tphnat
Definition modphonon.f90:34
real(8), dimension(:,:), allocatable vgqc
Definition modphonon.f90:62
real(8), dimension(:,:), allocatable vkqc
Definition modphonon.f90:56
integer, dimension(:,:,:), allocatable igkqig
Definition modphonon.f90:86
complex(8), dimension(:,:), allocatable sfacgq
Definition modphonon.f90:72
complex(8), dimension(:), allocatable, target dvsbs
real(8), dimension(:,:), allocatable wphq
Definition modphonon.f90:31
complex(8), dimension(:), allocatable gvsmt
complex(8), dimension(:,:), allocatable dvclmt
real(8), dimension(:,:,:), allocatable bec
Definition modphonon.f90:36
real(8) deltaph
Definition modphonon.f90:48
complex(8), dimension(:), allocatable dvclir
complex(8), dimension(:,:,:), pointer, contiguous dbsmt
real(8), dimension(:,:), allocatable vqlwrt
Definition modphonon.f90:21
integer nphwrt
Definition modphonon.f90:19
complex(8), dimension(:), pointer, contiguous dvsig