| 7 | 
  | 
!! | 
| 8 | 
  | 
!! @author Charles F. Vardeman II | 
| 9 | 
  | 
!! @author Matthew Meineke | 
| 10 | 
< | 
!! @version $Id: mpiSimulation_module.F90,v 1.8 2003-10-28 20:09:38 gezelter Exp $, $Date: 2003-10-28 20:09:38 $, $Name: not supported by cvs2svn $, $Revision: 1.8 $ | 
| 10 | 
> | 
!! @version $Id: mpiSimulation_module.F90,v 1.9 2003-11-07 21:46:56 chuckv Exp $, $Date: 2003-11-07 21:46:56 $, $Name: not supported by cvs2svn $, $Revision: 1.9 $ | 
| 11 | 
  | 
 | 
| 12 | 
  | 
module mpiSimulation   | 
| 13 | 
  | 
  use definitions | 
| 14 | 
  | 
#ifdef IS_MPI | 
| 15 | 
< | 
  use mpi | 
| 15 | 
> | 
  use oopseMPI | 
| 16 | 
  | 
  implicit none | 
| 17 | 
  | 
  PRIVATE | 
| 18 | 
  | 
 | 
| 32 | 
  | 
!! PUBLIC  Subroutines contained in MPI module | 
| 33 | 
  | 
  public :: mpi_bcast | 
| 34 | 
  | 
  public :: mpi_allreduce | 
| 35 | 
< | 
  public :: mpi_reduce | 
| 35 | 
> | 
!  public :: mpi_reduce | 
| 36 | 
  | 
  public :: mpi_send | 
| 37 | 
  | 
  public :: mpi_recv | 
| 38 | 
  | 
  public :: mpi_get_processor_name | 
| 471 | 
  | 
 | 
| 472 | 
  | 
  subroutine gather_integer( sbuffer, rbuffer, this_plan, status) | 
| 473 | 
  | 
 | 
| 474 | 
< | 
    type (gs_plan), intent(in) :: this_plan | 
| 475 | 
< | 
    integer, dimension(:), intent(in) :: sbuffer | 
| 476 | 
< | 
    integer, dimension(:), intent(in) :: rbuffer | 
| 474 | 
> | 
    type (gs_plan), intent(inout) :: this_plan | 
| 475 | 
> | 
    integer, dimension(:), intent(inout) :: sbuffer | 
| 476 | 
> | 
    integer, dimension(:), intent(inout) :: rbuffer | 
| 477 | 
  | 
    integer :: noffset | 
| 478 | 
  | 
    integer, intent(out), optional :: status | 
| 479 | 
  | 
    integer :: i | 
| 503 | 
  | 
  subroutine gather_double( sbuffer, rbuffer, this_plan, status) | 
| 504 | 
  | 
 | 
| 505 | 
  | 
    type (gs_plan), intent(in) :: this_plan | 
| 506 | 
< | 
    real( kind = DP ), dimension(:), intent(in) :: sbuffer | 
| 507 | 
< | 
    real( kind = DP ), dimension(:), intent(in) :: rbuffer | 
| 506 | 
> | 
    real( kind = DP ), dimension(:), intent(inout) :: sbuffer | 
| 507 | 
> | 
    real( kind = DP ), dimension(:), intent(inout) :: rbuffer | 
| 508 | 
  | 
    integer :: noffset | 
| 509 | 
  | 
    integer, intent(out), optional :: status | 
| 510 | 
  | 
 | 
| 531 | 
  | 
  subroutine gather_double_2d( sbuffer, rbuffer, this_plan, status) | 
| 532 | 
  | 
 | 
| 533 | 
  | 
    type (gs_plan), intent(in) :: this_plan | 
| 534 | 
< | 
    real( kind = DP ), dimension(:,:), intent(in) :: sbuffer | 
| 535 | 
< | 
    real( kind = DP ), dimension(:,:), intent(in) :: rbuffer | 
| 534 | 
> | 
    real( kind = DP ), dimension(:,:), intent(inout) :: sbuffer | 
| 535 | 
> | 
    real( kind = DP ), dimension(:,:), intent(inout) :: rbuffer | 
| 536 | 
  | 
    integer :: noffset,i,ierror | 
| 537 | 
  | 
    integer, intent(out), optional :: status | 
| 538 | 
  | 
     | 
| 563 | 
  | 
  subroutine scatter_double( sbuffer, rbuffer, this_plan, status) | 
| 564 | 
  | 
 | 
| 565 | 
  | 
    type (gs_plan), intent(in) :: this_plan | 
| 566 | 
< | 
    real( kind = DP ), dimension(:), intent(in) :: sbuffer | 
| 567 | 
< | 
    real( kind = DP ), dimension(:), intent(in) :: rbuffer | 
| 566 | 
> | 
    real( kind = DP ), dimension(:), intent(inout) :: sbuffer | 
| 567 | 
> | 
    real( kind = DP ), dimension(:), intent(inout) :: rbuffer | 
| 568 | 
  | 
    integer, intent(out), optional :: status | 
| 569 | 
  | 
    external mpi_reduce_scatter | 
| 570 | 
  | 
 | 
| 589 | 
  | 
  subroutine scatter_double_2d( sbuffer, rbuffer, this_plan, status) | 
| 590 | 
  | 
 | 
| 591 | 
  | 
    type (gs_plan), intent(in) :: this_plan | 
| 592 | 
< | 
    real( kind = DP ), dimension(:,:), intent(in) :: sbuffer | 
| 593 | 
< | 
    real( kind = DP ), dimension(:,:), intent(in) :: rbuffer | 
| 592 | 
> | 
    real( kind = DP ), dimension(:,:), intent(inout) :: sbuffer | 
| 593 | 
> | 
    real( kind = DP ), dimension(:,:), intent(inout) :: rbuffer | 
| 594 | 
  | 
    integer, intent(out), optional :: status | 
| 595 | 
  | 
    external mpi_reduce_scatter | 
| 596 | 
  | 
  |