volaverage.F [SRC] [CPP] [JOB] [SCAN]
SOURCES / FUNCTIONS



   1 | include(dom.inc)
   2 | 
   3 |       SUBROUTINE VOLAVERAGE(vect, average, ndata, ivol)
   4 | 
   5 |       USE mod_pmm
   6 |       USE mod_slave
   7 | #ifdef USEPALM
   8 |       USE palmlib
   9 | #endif
  10 | 
  11 |       IMPLICIT NONE
  12 | 
  13 | !     IN
  14 |       DOM_INT                              :: ndata, ivol
  15 |       DOM_REAL,DIMENSION(ndata,is_ncells)  :: vect
  16 | 
  17 | !     LOCAL
  18 |       DOM_INT :: j, ierr
  19 |       DOM_REAL, DIMENSION(ndata)           :: local_average
  20 | 
  21 | !     OUT
  22 |       DOM_REAL, DIMENSION(ndata) :: average
  23 | 
  24 |       average  = 0.
  25 | 
  26 | !     -----------------------------!
  27 | !     Initializing local cell data !
  28 | !     -----------------------------!
  29 | 
  30 |       local_average  = 0.
  31 | 
  32 |        DO j= 1, is_ncells !is_cellb, is_cellf 
  33 |          local_average(:) = local_average(:)  + vect(:,j)*s_V(j)
  34 |       ENDDO
  35 | 
  36 | !      CALL MPI_ALLREDUCE(local_average, average, ndata,                 &
  37 | !     &                   MPI_DOUBLE_PRECISION,MPI_SUM, COMM_PARA ,      &
  38 | !     &                   ierr)
  39 | 
  40 |       average    = local_average 
  41 |       IF(ivol.eq.1) average(:) = average(:) / SUM(s_V)
  42 | 
  43 |       END SUBROUTINE VOLAVERAGE


volaverage.F could be called by:
deri_kappa.F [SOURCES/SCHEMES] - 99
Makefile [SOURCES] - 165
slave.F [SOURCES/MAIN/SLAVE] - 261