Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PLAG_EdgeCellsLoadData.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 edge 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_EdgeCellsLoadData.F90,v 1.5 2008/12/06 08:44:33 mtcampbe Exp $
42 !
43 ! Copyright: (c) 2004 by the University of Illinois
44 !
45 !******************************************************************************
46 
47 SUBROUTINE plag_edgecellsloaddata( 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, iedge, iedgecellbuff, ipcls
71 
72 ! ... local variables
73  CHARACTER(CHRLEN) :: rcsidentstring
74 
75  INTEGER :: ilev, ipclsregin, nedges, npcls, npclsprev
76  INTEGER :: icoff, ijcoff
77  INTEGER :: ijkcsrc, ijkesrc
78  INTEGER :: iecdes, jecdes, kecdes, ijkecdes
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 :: ibegedgecell,iendedgecell
84  INTEGER :: errorflag,iecmax
85  INTEGER :: lpclsfoundinedgecellsum
86  INTEGER :: npclsbeg, npclsend
87 
88  INTEGER, DIMENSION(12) :: lpclsfoundinedgecell
89  INTEGER, POINTER, DIMENSION(:,:) :: paiv, paivold
90  INTEGER, POINTER, DIMENSION(:,:) :: paivc, paivoldc
91  INTEGER, POINTER, DIMENSION(:,:) :: paive, paivolde
92  INTEGER, ALLOCATABLE, DIMENSION(:,:) :: edgecellcounter
93 
94  LOGICAL :: pclsfoundinedgecell
95 
96  REAL(RFREAL), POINTER, DIMENSION(:,:) :: parv, parvold, pcv, pcvold, &
97  pdv, ptv, prhs, prhssum
98  REAL(RFREAL), POINTER, DIMENSION(:,:) :: parve, parvolde,pcve, pcvolde, &
99  pdve, ptve, prhse, prhssume
100 
101  TYPE(t_region), POINTER :: pregion
102  TYPE(t_level), POINTER :: plevel
103  TYPE(t_plag), POINTER :: pplag
104  TYPE(t_buffer_plag), POINTER :: pedgecellsxbuff
105  TYPE(t_global), POINTER :: global
106 
107 !******************************************************************************
108 
109  rcsidentstring = &
110  '$RCSfile: PLAG_EdgeCellsLoadData.F90,v $ $Revision: 1.5 $'
111 
112  global => regions(ireg)%global
113 
114  CALL registerfunction( global, 'PLAG_EdgeCellsLoadData',&
115  'PLAG_EdgeCellsLoadData.F90' )
116 
117 ! Get dimensions --------------------------------------------------------------
118 
119  ilev = regions(ireg)%currLevel
120  npcls = regions(ireg)%levels(ilev)%plag%nPcls
121  nedges = 12
122 
123 ! Set pointers ----------------------------------------------------------------
124 
125  pregion => regions(ireg)
126  plevel => regions(ireg)%levels(ilev)
127  pplag => plevel%plag
128  paiv => pplag%aiv
129  parv => pplag%arv
130  pcv => pplag%cv
131  pdv => pplag%dv
132  ptv => pplag%tv
133  prhs => pplag%rhs
134  prhssum => pplag%rhsSum
135 
136  paivold => pplag%aivOld
137  parvold => pplag%arvOld
138  pcvold => pplag%cvOld
139 
140 ! Exit for null number of particles -------------------------------------------
141 
142  IF ( pplag%nPcls == 0 ) goto 3999
143 
144 ! Get grid dimensions ---------------------------------------------------------
145 
146  CALL rflo_getdimensphys( pregion,ilev,ipcbeg,ipcend, &
147  jpcbeg,jpcend,kpcbeg,kpcend )
148 
149 ! Get cell offset -------------------------------------------------------------
150 
151  CALL rflo_getcelloffset( pregion,ilev,icoff,ijcoff )
152 
153 ! Initialize counters for particles in inside and buffer regions --------------
154 
155  ipclsregin = 0
156  iedgecellbuff = 0
157 
158  pclsfoundinedgecell = .false.
159  lpclsfoundinedgecell = 0
160 
161 ! Allocate edge cell buffer counter -------------------------------------------
162 
163  iecmax = 0
164  DO iedge=1,nedges
165  IF( plevel%edgeCells(iedge)%interact ) &
166  iecmax = max(iecmax,ubound(plevel%edgeCells(iedge)%cells,1))
167  ENDDO ! iEdge
168 
169  ALLOCATE( edgecellcounter(nedges,iecmax),stat=errorflag )
170  global%error = errorflag
171  IF (global%error /= err_none) &
172  CALL errorstop( global,err_allocate,__line__ )
173 
174  edgecellcounter = 0
175 
176 #ifdef PLAG_CECELLS_DEBUG
177  print*,'PLAG_EdgeCellsLoadData: iReg,iECMax = ', ireg, iecmax
178 #endif
179 
180 ! Loop over particles ---------------------------------------------------------
181 
182  DO ipcls=1,npcls
183 
184  icplag = paiv(aiv_plag_indexi,ipcls)
185  jcplag = paiv(aiv_plag_indexj,ipcls)
186  kcplag = paiv(aiv_plag_indexk,ipcls)
187  ijkcplag = paiv(aiv_plag_icells,ipcls)
188 
189  lpclsfoundinedgecell = 0
190 
191 ! - Loop over edges -----------------------------------------------------------
192 
193  DO iedge=1,nedges
194 
195 ! -- Bypass for noninteracting regions ----------------------------------------
196 
197  IF( .NOT. plevel%edgeCells(iedge)%interact ) goto 999
198 
199 ! -- Bypass for degenerate edge cells -----------------------------------------
200 
201  IF( plevel%edgeCells(iedge)%degenrt /= degenerat_none ) goto 999
202 
203 ! -- Get edge cell indices ----------------------------------------------------
204 
205  CALL rflo_getedgecellsindices( pregion,ilev,iedge, &
206  ibeg,iend,jbeg,jend,kbeg,kend )
207 
208  ibegedgecell = indijk(ibeg,jbeg,kbeg,icoff,ijcoff)
209  iendedgecell = indijk(iend,jend,kend,icoff,ijcoff)
210 
211 ! -- Check if particle cell is within edge cells extent -----------------------
212 ! -- set flag to take care of multiple active edges --------------------------
213 
214  IF ( icplag >= ibeg .AND. icplag <= iend .AND. &
215  jcplag >= jbeg .AND. jcplag <= jend .AND. &
216  kcplag >= kbeg .AND. kcplag <= kend ) THEN
217  lpclsfoundinedgecell(iedge) = 1
218  pclsfoundinedgecell = .true.
219  ENDIF ! iCPlag
220 
221 #ifdef PLAG_CECELLS_DEBUG
222  print*,'PLAG_EdgeCellsLoadData: iReg,iEdge,iPcls,ibeg,iend,jbeg,jend,kbeg,kend,',&
223  'ibegEdgeCell, iendEdgeCell,i-j-kCPlag,ijkCPlag,nPcls,lPclsFoundInEdgeCell',&
224  ireg,iedge,ipcls,ibeg,iend,jbeg,jend,kbeg,kend, &
225  ibegedgecell, iendedgecell,icplag,jcplag,kcplag,ijkcplag,npcls, &
226  lpclsfoundinedgecell(iedge)
227 #endif
228 
229 999 CONTINUE
230  END DO ! iEdge
231 
232 ! - Loop over edges -----------------------------------------------------------
233 
234  DO iedge=1,nedges
235 
236 ! -- Bypass for noninteracting regions ----------------------------------------
237 
238  IF( .NOT. plevel%edgeCells(iedge)%interact ) goto 2999
239 
240 ! -- Bypass for degenerate edge cells -----------------------------------------
241 
242  IF( plevel%edgeCells(iedge)%degenrt /= degenerat_none ) goto 2999
243 
244 ! -- Get edge cell indices ----------------------------------------------------
245 
246  CALL rflo_getedgecellsindices( pregion,ilev,iedge, &
247  ibeg,iend,jbeg,jend,kbeg,kend )
248 
249 ! -- Determine sum of lPclsFoundInEdgeCell ------------------------------------
250 ! Such particle is in the physical domain --------------------------------
251 
252  lpclsfoundinedgecellsum = sum( lpclsfoundinedgecell )
253 
254 ! -- Particle is in physical domain -------------------------------------------
255 ! -- Shift particle datastructure only if particle is not in its proper spot --
256 
257  IF ( lpclsfoundinedgecellsum == 0 ) THEN
258 
259  ipclsregin = ipclsregin + 1
260 
261 #ifdef PLAG_CECELLS_DEBUG
262  print*,' PLAG_EdgeCellsLoadData: iReg, iEdge, iPcls,iPclsRegIn =',&
263  ireg, iedge, ipcls,ipclsregin
264 #endif
265 
266  IF ( ipclsregin /= ipcls ) THEN
267  paiv( :,ipclsregin) = paiv( :,ipcls)
268  parv( :,ipclsregin) = parv( :,ipcls)
269  pcv( :,ipclsregin) = pcv( :,ipcls)
270  pdv( :,ipclsregin) = pdv( :,ipcls)
271  ptv( :,ipclsregin) = ptv( :,ipcls)
272  prhs( :,ipclsregin) = prhs( :,ipcls)
273  prhssum(:,ipclsregin) = prhssum(:,ipcls)
274 
275  paivold(:,ipclsregin) = paivold(:,ipcls)
276  parvold(:,ipclsregin) = parvold(:,ipcls)
277  pcvold( :,ipclsregin) = pcvold( :,ipcls)
278  ENDIF ! iPclsRegIn
279 
280 ! -- Remove particle from active datastructure for specific edge --------------
281 
282  ENDIF ! lPclsFoundInEdgeCellSum
283 
284  IF ( lpclsfoundinedgecell(iedge) == 1 ) THEN
285 
286 ! -- Loop over edge cell indices ----------------------------------------------
287 
288  ijk = 0
289  DO k=kbeg,kend
290  DO j=jbeg,jend
291  DO i=ibeg,iend
292  ijk = ijk + 1
293  ijkesrc = indijk(i,j,k,icoff, ijcoff)
294 
295 ! --- Set pointers ------------------------------------------------------------
296 
297  pedgecellsxbuff => plevel%edgeCells(iedge)%cells(ijk)%bufferExchPlag
298 
299  paive => pedgecellsxbuff%aiv
300  parve => pedgecellsxbuff%arv
301  pcve => pedgecellsxbuff%cv
302  pdve => pedgecellsxbuff%dv
303  ptve => pedgecellsxbuff%tv
304  prhse => pedgecellsxbuff%rhs
305  prhssume => pedgecellsxbuff%rhsSum
306 
307  paivolde => pedgecellsxbuff%aivOld
308  parvolde => pedgecellsxbuff%arvOld
309  pcvolde => pedgecellsxbuff%cvOld
310 
311 ! --- Destination region infrastructure ---------------------------------------
312 
313  iregdes = plevel%edgeCells(iedge)%cells(ijk)%srcRegion
314 
315  IF ( iregdes > 0 .AND. ijkcplag == ijkesrc .AND. &
316  pedgecellsxbuff%nBuffSize /= 0 ) THEN
317  ijkecdes = plevel%edgeCells(iedge)%cells(ijk)%srcCell
318  ndumcellsdes = regions(iregdes)%nDumCells
319 
320  CALL rflo_getcelloffset( regions(iregdes),ilev,icoffdes,ijcoffdes )
321  CALL getijk( ijkecdes,icoffdes,ijcoffdes,ndumcellsdes, &
322  iecdes,jecdes,kecdes )
323 
324  edgecellcounter(iedge,ijk) = edgecellcounter(iedge,ijk)+1
325  iedgecellbuff = edgecellcounter(iedge,ijk)
326 
327 #ifdef PLAG_CECELLS_DEBUG
328  WRITE(stdout,*) ' PLAG_EdgeCellsLoadData: iReg,iPcls,iEdge,iRegDes,iEdgeCellBuff ', &
329  ireg, ipcls, iedge, iregdes, iedgecellbuff
330 #endif
331 
332 ! --- Update aiv field --------------------------------------------------------
333 
334  paive(aiv_plag_icells,iedgecellbuff) = ijkecdes
335  paive(aiv_plag_indexi,iedgecellbuff) = iecdes
336  paive(aiv_plag_indexj,iedgecellbuff) = jecdes
337  paive(aiv_plag_indexk,iedgecellbuff) = kecdes
338  paive(aiv_plag_pidini,iedgecellbuff) = paiv(aiv_plag_pidini,ipcls)
339  paive(aiv_plag_regini,iedgecellbuff) = paiv(aiv_plag_regini,ipcls)
340  paive(aiv_plag_regcrt,iedgecellbuff) = iregdes
341  paive(aiv_plag_burnstat,iedgecellbuff) = paiv(aiv_plag_burnstat,ipcls)
342  paive(aiv_plag_status,iedgecellbuff) = paiv(aiv_plag_status,ipcls)
343 
344  paivolde(: ,iedgecellbuff) = paive(:,iedgecellbuff)
345 
346 ! --- Load communication buffer arrays for corner cells -----------------------
347 
348  parve( :,iedgecellbuff) = parv( :,ipcls)
349  pcve( :,iedgecellbuff) = pcv( :,ipcls)
350  pdve( :,iedgecellbuff) = pdv( :,ipcls)
351  ptve( :,iedgecellbuff) = ptv( :,ipcls)
352  prhse( :,iedgecellbuff) = prhs( :,ipcls)
353  prhssume(:,iedgecellbuff) = prhssum(:,ipcls)
354 
355  parvolde(:,iedgecellbuff) = parvold(:,ipcls)
356  pcvolde( :,iedgecellbuff) = pcvold( :,ipcls)
357 
358 #ifdef PLAG_CECELLS_DEBUG
359  WRITE(stdout,*) &
360  ' PLAG_EdgeCellsLoadData: iReg, iEdge, iEdgeCellBuff, nEdgeBuffSize, pAiv', &
361  ireg, iedge, iedgecellbuff, pedgecellsxbuff%nBuffSize,&
362  paive(aiv_plag_icells,iedgecellbuff),&
363  paive(aiv_plag_indexi,iedgecellbuff),&
364  paive(aiv_plag_indexj,iedgecellbuff),&
365  paive(aiv_plag_indexk,iedgecellbuff),&
366  paive(aiv_plag_pidini,iedgecellbuff),&
367  paive(aiv_plag_regini,iedgecellbuff),&
368  paive(aiv_plag_regcrt,iedgecellbuff),&
369  paive(aiv_plag_burnstat,iedgecellbuff)
370 #endif
371 
372  ENDIF ! iRegDes
373 
374  ENDDO ! i
375  ENDDO ! j
376  ENDDO ! k
377 
378  ENDIF ! lPclsFoundInEdgeCell
379 
380 ! ---- Exit edge search if particle is in physical domain ------------------
381 
382  IF ( lpclsfoundinedgecellsum == 0 ) goto 1999
383 
384 #ifdef PLAG_CECELLS_DEBUG
385  WRITE(stdout,'(A,2(2X,I3),2(2X,I4))') &
386  ' PLAG_EdgeCellsLoadData: iReg, iEdge, iEdgeCellBuff', &
387  ireg, iedge, iedgecellbuff
388 #endif
389 
390 2999 CONTINUE
391 
392  ENDDO ! iEdge
393 
394 1999 CONTINUE
395  ENDDO ! iPcls
396 
397 ! Get new particle datasize --------------------------------------------------
398 
399  npclsprev = pplag%nPcls
400  IF ( pclsfoundinedgecell ) pplag%nPcls = ipclsregin
401 
402 #ifdef PLAG_CECELLS_DEBUG
403  WRITE(stdout,'(A,I4,2I8,2X,L1)') &
404  ' PLAG_EdgeCellsLoadData: iReg,nPclsPrev,nPclsCurr,pclsFoundInEdgeCell = ',&
405  ireg,npclsprev,pplag%nPcls,pclsfoundinedgecell
406 #endif
407 
408 ! reinitialize reshuffled particle datastructure to account for ---------------
409 ! region with null size particle --------------------------------------------
410 ! perform if data reshuffled and particle size null -------------------------
411 
412  IF ( pclsfoundinedgecell .AND. pplag%nPcls == 0) THEN
413  npclsbeg = max(1,pplag%nPcls+1)
414  npclsend = npclsprev
415 
416  pplag%aiv(: ,npclsbeg:npclsend) = 0
417  pplag%aivOld(:,npclsbeg:npclsend) = 0
418  pplag%arv(: ,npclsbeg:npclsend) = 0.0_rfreal
419  pplag%arvOld(:,npclsbeg:npclsend) = 0.0_rfreal
420  pplag%cv(: ,npclsbeg:npclsend) = 0.0_rfreal
421  pplag%cvOld(: ,npclsbeg:npclsend) = 0.0_rfreal
422  pplag%rhs(: ,npclsbeg:npclsend) = 0.0_rfreal
423  pplag%rhsSum(:,npclsbeg:npclsend) = 0.0_rfreal
424 
425 #ifdef PLAG_CECELLS_DEBUG
426  WRITE(stdout,'(A,I4,2I8,2X,L1)') &
427  ' PLAG_EdgeCellsLoadData: iReg,nPclsBeg,nPclsEnd = ',&
428  ireg,npclsbeg,npclsend
429 #endif
430  ENDIF ! pclsFoundInEdgeCell
431 
432 ! Deallocate edge cell buffer counter -----------------------------------------
433 
434  DEALLOCATE( edgecellcounter,stat=errorflag )
435  global%error = errorflag
436  IF (global%error /= err_none) &
437  CALL errorstop( global,err_deallocate,__line__ )
438 
439 ! finalize --------------------------------------------------------------------
440 
441 3999 CONTINUE
442 
443  CALL deregisterfunction( global )
444 
445 END SUBROUTINE plag_edgecellsloaddata
446 
447 !******************************************************************************
448 !
449 ! RCS Revision history:
450 !
451 ! $Log: PLAG_EdgeCellsLoadData.F90,v $
452 ! Revision 1.5 2008/12/06 08:44:33 mtcampbe
453 ! Updated license.
454 !
455 ! Revision 1.4 2008/11/19 22:17:46 mtcampbe
456 ! Added Illinois Open Source License/Copyright
457 !
458 ! Revision 1.3 2006/04/07 15:19:23 haselbac
459 ! Removed tabs
460 !
461 ! Revision 1.2 2004/12/01 21:09:35 fnajjar
462 ! Initial revision after changing case
463 !
464 ! Revision 1.10 2004/11/29 19:27:08 fnajjar
465 ! Added bypass statement for dengerate cells
466 !
467 ! Revision 1.9 2004/04/09 23:09:16 fnajjar
468 ! Added AIV_PLAG_STATUS to receive buffer and fixed nPclsBeg
469 !
470 ! Revision 1.8 2004/03/20 21:53:16 fnajjar
471 ! Included data reinitilization in an IF statement to alleviate data shrinkage
472 !
473 ! Revision 1.7 2004/03/20 21:34:51 fnajjar
474 ! Exit routine for null nPcls and reinitialized reshuffled data
475 !
476 ! Revision 1.6 2004/03/19 23:51:30 fnajjar
477 ! Reworked kernel to handle multiple active edges
478 !
479 ! Revision 1.5 2004/03/18 21:41:52 fnajjar
480 ! Various bug fixed for proper buffer loading
481 !
482 ! Revision 1.4 2004/02/13 23:22:07 fnajjar
483 ! Included new cv and aiv definitions for particle burning module
484 !
485 ! Revision 1.3 2004/01/29 16:52:48 fnajjar
486 ! Included search bypass for particles in physical domain
487 !
488 ! Revision 1.2 2004/01/28 16:10:28 fnajjar
489 ! Moved statements inside IF iReg for correct syntax
490 !
491 ! Revision 1.1 2004/01/26 22:56:28 fnajjar
492 ! Initial import for corner-edge cells to load buffer data
493 !
494 !******************************************************************************
495 
496 
497 
498 
499 
500 
501 
subroutine rflo_getedgecellsindices(region, iLev, iedge, iebeg, ieend, jebeg, jeend, kebeg, keend)
**********************************************************************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 plag_edgecellsloaddata(regions, iReg)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
IndexType nedges() const
Definition: Mesh.H:564
**********************************************************************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)
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)