/
ALLOCATEVAR2.f90
58 lines (43 loc) · 1.5 KB
/
ALLOCATEVAR2.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
!> @file
!> @brief Allocates a bunch of arrays
!!
!> @details No really, that's all there is here
!!
!! Called from main.f90
SUBROUTINE ALLOCATEVAR2()
USE VAR
IMPLICIT NONE
!Neighbour list variables
! SETS UP A LIST OF THE TWENTY SIX NEIGHBOURING
! CELLS OF EACH OF THE SMALL CELLS IN THE CENTRAL BOX.
NCELLX_ATOM = INT(BOX(1)/RLIST_ATOM)
NCELLY_ATOM = INT(BOX(2)/RLIST_ATOM)
NCELLZ_ATOM = INT(BOX(3)/RLIST_ATOM)
NUMCELL_ATOM = NCELLX_ATOM * NCELLY_ATOM * NCELLZ_ATOM
MAPSIZE_ATOM = 13 * NUMCELL_ATOM
MAXNUMCELL_ATOM = NUMCELL_ATOM * 10
MAXMAPSIZE_ATOM = MAPSIZE_ATOM * 10
! MAXNAB_ATOM = 1000 * NATOMS
ALLOCATE (MAP_ATOM(MAXMAPSIZE_ATOM) )
! ALLOCATE (CELL_ATOM(NUMATOMS) )
ALLOCATE (HEAD_ATOM(MAXNUMCELL_ATOM) )
! ALLOCATE (LCLIST_ATOM(NITEMS) )
ALLOCATE (NCELL_ATOM(MAXNUMCELL_ATOM) )
! ALLOCATE(LIST_ATOM(MAXNAB_ATOM))
IF(IBRDESCR .eq. 0) THEN
NCELLX_BEAD = INT(BOX(1)/RLIST_BEAD)
NCELLY_BEAD = INT(BOX(2)/RLIST_BEAD)
NCELLZ_BEAD = INT(BOX(3)/RLIST_BEAD)
NUMCELL_BEAD = NCELLX_BEAD * NCELLY_BEAD * NCELLZ_BEAD
MAPSIZE_BEAD = 13 * NUMCELL_BEAD
MAXNUMCELL_BEAD = NUMCELL_BEAD * 10
MAXMAPSIZE_BEAD = MAPSIZE_BEAD * 10
! MAXNAB_BEAD = 1000 * NATOMS
ALLOCATE (MAP_BEAD(MAXMAPSIZE_BEAD) )
! ALLOCATE (CELL_BEAD(NCOARSE) )
ALLOCATE (HEAD_BEAD(MAXNUMCELL_BEAD) )
! ALLOCATE (LCLIST_BEAD(NITEMS) )
ALLOCATE (NCELL_BEAD(MAXNUMCELL_BEAD) )
! ALLOCATE(LIST_BEAD(MAXNAB_BEAD))
END IF
END SUBROUTINE ALLOCATEVAR2