Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_ExchangeDnodeCopy.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: copy node movement from a patch of the source region to the nodes
26 ! of the current region`s patch (both regions are on the same
27 ! processor).
28 !
29 ! Description: none.
30 !
31 ! Input: region = current region
32 ! regionSrc = source region
33 ! patch = current patch of region
34 ! patchSrc = source patch of regionSrc
35 ! average = average source and current node movement (true/false)
36 ! dNode = node movement of current region
37 ! dNodeSrc = node movement of source region.
38 !
39 ! Output: dNode = resulting node movement of current region.
40 !
41 ! Notes: operation is carried out for the finest grid only. Intended for
42 ! conforming grid boundaries (also periodic) only. In the case
43 ! of rotationally periodic boundary, it is assumed that the
44 ! axis of rotation coincides with the x-axis.
45 !
46 !******************************************************************************
47 !
48 ! $Id: RFLO_ExchangeDnodeCopy.F90,v 1.3 2008/12/06 08:44:06 mtcampbe Exp $
49 !
50 ! Copyright: (c) 2003 by the University of Illinois
51 !
52 !******************************************************************************
53 
54 SUBROUTINE rflo_exchangednodecopy( region,regionSrc,patch,patchSrc, &
55  average,dnode,dnodesrc )
56 
57  USE moddatatypes
58  USE modbndpatch, ONLY : t_patch
59  USE moddatastruct, ONLY : t_region
60  USE modindexing, ONLY : indijkmap
63  USE moderror
64  USE modparameters
65  IMPLICIT NONE
66 
67 #include "Indexing.h"
68 
69 ! ... parameters
70  LOGICAL :: average
71 
72  REAL(RFREAL), POINTER :: dnode(:,:), dnodesrc(:,:)
73 
74  TYPE(t_region) :: region, regionsrc
75  TYPE(t_patch) :: patch, patchsrc
76 
77 ! ... loop variables
78  INTEGER :: i, j, k
79 
80 ! ... local variables
81  INTEGER :: bctype, ibeg, iend, jbeg, jend, kbeg, kend, idir, jdir, kdir, &
82  inoff, ijnoff, ijkn, ijknb
83  INTEGER :: ibegsrc, iendsrc, jbegsrc, jendsrc, kbegsrc, kendsrc, &
84  idirsrc, jdirsrc, kdirsrc, inoffsrc, ijnoffsrc, ijknsrc, ijknbsrc
85  INTEGER :: lb, lbs, l1srcdir, l2srcdir, mapmat(3,4)
86 
87  LOGICAL :: align
88 
89  REAL(RFREAL) :: dy, dz, sina, cosa, v1(3), v2(3)
90  REAL(RFREAL), POINTER :: xyz(:,:), xyzsrc(:,:), dold(:,:)
91 
92 !******************************************************************************
93 
94  CALL registerfunction( region%global,'RFLO_ExchangeDnodeCopy',&
95  'RFLO_ExchangeDnodeCopy.F90' )
96 
97 ! check if the source region is active
98 
99  IF (regionsrc%active==off .AND. (.NOT.regionsrc%mixtInput%moveGrid)) THEN
100  CALL errorstop( region%global,err_srcregion_off,&
101  __line__ )
102  ENDIF
103 
104 ! get dimensions and pointers
105 
106  CALL rflo_getpatchindicesnodes( region,patch,1,ibeg,iend, &
107  jbeg,jend,kbeg,kend )
108  CALL rflo_getpatchindicesnodes( regionsrc,patchsrc,1,ibegsrc,iendsrc, &
109  jbegsrc,jendsrc,kbegsrc,kendsrc )
111  CALL rflo_getpatchdirection( patchsrc,idirsrc,jdirsrc,kdirsrc )
112  CALL rflo_getnodeoffset( region ,1,inoff ,ijnoff )
113  CALL rflo_getnodeoffset( regionsrc,1,inoffsrc,ijnoffsrc )
114 
115  xyz => region%levels(1)%gridOld%xyz
116  dold => region%levels(1)%grid%xyzOld
117  xyzsrc => regionsrc%levels(1)%gridOld%xyz
118 
119  lb = patch%lbound
120  lbs = patch%srcLbound
121  align = patch%align
122  bctype = patch%bcType
123 
124 ! mapping between patches
125 
126  l1srcdir = 1
127  IF (patch%srcL1beg > patch%srcL1end) THEN
128  l1srcdir = -1
129  ELSE IF (patch%srcL1beg == patch%srcL1end) THEN
130  IF (lbs==1 .OR. lbs==2) THEN
131  v1(:) = xyzsrc(:,indijk(ibegsrc,jendsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
132  xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
133  ELSE IF (lbs==3 .OR. lbs==4) THEN
134  v1(:) = xyzsrc(:,indijk(ibegsrc,jbegsrc,kendsrc,inoffsrc,ijnoffsrc)) - &
135  xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
136  ELSE IF (lbs==5 .OR. lbs==6) THEN
137  v1(:) = xyzsrc(:,indijk(iendsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
138  xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
139  ENDIF
140  IF (lb==1 .OR. lb==2) THEN
141  IF (align) THEN
142  v2(:) = xyz(:,indijk(ibeg,jend,kbeg,inoff,ijnoff)) - &
143  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
144  ELSE
145  v2(:) = xyz(:,indijk(ibeg,jbeg,kend,inoff,ijnoff)) - &
146  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
147  ENDIF
148  ELSE IF (lb==3 .OR. lb==4) THEN
149  IF (align) THEN
150  v2(:) = xyz(:,indijk(ibeg,jbeg,kend,inoff,ijnoff)) - &
151  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
152  ELSE
153  v2(:) = xyz(:,indijk(iend,jbeg,kbeg,inoff,ijnoff)) - &
154  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
155  ENDIF
156  ELSE IF (lb==5 .OR. lb==6) THEN
157  IF (align) THEN
158  v2(:) = xyz(:,indijk(iend,jbeg,kbeg,inoff,ijnoff)) - &
159  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
160  ELSE
161  v2(:) = xyz(:,indijk(ibeg,jend,kbeg,inoff,ijnoff)) - &
162  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
163  ENDIF
164  ENDIF
165  IF (dot_product(v1,v2) < 0._rfreal) l1srcdir = -1
166  ENDIF
167 
168  l2srcdir = 1
169  IF (patch%srcL2beg > patch%srcL2end) THEN
170  l2srcdir = -1
171  ELSE IF (patch%srcL2beg == patch%srcL2end) THEN
172  IF (lbs==1 .OR. lbs==2) THEN
173  v1(:) = xyzsrc(:,indijk(ibegsrc,jbegsrc,kendsrc,inoffsrc,ijnoffsrc)) - &
174  xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
175  ELSE IF (lbs==3 .OR. lbs==4) THEN
176  v1(:) = xyzsrc(:,indijk(iendsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
177  xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
178  ELSE IF (lbs==5 .OR. lbs==6) THEN
179  v1(:) = xyzsrc(:,indijk(ibegsrc,jendsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
180  xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
181  ENDIF
182  IF (lb==1 .OR. lb==2) THEN
183  IF (align) THEN
184  v2(:) = xyz(:,indijk(ibeg,jbeg,kend,inoff,ijnoff)) - &
185  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
186  ELSE
187  v2(:) = xyz(:,indijk(ibeg,jend,kbeg,inoff,ijnoff)) - &
188  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
189  ENDIF
190  ELSE IF (lb==3 .OR. lb==4) THEN
191  IF (align) THEN
192  v2(:) = xyz(:,indijk(iend,jbeg,kbeg,inoff,ijnoff)) - &
193  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
194  ELSE
195  v2(:) = xyz(:,indijk(ibeg,jbeg,kend,inoff,ijnoff)) - &
196  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
197  ENDIF
198  ELSE IF (lb==5 .OR. lb==6) THEN
199  IF (align) THEN
200  v2(:) = xyz(:,indijk(ibeg,jend,kbeg,inoff,ijnoff)) - &
201  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
202  ELSE
203  v2(:) = xyz(:,indijk(iend,jbeg,kbeg,inoff,ijnoff)) - &
204  xyz(:,indijk(ibeg,jbeg,kbeg,inoff,ijnoff))
205  ENDIF
206  ENDIF
207  IF (dot_product(v1,v2) < 0._rfreal) l2srcdir = -1
208  ENDIF
209 
210  ibegsrc = ibegsrc + idirsrc ! shift by one node into the interior
211  iendsrc = iendsrc + idirsrc ! (otherwise would start at the boundary)
212  jbegsrc = jbegsrc + jdirsrc
213  jendsrc = jendsrc + jdirsrc
214  kbegsrc = kbegsrc + kdirsrc
215  kendsrc = kendsrc + kdirsrc
216 
217  CALL rflo_getpatchmapping( lb,lbs,l1srcdir,l2srcdir,align, &
218  idir,jdir,kdir,idirsrc,jdirsrc,kdirsrc, &
219  ibeg,iend,jbeg,jend,kbeg,kend, &
220  ibegsrc,iendsrc,jbegsrc,jendsrc,kbegsrc,kendsrc, &
221  mapmat )
222 
223 ! inter-region boundary or translational periodicity
224 
225  IF ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
226  (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range)) THEN
227  DO k=kbeg,kend
228  DO j=jbeg,jend
229  DO i=ibeg,iend
230  ijkn = indijk(i,j,k,inoff,ijnoff)
231  ijknsrc = indijkmap(i,j,k,mapmat,inoffsrc,ijnoffsrc)
232  IF (average) THEN
233  IF (abs(dnodesrc(xcoord,ijknsrc)-dold(xcoord,ijkn))<1.e-30_rfreal &
234  .OR. abs(dnode(xcoord,ijkn)-dold(xcoord,ijkn))<1.e-30_rfreal) THEN
235  dnode(xcoord,ijkn) = dold(xcoord,ijkn)
236  ELSE
237  dnode(xcoord,ijkn) = 0.5_rfreal*(dnode(xcoord,ijkn)+ &
238  dnodesrc(xcoord,ijknsrc))
239  dnodesrc(xcoord,ijknsrc) = dnode(xcoord,ijkn)
240  ENDIF
241  IF (abs(dnodesrc(ycoord,ijknsrc)-dold(ycoord,ijkn))<1.e-30_rfreal &
242  .OR. abs(dnode(ycoord,ijkn)-dold(ycoord,ijkn))<1.e-30_rfreal) THEN
243  dnode(ycoord,ijkn) = dold(ycoord,ijkn)
244  ELSE
245  dnode(ycoord,ijkn) = 0.5_rfreal*(dnode(ycoord,ijkn)+ &
246  dnodesrc(ycoord,ijknsrc))
247  dnodesrc(ycoord,ijknsrc) = dnode(ycoord,ijkn)
248  ENDIF
249  IF (abs(dnodesrc(zcoord,ijknsrc)-dold(zcoord,ijkn))<1.e-30_rfreal &
250  .OR. abs(dnode(zcoord,ijkn)-dold(zcoord,ijkn))<1.e-30_rfreal) THEN
251  dnode(zcoord,ijkn) = dold(zcoord,ijkn)
252  ELSE
253  dnode(zcoord,ijkn) = 0.5_rfreal*(dnode(zcoord,ijkn)+ &
254  dnodesrc(zcoord,ijknsrc))
255  dnodesrc(zcoord,ijknsrc) = dnode(zcoord,ijkn)
256  ENDIF
257  ELSE ! no average
258  IF (abs(dnodesrc(xcoord,ijknsrc)) > abs(dnode(xcoord,ijkn))) THEN
259  region%levels(1)%grid%boundMoved(lb) = .true.
260  dnode(xcoord,ijkn) = dnodesrc(xcoord,ijknsrc)
261  ENDIF
262  IF (abs(dnodesrc(ycoord,ijknsrc)) > abs(dnode(ycoord,ijkn))) THEN
263  region%levels(1)%grid%boundMoved(lb) = .true.
264  dnode(ycoord,ijkn) = dnodesrc(ycoord,ijknsrc)
265  ENDIF
266  IF (abs(dnodesrc(zcoord,ijknsrc)) > abs(dnode(zcoord,ijkn))) THEN
267  region%levels(1)%grid%boundMoved(lb) = .true.
268  dnode(zcoord,ijkn) = dnodesrc(zcoord,ijknsrc)
269  ENDIF
270  ENDIF
271  ENDDO ! i
272  ENDDO ! j
273  ENDDO ! k
274 
275 ! rotational periodicity (around x-axis)
276 
277  ELSE IF (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri+bc_range) THEN
278  cosa = cos(patch%periodAngle)
279  sina = sin(patch%periodAngle)
280  DO k=kbeg,kend
281  DO j=jbeg,jend
282  DO i=ibeg,iend
283  ijkn = indijk(i,j,k,inoff,ijnoff)
284  ijknsrc = indijkmap(i,j,k,mapmat,inoffsrc,ijnoffsrc)
285  dy = cosa*dnodesrc(ycoord,ijknsrc) - &
286  sina*dnodesrc(zcoord,ijknsrc)
287  dz = sina*dnodesrc(ycoord,ijknsrc) + &
288  cosa*dnodesrc(zcoord,ijknsrc)
289  IF (average) THEN
290  dnode(xcoord,ijkn) = dold(xcoord,ijkn) ! no extra movement here
291  dnode(ycoord,ijkn) = dold(ycoord,ijkn)
292  dnode(zcoord,ijkn) = dold(zcoord,ijkn)
293  ELSE
294  IF (abs(dnodesrc(xcoord,ijknsrc)) > abs(dnode(xcoord,ijkn))) THEN
295  region%levels(1)%grid%boundMoved(lb) = .true.
296  dnode(xcoord,ijkn) = dnodesrc(xcoord,ijknsrc)
297  ENDIF
298  IF (abs(dy) > abs(dnode(ycoord,ijkn))) THEN
299  region%levels(1)%grid%boundMoved(lb) = .true.
300  dnode(ycoord,ijkn) = dy
301  ENDIF
302  IF (abs(dz) > abs(dnode(zcoord,ijkn))) THEN
303  region%levels(1)%grid%boundMoved(lb) = .true.
304  dnode(zcoord,ijkn) = dz
305  ENDIF
306  ENDIF
307  ENDDO ! i
308  ENDDO ! j
309  ENDDO ! k
310 
311  ENDIF
312 
313 ! finalize
314 
315  CALL deregisterfunction( region%global )
316 
317 END SUBROUTINE rflo_exchangednodecopy
318 
319 !******************************************************************************
320 !
321 ! RCS Revision history:
322 !
323 ! $Log: RFLO_ExchangeDnodeCopy.F90,v $
324 ! Revision 1.3 2008/12/06 08:44:06 mtcampbe
325 ! Updated license.
326 !
327 ! Revision 1.2 2008/11/19 22:17:20 mtcampbe
328 ! Added Illinois Open Source License/Copyright
329 !
330 ! Revision 1.1 2004/11/29 21:25:16 wasistho
331 ! lower to upper case
332 !
333 ! Revision 1.9 2003/11/20 16:40:34 mdbrandy
334 ! Backing out RocfluidMP changes from 11-17-03
335 !
336 ! Revision 1.6 2003/08/25 21:51:23 jblazek
337 ! Full version of global grid motion scheme.
338 !
339 ! Revision 1.5 2003/08/11 21:51:17 jblazek
340 ! Added basic global grid smoothing scheme.
341 !
342 ! Revision 1.4 2003/05/15 02:57:01 jblazek
343 ! Inlined index function.
344 !
345 ! Revision 1.3 2003/05/06 20:05:38 jblazek
346 ! Corrected bug in grid motion (corner "averaging").
347 !
348 ! Revision 1.2 2003/03/17 23:48:47 jblazek
349 ! Fixed bug in exchange of node displacements.
350 !
351 ! Revision 1.1 2003/03/14 22:05:10 jblazek
352 ! Improved mesh motion algorithm - node movement exchaged between blocks.
353 !
354 !******************************************************************************
355 
356 
357 
358 
359 
360 
361 
**********************************************************************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 rflo_getpatchdirection(patch, idir, jdir, kdir)
j indices k indices k
Definition: Indexing.h:6
INTEGER function indijkmap(i, j, k, mapMat, iOffset, ijOffset)
Definition: ModIndexing.F90:67
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
**********************************************************************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 jdir
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
NT & sin
subroutine rflo_getpatchindicesnodes(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
blockLoc i
Definition: read.cpp:79
**********************************************************************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 idir
RT dz() const
Definition: Direction_3.h:133
j indices j
Definition: Indexing.h:6
NT dy
**********************************************************************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 rflo_exchangednodecopy(region, regionSrc, patch, patchSrc, average, dNode, dNodeSrc)
**********************************************************************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 kdir
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
long double dot_product(pnt vec1, pnt vec2)
subroutine rflo_getpatchmapping(lb, lbs, l1SrcDir, l2SrcDir, align, idir, jdir, kdir, idirSrc, jdirSrc, kdirSrc, ibeg, iend, jbeg, jend, kbeg, kend, ibegSrc, iendSrc, jbegSrc, jendSrc, kbegSrc, kendSrc, mapMat)
**********************************************************************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
NT & cos