| 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.1.1.1 2003-03-21 17:42:12 mmeineke Exp $, $Date: 2003-03-21 17:42:12 $, $Name: not supported by cvs2svn $, $Revision: 1.1.1.1 $ |
| 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 |
| 137 |
|
integer :: localStatus |
| 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 |
| 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) |
| 670 |
|
write(default_error,*) "nBondGlobal: ", mpiSim%nBondsGlobal |
| 671 |
|
write(default_error,*) "nTorsionsGlobal: ", mpiSim%nTorsionsGlobal |
| 672 |
|
write(default_error,*) "nSRIGlobal: ", mpiSim%nSRIGlobal |
| 665 |
– |
write(default_error,*) "myMolStart: ", mpiSim%myMolStart |
| 666 |
– |
write(default_error,*) "myMolEnd: ", mpiSim%myMolEnd |
| 667 |
– |
write(default_error,*) "myMol: ", mpiSim%myMol |
| 673 |
|
write(default_error,*) "myNlocal: ", mpiSim%myNlocal |
| 674 |
|
write(default_error,*) "myNode: ", mpiSim%myNode |
| 675 |
|
write(default_error,*) "numberProcessors: ", mpiSim%numberProcessors |
| 689 |
|
myNode = mpiSim%myNode |
| 690 |
|
end function getMyNode |
| 691 |
|
|
| 692 |
< |
|
| 692 |
> |
#endif // is_mpi |
| 693 |
|
end module mpiSimulation |
| 694 |
|
|
| 695 |
< |
#endif // is_mpi |
| 695 |
> |
|