The Elk Code
modpw.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2012 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 
6 module modpw
7 
8 !----------------------------!
9 ! H-vector variables !
10 !----------------------------!
11 ! reduceh is .true. if the H-vectors are reduced with the crystal symmetries
12 logical reduceh
13 ! H-vector cut-off for interstitial potential and density
14 real(8) hmaxvr
15 ! H-vector grid sizes
16 integer ngridh(3)
17 ! total number of H-vectors
18 integer nhtot
19 ! integer grid intervals for each direction
20 integer inthv(2,3)
21 ! number of H-vectors with |H| < hmaxvr
22 integer nhvec
23 ! H-vector integer coordinates (i1,i2,i3)
24 integer, allocatable :: ivh(:,:)
25 ! H-vector multiplicity after symmetry reduction
26 integer, allocatable :: mulh(:)
27 ! H-vectors in Cartesian coordinates
28 real(8), allocatable :: vhc(:,:)
29 ! length of H-vectors
30 real(8), allocatable :: hc(:)
31 ! H-vector transformation matrix
32 real(8) vhmat(3,3)
33 
34 !------------------------------!
35 ! H+k-vector variables !
36 !------------------------------!
37 ! maximum |H+k| cut-off for plane wave
38 real(8) hkmax
39 ! number of H+k-vectors for plane waves
40 integer, allocatable :: nhk(:,:)
41 ! maximum number of H+k-vectors over all k-points
42 integer nhkmax
43 ! index from H+k-vectors to G-vectors
44 integer, allocatable :: ihkig(:,:,:)
45 ! H+k-vectors in lattice coordinates
46 real(8), allocatable :: vhkl(:,:,:,:)
47 ! H+k-vectors in Cartesian coordinates
48 real(8), allocatable :: vhkc(:,:,:,:)
49 ! length of H+k-vectors
50 real(8), allocatable :: hkc(:,:,:)
51 ! structure factors for the H+k-vectors
52 complex(8), allocatable :: sfachk(:,:,:,:)
53 
54 end module
55 
real(8), dimension(:,:,:,:), allocatable vhkc
Definition: modpw.f90:48
integer, dimension(:,:,:), allocatable ihkig
Definition: modpw.f90:44
real(8) hmaxvr
Definition: modpw.f90:14
integer, dimension(:,:), allocatable nhk
Definition: modpw.f90:40
real(8), dimension(3, 3) vhmat
Definition: modpw.f90:32
real(8), dimension(:,:), allocatable vhc
Definition: modpw.f90:28
logical reduceh
Definition: modpw.f90:12
integer nhtot
Definition: modpw.f90:18
integer, dimension(:), allocatable mulh
Definition: modpw.f90:26
real(8), dimension(:,:,:), allocatable hkc
Definition: modpw.f90:50
integer, dimension(2, 3) inthv
Definition: modpw.f90:20
real(8), dimension(:), allocatable hc
Definition: modpw.f90:30
Definition: modpw.f90:6
real(8), dimension(:,:,:,:), allocatable vhkl
Definition: modpw.f90:46
integer, dimension(:,:), allocatable ivh
Definition: modpw.f90:24
complex(8), dimension(:,:,:,:), allocatable sfachk
Definition: modpw.f90:52
integer nhkmax
Definition: modpw.f90:42
integer, dimension(3) ngridh
Definition: modpw.f90:16
integer nhvec
Definition: modpw.f90:22
real(8) hkmax
Definition: modpw.f90:38