postprocessing.F [SRC] [CPP] [JOB] [SCAN]
SOURCES / INOUT



   1 | include(dom.inc)
   2 | 
   3 |       SUBROUTINE POSTPROCESSING(                                        &
   4 |      &                         gb_Lbtot, loc_Gtot, loc_Qrtot, loc_Qptot,& ! IN 
   5 |      &                         Lbtot, Gtot, Qrtot, Qptot, Qw)             ! OUT       
   6 |             
   7 |       USE mod_slave
   8 |       USE mod_pmm
   9 | #ifdef USEPALM
  10 |       USE palmlib
  11 | #endif
  12 | 
  13 |       IMPLICIT NONE
  14 | 
  15 | !     IN
  16 |       DOM_REAL,DIMENSION(is_ncells)            :: loc_Gtot, gb_Lbtot
  17 |       DOM_REAL,DIMENSION(3,is_ncells)          :: loc_Qrtot
  18 |       DOM_REAL,DIMENSION(3,is_nprobes)         :: loc_Qptot
  19 | 
  20 | !     OUT
  21 |       DOM_REAL,DIMENSION(is_nnodes)            :: Gtot, Lbtot
  22 |       DOM_REAL,DIMENSION(3,is_nnodes)          :: Qrtot
  23 |       DOM_REAL,DIMENSION(is_nbfaces)           :: Qw
  24 |       DOM_REAL,DIMENSION(3,is_nprobes)         :: Qptot      
  25 | 
  26 | !     LOCAL
  27 |       DOM_INT                                  :: ibnd, i, j, ierr
  28 |       DOM_REAL,DIMENSION(is_ncells)            :: gb_Gtot
  29 |       DOM_REAL,DIMENSION(3,is_ncells)          :: gb_Qrtot 
  30 |       DOM_REAL,DIMENSION(3,is_nbfaces)         :: Qrtot_face
  31 | 
  32 | !     -------------------------------------------------------------!
  33 | !     Sum over ALL slave quadrature point/frequency and directions !
  34 | !     -------------------------------------------------------------!
  35 | 
  36 |       CALL MPI_ALLREDUCE(loc_Gtot, gb_Gtot, is_ncells,                  &
  37 |      &         MPI_DOUBLE_PRECISION, MPI_SUM, COMM_PARA , ierr)
  38 | 
  39 |       CALL MPI_ALLREDUCE(loc_Qrtot, gb_Qrtot, 3*is_ncells,              &
  40 |      &         MPI_DOUBLE_PRECISION, MPI_SUM, COMM_PARA , ierr)
  41 | 
  42 |       CALL MPI_ALLREDUCE(loc_Qptot, Qptot, 3*is_nprobes,                &
  43 |      &         MPI_DOUBLE_PRECISION, MPI_SUM, COMM_PARA , ierr)
  44 | 
  45 | !     ----------------!
  46 | !     Scatter results !
  47 | !     ----------------!
  48 | 
  49 |       CALL SCATTER(gb_Lbtot, Lbtot, 1)
  50 |       CALL SCATTER(gb_Gtot , Gtot , 1)
  51 |       CALL SCATTER(gb_Qrtot, Qrtot, 3)
  52 | 
  53 |       CALL GATHER_FACES(Qrtot,Qrtot_face,3)
  54 | !     --------------------------------------------!
  55 | !     Calculation of the wall radiative heat flux !
  56 | !     --------------------------------------------!
  57 | 
  58 |       DO ibnd = 1,is_nbfaces
  59 | 
  60 |         j        = is_bcell(ibnd)
  61 |         i        = is_bface(ibnd)
  62 | 
  63 |         Qw(ibnd) = gb_Qrtot(1,j)*s_norm(1,i,j) +                        &
  64 |      &             gb_Qrtot(2,j)*s_norm(2,i,j) +                        &
  65 |      &             gb_Qrtot(3,j)*s_norm(3,i,j)
  66 | 
  67 | !        Qw(ibnd) = Qrtot_face(1,ibnd)*s_norm(1,i,j) +                   &
  68 | !     &             Qrtot_face(2,ibnd)*s_norm(2,i,j) +                   &
  69 | !     &             Qrtot_face(3,ibnd)*s_norm(3,i,j)
  70 | 
  71 |       ENDDO
  72 | 
  73 | 
  74 |       ENDSUBROUTINE POSTPROCESSING


postprocessing.F could be called by:
Makefile [SOURCES] - 158
postprocessing.F [SOURCES/INOUT] - 74
slave.F [SOURCES/MAIN/SLAVE] - 548 - 551