66 TYPE(t_region
) :: region, regionsrc
70 INTEGER :: idum,
i,
j,
k, ii, jj, kk
73 INTEGER :: bctype,
ibeg,
iend,
jbeg,
jend,
kbeg, kend,
idir,
jdir,
kdir, &
74 inoff, ijnoff, ijkn, ijknb
75 INTEGER :: ibegsrc, iendsrc, jbegsrc, jendsrc, kbegsrc, kendsrc, &
76 idirsrc, jdirsrc, kdirsrc, inoffsrc, ijnoffsrc, ijknsrc, ijknbsrc
77 INTEGER :: lb, lbs, l1srcdir, l2srcdir, mapmat(3,4)
81 REAL(RFREAL) ::
dx,
dy,
dz, sina, cosa, v1(3), v2(3)
82 REAL(RFREAL),
POINTER :: xyz(:,:), xyzsrc(:,:)
87 'RFLO_ExchangeGeometryCopy.F90' )
91 IF (regionsrc%active == off)
THEN
92 CALL
errorstop( region%global,err_srcregion_off,__line__ )
100 jbegsrc,jendsrc,kbegsrc,kendsrc )
106 xyz => region%levels(1)%grid%xyz
107 xyzsrc => regionsrc%levels(1)%grid%xyz
110 lbs =
patch%srcLbound
112 bctype =
patch%bcType
119 ELSE IF (
patch%srcL1beg ==
patch%srcL1end)
THEN
120 IF (lbs==1 .OR. lbs==2)
THEN
121 v1(:) = xyzsrc(:,indijk(ibegsrc,jendsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
122 xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
123 ELSE IF (lbs==3 .OR. lbs==4)
THEN
124 v1(:) = xyzsrc(:,indijk(ibegsrc,jbegsrc,kendsrc,inoffsrc,ijnoffsrc)) - &
125 xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
126 ELSE IF (lbs==5 .OR. lbs==6)
THEN
127 v1(:) = xyzsrc(:,indijk(iendsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
128 xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
130 IF (lb==1 .OR. lb==2)
THEN
135 v2(:) = xyz(:,indijk(
ibeg,
jbeg,kend,inoff,ijnoff)) - &
138 ELSE IF (lb==3 .OR. lb==4)
THEN
140 v2(:) = xyz(:,indijk(
ibeg,
jbeg,kend,inoff,ijnoff)) - &
146 ELSE IF (lb==5 .OR. lb==6)
THEN
161 ELSE IF (
patch%srcL2beg ==
patch%srcL2end)
THEN
162 IF (lbs==1 .OR. lbs==2)
THEN
163 v1(:) = xyzsrc(:,indijk(ibegsrc,jbegsrc,kendsrc,inoffsrc,ijnoffsrc)) - &
164 xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
165 ELSE IF (lbs==3 .OR. lbs==4)
THEN
166 v1(:) = xyzsrc(:,indijk(iendsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
167 xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
168 ELSE IF (lbs==5 .OR. lbs==6)
THEN
169 v1(:) = xyzsrc(:,indijk(ibegsrc,jendsrc,kbegsrc,inoffsrc,ijnoffsrc)) - &
170 xyzsrc(:,indijk(ibegsrc,jbegsrc,kbegsrc,inoffsrc,ijnoffsrc))
172 IF (lb==1 .OR. lb==2)
THEN
174 v2(:) = xyz(:,indijk(
ibeg,
jbeg,kend,inoff,ijnoff)) - &
180 ELSE IF (lb==3 .OR. lb==4)
THEN
185 v2(:) = xyz(:,indijk(
ibeg,
jbeg,kend,inoff,ijnoff)) - &
188 ELSE IF (lb==5 .OR. lb==6)
THEN
200 ibegsrc = ibegsrc + idirsrc
201 iendsrc = iendsrc + idirsrc
202 jbegsrc = jbegsrc + jdirsrc
203 jendsrc = jendsrc + jdirsrc
204 kbegsrc = kbegsrc + kdirsrc
205 kendsrc = kendsrc + kdirsrc
210 ibegsrc,iendsrc,jbegsrc,jendsrc,kbegsrc,kendsrc, &
215 DO idum=1,region%nDumCells
219 IF (bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range)
THEN
226 ijkn = indijk(ii,jj,kk,inoff,ijnoff)
227 ijknsrc =
indijkmap(ii,jj,kk,mapmat,inoffsrc,ijnoffsrc)
228 xyz(xcoord,ijkn) = xyzsrc(xcoord,ijknsrc)
229 xyz(ycoord,ijkn) = xyzsrc(ycoord,ijknsrc)
230 xyz(zcoord,ijkn) = xyzsrc(zcoord,ijknsrc)
237 ELSE IF (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri+bc_range)
THEN
244 ijkn = indijk(ii,jj,kk,inoff,ijnoff)
245 ijknb = indijk(
i ,
j ,
k ,inoff,ijnoff)
246 ijknsrc =
indijkmap(ii,jj,kk,mapmat,inoffsrc,ijnoffsrc)
247 ijknbsrc =
indijkmap(
i ,
j ,
k ,mapmat,inoffsrc,ijnoffsrc)
248 dx = xyzsrc(xcoord,ijknsrc) - xyzsrc(xcoord,ijknbsrc)
249 dy = xyzsrc(ycoord,ijknsrc) - xyzsrc(ycoord,ijknbsrc)
250 dz = xyzsrc(zcoord,ijknsrc) - xyzsrc(zcoord,ijknbsrc)
251 xyz(xcoord,ijkn) = xyz(xcoord,ijknb) +
dx
252 xyz(ycoord,ijkn) = xyz(ycoord,ijknb) +
dy
253 xyz(zcoord,ijkn) = xyz(zcoord,ijknb) +
dz
260 ELSE IF (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri+bc_range)
THEN
269 ijkn = indijk(ii,jj,kk,inoff,ijnoff)
270 ijknsrc =
indijkmap(ii,jj,kk,mapmat,inoffsrc,ijnoffsrc)
271 xyz(xcoord,ijkn) = xyzsrc(xcoord,ijknsrc)
272 xyz(ycoord,ijkn) = cosa*xyzsrc(ycoord,ijknsrc) - &
273 sina*xyzsrc(zcoord,ijknsrc)
274 xyz(zcoord,ijkn) = sina*xyzsrc(ycoord,ijknsrc) + &
275 cosa*xyzsrc(zcoord,ijknsrc)
subroutine rflo_exchangegeometrycopy(region, regionSrc, patch, patchSrc)
**********************************************************************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)
INTEGER function indijkmap(i, j, k, mapMat, iOffset, ijOffset)
subroutine registerfunction(global, funName, fileName)
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
**********************************************************************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 idir
**********************************************************************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
**********************************************************************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)
**********************************************************************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)