18#include "../base/base_uses.f90"
32 INTEGER,
DIMENSION(:),
ALLOCATABLE :: pos, neg
40 LOGICAL :: ray_distribution = .false.
41 LOGICAL :: blocked = .false.
42 INTEGER,
DIMENSION(:, :, :),
ALLOCATABLE :: yzp
43 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: yzq
44 INTEGER,
DIMENSION(:),
ALLOCATABLE :: nyzray
46 INTEGER,
DIMENSION(:, :, :, :),
ALLOCATABLE :: bo
47 INTEGER,
DIMENSION(:),
ALLOCATABLE :: pos_of_x
53 INTEGER(int_8) :: ngpts = 0_int_8
54 INTEGER(int_8) :: ngpts_cut = 0_int_8
55 INTEGER,
DIMENSION(2, 3) :: bounds = 0
56 INTEGER,
DIMENSION(3) :: npts = 0
57 INTEGER :: ngpts_local = 0
58 INTEGER :: ngpts_cut_local = 0
59 INTEGER,
DIMENSION(2, 3) :: bounds_local = 0
60 INTEGER,
DIMENSION(3) :: npts_local = 0
61 REAL(kind=
dp),
DIMENSION(3) :: dr = 0.0_dp
62 REAL(kind=
dp),
DIMENSION(3, 3) :: dh = 0.0_dp
63 REAL(kind=
dp),
DIMENSION(3, 3) :: dh_inv = 0.0_dp
64 LOGICAL :: orthorhombic = .true.
65 REAL(kind=
dp) :: dvol = 0.0_dp, vol = 0.0_dp
66 REAL(kind=
dp) :: cutoff = 0.0_dp
68 TYPE(pw_para_type) :: para = pw_para_type()
69 REAL(kind=
dp),
DIMENSION(:, :),
POINTER,
CONTIGUOUS :: g => null()
70 REAL(kind=
dp),
DIMENSION(:),
POINTER,
CONTIGUOUS :: gsq => null()
71 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: g_hat
72 INTEGER,
DIMENSION(:, :),
POINTER,
CONTIGUOUS :: g_hatmap => null()
74 LOGICAL :: have_g0 = .true.
75 INTEGER :: first_gne0 = 0
77 INTEGER :: reference = 0
78 INTEGER,
DIMENSION(:),
POINTER :: gidx => null()
79 INTEGER :: ref_count = 0
80 LOGICAL :: spherical = .false.
81 COMPLEX(KIND=dp),
DIMENSION(:, :),
CONTIGUOUS,
POINTER :: grays => null()
Defines the basic variable types.
integer, parameter, public int_8
integer, parameter, public dp
Interface to the message passing library MPI.
integer, parameter, public halfspace
integer, parameter, public pw_mode_local
integer, parameter, public fullspace
integer, parameter, public pw_mode_distributed