58 TYPE(t_region
),
POINTER :: regions(:)
68 INTEGER :: ilev, npatches, bctype, iregsrc, irequest
70 INTEGER ::
status(mpi_status_size)
80 global => regions(1)%global
83 'RFLO_ClearSendRequests.F90' )
91 ilev = regions(ireg)%currLevel
93 npatches = regions(ireg)%nPatches
99 patch => regions(ireg)%levels(ilev)%patches(ipatch)
101 bctype =
patch%bcType
102 iregsrc =
patch%srcRegion
107 dowait = ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) &
109 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) &
111 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
113 dowait = ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) &
115 (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) &
117 (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range) &
119 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) &
121 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
124 IF (iregsrc > 0)
THEN
125 IF (dowait .AND. (regions(iregsrc)%procid /= global%myProcid))
THEN
126 CALL mpi_wait( global%requests(
patch%mixt%iRequest),
status, &
128 IF (global%mpierr /= 0) CALL
errorstop( global,err_mpi_trouble,__line__ )
136 IF (.NOT. geometry .AND. global%nProcAlloc>1)
THEN
137 DO ir=1,global%nRegions
138 IF (regions(ireg)%levels(ilev)%sendEcCells(ir)%nCells > 0)
THEN
139 irequest = regions(ireg)%levels(ilev)%sendEcCells(ir)%iRequest
140 CALL mpi_wait( global%requests(irequest),
status,global%mpierr )
141 IF (global%mpierr /= 0) CALL
errorstop( global,err_mpi_trouble,__line__ )
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
subroutine rflo_clearsendrequests(regions, iReg, geometry)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)