61 TYPE(t_region
),
POINTER :: regions(:)
63 INTEGER,
INTENT(IN) :: ireg
66 INTEGER :: ir,
icorner, iedge, iface,
i,
j,
k, ijk
70 INTEGER ::
status(mpi_status_size)
74 INTEGER :: nbuffsize, ncorners,
nedges
75 INTEGER ::
nfaces, nfacecentroidsize, nfacenormalsize
76 INTEGER :: inoff, ijnoff, ijkn
77 INTEGER :: ndumcellssrc
78 INTEGER :: nodecorn, nodeedge
80 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: psi, psj, psk
81 REAL(RFREAL),
POINTER,
DIMENSION(:,:,:) :: pfc
83 TYPE(t_region
),
POINTER :: pregion
84 TYPE(t_level
),
POINTER :: plevel
85 TYPE(t_dcelltransf
),
POINTER :: precveccell
90 global => regions(ireg)%global
93 'PLAG_RFLO_RecvMetrics.F90' )
97 ilev = regions(ireg)%currLevel
105 nfacecentroidsize = zcoord*kcoord
106 nfacenormalsize = 3*kcoord
107 nbuffsize = (nfacecentroidsize + nfacenormalsize)
111 pregion => regions(ireg)
112 plevel => regions(ireg)%levels(ilev)
113 pfc => regions(ireg)%levels(ilev)%plag%fc
114 psi => regions(ireg)%levels(ilev)%plag%si
115 psj => regions(ireg)%levels(ilev)%plag%sj
116 psk => regions(ireg)%levels(ilev)%plag%sk
124 DO ir=1,global%nRegions
125 IF (regions(ir)%procid /= global%myProcid)
THEN
126 IF (plevel%recvEcCells(ir)%nCells > 0)
THEN
128 precveccell => plevel%recvEcCells(ir)
129 ndim = precveccell%nCells*
nfaces
135 source = regions(ir)%procid
136 tag = regions(ireg)%localNumber+ plag_tag_shift +mpi_patchoff +10
138 CALL mpi_recv( precveccell%buffMetrics,nbuffsize*ndim,mpi_rfreal, &
140 IF ( global%mpierr /= err_none ) &
141 CALL
errorstop( global,err_mpi_trouble,__line__ )
150 IF( .NOT. plevel%edgeCells(iedge)%interact ) goto 1999
154 IF( plevel%edgeCells(iedge)%degenrt /= degenerat_none ) goto 1999
166 ijkn = indijk(
i,
j,
k,inoff, ijnoff)
167 iregsrc = plevel%edgeCells(iedge)%cells(ijk)%srcRegion
168 IF ( iregsrc == ir )
THEN
170 IF ( plevel%edgeCells(iedge)%cells(ijk)%rotate )
THEN
182 nodeedge = indijk(
i,
j,
k,inoff, ijnoff)
185 nodeedge = indijk(
i+1,
j,
k,inoff, ijnoff)
188 nodeedge = indijk(
i,
j+1,
k,inoff, ijnoff)
191 nodeedge = indijk(
i,
j,
k+1,inoff, ijnoff)
196 pfc(xcoord,icoord,nodeedge) = precveccell%buffMetrics(ibuff )
197 pfc(xcoord,jcoord,nodeedge) = precveccell%buffMetrics(ibuff+ ndim)
198 pfc(xcoord,zcoord,nodeedge) = precveccell%buffMetrics(ibuff+ 2*ndim)
200 pfc(ycoord,icoord,nodeedge) = precveccell%buffMetrics(ibuff+ 3*ndim)
201 pfc(ycoord,jcoord,nodeedge) = precveccell%buffMetrics(ibuff+ 4*ndim)
202 pfc(ycoord,zcoord,nodeedge) = precveccell%buffMetrics(ibuff+ 5*ndim)
204 pfc(zcoord,icoord,nodeedge) = precveccell%buffMetrics(ibuff+ 6*ndim)
205 pfc(zcoord,jcoord,nodeedge) = precveccell%buffMetrics(ibuff+ 7*ndim)
206 pfc(zcoord,zcoord,nodeedge) = precveccell%buffMetrics(ibuff+ 8*ndim)
210 psi(xcoord,nodeedge) = precveccell%buffMetrics(ibuff+ 9*ndim)
211 psi(ycoord,nodeedge) = precveccell%buffMetrics(ibuff+10*ndim)
212 psi(zcoord,nodeedge) = precveccell%buffMetrics(ibuff+11*ndim)
214 psj(xcoord,nodeedge) = precveccell%buffMetrics(ibuff+12*ndim)
215 psj(ycoord,nodeedge) = precveccell%buffMetrics(ibuff+13*ndim)
216 psj(zcoord,nodeedge) = precveccell%buffMetrics(ibuff+14*ndim)
218 psk(xcoord,nodeedge) = precveccell%buffMetrics(ibuff+15*ndim)
219 psk(ycoord,nodeedge) = precveccell%buffMetrics(ibuff+16*ndim)
220 psk(zcoord,nodeedge) = precveccell%buffMetrics(ibuff+17*ndim)
239 IF (.NOT. plevel%cornerCells(
icorner)%interact) goto 2999
243 IF( plevel%cornerCells(
icorner)%degenrt /= degenerat_none ) goto 2999
255 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
256 iregsrc = plevel%cornerCells(
icorner)%cells(ijk)%srcRegion
257 IF ( iregsrc == ir )
THEN
259 IF ( plevel%cornerCells(
icorner)%cells(ijk)%rotate )
THEN
271 nodecorn = indijk(
i,
j,
k,inoff, ijnoff)
274 nodecorn = indijk(
i+1,
j,
k,inoff, ijnoff)
277 nodecorn = indijk(
i,
j+1,
k,inoff, ijnoff)
280 nodecorn = indijk(
i,
j,
k+1,inoff, ijnoff)
285 pfc(xcoord,icoord,nodecorn) = precveccell%buffMetrics(ibuff )
286 pfc(xcoord,jcoord,nodecorn) = precveccell%buffMetrics(ibuff+ ndim)
287 pfc(xcoord,zcoord,nodecorn) = precveccell%buffMetrics(ibuff+ 2*ndim)
289 pfc(ycoord,icoord,nodecorn) = precveccell%buffMetrics(ibuff+ 3*ndim)
290 pfc(ycoord,jcoord,nodecorn) = precveccell%buffMetrics(ibuff+ 4*ndim)
291 pfc(ycoord,zcoord,nodecorn) = precveccell%buffMetrics(ibuff+ 5*ndim)
293 pfc(zcoord,icoord,nodecorn) = precveccell%buffMetrics(ibuff+ 6*ndim)
294 pfc(zcoord,jcoord,nodecorn) = precveccell%buffMetrics(ibuff+ 7*ndim)
295 pfc(zcoord,zcoord,nodecorn) = precveccell%buffMetrics(ibuff+ 8*ndim)
299 psi(xcoord,nodecorn) = precveccell%buffMetrics(ibuff+ 9*ndim)
300 psi(ycoord,nodecorn) = precveccell%buffMetrics(ibuff+10*ndim)
301 psi(zcoord,nodecorn) = precveccell%buffMetrics(ibuff+11*ndim)
302 psj(xcoord,nodecorn) = precveccell%buffMetrics(ibuff+12*ndim)
303 psj(ycoord,nodecorn) = precveccell%buffMetrics(ibuff+13*ndim)
304 psj(zcoord,nodecorn) = precveccell%buffMetrics(ibuff+14*ndim)
305 psk(xcoord,nodecorn) = precveccell%buffMetrics(ibuff+15*ndim)
306 psk(ycoord,nodecorn) = precveccell%buffMetrics(ibuff+16*ndim)
307 psk(zcoord,nodecorn) = precveccell%buffMetrics(ibuff+17*ndim)
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
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
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 knode iend
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)
**********************************************************************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 icell
**********************************************************************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
CGAL::Point_2< R > source() const
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
subroutine plag_rflo_recvmetrics(regions, iReg)
**********************************************************************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)