65 TYPE(t_region
) :: region, regionsrc
69 INTEGER :: idum,
i,
j,
k, ijkbuff
73 INTEGER ::
status(mpi_status_size)
76 ijkn, ijknb, ibnd, jbnd, kbnd, n1, n2, ndim, lb,
source,
tag
78 REAL(RFREAL) ::
dx,
dy,
dz, cosa, sina
79 REAL(RFREAL),
POINTER :: xyz(:,:)
85 global => region%global
88 'RFLO_ExchangeGeometryRecv.F90' )
92 IF (regionsrc%active == off)
THEN
93 CALL
errorstop( global,err_srcregion_off,__line__ )
102 xyz => region%levels(1)%grid%xyz
106 ndim = n1*n2*region%nDumCells
112 tag = region%localNumber + mpi_patchoff*patchsrc%srcPatch
113 CALL mpi_recv(
patch%mixt%recvBuff,3*ndim,mpi_rfreal,
source,
tag, &
114 global%mpiComm,
status,global%mpierr )
115 IF (global%mpierr /= 0) CALL
errorstop( global,err_mpi_trouble,__line__ )
121 bctype =
patch%bcType
124 DO idum=1,region%nDumCells
128 IF (lb==1 .OR. lb==2)
THEN
133 ELSE IF (lb == 2)
THEN
138 IF (bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range)
THEN
141 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
142 ijkbuff = ijkbuff + 1
143 xyz(xcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff )
144 xyz(ycoord,ijkn) =
patch%mixt%recvBuff(ijkbuff+ ndim)
145 xyz(zcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff+2*ndim)
148 ELSE IF (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri+bc_range)
THEN
151 ijkn = indijk(
i ,
j,
k,inoff,ijnoff)
152 ijknb = indijk(ibnd,
j,
k,inoff,ijnoff)
153 ijkbuff = ijkbuff + 1
154 dx =
patch%mixt%recvBuff(ijkbuff )
155 dy =
patch%mixt%recvBuff(ijkbuff+ ndim)
156 dz =
patch%mixt%recvBuff(ijkbuff+2*ndim)
157 xyz(xcoord,ijkn) = xyz(xcoord,ijknb) +
dx
158 xyz(ycoord,ijkn) = xyz(ycoord,ijknb) +
dy
159 xyz(zcoord,ijkn) = xyz(zcoord,ijknb) +
dz
162 ELSE IF (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri+bc_range)
THEN
167 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
168 ijkbuff = ijkbuff + 1
169 dy =
patch%mixt%recvBuff(ijkbuff+ ndim)
170 dz =
patch%mixt%recvBuff(ijkbuff+2*ndim)
171 xyz(xcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff)
172 xyz(ycoord,ijkn) = cosa*
dy - sina*
dz
173 xyz(zcoord,ijkn) = sina*
dy + cosa*
dz
180 ELSE IF (lb==3 .OR. lb==4)
THEN
185 ELSE IF (lb == 4)
THEN
190 IF (bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range)
THEN
193 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
194 ijkbuff = ijkbuff + 1
195 xyz(xcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff )
196 xyz(ycoord,ijkn) =
patch%mixt%recvBuff(ijkbuff+ ndim)
197 xyz(zcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff+2*ndim)
200 ELSE IF (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri+bc_range)
THEN
203 ijkn = indijk(
i,
j ,
k,inoff,ijnoff)
204 ijknb = indijk(
i,jbnd,
k,inoff,ijnoff)
205 ijkbuff = ijkbuff + 1
206 dx =
patch%mixt%recvBuff(ijkbuff )
207 dy =
patch%mixt%recvBuff(ijkbuff+ ndim)
208 dz =
patch%mixt%recvBuff(ijkbuff+2*ndim)
209 xyz(xcoord,ijkn) = xyz(xcoord,ijknb) +
dx
210 xyz(ycoord,ijkn) = xyz(ycoord,ijknb) +
dy
211 xyz(zcoord,ijkn) = xyz(zcoord,ijknb) +
dz
214 ELSE IF (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri+bc_range)
THEN
219 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
220 ijkbuff = ijkbuff + 1
221 dy =
patch%mixt%recvBuff(ijkbuff+ ndim)
222 dz =
patch%mixt%recvBuff(ijkbuff+2*ndim)
223 xyz(xcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff)
224 xyz(ycoord,ijkn) = cosa*
dy - sina*
dz
225 xyz(zcoord,ijkn) = sina*
dy + cosa*
dz
232 ELSE IF (lb==5 .OR. lb==6)
THEN
237 ELSE IF (lb == 6)
THEN
242 IF (bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range)
THEN
245 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
246 ijkbuff = ijkbuff + 1
247 xyz(xcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff )
248 xyz(ycoord,ijkn) =
patch%mixt%recvBuff(ijkbuff+ ndim)
249 xyz(zcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff+2*ndim)
252 ELSE IF (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri+bc_range)
THEN
255 ijkn = indijk(
i,
j,
k ,inoff,ijnoff)
256 ijknb = indijk(
i,
j,kbnd,inoff,ijnoff)
257 ijkbuff = ijkbuff + 1
258 dx =
patch%mixt%recvBuff(ijkbuff )
259 dy =
patch%mixt%recvBuff(ijkbuff+ ndim)
260 dz =
patch%mixt%recvBuff(ijkbuff+2*ndim)
261 xyz(xcoord,ijkn) = xyz(xcoord,ijknb) +
dx
262 xyz(ycoord,ijkn) = xyz(ycoord,ijknb) +
dy
263 xyz(zcoord,ijkn) = xyz(zcoord,ijknb) +
dz
266 ELSE IF (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri+bc_range)
THEN
271 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
272 ijkbuff = ijkbuff + 1
273 dy =
patch%mixt%recvBuff(ijkbuff+ ndim)
274 dz =
patch%mixt%recvBuff(ijkbuff+2*ndim)
275 xyz(xcoord,ijkn) =
patch%mixt%recvBuff(ijkbuff)
276 xyz(ycoord,ijkn) = cosa*
dy - sina*
dz
277 xyz(zcoord,ijkn) = sina*
dy + cosa*
dz
**********************************************************************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_exchangegeometryrecv(region, regionSrc, patch, patchSrc)
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_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
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
**********************************************************************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)