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 2274 by gezelter, Wed Aug 17 15:26:42 2005 UTC vs.
Revision 2329 by chuckv, Mon Sep 26 16:42:53 2005 UTC

# Line 58 | Line 58 | module simulation
58   #define __FORTRAN90
59   #include "brains/fSimulation.h"
60   #include "UseTheForce/fSwitchingFunction.h"
61 + #include "UseTheForce/DarkSide/fElectrostaticSummationMethod.h"
62  
63    type (simtype), public, save :: thisSim
64  
# Line 83 | 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 594 | 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 601 | 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