56 TYPE(t_region
),
POINTER :: regions(:)
61 INTEGER :: ir, iedge,
icorner, ijk
64 INTEGER :: ilev, iregsrc,
icell, ibuff, ndim, dest,
tag
66 REAL(RFREAL),
POINTER :: cv(:,:)
69 TYPE(t_level
),
POINTER :: level
70 TYPE(t_dcelltransf
),
POINTER :: sendeccell
74 global => regions(ireg)%global
77 'RFLO_SendCornerEdgeCells.F90' )
79 ilev = regions(ireg)%currLevel
80 cv => regions(ireg)%levels(ilev)%mixt%cv
84 DO ir=1,global%nRegions
85 IF (regions(ir)%procid /= global%myProcid)
THEN
86 IF (regions(ireg)%levels(ilev)%sendEcCells(ir)%nCells > 0)
THEN
88 sendeccell => regions(ireg)%levels(ilev)%sendEcCells(ir)
89 level => regions(ir)%levels(ilev)
90 ndim = sendeccell%nCells
94 IF (level%edgeCells(iedge)%interact .AND. &
95 level%edgeCells(iedge)%degenrt==degenerat_none)
THEN
96 DO ijk=1,ubound(level%edgeCells(iedge)%cells,1)
97 iregsrc = level%edgeCells(iedge)%cells(ijk)%srcRegion
98 icell = level%edgeCells(iedge)%cells(ijk)%srcCell
99 IF (iregsrc == ireg)
THEN
101 sendeccell%buff(ibuff ) = cv(cv_mixt_dens,
icell)
102 sendeccell%buff(ibuff+ ndim) = cv(cv_mixt_xmom,
icell)
103 sendeccell%buff(ibuff+2*ndim) = cv(cv_mixt_ymom,
icell)
104 sendeccell%buff(ibuff+3*ndim) = cv(cv_mixt_zmom,
icell)
105 sendeccell%buff(ibuff+4*ndim) = cv(cv_mixt_ener,
icell)
111 IF (level%cornerCells(
icorner)%interact .AND. &
112 level%cornerCells(
icorner)%degenrt==degenerat_none)
THEN
113 DO ijk=1,ubound(level%cornerCells(
icorner)%cells,1)
114 iregsrc = level%cornerCells(
icorner)%cells(ijk)%srcRegion
116 IF (iregsrc == ireg)
THEN
118 sendeccell%buff(ibuff ) = cv(cv_mixt_dens,
icell)
119 sendeccell%buff(ibuff+ ndim) = cv(cv_mixt_xmom,
icell)
120 sendeccell%buff(ibuff+2*ndim) = cv(cv_mixt_ymom,
icell)
121 sendeccell%buff(ibuff+3*ndim) = cv(cv_mixt_zmom,
icell)
122 sendeccell%buff(ibuff+4*ndim) = cv(cv_mixt_ener,
icell)
129 dest = regions(ir)%procid
130 tag = regions(ir)%localNumber
131 CALL mpi_isend( sendeccell%buff,cv_mixt_neqs*ndim,mpi_rfreal, &
132 dest,
tag,global%mpiComm, &
133 global%requests(sendeccell%iRequest),global%mpierr )
134 IF (global%mpierr /= 0) CALL
errorstop( global,err_mpi_trouble,__line__ )
subroutine rflo_sendcorneredgecells(regions, iReg)
subroutine registerfunction(global, funName, fileName)
**********************************************************************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
**********************************************************************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
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)