ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/md_code/simulation_module.F90
Revision: 194
Committed: Wed Dec 4 21:19:38 2002 UTC (21 years, 7 months ago) by chuckv
File size: 1515 byte(s)
Log Message:
First addition of mpiDivideLabor to split mpi simulation among processors.

File Contents

# Content
1 module simulation
2 use definitions, ONLY :dp
3 use force_wrappers, ONLY : alloc_force_wrappers
4
5 implicit none
6 PRIVATE
7
8
9
10 real ( kind = dp ), public, dimension(3) :: box
11
12
13 real ( kind = dp ), public :: rlist
14 real ( kind = dp ), public :: rcut
15 real ( kind = dp ), public :: rlistsq
16 real ( kind = dp ), public :: rcutsq
17
18 integer,public, allocatable, dimension(:) :: point
19 integer,public, allocatable, dimension(:) :: list
20
21
22 !MPI dependent routines
23
24 #ifdef IS_MPI
25 ! Universal routines: All types of force calculations will need these arrays
26 ! Arrays specific to a type of force calculation should be declared in that module.
27 real( kind = dp ), allocatable, dimension(:,:) :: qRow
28 real( kind = dp ), allocatable, dimension(:,:) :: qColumn
29
30 real( kind = dp ), allocatable, dimension(:,:) :: fRow
31 real( kind = dp ), allocatable, dimension(:,:) :: fColumn
32
33 real( kind = dp ), allocatable, dimension(:,:) :: tRow
34 real( kind = dp ), allocatable, dimension(:,:) :: tColumn
35
36 #endif
37
38
39
40
41
42
43 contains
44
45 #ifdef MPI
46 ! Allocated work arrays for MPI
47 subroutine allocate_mpi_arrays(nDimensions,numComponents)
48 integer, intent(in) :: nDimensions
49 integer, intent(in) :: numComponents
50
51
52
53
54
55 end subroutine allocate_mpi_arrays
56 #endif
57
58 subroutine set_simulation(box,rlist,rcut)
59
60
61
62 end subroutine set_simulation
63
64
65
66 subroutine change_box_size(new_box_size)
67 real(kind=dp), dimension(3) :: new_box_size
68
69 box = new_box_size
70
71 end subroutine change_box_size
72
73
74 end module simulation