1 |
– |
#ifdef IS_MPI |
1 |
|
|
2 |
+ |
|
3 |
|
!! MPI support for long range forces using force decomposition |
4 |
|
!! on a square grid of processors. |
5 |
|
!! Corresponds to mpiSimunation.cpp for C++ |
7 |
|
!! |
8 |
|
!! @author Charles F. Vardeman II |
9 |
|
!! @author Matthew Meineke |
10 |
< |
!! @version $Id: mpiSimulation_module.F90,v 1.2 2003-03-26 23:14:02 gezelter Exp $, $Date: 2003-03-26 23:14:02 $, $Name: not supported by cvs2svn $, $Revision: 1.2 $ |
10 |
> |
!! @version $Id: mpiSimulation_module.F90,v 1.5 2003-07-17 19:25:51 chuckv Exp $, $Date: 2003-07-17 19:25:51 $, $Name: not supported by cvs2svn $, $Revision: 1.5 $ |
11 |
|
|
12 |
|
module mpiSimulation |
13 |
|
use definitions |
14 |
+ |
#ifdef IS_MPI |
15 |
|
use mpi |
16 |
|
implicit none |
17 |
|
PRIVATE |
138 |
|
!! Global reference tag for local particles |
139 |
|
integer, dimension(ntags),intent(inout) :: tags |
140 |
|
|
141 |
+ |
write(*,*) 'mpiSim_mod thinks node', thisComponentPlan%myNode, ' has tags(1) = ', tags(1) |
142 |
|
|
143 |
+ |
|
144 |
+ |
|
145 |
|
status = 0 |
146 |
|
if (componentPlanSet) then |
147 |
|
return |
258 |
|
|
259 |
|
nComponentsLocal = thisComponentPlan%myNlocal |
260 |
|
|
261 |
+ |
write(*,*) "UpdateGridComponents: myNlocal ", nComponentsLocal |
262 |
|
call mpi_allreduce(nComponentsLocal,nComponentsRow,1,mpi_integer,& |
263 |
|
mpi_sum,thisComponentPlan%rowComm,mpiErrors) |
264 |
|
if (mpiErrors /= 0) then |
275 |
|
|
276 |
|
thisComponentPlan%nComponentsRow = nComponentsRow |
277 |
|
thisComponentPlan%nComponentsColumn = nComponentsColumn |
278 |
< |
|
278 |
> |
write(*,*) "UpdateGridComponents: myNRow ",& |
279 |
> |
thisComponentPlan%nComponentsRow |
280 |
> |
write(*,*) "UpdateGridComponents: myNColumn ",& |
281 |
> |
thisComponentPlan%nComponentsColumn |
282 |
|
|
283 |
|
end subroutine updateGridComponents |
284 |
|
|
633 |
|
ncol = thisplan%gsComponentPlan%nComponentsColumn |
634 |
|
end function getNcol |
635 |
|
|
636 |
< |
pure function getNrow(thisplan) result(ncol) |
636 |
> |
pure function getNrow(thisplan) result(nrow) |
637 |
|
type (gs_plan), intent(in) :: thisplan |
638 |
< |
integer :: ncol |
639 |
< |
ncol = thisplan%gsComponentPlan%nComponentsrow |
638 |
> |
integer :: nrow |
639 |
> |
nrow = thisplan%gsComponentPlan%nComponentsRow |
640 |
|
end function getNrow |
641 |
|
|
642 |
|
function isMPISimSet() result(isthisSimSet) |
689 |
|
myNode = mpiSim%myNode |
690 |
|
end function getMyNode |
691 |
|
|
692 |
< |
|
692 |
> |
#endif // is_mpi |
693 |
|
end module mpiSimulation |
694 |
|
|
695 |
< |
#endif // is_mpi |
695 |
> |
|