ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/DarkSide/simulation.F90
(Generate patch)

Comparing trunk/OOPSE-4/src/UseTheForce/DarkSide/simulation.F90 (file contents):
Revision 2328 by chrisfen, Mon Sep 19 23:21:46 2005 UTC vs.
Revision 2329 by chuckv, Mon Sep 26 16:42:53 2005 UTC

# Line 84 | Line 84 | module simulation
84    real(kind=dp), allocatable, dimension(:), public :: mfactLocal
85  
86    logical, allocatable, dimension(:) :: simHasAtypeMap
87 + #ifdef IS_MPI
88 +  logical, allocatable, dimension(:) :: simHasAtypeMapTemp
89 + #endif
90 +
91    real(kind=dp), public, dimension(3,3), save :: Hmat, HmatInv
92    logical, public, save :: boxIsOrthorhombic
93  
# Line 595 | Line 599 | contains
599               end if
600               SimHasAtypeMap = .false.
601            end if
602 +          
603            ! Loop through the local atoms and grab the atypes present        
604            do me_i = 1,nLocal
605               SimHasAtypeMap(atid(me_i)) = .true.
# Line 602 | Line 607 | contains
607            ! For MPI, we need to know all possible atypes present in
608            ! simulation on all processors. Use LOR operation to set map.
609   #ifdef IS_MPI
610 <          call mpi_allreduce(SimHasAtypeMap, SimHasAtypeMap, nAtypes, &
610 >          if (.not.allocated(SimHasAtypeMapTemp)) then
611 >             allocate(SimHasAtypeMapTemp(nAtypes),stat=alloc_stat)
612 >             if (alloc_stat /= 0 ) then
613 >                status = -1
614 >                return
615 >             end if
616 >          end if
617 >          call mpi_allreduce(SimHasAtypeMap, SimHasAtypeMaptemp, nAtypes, &
618                 mpi_logical, MPI_LOR, mpi_comm_world, mpiErrors)
619 +          simHasAtypeMap = simHasAtypeMapTemp
620 +          deallocate(simHasAtypeMapTemp)
621   #endif          
622          end subroutine createSimHasAtype
623          

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines