62 TYPE(t_region
) :: region, regionsrc
66 INTEGER :: idum,
i,
j,
k, l, ijkbuff
69 INTEGER :: ilev,
ibeg,
iend,
jbeg,
jend,
kbeg, kend, icoff, ijcoff, ijkc, &
70 n1, n2, ndim, dest,
tag
71 INTEGER :: lb, l1srcdir, l2srcdir, l1beg, l1end, l1step, l2beg, l2end, l2step
76 REAL(RFREAL),
POINTER :: rcv(:,:)
82 global => region%global
85 'RADI_floFlimSendDummyConf.F90' )
89 IF (regionsrc%active == off)
THEN
90 CALL
errorstop( global,err_srcregion_off,__line__ )
95 ilev = region%currLevel
101 rcv => region%levels(ilev)%radi%cv
102 ncv = region%radiInput%nCv
106 ndim = n1*n2*regionsrc%nDumCells
111 IF (
patch%srcL1beg >
patch%srcL1end) l1srcdir = -1
113 IF (
patch%srcL2beg >
patch%srcL2end) l2srcdir = -1
122 DO idum=0,regionsrc%nDumCells-1
126 IF (lb==1 .OR. lb==2)
THEN
128 IF (lb == 1)
i =
ibeg + idum
129 IF (lb == 2)
i =
iend - idum
131 IF (l1srcdir > 0)
THEN
139 IF (l2srcdir > 0)
THEN
147 DO k=l2beg,l2end,l2step
148 DO j=l1beg,l1end,l1step
149 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
150 ijkbuff = ijkbuff + 1
152 patch%valRadi%sendBuff(ijkbuff+(l-1)*ndim) = rcv(l,ijkc)
157 IF (l1srcdir > 0)
THEN
165 IF (l2srcdir > 0)
THEN
173 DO j=l2beg,l2end,l2step
174 DO k=l1beg,l1end,l1step
175 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
176 ijkbuff = ijkbuff + 1
178 patch%valRadi%sendBuff(ijkbuff+(l-1)*ndim) = rcv(l,ijkc)
186 ELSE IF (lb==3 .OR. lb==4)
THEN
188 IF (lb == 3)
j =
jbeg + idum
189 IF (lb == 4)
j =
jend - idum
191 IF (l1srcdir > 0)
THEN
199 IF (l2srcdir > 0)
THEN
207 DO i=l2beg,l2end,l2step
208 DO k=l1beg,l1end,l1step
209 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
210 ijkbuff = ijkbuff + 1
212 patch%valRadi%sendBuff(ijkbuff+(l-1)*ndim) = rcv(l,ijkc)
217 IF (l1srcdir > 0)
THEN
225 IF (l2srcdir > 0)
THEN
233 DO k=l2beg,l2end,l2step
234 DO i=l1beg,l1end,l1step
235 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
236 ijkbuff = ijkbuff + 1
238 patch%valRadi%sendBuff(ijkbuff+(l-1)*ndim) = rcv(l,ijkc)
246 ELSE IF (lb==5 .OR. lb==6)
THEN
248 IF (lb == 5)
k =
kbeg + idum
249 IF (lb == 6)
k = kend - idum
251 IF (l1srcdir > 0)
THEN
259 IF (l2srcdir > 0)
THEN
267 DO j=l2beg,l2end,l2step
268 DO i=l1beg,l1end,l1step
269 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
270 ijkbuff = ijkbuff + 1
272 patch%valRadi%sendBuff(ijkbuff+(l-1)*ndim) = rcv(l,ijkc)
277 IF (l1srcdir > 0)
THEN
285 IF (l2srcdir > 0)
THEN
293 DO i=l2beg,l2end,l2step
294 DO j=l1beg,l1end,l1step
295 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
296 ijkbuff = ijkbuff + 1
298 patch%valRadi%sendBuff(ijkbuff+(l-1)*ndim) = rcv(l,ijkc)
311 dest = regionsrc%procid
312 tag = regionsrc%localNumber + mpi_patchoff*
patch%srcPatch* &
314 CALL mpi_isend(
patch%valRadi%sendBuff,ncv*ndim,mpi_rfreal, &
315 dest,
tag,global%mpiComm, &
316 global%requests(
patch%valRadi%iRequest),global%mpierr )
317 IF (global%mpierr /= 0) CALL
errorstop( global,err_mpi_trouble,__line__ )
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ibeg
subroutine registerfunction(global, funName, fileName)
subroutine rflo_getpatchindices(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode jend
subroutine radi_floflimsenddummyconf(region, regionSrc, patch)
subroutine errorstop(global, errorCode, errorLine, addMessage)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode jbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode kbeg
subroutine deregisterfunction(global)