Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PLAG_CornCellsLoadData.F90
Go to the documentation of this file.
1 ! *********************************************************************
2 ! * Rocstar Simulation Suite *
3 ! * Copyright@2015, Illinois Rocstar LLC. All rights reserved. *
4 ! * *
5 ! * Illinois Rocstar LLC *
6 ! * Champaign, IL *
7 ! * www.illinoisrocstar.com *
8 ! * sales@illinoisrocstar.com *
9 ! * *
10 ! * License: See LICENSE file in top level of distribution package or *
11 ! * http://opensource.org/licenses/NCSA *
12 ! *********************************************************************
13 ! *********************************************************************
14 ! * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
15 ! * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
16 ! * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
17 ! * NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
18 ! * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
19 ! * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
20 ! * Arising FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
21 ! * USE OR OTHER DEALINGS WITH THE SOFTWARE. *
22 ! *********************************************************************
23 !******************************************************************************
24 !
25 ! Purpose: loads data buffer size for corner cells
26 ! and shrinks particle datastructure.
27 !
28 ! Description: none.
29 !
30 ! Input: regions = data of all regions,
31 ! iReg = current region number.
32 !
33 ! Output: region%level%edgeCells%buffExchPlag%aiv,arv,cv,dv,tv = buffer data.
34 ! region%level%cornerCells%buffExchPlag%aiv,arv,cv,dv,tv = buffer data.
35 ! region%level%plag%aiv,arv,cv,dv,tv = Plag data.
36 !
37 ! Notes: None.
38 !
39 !******************************************************************************
40 !
41 ! $Id: PLAG_CornCellsLoadData.F90,v 1.4 2008/12/06 08:44:33 mtcampbe Exp $
42 !
43 ! Copyright: (c) 2004 by the University of Illinois
44 !
45 !******************************************************************************
46 
47 SUBROUTINE plag_corncellsloaddata( regions, iReg )
48 
49  USE moddatatypes
51  USE moddatastruct, ONLY : t_region, t_level, t_dcell
52  USE modglobal, ONLY : t_global
53  USE modindexing, ONLY : getijk
54  USE modinterfaces, ONLY : rflo_getcelloffset, &
57  USE moderror
58  USE modparameters
60  IMPLICIT NONE
61 
62 #include "Indexing.h"
63 
64 ! ... parameters
65  TYPE(t_region), POINTER :: regions(:)
66 
67  INTEGER, INTENT(IN) :: ireg
68 
69 ! ... loop variables
70  INTEGER :: i, j, k, ijk, icorner, icorncellbuff, ipcls
71 
72 ! ... local variables
73  CHARACTER(CHRLEN) :: rcsidentstring
74 
75  INTEGER :: ilev, ipclsregin, ncorners, npcls, npclsprev
76  INTEGER :: icoff, ijcoff
77  INTEGER :: ijkcsrc
78  INTEGER :: iccdes, jccdes, kccdes, ijkccdes
79  INTEGER :: icplag, ipcbeg, ipcend, ibeg, iend, ijkcplag
80  INTEGER :: jcplag, jpcbeg, jpcend, jbeg, jend
81  INTEGER :: kcplag, kpcbeg, kpcend, kbeg, kend
82  INTEGER :: icoffdes, ijcoffdes, ndumcellsdes, iregdes
83  INTEGER :: ibegcorncell, iendcorncell
84  INTEGER :: errorflag,iccmax
85  INTEGER :: lpclsfoundincorncellsum
86  INTEGER :: npclsbeg, npclsend
87 
88  INTEGER, DIMENSION(9) :: lpclsfoundincorncell
89  INTEGER, POINTER, DIMENSION(:,:) :: paiv, paivold
90  INTEGER, POINTER, DIMENSION(:,:) :: paivc, paivoldc
91  INTEGER, ALLOCATABLE, DIMENSION(:,:) :: corncellcounter
92 
93  LOGICAL :: pclsfoundincorncell
94 
95  REAL(RFREAL), POINTER, DIMENSION(:,:) :: parv, parvold, pcv, pcvold, &
96  pdv, ptv, prhs, prhssum
97  REAL(RFREAL), POINTER, DIMENSION(:,:) :: parvc, parvoldc,pcvc, pcvoldc, &
98  pdvc, ptvc, prhsc, prhssumc
99 
100  TYPE(t_region), POINTER :: pregion
101  TYPE(t_level), POINTER :: plevel
102  TYPE(t_plag), POINTER :: pplag
103  TYPE(t_buffer_plag), POINTER :: pcorncellsxbuff
104  TYPE(t_global), POINTER :: global
105 
106 !******************************************************************************
107 
108  rcsidentstring = &
109  '$RCSfile: PLAG_CornCellsLoadData.F90,v $ $Revision: 1.4 $'
110 
111  global => regions(ireg)%global
112 
113  CALL registerfunction( global, 'PLAG_CornCellsLoadData',&
114  'PLAG_CornCellsLoadData.F90' )
115 
116 ! Get dimensions --------------------------------------------------------------
117 
118  ilev = regions(ireg)%currLevel
119  npcls = regions(ireg)%levels(ilev)%plag%nPcls
120  ncorners = 8
121 
122 ! Set pointers ----------------------------------------------------------------
123 
124  pregion => regions(ireg)
125  plevel => regions(ireg)%levels(ilev)
126  pplag => plevel%plag
127  paiv => pplag%aiv
128  parv => pplag%arv
129  pcv => pplag%cv
130  pdv => pplag%dv
131  ptv => pplag%tv
132  prhs => pplag%rhs
133  prhssum => pplag%rhsSum
134 
135  paivold => pplag%aivOld
136  parvold => pplag%arvOld
137  pcvold => pplag%cvOld
138 
139 ! Exit for null number of particles -------------------------------------------
140 
141  IF ( pplag%nPcls == 0 ) goto 3999
142 
143 ! Get grid dimensions ---------------------------------------------------------
144 
145  CALL rflo_getdimensphys( pregion,ilev,ipcbeg,ipcend, &
146  jpcbeg,jpcend,kpcbeg,kpcend )
147 
148 ! Get cell offset -------------------------------------------------------------
149 
150  CALL rflo_getcelloffset( pregion,ilev,icoff,ijcoff )
151 
152 ! Initialize counters for particles in inside and buffer regions --------------
153 
154  ipclsregin = 0
155  icorncellbuff = 0
156 
157  pclsfoundincorncell = .false.
158  lpclsfoundincorncell = 0
159 
160 ! Allocate corner cell buffer counter -----------------------------------------
161 
162  iccmax = 0
163  DO icorner=1,ncorners
164  IF( plevel%cornerCells(icorner)%interact ) &
165  iccmax = max(iccmax,ubound(plevel%cornerCells(icorner)%cells,1))
166  ENDDO ! iCorner
167 
168  ALLOCATE( corncellcounter(ncorners,iccmax),stat=errorflag )
169  global%error = errorflag
170  IF (global%error /= err_none) &
171  CALL errorstop( global,err_allocate,__line__ )
172 
173  corncellcounter = 0
174 
175 #ifdef PLAG_CECELLS_DEBUG
176  print*,'PLAG_CornCellsLoadData: iReg,iCCMax = ', ireg, iccmax
177 #endif
178 
179 ! Loop over particles ---------------------------------------------------------
180 
181  DO ipcls=1,npcls
182 
183  icplag = paiv(aiv_plag_indexi,ipcls)
184  jcplag = paiv(aiv_plag_indexj,ipcls)
185  kcplag = paiv(aiv_plag_indexk,ipcls)
186  ijkcplag = paiv(aiv_plag_icells,ipcls)
187 
188  lpclsfoundincorncell = 0
189 
190 ! - Loop over corners ---------------------------------------------------------
191 
192  DO icorner=1,ncorners
193 
194 ! -- Bypass for noninteracting regions ----------------------------------------
195 
196  IF ( .NOT. plevel%cornerCells(icorner)%interact ) goto 999
197 
198 ! -- Bypass for degenerate corner cells ---------------------------------------
199 
200  IF( plevel%cornerCells(icorner)%degenrt /= degenerat_none ) goto 999
201 
202 ! -- Get corner cell indices --------------------------------------------------
203 
204  CALL rflo_getcornercellsindices( pregion,ilev,icorner, &
205  ibeg,iend,jbeg,jend,kbeg,kend )
206 
207  ibegcorncell = indijk(ibeg,jbeg,kbeg,icoff,ijcoff)
208  iendcorncell = indijk(iend,jend,kend,icoff,ijcoff)
209 
210 ! -- Check if particle cell is within corner cells extent ---------------------
211 ! -- set flag to take care of multiple active edges --------------------------
212 
213  IF ( icplag >= ibeg .AND. icplag <= iend .AND. &
214  jcplag >= jbeg .AND. jcplag <= jend .AND. &
215  kcplag >= kbeg .AND. kcplag <= kend ) THEN
216  lpclsfoundincorncell(icorner) = 1
217  pclsfoundincorncell = .true.
218  ENDIF ! iCPlag
219 
220 #ifdef PLAG_CECELLS_DEBUG
221  print*,'PLAG_CornCellsLoadData: iReg,iCorner,iPcls,ibeg,iend,jbeg,jend,kbeg,kend,',&
222  'ibegEdgeCell, iendEdgeCell,i-j-kCPlag,ijkCPlag,nPcls,lPclsFoundInEdgeCell',&
223  ireg,icorner,ipcls,ibeg,iend,jbeg,jend,kbeg,kend, &
224  ibegcorncell, iendcorncell,icplag,jcplag,kcplag,ijkcplag,npcls, &
225  lpclsfoundincorncell(icorner)
226 #endif
227 
228 999 CONTINUE
229  END DO ! iCorner
230 
231 ! - Loop over corners ---------------------------------------------------------
232 
233  DO icorner=1,ncorners
234 
235 ! -- Bypass for noninteracting regions ----------------------------------------
236 
237  IF ( .NOT. plevel%cornerCells(icorner)%interact ) goto 2999
238 
239 ! -- Bypass for degenerate corner cells ---------------------------------------
240 
241  IF( plevel%cornerCells(icorner)%degenrt /= degenerat_none ) goto 2999
242 
243 ! -- Get corner cell indices --------------------------------------------------
244 
245  CALL rflo_getcornercellsindices( pregion,ilev,icorner, &
246  ibeg,iend,jbeg,jend,kbeg,kend )
247 
248 ! -- Determine sum of lPclsFoundInCornCell ------------------------------------
249 ! Such particle is in the physical domain --------------------------------
250 
251  lpclsfoundincorncellsum = sum( lpclsfoundincorncell )
252 
253 ! -- Check if particle cell is within edge cells extent -----------------------
254 
255  IF ( icplag >= ibeg .AND. icplag <= iend .AND. &
256  jcplag >= jbeg .AND. jcplag <= jend .AND. &
257  kcplag >= kbeg .AND. kcplag <= kend ) &
258  pclsfoundincorncell = .true.
259 
260  IF ( lpclsfoundincorncellsum == 0 ) THEN
261 
262 ! --- Particle is in physical domain ------------------------------------------
263 ! --- Shift particle datastructure only if particle is not in its proper spot -
264 
265  ipclsregin = ipclsregin + 1
266 
267 #ifdef PLAG_CECELLS_DEBUG
268  print*,' PLAG_CornCellsLoadData: iReg, iCorner, iPcls, iPclsRegIn =',&
269  ireg, icorner, ipcls, ipclsregin
270 #endif
271 
272  IF ( ipclsregin /= ipcls ) THEN
273  paiv( :,ipclsregin) = paiv( :,ipcls)
274  parv( :,ipclsregin) = parv( :,ipcls)
275  pcv( :,ipclsregin) = pcv( :,ipcls)
276  pdv( :,ipclsregin) = pdv( :,ipcls)
277  ptv( :,ipclsregin) = ptv( :,ipcls)
278  prhs( :,ipclsregin) = prhs( :,ipcls)
279  prhssum(:,ipclsregin) = prhssum(:,ipcls)
280 
281  paivold(:,ipclsregin) = paivold(:,ipcls)
282  parvold(:,ipclsregin) = parvold(:,ipcls)
283  pcvold( :,ipclsregin) = pcvold( :,ipcls)
284  ENDIF ! iPclsRegIn
285 
286  ENDIF ! lPclsFoundInCornCellSum
287 
288 ! -- Remove particle from active datastructure for specific corner ------------
289 
290  IF ( lpclsfoundincorncell(icorner) == 1 ) THEN
291 
292 ! -- Loop over corner cell indices --------------------------------------------
293 
294  ijk = 0
295  DO k=kbeg,kend
296  DO j=jbeg,jend
297  DO i=ibeg,iend
298  ijk = ijk + 1
299  ijkcsrc = indijk(i,j,k,icoff, ijcoff)
300 
301 ! --- Set pointers ------------------------------------------------------------
302 
303  pcorncellsxbuff => plevel%cornerCells(icorner)%cells(ijk)%bufferExchPlag
304 
305  paivc => pcorncellsxbuff%aiv
306  parvc => pcorncellsxbuff%arv
307  pcvc => pcorncellsxbuff%cv
308  pdvc => pcorncellsxbuff%dv
309  ptvc => pcorncellsxbuff%tv
310  prhsc => pcorncellsxbuff%rhs
311  prhssumc => pcorncellsxbuff%rhsSum
312 
313  paivoldc => pcorncellsxbuff%aivOld
314  parvoldc => pcorncellsxbuff%arvOld
315  pcvoldc => pcorncellsxbuff%cvOld
316 
317 ! --- Destination region infrastructure --------------------------------------
318 
319  iregdes = plevel%cornerCells(icorner)%cells(ijk)%srcRegion
320 
321  IF ( iregdes > 0 .AND. ijkcplag == ijkcsrc .AND. &
322  pcorncellsxbuff%nBuffSize /= 0 ) THEN
323  ijkccdes = plevel%cornerCells(icorner)%cells(ijk)%srcCell
324  ndumcellsdes = regions(iregdes)%nDumCells
325 
326  CALL rflo_getcelloffset( regions(iregdes),ilev,icoffdes,ijcoffdes )
327  CALL getijk( ijkccdes,icoffdes,ijcoffdes,ndumcellsdes, &
328  iccdes,jccdes,kccdes )
329 
330  corncellcounter(icorner,ijk) = corncellcounter(icorner,ijk)+1
331  icorncellbuff = corncellcounter(icorner,ijk)
332 
333 #ifdef PLAG_CECELLS_DEBUG
334  WRITE(stdout,*) ' PLAG_CornCellsLoadData: iReg,iPcls,iCorner,iRegDes,iCornCellBuff ', &
335  ireg,ipcls,icorner,iregdes,icorncellbuff
336 #endif
337 
338 ! --- Update aiv field --------------------------------------------------------
339 
340  paivc(aiv_plag_icells,icorncellbuff) = ijkccdes
341  paivc(aiv_plag_indexi,icorncellbuff) = iccdes
342  paivc(aiv_plag_indexj,icorncellbuff) = jccdes
343  paivc(aiv_plag_indexk,icorncellbuff) = kccdes
344  paivc(aiv_plag_pidini,icorncellbuff) = paiv(aiv_plag_pidini,ipcls)
345  paivc(aiv_plag_regini,icorncellbuff) = paiv(aiv_plag_regini,ipcls)
346  paivc(aiv_plag_regcrt,icorncellbuff) = iregdes
347  paivc(aiv_plag_burnstat,icorncellbuff) = paiv(aiv_plag_burnstat,ipcls)
348  paivc(aiv_plag_status,icorncellbuff) = paiv(aiv_plag_status,ipcls)
349 
350  paivoldc(: ,icorncellbuff) = paivc(:,icorncellbuff)
351 
352 ! --- Load communication buffer arrays for corner cells -----------------------
353 
354  parvc( :,icorncellbuff) = parv( :,ipcls)
355  pcvc( :,icorncellbuff) = pcv( :,ipcls)
356  pdvc( :,icorncellbuff) = pdv( :,ipcls)
357  ptvc( :,icorncellbuff) = ptv( :,ipcls)
358  prhsc( :,icorncellbuff) = prhs( :,ipcls)
359  prhssumc(:,icorncellbuff) = prhssum(:,ipcls)
360 
361  parvoldc(:,icorncellbuff) = parvold(:,ipcls)
362  pcvoldc( :,icorncellbuff) = pcvold( :,ipcls)
363 
364 #ifdef PLAG_CECELLS_DEBUG
365  WRITE(stdout,*) &
366  ' PLAG_CornCellsLoadData: iReg, iCorner, iCornCellBuff, nCornBuffSize, pAiv', &
367  ireg,icorner, icorncellbuff, pcorncellsxbuff%nBuffSize,&
368  paivc(aiv_plag_icells,icorncellbuff),&
369  paivc(aiv_plag_indexi,icorncellbuff),&
370  paivc(aiv_plag_indexj,icorncellbuff),&
371  paivc(aiv_plag_indexk,icorncellbuff),&
372  paivc(aiv_plag_pidini,icorncellbuff),&
373  paivc(aiv_plag_regini,icorncellbuff),&
374  paivc(aiv_plag_regcrt,icorncellbuff),&
375  paivc(aiv_plag_burnstat,icorncellbuff)
376 #endif
377 
378  ENDIF ! iRegDes
379 
380  ENDDO ! i
381  ENDDO ! j
382  ENDDO ! k
383 
384  ENDIF ! pclsFoundInCornCell
385 
386 ! ---- Exit edge search if particle is in physical domain ------------------
387 
388  IF ( lpclsfoundincorncellsum == 0 ) goto 1999
389 
390 #ifdef PLAG_CECELLS_DEBUG
391  WRITE(stdout,'(A,2(2X,I3),2(2X,I4))') &
392  ' PLAG_CornCellsLoadData: iReg, iCorner, iCornCellBuff', &
393  ireg, icorner, icorncellbuff
394 #endif
395 
396 2999 CONTINUE
397 
398  ENDDO ! iCorner
399 
400 1999 CONTINUE
401  ENDDO ! iPcls
402 
403 ! Get new particle datasize --------------------------------------------------
404 
405  npclsprev = pplag%nPcls
406  IF ( pclsfoundincorncell ) pplag%nPcls = ipclsregin
407 
408 #ifdef PLAG_CECELLS_DEBUG
409  WRITE(stdout,'(A,I4,2I8,2X,L1)') &
410  ' PLAG_CornCellsLoadData: iReg,nPclsPrev,nPclsCurr,pclsFoundInCornCell = ',&
411  ireg,npclsprev,pplag%nPcls,pclsfoundincorncell
412 #endif
413 
414 ! reinitialize reshuffled particle datastructure to account for ---------------
415 ! region with null size particle --------------------------------------------
416 ! perform if data reshuffled and particle size null -------------------------
417 
418  IF ( pclsfoundincorncell .AND. pplag%nPcls == 0) THEN
419  npclsbeg = max(1,pplag%nPcls+1)
420  npclsend = npclsprev
421 
422  pplag%aiv(: ,npclsbeg:npclsend) = 0
423  pplag%aivOld(:,npclsbeg:npclsend) = 0
424  pplag%arv(: ,npclsbeg:npclsend) = 0.0_rfreal
425  pplag%arvOld(:,npclsbeg:npclsend) = 0.0_rfreal
426  pplag%cv(: ,npclsbeg:npclsend) = 0.0_rfreal
427  pplag%cvOld(: ,npclsbeg:npclsend) = 0.0_rfreal
428  pplag%rhs(: ,npclsbeg:npclsend) = 0.0_rfreal
429  pplag%rhsSum(:,npclsbeg:npclsend) = 0.0_rfreal
430 
431 #ifdef PLAG_CECELLS_DEBUG
432  WRITE(stdout,'(A,I4,2I8,2X,L1)') &
433  ' PLAG_CornCellsLoadData: iReg,nPclsBeg,nPclsEnd = ',&
434  ireg,npclsbeg,npclsend
435 #endif
436  ENDIF ! pclsFoundInCornCell
437 
438 ! Deallocate corner cell buffer counter ---------------------------------------
439 
440  DEALLOCATE( corncellcounter,stat=errorflag )
441  global%error = errorflag
442  IF (global%error /= err_none) &
443  CALL errorstop( global,err_deallocate,__line__ )
444 
445 ! finalize --------------------------------------------------------------------
446 3999 CONTINUE
447 
448  CALL deregisterfunction( global )
449 
450 END SUBROUTINE plag_corncellsloaddata
451 
452 !******************************************************************************
453 !
454 ! RCS Revision history:
455 !
456 ! $Log: PLAG_CornCellsLoadData.F90,v $
457 ! Revision 1.4 2008/12/06 08:44:33 mtcampbe
458 ! Updated license.
459 !
460 ! Revision 1.3 2008/11/19 22:17:46 mtcampbe
461 ! Added Illinois Open Source License/Copyright
462 !
463 ! Revision 1.2 2006/04/07 15:19:23 haselbac
464 ! Removed tabs
465 !
466 ! Revision 1.1 2004/12/01 20:57:27 fnajjar
467 ! Initial revision after changing case
468 !
469 ! Revision 1.10 2004/11/29 19:27:08 fnajjar
470 ! Added bypass statement for dengerate cells
471 !
472 ! Revision 1.9 2004/04/09 23:07:36 fnajjar
473 ! Added AIV_PLAG_STATUS to receive buffer and fixed nPclsBeg
474 !
475 ! Revision 1.8 2004/03/20 21:53:15 fnajjar
476 ! Included data reinitilization in an IF statement to alleviate data shrinkage
477 !
478 ! Revision 1.7 2004/03/20 21:34:23 fnajjar
479 ! Exit routine for null nPcls and reinitialized reshuffled data
480 !
481 ! Revision 1.6 2004/03/19 23:51:08 fnajjar
482 ! Reworked kernel to handle multiple active corners
483 !
484 ! Revision 1.5 2004/03/18 21:41:52 fnajjar
485 ! Various bug fixed for proper buffer loading
486 !
487 ! Revision 1.4 2004/02/13 23:22:07 fnajjar
488 ! Included new cv and aiv definitions for particle burning module
489 !
490 ! Revision 1.3 2004/01/29 16:52:48 fnajjar
491 ! Included search bypass for particles in physical domain
492 !
493 ! Revision 1.2 2004/01/28 16:10:28 fnajjar
494 ! Moved statements inside IF iReg for correct syntax
495 !
496 ! Revision 1.1 2004/01/26 22:56:28 fnajjar
497 ! Initial import for corner-edge cells to load buffer data
498 !
499 !******************************************************************************
500 
501 
502 
503 
504 
505 
506 
**********************************************************************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
Tfloat sum() const
Return the sum of all the pixel values in an image.
Definition: CImg.h:13022
j indices k indices k
Definition: Indexing.h:6
**********************************************************************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 kpcbeg
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
Definition: Vector_n.h:354
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
**********************************************************************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 jpcbeg
**********************************************************************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 ipcend
**********************************************************************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
**********************************************************************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 ipcbeg
blockLoc i
Definition: read.cpp:79
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 icorner
subroutine rflo_getcornercellsindices(region, iLev, icorner, icbeg, icend, jcbeg, jcend, kcbeg, kcend)
virtual std::ostream & print(std::ostream &os) const
j indices j
Definition: Indexing.h:6
**********************************************************************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 jpcend
**********************************************************************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 errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
**********************************************************************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)
Definition: ModError.F90:469
subroutine getijk(ijk, iOffset, ijOffset, nDumCells, i, j, k)
Definition: ModIndexing.F90:54
subroutine rflo_getdimensphys(region, iLev, ipcbeg, ipcend, jpcbeg, jpcend, kpcbeg, kpcend)
subroutine plag_corncellsloaddata(regions, iReg)