20 #include "../base/base_uses.f90"
25 PUBLIC :: pw_grid_type, map_pn
34 INTEGER,
DIMENSION(:),
ALLOCATABLE :: pos, neg
42 LOGICAL :: ray_distribution = .false.
43 LOGICAL :: blocked = .false.
45 INTEGER :: my_pos = -1
46 INTEGER :: group_size = -1
47 LOGICAL :: group_head = .false.
48 INTEGER :: group_head_id = 0
49 INTEGER,
DIMENSION(:, :, :),
ALLOCATABLE :: yzp
50 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: yzq
51 INTEGER,
DIMENSION(:),
ALLOCATABLE :: nyzray
52 TYPE(mp_cart_type) :: rs_group = mp_cart_type()
53 INTEGER :: rs_mpo = -1
54 INTEGER,
DIMENSION(2) :: rs_dims = 0
55 INTEGER,
DIMENSION(2) :: rs_pos = -1
56 INTEGER,
DIMENSION(:, :, :, :),
ALLOCATABLE :: bo
57 INTEGER,
DIMENSION(:),
ALLOCATABLE :: pos_of_x
63 INTEGER(int_8) :: ngpts = 0_int_8
64 INTEGER(int_8) :: ngpts_cut = 0_int_8
65 INTEGER,
DIMENSION(2, 3) :: bounds = 0
66 INTEGER,
DIMENSION(3) :: npts = 0
67 INTEGER :: ngpts_local = 0
68 INTEGER :: ngpts_cut_local = 0
69 INTEGER,
DIMENSION(2, 3) :: bounds_local = 0
70 INTEGER,
DIMENSION(3) :: npts_local = 0
71 REAL(kind=
dp),
DIMENSION(3) :: dr = 0.0_dp
72 REAL(kind=
dp),
DIMENSION(3, 3) :: dh = 0.0_dp
73 REAL(kind=
dp),
DIMENSION(3, 3) :: dh_inv = 0.0_dp
74 LOGICAL :: orthorhombic = .true.
75 REAL(kind=
dp) :: dvol = 0.0_dp, vol = 0.0_dp
76 REAL(kind=
dp) :: cutoff = 0.0_dp
77 TYPE(map_pn) :: mapl = map_pn(), mapm = map_pn(), mapn = map_pn()
78 TYPE(pw_para_type) :: para = pw_para_type()
79 REAL(kind=
dp),
DIMENSION(:, :),
POINTER,
CONTIGUOUS :: g => null()
80 REAL(kind=
dp),
DIMENSION(:),
POINTER,
CONTIGUOUS :: gsq => null()
81 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: g_hat
82 INTEGER,
DIMENSION(:, :),
POINTER,
CONTIGUOUS :: g_hatmap => null()
84 LOGICAL :: have_g0 = .true.
85 INTEGER :: first_gne0 = 0
87 INTEGER :: reference = 0
88 INTEGER,
DIMENSION(:),
POINTER :: gidx => null()
89 INTEGER :: ref_count = 0
90 LOGICAL :: spherical = .false.
91 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.
type(mp_comm_type), parameter, public mp_comm_null
integer, parameter, public halfspace
integer, parameter, public pw_mode_local
integer, parameter, public fullspace
integer, parameter, public pw_mode_distributed