Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_ModMoveGridUtil.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: Collection of grid-motion utility routines.
26 !
27 ! Description: None.
28 !
29 ! Notes: None.
30 !
31 ! ******************************************************************************
32 !
33 ! $Id: RFLO_ModMoveGridUtil.F90,v 1.5 2008/12/06 08:44:17 mtcampbe Exp $
34 !
35 ! Copyright: (c) 2004 by the University of Illinois
36 !
37 ! ******************************************************************************
38 
40 
41  USE modglobal, ONLY : t_global
42  USE moddatastruct, ONLY: t_region
43  USE modgrid, ONLY : t_grid
44  USE modbndpatch, ONLY : t_patch
45  USE modparameters
46  USE moddatatypes
47  USE moderror
48  USE modmpi
49 
50  IMPLICIT NONE
51 
52  PRIVATE
53  PUBLIC :: rflo_movegridqflatpatch, &
55 
56 ! private :
57 
58 ! ******************************************************************************
59 ! Declarations and definitions
60 ! ******************************************************************************
61 
62  CHARACTER(CHRLEN) :: RCSIdentString = &
63  '$RCSfile: RFLO_ModMoveGridUtil.F90,v $ $Revision: 1.5 $'
64 
65 ! ******************************************************************************
66 ! Routines
67 ! ******************************************************************************
68 
69  CONTAINS
70 
71 
72 !******************************************************************************
73 !
74 ! Purpose: move grid on non-external half-flat patch (curved in one direction)
75 ! (finest grid only).
76 !
77 ! Description: none.
78 !
79 ! Input: region = current region
80 ! patch = current patch
81 ! iPatch = patch number
82 !
83 ! Output: xyz = updated grid at this patch.
84 !
85 ! Notes: none.
86 !
87 !******************************************************************************
88 
89 SUBROUTINE rflo_movegridqflatpatch( region,patch,iPatch )
90 
93  IMPLICIT NONE
94 
95 #include "Indexing.h"
96 
97 ! ... parameters
98 
99  INTEGER :: ipatch
100  TYPE(t_region) :: region
101  TYPE(t_patch), POINTER :: patch
102 
103 ! ... loop variables
104  INTEGER :: l1, l2
105 
106 ! ... local variables
107  INTEGER :: ilev, lbound, ibeg, iend, jbeg, jend, kbeg, kend
108  INTEGER :: ijkn, ijkn1, ijknb, ijkne, inoff, ijnoff, errorflag
109  INTEGER :: l1b, l1e, l2b, l2e, lc, dir1, dir2, k1, k2, switch(6,7)
110 
111  REAL(RFREAL) :: arclen, ds1, s
112  REAL(RFREAL) :: dnbeg(xcoord:zcoord), dnend(xcoord:zcoord), dn(xcoord:zcoord)
113  REAL(RFREAL), POINTER :: xyz(:,:), xyzref(:,:)
114  REAL(RFREAL), POINTER :: arclen12(:,:), arclen34(:,:), arclen56(:,:)
115  REAL(RFREAL), ALLOCATABLE :: ds2(:)
116 
117  TYPE(t_global), POINTER :: global
118 
119 !******************************************************************************
120 
121  global => region%global
122 
123  CALL registerfunction( global,'RFLO_MoveGridQFlatPatch',&
124  'RFLO_ModMoveGridUtil.F90' )
125 
126 ! get dimensions and pointers -------------------------------------------------
127 
128  ilev = 1
129  lbound = patch%lbound
130 
131  CALL rflo_getnodeoffset( region,ilev,inoff,ijnoff )
132  CALL rflo_getpatchindicesnodes( region,patch,ilev, &
133  ibeg,iend,jbeg,jend,kbeg,kend )
134 
135  xyzref => region%levels(ilev)%gridOld%xyzOld
136  xyz => region%levels(ilev)%grid%xyz
137  arclen12 => region%levels(ilev)%grid%arcLen12
138  arclen34 => region%levels(ilev)%grid%arcLen34
139  arclen56 => region%levels(ilev)%grid%arcLen56
140 
141 ! set boundary switch ---------------------------------------------------------
142 ! switch(:,1-2) = l1 and l2 patch direction
143 ! switch(:,3-4) = first/last index in l1-direction
144 ! switch(:,5-6) = first/last index in l2-direction
145 ! switch(:, 7) = constant index
146 
147  switch(1,:) = (/jcoord, kcoord, jbeg, jend, kbeg, kend, ibeg/)
148  switch(2,:) = (/jcoord, kcoord, jbeg, jend, kbeg, kend, iend/)
149  switch(3,:) = (/kcoord, icoord, kbeg, kend, ibeg, iend, jbeg/)
150  switch(4,:) = (/kcoord, icoord, kbeg, kend, ibeg, iend, jend/)
151  switch(5,:) = (/icoord, jcoord, ibeg, iend, jbeg, jend, kbeg/)
152  switch(6,:) = (/icoord, jcoord, ibeg, iend, jbeg, jend, kend/)
153 
154  dir1 = switch(lbound,1)
155  dir2 = switch(lbound,2)
156  l1b = switch(lbound,3)
157  l1e = switch(lbound,4)
158  l2b = switch(lbound,5)
159  l2e = switch(lbound,6)
160  lc = switch(lbound,7)
161 
162  ALLOCATE( ds2(l1b:l1e), stat=errorflag )
163  global%error = errorflag
164  IF (global%error /= 0) CALL errorstop( global,err_allocate,&
165  __line__ )
166 
167 ! apply 1D TFI along flat direction of Qflat patch ----------------------------
168 
169  ds2(:) = 0._rfreal
170  DO l2=l2b+1,l2e-1
171  k2 = l2-l2b+1
172 
173  ds1 = 0._rfreal
174  DO l1=l1b+1,l1e-1
175  k1 = l1-l1b+1
176 
177  IF (lbound==1 .OR. lbound==2) THEN
178  IF (patch%dirFlat==dir1) THEN
179  ijkn = indijk(lc,l1 ,l2 ,inoff,ijnoff)
180  ijkn1 = indijk(lc,l1-1 ,l2 ,inoff,ijnoff)
181  ijknb = indijk(lc,l1b ,l2 ,inoff,ijnoff)
182  ijkne = indijk(lc,l1e ,l2 ,inoff,ijnoff)
183  arclen = patch%arcLen1(k2)
184  ELSEIF (patch%dirFlat==dir2) THEN
185  ijkn = indijk(lc,l1 ,l2 ,inoff,ijnoff)
186  ijkn1 = indijk(lc,l1 ,l2-1 ,inoff,ijnoff)
187  ijknb = indijk(lc,l1 ,l2b ,inoff,ijnoff)
188  ijkne = indijk(lc,l1 ,l2e ,inoff,ijnoff)
189  arclen = patch%arcLen2(k1)
190  ENDIF
191  ELSEIF (lbound==3 .OR. lbound==4) THEN
192  IF (patch%dirFlat==dir1) THEN
193  ijkn = indijk(l2 ,lc,l1 ,inoff,ijnoff)
194  ijkn1 = indijk(l2 ,lc,l1-1 ,inoff,ijnoff)
195  ijknb = indijk(l2 ,lc,l1b ,inoff,ijnoff)
196  ijkne = indijk(l2 ,lc,l1e ,inoff,ijnoff)
197  arclen = patch%arcLen1(k2)
198  ELSEIF (patch%dirFlat==dir2) THEN
199  ijkn = indijk(l2 ,lc,l1 ,inoff,ijnoff)
200  ijkn1 = indijk(l2-1 ,lc,l1 ,inoff,ijnoff)
201  ijknb = indijk(l2b ,lc,l1 ,inoff,ijnoff)
202  ijkne = indijk(l2e ,lc,l1 ,inoff,ijnoff)
203  arclen = patch%arcLen2(k1)
204  ENDIF
205  ELSEIF (lbound==5 .OR. lbound==6) THEN
206  IF (patch%dirFlat==dir1) THEN
207  ijkn = indijk(l1 ,l2 ,lc,inoff,ijnoff)
208  ijkn1 = indijk(l1-1 ,l2 ,lc,inoff,ijnoff)
209  ijknb = indijk(l1b ,l2 ,lc,inoff,ijnoff)
210  ijkne = indijk(l1e ,l2 ,lc,inoff,ijnoff)
211  arclen = patch%arcLen1(k2)
212  ELSEIF (patch%dirFlat==dir2) THEN
213  ijkn = indijk(l1 ,l2 ,lc,inoff,ijnoff)
214  ijkn1 = indijk(l1 ,l2-1 ,lc,inoff,ijnoff)
215  ijknb = indijk(l1 ,l2b ,lc,inoff,ijnoff)
216  ijkne = indijk(l1 ,l2e ,lc,inoff,ijnoff)
217  arclen = patch%arcLen2(k1)
218  ENDIF ! dirFlat
219  ENDIF ! lbound
220 
221  dnbeg(:) = xyz(:,ijknb)
222  dnend(:) = xyz(:,ijkne)
223 
224  IF (patch%dirFlat==dir1) THEN
225  ds1 = ds1 + &
226  sqrt((xyzref(xcoord,ijkn)-xyzref(xcoord,ijkn1))**2 + &
227  (xyzref(ycoord,ijkn)-xyzref(ycoord,ijkn1))**2 + &
228  (xyzref(zcoord,ijkn)-xyzref(zcoord,ijkn1))**2)
229  s = ds1/arclen
230  ELSEIF (patch%dirFlat==dir2) THEN
231  ds2(l1) = ds2(l1) + &
232  sqrt((xyzref(xcoord,ijkn)-xyzref(xcoord,ijkn1))**2 + &
233  (xyzref(ycoord,ijkn)-xyzref(ycoord,ijkn1))**2 + &
234  (xyzref(zcoord,ijkn)-xyzref(zcoord,ijkn1))**2)
235  s = ds2(l1)/arclen
236  ENDIF
237 
238  CALL rflo_tfint1d( s,dnbeg,dnend,dn )
239  xyz(:,ijkn) = dn(:)
240 
241  ENDDO ! l1
242  ENDDO ! l2
243 
244 ! deallocate arrays -----------------------------------------------------------
245 
246  DEALLOCATE( ds2, stat=errorflag )
247  global%error = errorflag
248  IF (global%error /= 0) CALL errorstop( global,err_deallocate,&
249  __line__ )
250 
251 ! finalize --------------------------------------------------------------------
252 
253  CALL deregisterfunction( global )
254 
255 END SUBROUTINE rflo_movegridqflatpatch
256 
257 
258 !******************************************************************************
259 !
260 ! Purpose: move grid on non-external arbitrary-curved-patches
261 ! (finest grid only).
262 !
263 ! Description: the same method as RFLO_MgFrameBndDeformation is used, but
264 ! based on total displacement rather than incremental one.
265 !
266 ! Input: region = current region
267 ! patch = current patch
268 ! iPatch = patch number
269 !
270 ! Output: xyz = updated grid at this patch.
271 !
272 ! Notes: none.
273 !
274 !******************************************************************************
275 
276 SUBROUTINE rflo_movegridcurvedpatch( region,patch,iPatch )
277 
280  IMPLICIT NONE
281 
282 #include "Indexing.h"
283 
284 ! ... parameters
285 
286  TYPE(t_region) :: region
287  TYPE(t_patch), POINTER :: patch
288  INTEGER :: ipatch
289 
290 ! ... loop variables
291  INTEGER :: l1, l2
292 
293 ! ... local variables
294  INTEGER :: ilev, lbound, ibeg, iend, jbeg, jend, kbeg, kend
295  INTEGER :: l1b, l1e, l2b, l2e, lc, ijkn, ijke(4), ijkem(4), inoff, ijnoff
296  INTEGER :: h1, h2, switch(6,5)
297 
298  LOGICAL :: sum12
299  REAL(RFREAL) :: arclen(4), ds(4), s(4)
300  REAL(RFREAL) :: e1(xcoord:zcoord), e2(xcoord:zcoord), &
301  e3(xcoord:zcoord), e4(xcoord:zcoord), &
302  p1(xcoord:zcoord), p2(xcoord:zcoord), &
303  p3(xcoord:zcoord), p4(xcoord:zcoord), dn(xcoord:zcoord)
304  REAL(RFREAL), POINTER :: xyz(:,:), xyzref(:,:)
305 
306 !******************************************************************************
307 
308  CALL registerfunction( region%global,'RFLO_MoveGridCurvedPatch',&
309  'RFLO_ModMoveGridUtil.F90' )
310 
311 ! get dimensions and pointers -------------------------------------------------
312 
313  lbound = patch%lbound
314  ilev = 1
315 
316  CALL rflo_getnodeoffset( region,ilev,inoff,ijnoff )
317  CALL rflo_getpatchindicesnodes( region,patch,ilev, &
318  ibeg,iend,jbeg,jend,kbeg,kend )
319 
320  xyzref => region%levels(ilev)%gridOld%xyzOld
321  xyz => region%levels(ilev)%grid%xyz
322 
323 ! set boundary switch ---------------------------------------------------------
324 ! switch(:,1-2) = first/last index in l1-direction
325 ! switch(:,3-4) = first/last index in l2-direction
326 ! switch(:, 5) = constant index
327 
328  switch(1,:) = (/jbeg, jend, kbeg, kend, ibeg/)
329  switch(2,:) = (/jbeg, jend, kbeg, kend, iend/)
330  switch(3,:) = (/kbeg, kend, ibeg, iend, jbeg/)
331  switch(4,:) = (/kbeg, kend, ibeg, iend, jend/)
332  switch(5,:) = (/ibeg, iend, jbeg, jend, kbeg/)
333  switch(6,:) = (/ibeg, iend, jbeg, jend, kend/)
334 
335  l1b = switch(lbound,1)
336  l1e = switch(lbound,2)
337  l2b = switch(lbound,3)
338  l2e = switch(lbound,4)
339  lc = switch(lbound,5)
340  h1 = l1e-l1b+1
341  h2 = l2e-l2b+1
342 
343  p1(:) = xyz(:,patch%corns(1)) - xyzref(:,patch%corns(1))
344  p2(:) = xyz(:,patch%corns(4)) - xyzref(:,patch%corns(4))
345  p3(:) = xyz(:,patch%corns(3)) - xyzref(:,patch%corns(3))
346  p4(:) = xyz(:,patch%corns(2)) - xyzref(:,patch%corns(2))
347 
348 ! obtain arclen along patch edges
349 
350  arclen(1) = patch%arclen2(1)
351  arclen(2) = patch%arclen2(h1)
352  arclen(3) = patch%arclen1(1)
353  arclen(4) = patch%arclen1(h2)
354 
355 ! conduct TFI on interior patch surface
356 
357  ds(1:2) = 0._rfreal
358  DO l2=l2b+1,l2e-1
359 
360  sum12 = .true.
361  ds(3:4) = 0._rfreal
362  DO l1=l1b+1,l1e-1
363  IF (lbound==1 .OR. lbound==2) THEN
364  ijkn = indijk(lc,l1 ,l2 ,inoff,ijnoff)
365  ijke(1) = indijk(lc,jbeg ,l2 ,inoff,ijnoff)
366  ijkem(1) = indijk(lc,jbeg ,l2-1 ,inoff,ijnoff)
367  ijke(2) = indijk(lc,jend ,l2 ,inoff,ijnoff)
368  ijkem(2) = indijk(lc,jend ,l2-1 ,inoff,ijnoff)
369  ijke(3) = indijk(lc,l1 ,kbeg ,inoff,ijnoff)
370  ijkem(3) = indijk(lc,l1-1 ,kbeg ,inoff,ijnoff)
371  ijke(4) = indijk(lc,l1 ,kend ,inoff,ijnoff)
372  ijkem(4) = indijk(lc,l1-1 ,kend ,inoff,ijnoff)
373  ELSE IF (lbound==3 .OR. lbound==4) THEN
374  ijkn = indijk(l2 ,lc,l1 ,inoff,ijnoff)
375  ijke(1) = indijk(l2 ,lc,kbeg ,inoff,ijnoff)
376  ijkem(1) = indijk(l2-1 ,lc,kbeg ,inoff,ijnoff)
377  ijke(2) = indijk(l2 ,lc,kend ,inoff,ijnoff)
378  ijkem(2) = indijk(l2-1 ,lc,kend ,inoff,ijnoff)
379  ijke(3) = indijk(ibeg ,lc,l1 ,inoff,ijnoff)
380  ijkem(3) = indijk(ibeg ,lc,l1-1 ,inoff,ijnoff)
381  ijke(4) = indijk(iend ,lc,l1 ,inoff,ijnoff)
382  ijkem(4) = indijk(iend ,lc,l1-1 ,inoff,ijnoff)
383  ELSE IF (lbound==5 .OR. lbound==6) THEN
384  ijkn = indijk(l1 ,l2 ,lc,inoff,ijnoff)
385  ijke(1) = indijk(ibeg ,l2 ,lc,inoff,ijnoff)
386  ijkem(1) = indijk(ibeg ,l2-1 ,lc,inoff,ijnoff)
387  ijke(2) = indijk(iend ,l2 ,lc,inoff,ijnoff)
388  ijkem(2) = indijk(iend ,l2-1 ,lc,inoff,ijnoff)
389  ijke(3) = indijk(l1 ,jbeg ,lc,inoff,ijnoff)
390  ijkem(3) = indijk(l1-1 ,jbeg ,lc,inoff,ijnoff)
391  ijke(4) = indijk(l1 ,jend ,lc,inoff,ijnoff)
392  ijkem(4) = indijk(l1-1 ,jend ,lc,inoff,ijnoff)
393  ENDIF
394  IF (sum12) THEN
395  ds(1) = ds(1) + &
396  sqrt((xyzref(xcoord,ijke(1))-xyzref(xcoord,ijkem(1)))**2 + &
397  (xyzref(ycoord,ijke(1))-xyzref(ycoord,ijkem(1)))**2 + &
398  (xyzref(zcoord,ijke(1))-xyzref(zcoord,ijkem(1)))**2)
399  ds(2) = ds(2) + &
400  sqrt((xyzref(xcoord,ijke(2))-xyzref(xcoord,ijkem(2)))**2 + &
401  (xyzref(ycoord,ijke(2))-xyzref(ycoord,ijkem(2)))**2 + &
402  (xyzref(zcoord,ijke(2))-xyzref(zcoord,ijkem(2)))**2)
403  sum12 = .false.
404  ENDIF
405  ds(3) = ds(3) + &
406  sqrt((xyzref(xcoord,ijke(3))-xyzref(xcoord,ijkem(3)))**2 + &
407  (xyzref(ycoord,ijke(3))-xyzref(ycoord,ijkem(3)))**2 + &
408  (xyzref(zcoord,ijke(3))-xyzref(zcoord,ijkem(3)))**2)
409  ds(4) = ds(4) + &
410  sqrt((xyzref(xcoord,ijke(4))-xyzref(xcoord,ijkem(4)))**2 + &
411  (xyzref(ycoord,ijke(4))-xyzref(ycoord,ijkem(4)))**2 + &
412  (xyzref(zcoord,ijke(4))-xyzref(zcoord,ijkem(4)))**2)
413  s(:) = ds(:)/arclen(:)
414  e1(:) = xyz(:,ijke(1)) - xyzref(:,ijke(1))
415  e2(:) = xyz(:,ijke(2)) - xyzref(:,ijke(2))
416  e3(:) = xyz(:,ijke(3)) - xyzref(:,ijke(3))
417  e4(:) = xyz(:,ijke(4)) - xyzref(:,ijke(4))
418  CALL rflo_tfint2d( s(1),s(2),s(3),s(4),e1,e2,e3,e4,p1,p2,p3,p4,dn )
419  xyz(:,ijkn) = dn(:) + xyzref(:,ijkn)
420  ENDDO ! l1
421  ENDDO ! l2
422 
423 ! finalize --------------------------------------------------------------------
424 
425  CALL deregisterfunction( region%global )
426 
427 END SUBROUTINE rflo_movegridcurvedpatch
428 
429 
430 ! ******************************************************************************
431 ! End
432 ! ******************************************************************************
433 
434 END MODULE rflo_modmovegridutil
435 
436 ! ******************************************************************************
437 !
438 ! RCS Revision history:
439 !
440 ! $Log: RFLO_ModMoveGridUtil.F90,v $
441 ! Revision 1.5 2008/12/06 08:44:17 mtcampbe
442 ! Updated license.
443 !
444 ! Revision 1.4 2008/11/19 22:17:28 mtcampbe
445 ! Added Illinois Open Source License/Copyright
446 !
447 ! Revision 1.3 2006/03/24 00:54:35 wasistho
448 ! fixed loop indexing in patch%arclen1,2
449 !
450 ! Revision 1.2 2006/03/18 08:19:04 wasistho
451 ! added moveGridCurvedPatch
452 !
453 ! Revision 1.1 2006/03/17 06:39:38 wasistho
454 ! initial import
455 !
456 !
457 !
458 ! ******************************************************************************
459 
460 
461 
462 
463 
464 
465 
466 
**********************************************************************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
double s
Definition: blastest.C:80
NT p1
subroutine rflo_tfint2d(s1, s2, s3, s4, e1, e2, e3, e4, p1, p2, p3, p4, xyz)
Definition: RFLO_Tfint.F90:76
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
double sqrt(double d)
Definition: double.h:73
subroutine rflo_tfint1d(s, p1, p2, xyz)
Definition: RFLO_Tfint.F90:59
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
Definition: patch.h:74
**********************************************************************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_getpatchindicesnodes(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 jend
subroutine, public rflo_movegridqflatpatch(region, patch, iPatch)
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, public rflo_movegridcurvedpatch(region, patch, iPatch)