75 CHARACTER(CHRLEN),
PRIVATE :: &
76 RCSIdentString =
'$RCSfile: PLAG_RFLO_ModStats.F90,v $ $Revision: 1.9 $'
140 TYPE(t_region
),
POINTER :: regions(:)
147 INTEGER :: bctype,ilev,ipatch,iregsrc,irequeststat,npatches
149 INTEGER ::
status(mpi_status_size)
153 TYPE(t_patch),
POINTER :: ppatch
154 TYPE(t_plag),
POINTER :: pplag
155 TYPE(t_region
),
POINTER :: pregion
162 global => regions(ireg)%global
165 'PLAG_RFLO_ModStats.F90' )
172 ilev = regions(ireg)%currLevel
173 npatches = regions(ireg)%nPatches
175 pplag => regions(ireg)%levels(ilev)%plag
182 ppatch => regions(ireg)%levels(ilev)%patches(ipatch)
184 bctype = ppatch%bcType
185 iregsrc = ppatch%srcRegion
186 irequeststat = ppatch%bufferPlag%iRequestStat
188 dowait = ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
189 (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) .OR. &
190 (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range) .OR. &
191 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
192 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
194 IF ( iregsrc > 0 )
THEN
195 IF ( (dowait .EQV. .true.) .AND. &
196 (regions(iregsrc)%procid /= global%myProcid) )
THEN
197 CALL mpi_wait( pplag%requestsStat(irequeststat),
status,global%mpierr )
198 IF ( global%mpierr /= err_none ) &
199 CALL
errorstop( global,err_mpi_trouble,__line__ )
250 TYPE(t_region
),
POINTER :: regions(:)
257 INTEGER :: bctype,errorflag,ilev,ipatch,iregsrc,n1,n2,n1src,n2src,ndc,&
258 ndcsrc,ndim,ndimsrc,neqs,neqssrc,nev,ntav
260 TYPE(t_patch),
POINTER :: ppatch
262 TYPE(t_plag),
POINTER :: pplag
269 global => regions(ireg)%global
272 'PLAG_RFLO_ModStats.F90' )
274 IF ( global%myProcid == masterproc .AND. &
275 global%verbLevel > verbose_none )
THEN
276 WRITE(stdout,
'(A,3X,A)') solver_name,&
277 'Allocating Statistics Data Buffers for PLAG...'
280 ntav = global%plagNStat
286 DO ilev=1,regions(ireg)%nGridLevels
287 pplag => regions(ireg)%levels(ilev)%plag
288 pplag%nRequestsStat = 0
292 DO ipatch=1,regions(ireg)%nPatches
294 ppatch => regions(ireg)%levels(ilev)%patches(ipatch)
295 pbuffplag => ppatch%bufferPlag
297 bctype = ppatch%bcType
299 IF ( (bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
300 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
301 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
THEN
302 iregsrc = ppatch%srcRegion
304 IF ( regions(iregsrc)%procid /= global%myProcid )
THEN
305 n1 = abs(ppatch%l1end -ppatch%l1beg ) + 2
306 n2 = abs(ppatch%l2end -ppatch%l2beg ) + 2
307 n1src = abs(ppatch%srcL1end-ppatch%srcL1beg) + 2
308 n2src = abs(ppatch%srcL2end-ppatch%srcL2beg) + 2
311 ndc = regions(ireg )%nDumCells
312 ndcsrc = regions(iregsrc)%nDumCells
313 ndim = n1*n2*neqs*ndc
314 ndimsrc = n1src*n2src*neqssrc*ndcsrc
316 ALLOCATE( pbuffplag%sendBuffStat(ndimsrc),stat=errorflag )
317 global%error = errorflag
318 IF (global%error /= err_none)
THEN
319 CALL
errorstop( global, err_allocate,__line__,
'pBuffPlag%sendBuffStat' )
322 ALLOCATE( pbuffplag%recvBuffStat(ndim ),stat=errorflag )
323 global%error = errorflag
324 IF (global%error /= err_none)
THEN
325 CALL
errorstop( global, err_allocate,__line__,
'pBuffPlag%recvBuffStat' )
328 pbuffplag%nSendBuffStat = ndimsrc
329 pbuffplag%nRecvBuffStat = ndim
330 pplag%nRequestsStat = pplag%nRequestsStat + 1
331 pbuffplag%iRequestStat = pplag%nRequestsStat
335 ELSE IF ( (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) .OR. &
336 (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range))
THEN
337 CALL
errorstop( global,err_unknown_bc,__line__ )
340 nullify(pbuffplag%sendBuffStat)
341 nullify(pbuffplag%recvBuffStat)
350 ALLOCATE( pplag%requestsStat(pplag%nRequestsStat),stat=errorflag )
351 global%error = errorflag
352 IF (global%error /= err_none)
THEN
353 CALL
errorstop( global, err_allocate,__line__,
'pPlag%requests' )
362 IF ( global%myProcid == masterproc .AND. &
363 global%verbLevel > verbose_none )
THEN
364 WRITE(stdout,
'(A,3X,A)') solver_name,&
365 'Allocating Statistics Data Buffers for PLAG done...'
408 TYPE(t_region
),
POINTER :: regions(:)
414 INTEGER :: bctype,ilev,ipatch,ipatchsrc,ireg,iregsrc,npatches
416 TYPE(t_patch),
POINTER :: ppatch,ppatchsrc
417 TYPE(t_region
),
POINTER :: pregion,pregionsrc
424 global => regions(1)%global
427 'PLAG_RFLO_ModStats.F90' )
429 IF (.NOT. global%plagUsed) goto 999
435 DO ireg=1,global%nRegions
436 pregion => regions(ireg)
438 IF ( pregion%procid==global%myProcid .AND. &
439 pregion%active==active )
THEN
445 ilev = pregion%currLevel
446 npatches = pregion%nPatches
454 ppatch => pregion%levels(ilev)%patches(ipatch)
456 bctype = ppatch%bcType
457 iregsrc = ppatch%srcRegion
458 ipatchsrc = ppatch%srcPatch
466 CASE( bc_regionconf:bc_regionconf+bc_range )
467 pregionsrc => regions(iregsrc)
468 ppatchsrc => pregionsrc%levels(ilev)%patches(ipatchsrc)
470 IF ( regions(iregsrc)%procid == global%myProcid )
THEN
479 CASE( bc_regionint:bc_regionint+bc_range )
480 CALL
errorstop( global,err_unknown_bc,__line__ )
486 CASE( bc_regnonconf:bc_regnonconf+bc_range)
487 CALL
errorstop( global,err_unknown_bc,__line__ )
504 DO ireg = 1, global%nRegions
505 IF ( regions(ireg)%procid==global%myProcid .AND. &
506 regions(ireg)%active==active )
THEN
515 DO ireg = 1, global%nRegions
516 IF ( regions(ireg)%procid==global%myProcid .AND. &
517 regions(ireg)%active==active )
THEN
526 DO ireg = 1, global%nRegions
527 IF ( regions(ireg)%procid==global%myProcid .AND. &
528 regions(ireg)%active==active )
THEN
582 TYPE(t_patch),
POINTER :: ppatch,ppatchsrc
583 TYPE(t_region
),
POINTER :: pregion,pregionsrc
589 INTEGER :: idum,iv,
i,
j,
k,ii,jj,kk
591 icoff, ijcoff, ijkd, ilev
592 INTEGER :: ibegsrc, iendsrc, jbegsrc, jendsrc, kbegsrc, kendsrc, &
593 idirsrc, jdirsrc, kdirsrc, icoffsrc, ijcoffsrc, ijkcsrc
594 INTEGER :: lb, lbs, l1srcdir, l2srcdir, mapmat(3,4)
595 INTEGER :: ivevbeg,ivevend,ivtavbeg,ivtavend
599 REAL(KIND=RFREAL),
DIMENSION(:,:),
POINTER :: ev,evsrc,tav,tavsrc
601 TYPE(t_plag),
POINTER :: pplag
608 global => pregion%global
611 'PLAG_RFLO_ModStats.F90' )
617 IF ( pregionsrc%active == off )
THEN
618 CALL
errorstop( global,err_srcregion_off,__line__ )
625 ilev = pregion%currLevel
630 jbegsrc,jendsrc,kbegsrc,kendsrc )
636 ev => pregion%levels(ilev)%plag%ev
637 evsrc => pregionsrc%levels(ilev)%plag%ev
640 ivevend =
SIZE(ev,dim=1)
642 tav => pregion%levels(ilev)%plag%tav
643 tavsrc => pregionsrc%levels(ilev)%plag%tav
646 ivtavend =
SIZE(tav,dim=1)
653 IF (ppatch%srcL1beg > ppatch%srcL1end) l1srcdir = -1
655 IF (ppatch%srcL2beg > ppatch%srcL2end) l2srcdir = -1
658 lbs = ppatch%srcLbound
664 ibegsrc,iendsrc,jbegsrc,jendsrc,kbegsrc,kendsrc, &
671 DO idum=1,pregion%nDumCells
678 ijkd = indijk(ii,jj,kk,icoff,ijcoff)
679 ijkcsrc =
indijkmap(ii,jj,kk,mapmat,icoffsrc,ijcoffsrc)
681 DO iv=ivevbeg,ivevend
682 ev(iv,ijkd) = evsrc(iv,ijkcsrc)
685 DO iv=ivtavbeg,ivtavend
686 tav(iv,ijkd) = tavsrc(iv,ijkcsrc)
743 TYPE(t_region
),
POINTER :: regions(:)
749 CHARACTER(2*CHRLEN+17) :: fname
750 CHARACTER(CHRLEN) ::
msg
752 INTEGER :: ireg,
i,
j,
k, l,
n, ind
755 INTEGER ::
status(mpi_status_size)
757 INTEGER :: ilev,iregfile,ipc,jpc,kpc,ndumcells,ndim,ioff,ijoff,ijk
759 INTEGER :: errorflag,ntav,ntavvar
761 INTEGER,
ALLOCATABLE,
DIMENSION (:,:) :: ivar,jvar,plagvarid
763 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: tav
764 REAL(RFREAL),
ALLOCATABLE,
DIMENSION(:,:) :: rvar, tavfile
772 global => regions(1)%global
775 'PLAG_RFLO_ModStats.F90' )
781 ALLOCATE( ivar(5,1),stat=errorflag )
782 global%error = errorflag
783 IF ( global%error /= err_none ) &
784 CALL
errorstop( global,err_allocate,__line__,
'ivar' )
786 ALLOCATE( rvar(2,1),stat=errorflag )
787 global%error = errorflag
788 IF ( global%error /= err_none ) &
789 CALL
errorstop( global,err_allocate,__line__,
'rvar' )
791 ALLOCATE( jvar(global%plagNStat+1,1),stat=errorflag )
792 global%error = errorflag
793 IF ( global%error /= err_none ) &
794 CALL
errorstop( global,err_allocate,__line__,
'jvar' )
796 ALLOCATE( plagvarid(2,global%plagNStat+1),stat=errorflag )
797 global%error = errorflag
798 IF ( global%error /= err_none ) &
799 CALL
errorstop( global,err_allocate,__line__,
'plagVarId' )
805 IF (global%myProcid == masterproc)
THEN
807 SELECT CASE( global%solutFormat )
808 CASE ( format_ascii )
809 WRITE(fname,
'(A,1PE11.5)') &
810 trim(global%inDir)//trim(global%casename)//
'.plag_stata_', &
812 OPEN( if_plag_stats,file=fname,
form=
'formatted',
status=
'old', &
815 CASE ( format_binary )
816 WRITE(fname,
'(A,1PE11.5)') &
817 trim(global%inDir)//trim(global%casename)//
'.plag_stat_', &
819 OPEN( if_plag_stats,file=fname,
form=
'unformatted',
status=
'old', &
823 CALL
errorstop( global,err_reached_default,__line__ )
827 global%error = errorflag
828 IF ( global%error /= err_none ) &
829 CALL
errorstop( global,err_file_open,__line__,
'File: '//trim(fname) )
837 IF ( global%myProcid == masterproc )
THEN
842 CALL mpi_bcast( rvar,2,mpi_rfreal,masterproc,global%mpiComm,global%mpierr )
843 IF (global%mpierr /= err_none ) &
844 CALL
errorstop( global,err_mpi_trouble,__line__ )
851 IF ( global%flowType==flow_unsteady .AND. global%currentTime>0._rfreal )
THEN
852 IF ( global%currentTime /= rvar(1,1) )
THEN
853 WRITE(
msg,1000) rvar(1,1),global%currentTime
854 CALL
errorstop( global,err_time_solution,__line__,
msg//
' File: '//trim(fname) )
857 IF ( global%integrTime /= rvar(2,1) )
THEN
858 WRITE(
msg,2000) rvar(2,1),global%integrTime
859 CALL
errorstop( global,err_time_solution,__line__,
msg//
' File: '//trim(fname) )
868 IF ( global%myProcid == masterproc )
THEN
869 IF (global%plagNStat > 0)
THEN
871 global%plagNStat+1,1,jvar )
873 IF ( ntavvar /= global%plagNStat )
THEN
874 CALL
errorstop( global,err_stats_restart,__line__ )
877 plagvarid(1,:) = jvar(2:global%plagNStat+1,1)
878 plagvarid(2,:) = mod(plagvarid(1,:),10)
879 plagvarid(1,:) = (plagvarid(1,:)-plagvarid(2,:))/10
882 DO l=1,global%plagNStat
883 IF ( plagvarid(ind,l) /= global%plagStatId(ind,l) ) &
884 CALL
errorstop( global,err_stats_restart,__line__ )
895 DO ireg=1,global%nRegions
901 ilev = regions(ireg)%currLevel
907 ndim = ijkend - ijkbeg + 1
909 ntav =global%plagNStat
915 IF (global%myProcid == masterproc)
THEN
921 ndumcells = ivar(5,1)
923 IF (iregfile /= ireg) &
924 CALL
errorstop( global,err_region_number,__line__,
'File: '//trim(fname) )
926 IF ( (ipc /= regions(ireg)%levels(ilev)%grid%ipc) .OR. &
927 (jpc /= regions(ireg)%levels(ilev)%grid%jpc) .OR. &
928 (kpc /= regions(ireg)%levels(ilev)%grid%kpc) )
THEN
929 WRITE(
msg,1005) ireg,ipc,jpc,kpc
930 CALL
errorstop( global,err_grid_dimensions,__line__,
msg )
933 IF ( ndumcells /= regions(ireg)%nDumCells )
THEN
934 WRITE(
msg,1010) ireg,ndumcells,regions(ireg)%nDumCells
942 ALLOCATE( tavfile(ntav,ndim),stat=errorflag )
943 global%error = errorflag
944 IF ( global%error /= err_none ) &
945 CALL
errorstop( global,err_allocate,__line__ )
951 IF ( regions(ireg)%procid /= masterproc )
THEN
952 CALL mpi_send( tavfile,ntav*ndim,mpi_rfreal, &
953 regions(ireg)%procid,ireg, &
954 global%mpiComm,global%mpierr )
955 IF (global%mpierr /= err_none ) &
956 CALL
errorstop( global,err_mpi_trouble,__line__ )
961 IF ( regions(ireg)%procid == global%myProcid )
THEN
962 ALLOCATE( tavfile(ntav,ndim),stat=errorflag )
963 global%error = errorflag
964 IF ( global%error /= err_none ) &
965 CALL
errorstop( global,err_allocate,__line__ )
968 CALL mpi_recv( tavfile,ntav*ndim,mpi_rfreal,masterproc, &
969 ireg,global%mpiComm,
status,global%mpierr )
970 IF ( global%mpierr /= err_none ) &
971 CALL
errorstop( global,err_mpi_trouble,__line__ )
981 IF ( regions(ireg)%procid == global%myProcid )
THEN
982 tav => regions(ireg)%levels(ilev)%plag%tav
989 ijk = indijk(
i,
j,
k,ioff,ijoff)
991 tav(l,ijk) = tavfile(l,
n)
1002 IF (
ALLOCATED(tavfile) )
THEN
1003 DEALLOCATE( tavfile,stat=errorflag )
1004 global%error = errorflag
1005 IF ( global%error /= err_none ) &
1006 CALL
errorstop( global,err_deallocate,__line__,
'tavFile' )
1015 DEALLOCATE( ivar,stat=errorflag )
1016 global%error = errorflag
1017 IF ( global%error /= err_none ) &
1018 CALL
errorstop( global,err_deallocate,__line__,
'ivar' )
1020 DEALLOCATE( rvar,stat=errorflag )
1021 global%error = errorflag
1022 IF ( global%error /= err_none ) &
1023 CALL
errorstop( global,err_deallocate,__line__,
'rvar' )
1025 DEALLOCATE( jvar,stat=errorflag )
1026 global%error = errorflag
1027 IF ( global%error /= err_none ) &
1028 CALL
errorstop( global,err_deallocate,__line__,
'jvar' )
1030 DEALLOCATE( plagvarid,stat=errorflag )
1031 global%error = errorflag
1032 IF ( global%error /= err_none ) &
1033 CALL
errorstop( global,err_deallocate,__line__,
'plagVarId' )
1039 IF ( global%myProcid == masterproc )
THEN
1040 CLOSE(if_plag_stats,iostat=errorflag)
1041 global%error = errorflag
1042 IF ( global%error /= err_none ) &
1043 CALL
errorstop( global,err_file_close,__line__,
'File: '//trim(fname) )
1056 1000
FORMAT(
'Time in file is= ',1pe12.5,
' but it should be= ',e12.5,
'.')
1057 1005
FORMAT(
'Region ',i5,
', ipc= ',i6,
', jpc= ',i6,
', kpc= ',i6,
'.')
1058 1010
FORMAT(
'Region ',i5,
', # dummy cells=',i2,
' but should be= ',i1)
1059 2000
FORMAT(
'Integration Time in file is= ',1pe12.5,
' but it should be= ',e12.5,
'.')
1096 TYPE(t_region
),
POINTER :: regions(:)
1102 INTEGER :: bctype,ilev,ipatch,ipatchsrc,ireg,iregsrc,npatches
1104 REAL(KIND=RFREAL),
DIMENSION(:,:),
POINTER :: tav
1106 TYPE(t_patch),
POINTER :: ppatch,ppatchsrc
1107 TYPE(t_region
),
POINTER :: pregion,pregionsrc
1114 global => regions(1)%global
1117 'PLAG_RFLO_ModStats.F90' )
1123 pregion => regions(ireg)
1125 ilev = pregion%currLevel
1126 npatches = pregion%nPatches
1132 DO ipatch=1,npatches
1133 ppatch => pregion%levels(ilev)%patches(ipatch)
1135 bctype = ppatch%bcType
1136 iregsrc = ppatch%srcRegion
1137 ipatchsrc = ppatch%srcPatch
1139 IF ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
1140 (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) .OR. &
1141 (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range) .OR. &
1142 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
1143 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
THEN
1144 IF (regions(iregsrc)%procid /= regions(ireg)%global%myProcid)
THEN
1145 pregionsrc => regions(iregsrc)
1146 ppatchsrc => pregionsrc%levels(ilev)%patches(ipatchsrc)
1201 TYPE(t_patch),
POINTER :: ppatch,ppatchsrc
1202 TYPE(t_region
),
POINTER :: pregion,pregionsrc
1208 INTEGER :: bctype,ilev,ipatch,ipatchsrc,ireg,iregsrc,neqs,npatches
1209 INTEGER :: ijkbuff,ijkvbuff,ijkd,iv,ivs,lb,n1,n2,ndim
1210 INTEGER ::
i,
j,
k,idum
1212 INTEGER :: ivevbeg,ivevend,ivtavbeg,ivtavend,nev,ntav
1214 INTEGER ::
status(mpi_status_size)
1217 REAL(KIND=RFREAL),
DIMENSION(:,:),
POINTER :: ev,tav
1226 global => pregion%global
1229 'PLAG_RFLO_ModStats.F90' )
1235 IF ( pregionsrc%active == off )
THEN
1236 CALL
errorstop( global,err_srcregion_off,__line__ )
1243 ilev = pregion%currLevel
1245 ev => pregion%levels(ilev)%plag%ev
1246 tav => pregion%levels(ilev)%plag%tav
1247 pbuffplag => ppatch%bufferPlag
1257 n1 = abs(ppatch%l1end-ppatch%l1beg) + 1
1258 n2 = abs(ppatch%l2end-ppatch%l2beg) + 1
1259 ndim = n1*n2*pregion%nDumCells
1261 ntav = global%plagNStat
1262 nev = pregion%levels(ilev)%plag%nEv
1266 ivevend =
SIZE(ev,dim=1)
1269 ivtavend =
SIZE(tav,dim=1)
1276 source = pregionsrc%procid
1277 tag = pregion%localNumber + mpi_patchoff*ppatchsrc%srcPatch
1278 IF(
tag .gt. global%mpiTagMax)
tag = mod(
tag,global%mpiTagMax)
1280 CALL mpi_recv( pbuffplag%recvBuffStat,neqs*ndim,mpi_rfreal, &
1282 IF (global%mpierr /= err_none) &
1283 CALL
errorstop( global,err_mpi_trouble,__line__ )
1294 DO idum=1,pregion%nDumCells
1303 IF (lb == 1)
i =
ibeg - idum
1304 IF (lb == 2)
i =
iend + idum
1307 ijkd = indijk(
i,
j,
k,icoff,ijcoff)
1308 ijkbuff = ijkbuff + 1
1310 DO iv=ivevbeg,ivevend
1312 ijkvbuff = ijkbuff +(ivs-1)*ndim
1313 ev(iv,ijkd) = pbuffplag%recvBuffStat(ijkvbuff)
1315 DO iv=ivtavbeg,ivtavend
1317 ijkvbuff = ijkbuff +(ivs-1)*ndim
1318 tav(iv,ijkd) = pbuffplag%recvBuffStat(ijkvbuff)
1328 IF (lb == 3)
j =
jbeg - idum
1329 IF (lb == 4)
j =
jend + idum
1332 ijkd = indijk(
i,
j,
k,icoff,ijcoff)
1333 ijkbuff = ijkbuff + 1
1335 DO iv=ivevbeg,ivevend
1337 ijkvbuff = ijkbuff +(ivs-1)*ndim
1338 ev(iv,ijkd) = pbuffplag%recvBuffStat(ijkvbuff)
1340 DO iv=ivtavbeg,ivtavend
1342 ijkvbuff = ijkbuff +(ivs-1)*ndim
1343 tav(iv,ijkd) = pbuffplag%recvBuffStat(ijkvbuff)
1353 IF (lb == 5)
k =
kbeg - idum
1354 IF (lb == 6)
k = kend + idum
1357 ijkd = indijk(
i,
j,
k,icoff,ijcoff)
1358 ijkbuff = ijkbuff + 1
1360 DO iv=ivevbeg,ivevend
1362 ijkvbuff = ijkbuff +(ivs-1)*ndim
1363 ev(iv,ijkd) = pbuffplag%recvBuffStat(ijkvbuff)
1365 DO iv=ivtavbeg,ivtavend
1367 ijkvbuff = ijkbuff +(ivs-1)*ndim
1368 tav(iv,ijkd) = pbuffplag%recvBuffStat(ijkvbuff)
1420 TYPE(t_region
),
POINTER :: regions(:)
1428 INTEGER :: bctype,ilev,ipatch,ipatchsrc,iregsrc,npatches
1430 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: tav
1432 TYPE(t_patch),
POINTER :: ppatch
1433 TYPE(t_region
),
POINTER :: pregion,pregionsrc
1440 global => regions(ireg)%global
1443 'PLAG_RFLO_ModStats.F90' )
1449 pregion => regions(ireg)
1451 IF ( pregion%procid==global%myProcid .AND. &
1452 pregion%active==active )
THEN
1458 ilev = pregion%currLevel
1459 npatches = pregion%nPatches
1465 DO ipatch=1,npatches
1466 ppatch => pregion%levels(ilev)%patches(ipatch)
1468 bctype = ppatch%bcType
1469 iregsrc = ppatch%srcRegion
1470 ipatchsrc = ppatch%srcPatch
1472 SELECT CASE (bctype)
1478 CASE( bc_regionconf:bc_regionconf+bc_range )
1479 pregionsrc => regions(iregsrc)
1481 IF ( pregionsrc%procid /= global%myProcid )
THEN
1489 CASE( bc_regionint:bc_regionint+bc_range )
1490 CALL
errorstop( global,err_unknown_bc,__line__ )
1496 CASE( bc_regnonconf:bc_regnonconf+bc_range)
1497 CALL
errorstop( global,err_unknown_bc,__line__ )
1552 TYPE(t_patch),
POINTER :: ppatch
1553 TYPE(t_region
),
POINTER :: pregion,pregionsrc
1559 INTEGER :: iv,ivs,irequeststat,npatches,neqs
1560 INTEGER :: bctype,ipatch,ipatchsrc,iregsrc
1561 INTEGER :: idum,
i,
j,
k, ijkbuff, ijkvbuff
1562 INTEGER :: ilev,
ibeg,
iend,
jbeg,
jend,
kbeg, kend, icoff, ijcoff, ijkc, &
1563 n1, n2, ndim, dest,
tag
1564 INTEGER :: lb, l1srcdir, l2srcdir, l1beg, l1end, l1step, l2beg, l2end, l2step
1565 INTEGER :: ivevbeg,ivevend,ivtavbeg,ivtavend,nev,ntav
1569 REAL(KIND=RFREAL),
DIMENSION(:,:),
POINTER :: ev,tav
1572 TYPE(t_plag),
POINTER :: pplag
1579 global => pregion%global
1582 'PLAG_RFLO_ModStats.F90' )
1588 IF ( pregionsrc%active == off )
THEN
1589 CALL
errorstop( global,err_srcregion_off,__line__ )
1596 ilev = pregion%currLevel
1598 pplag => pregion%levels(ilev)%plag
1599 pbuffplag => ppatch%bufferPlag
1611 n1 = abs(ppatch%l1end-ppatch%l1beg) + 1
1612 n2 = abs(ppatch%l2end-ppatch%l2beg) + 1
1613 ndim = n1*n2*pregionsrc%nDumCells
1615 ntav = global%plagNStat
1620 ivevend =
SIZE(ev,dim=1)
1623 ivtavend =
SIZE(tav,dim=1)
1625 irequeststat = pbuffplag%iRequestStat
1632 IF (ppatch%srcL1beg > ppatch%srcL1end) l1srcdir = -1
1634 IF (ppatch%srcL2beg > ppatch%srcL2end) l2srcdir = -1
1637 align = ppatch%align
1646 DO idum=0,pregionsrc%nDumCells-1
1655 IF (lb == 1)
i =
ibeg + idum
1656 IF (lb == 2)
i =
iend - idum
1659 IF (l1srcdir > 0)
THEN
1668 IF (l2srcdir > 0)
THEN
1677 DO k=l2beg,l2end,l2step
1678 DO j=l1beg,l1end,l1step
1679 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
1680 ijkbuff = ijkbuff + 1
1682 DO iv=ivevbeg,ivevend
1684 ijkvbuff = ijkbuff +(ivs-1)*ndim
1685 pbuffplag%sendBuffStat(ijkvbuff) = ev(iv,ijkc)
1687 DO iv=ivtavbeg,ivtavend
1689 ijkvbuff = ijkbuff +(ivs-1)*ndim
1690 pbuffplag%sendBuffStat(ijkvbuff) = tav(iv,ijkc)
1695 IF (l1srcdir > 0)
THEN
1704 IF (l2srcdir > 0)
THEN
1713 DO j=l2beg,l2end,l2step
1714 DO k=l1beg,l1end,l1step
1715 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
1716 ijkbuff = ijkbuff + 1
1718 DO iv=ivevbeg,ivevend
1720 ijkvbuff = ijkbuff +(ivs-1)*ndim
1721 pbuffplag%sendBuffStat(ijkvbuff) = ev(iv,ijkc)
1723 DO iv=ivtavbeg,ivtavend
1725 ijkvbuff = ijkbuff +(ivs-1)*ndim
1726 pbuffplag%sendBuffStat(ijkvbuff) = tav(iv,ijkc)
1737 IF (lb == 3)
j =
jbeg + idum
1738 IF (lb == 4)
j =
jend - idum
1740 IF (l1srcdir > 0)
THEN
1749 IF (l2srcdir > 0)
THEN
1758 DO i=l2beg,l2end,l2step
1759 DO k=l1beg,l1end,l1step
1760 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
1761 ijkbuff = ijkbuff + 1
1763 DO iv=ivevbeg,ivevend
1765 ijkvbuff = ijkbuff +(ivs-1)*ndim
1766 pbuffplag%sendBuffStat(ijkvbuff) = ev(iv,ijkc)
1768 DO iv=ivtavbeg,ivtavend
1770 ijkvbuff = ijkbuff +(ivs-1)*ndim
1771 pbuffplag%sendBuffStat(ijkvbuff) = tav(iv,ijkc)
1776 IF (l1srcdir > 0)
THEN
1785 IF (l2srcdir > 0)
THEN
1794 DO k=l2beg,l2end,l2step
1795 DO i=l1beg,l1end,l1step
1796 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
1797 ijkbuff = ijkbuff + 1
1799 DO iv=ivevbeg,ivevend
1801 ijkvbuff = ijkbuff +(ivs-1)*ndim
1802 pbuffplag%sendBuffStat(ijkvbuff) = ev(iv,ijkc)
1804 DO iv=ivtavbeg,ivtavend
1806 ijkvbuff = ijkbuff +(ivs-1)*ndim
1807 pbuffplag%sendBuffStat(ijkvbuff) = tav(iv,ijkc)
1818 IF (lb == 5)
k =
kbeg + idum
1819 IF (lb == 6)
k = kend - idum
1821 IF (l1srcdir > 0)
THEN
1830 IF (l2srcdir > 0)
THEN
1839 DO j=l2beg,l2end,l2step
1840 DO i=l1beg,l1end,l1step
1841 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
1842 ijkbuff = ijkbuff + 1
1844 DO iv=ivevbeg,ivevend
1846 ijkvbuff = ijkbuff +(ivs-1)*ndim
1847 pbuffplag%sendBuffStat(ijkvbuff) = ev(iv,ijkc)
1849 DO iv=ivtavbeg,ivtavend
1851 ijkvbuff = ijkbuff +(ivs-1)*ndim
1852 pbuffplag%sendBuffStat(ijkvbuff) = tav(iv,ijkc)
1857 IF (l1srcdir > 0)
THEN
1866 IF (l2srcdir > 0)
THEN
1875 DO i=l2beg,l2end,l2step
1876 DO j=l1beg,l1end,l1step
1877 ijkc = indijk(
i,
j,
k,icoff,ijcoff)
1878 ijkbuff = ijkbuff + 1
1880 DO iv=ivevbeg,ivevend
1882 ijkvbuff = ijkbuff +(ivs-1)*ndim
1883 pbuffplag%sendBuffStat(ijkvbuff) = ev(iv,ijkc)
1885 DO iv=ivtavbeg,ivtavend
1887 ijkvbuff = ijkbuff +(ivs-1)*ndim
1888 pbuffplag%sendBuffStat(ijkvbuff) = tav(iv,ijkc)
1902 dest = pregionsrc%procid
1903 tag = pregionsrc%localNumber + mpi_patchoff*ppatch%srcPatch
1904 IF(
tag .gt. global%mpiTagMax)
tag = mod(
tag,global%mpiTagMax)
1906 CALL mpi_isend( pbuffplag%sendBuffStat,neqs*ndim,mpi_rfreal, &
1907 dest,
tag,global%mpiComm, &
1908 pplag%requestsStat(irequeststat),global%mpierr )
1909 IF (global%mpierr /= err_none) &
1910 CALL
errorstop( global,err_mpi_trouble,__line__ )
1970 TYPE(t_region
),
POINTER :: regions(:)
1976 INTEGER :: ireg,
i,
j,
k, l,
n
1978 CHARACTER(2*CHRLEN+17) :: fname
1981 INTEGER ::
status(mpi_status_size)
1983 INTEGER :: ilev, iregfile, ipc, jpc, kpc, ndumcells, ndim, ioff, ijoff, ijk
1985 INTEGER :: errorflag, ntav
1986 INTEGER,
ALLOCATABLE ,
DIMENSION(:) :: plagvarid
1987 INTEGER,
ALLOCATABLE ,
DIMENSION(:,:) :: ivar,jvar
1989 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: tav
1990 REAL(RFREAL),
ALLOCATABLE,
DIMENSION(:,:) :: rvar, tavfile
1998 global => regions(1)%global
2001 'PLAG_RFLO_ModStats.F90' )
2003 IF (.NOT. global%plagUsed) goto 999
2009 ALLOCATE( ivar(5,1),stat=errorflag )
2010 global%error = errorflag
2011 IF ( global%error /= err_none ) &
2012 CALL
errorstop( global,err_allocate,__line__,
'ivar' )
2014 ALLOCATE( rvar(2,1),stat=errorflag )
2015 global%error = errorflag
2016 IF ( global%error /= err_none ) &
2017 CALL
errorstop( global,err_allocate,__line__,
'rvar' )
2019 ALLOCATE( jvar(global%plagNStat+1,1),stat=errorflag )
2020 global%error = errorflag
2021 IF ( global%error /= err_none ) &
2022 CALL
errorstop( global,err_allocate,__line__,
'rvar' )
2024 ALLOCATE( plagvarid(global%plagNStat+1),stat=errorflag )
2025 global%error = errorflag
2026 IF ( global%error /= err_none ) &
2027 CALL
errorstop( global,err_allocate,__line__,
'plagVarId' )
2033 IF ( global%myProcid == masterproc .AND. &
2034 global%verbLevel > verbose_none )
THEN
2035 WRITE(stdout,
'(A,3X,A)') solver_name,
'Writing PLAG statistics solution file...'
2042 IF (global%myProcid == masterproc)
THEN
2044 SELECT CASE( global%solutFormat )
2045 CASE ( format_ascii )
2046 WRITE(fname,
'(A,1PE11.5)') &
2047 trim(global%inDir)//trim(global%casename)//
'.plag_stata_', &
2049 OPEN( if_plag_stats,file=fname,
form=
'formatted',
status=
'unknown', &
2052 CASE ( format_binary )
2053 WRITE(fname,
'(A,1PE11.5)') &
2054 trim(global%inDir)//trim(global%casename)//
'.plag_stat_', &
2056 OPEN( if_plag_stats,file=fname,
form=
'unformatted',
status=
'unknown', &
2060 CALL
errorstop( global,err_reached_default,__line__ )
2064 global%error = errorflag
2065 IF ( global%error /= err_none ) &
2066 CALL
errorstop( global,err_file_open,__line__,
'File: '//trim(fname) )
2072 rvar(1,1) = global%currentTime
2073 rvar(2,1) = global%integrTime
2082 IF ( global%plagNStat > 0 )
THEN
2083 jvar(1,1) = global%plagNStat
2084 plagvarid(:) = global%plagStatId(1,:)*10 + global%plagStatId(2,:)
2085 jvar(2:global%plagNStat+1,1) = plagvarid(1:global%plagNStat)
2087 global%plagNStat+1,1,jvar )
2096 DO ireg=1,global%nRegions
2102 ilev = regions(ireg)%currLevel
2108 ndim = ijkend - ijkbeg + 1
2110 ntav = global%plagNStat
2116 IF ( regions(ireg)%procid==global%myProcid .OR. &
2117 global%myProcid==masterproc )
THEN
2118 ALLOCATE( tavfile(ntav,ndim),stat=errorflag )
2119 global%error = errorflag
2120 IF ( global%error /= err_none ) &
2121 CALL
errorstop( global,err_allocate,__line__,
'tavFile' )
2128 IF ( regions(ireg)%procid == global%myProcid )
THEN
2129 tav => regions(ireg)%levels(ilev)%plag%tav
2136 ijk = indijk(
i,
j,
k,ioff,ijoff)
2138 tavfile(l,
n) = tav(l,ijk)
2149 IF ( global%myProcid == masterproc )
THEN
2151 ivar(2,1) = regions(ireg)%levels(ilev)%grid%ipc
2152 ivar(3,1) = regions(ireg)%levels(ilev)%grid%jpc
2153 ivar(4,1) = regions(ireg)%levels(ilev)%grid%kpc
2154 ivar(5,1) = regions(ireg)%nDumCells
2162 IF (global%myProcid == masterproc)
THEN
2164 IF ( regions(ireg)%procid /= masterproc )
THEN
2165 CALL mpi_recv( tavfile,ntav*ndim,mpi_rfreal, &
2166 regions(ireg)%procid,ireg, &
2167 global%mpiComm,
status,global%mpierr )
2168 IF ( global%mpierr /= err_none ) &
2169 CALL
errorstop( global,err_mpi_trouble,__line__ )
2177 IF (regions(ireg)%procid == global%myProcid)
THEN
2178 CALL mpi_send( tavfile,ntav*ndim,mpi_rfreal,masterproc, &
2179 ireg,global%mpiComm,global%mpierr )
2180 IF ( global%mpierr /= err_none ) &
2181 CALL
errorstop( global,err_mpi_trouble,__line__ )
2190 IF (
ALLOCATED(tavfile))
THEN
2191 DEALLOCATE( tavfile,stat=errorflag )
2192 global%error = errorflag
2193 IF ( global%error /= err_none ) &
2194 CALL
errorstop( global,err_deallocate,__line__,
'tavFile' )
2203 DEALLOCATE( ivar,stat=errorflag )
2204 global%error = errorflag
2205 IF ( global%error /= err_none ) &
2206 CALL
errorstop( global,err_deallocate,__line__,
'ivar' )
2208 DEALLOCATE( rvar,stat=errorflag )
2209 global%error = errorflag
2210 IF ( global%error /= err_none ) &
2211 CALL
errorstop( global,err_deallocate,__line__,
'rvar' )
2213 DEALLOCATE( jvar,stat=errorflag )
2214 global%error = errorflag
2215 IF ( global%error /= err_none ) &
2216 CALL
errorstop( global,err_deallocate,__line__,
'jvar' )
2218 DEALLOCATE( plagvarid,stat=errorflag )
2219 global%error = errorflag
2220 IF ( global%error /= err_none ) &
2221 CALL
errorstop( global,err_deallocate,__line__,
'plagVarId' )
2227 IF ( global%myProcid == masterproc .AND. &
2228 global%verbLevel > verbose_none )
THEN
2229 WRITE(stdout,
'(A,3X,A)') solver_name,
'Writing PLAG statistics solution file done...'
2236 IF ( global%myProcid == masterproc )
THEN
2237 CLOSE(if_plag_stats,iostat=errorflag)
2238 global%error = errorflag
2239 IF ( global%error /= err_none ) &
2240 CALL
errorstop( global,err_file_close,__line__,
'File: '//trim(fname) )
**********************************************************************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
**********************************************************************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 idcend
subroutine rflo_getpatchdirection(patch, idir, jdir, kdir)
subroutine, public plag_rflo_commstatbuffwrapper(regions)
subroutine rflo_writedatafileint(global, fileId, form, nDim1, nDim2, ivar)
INTEGER function indijkmap(i, j, k, mapMat, iOffset, ijOffset)
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
subroutine rflo_getpatchindices(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
subroutine rflo_readdatafileint(global, fileId, form, nDim1, nDim2, ivar)
subroutine plag_rflo_recvstatbuffwrapper(regions, iReg)
subroutine plag_rflo_copystatbuff(pRegion, pRegionSrc, pPatch, pPatchSrc)
**********************************************************************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
subroutine rflo_getdimensdummy(region, iLev, idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend)
**********************************************************************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 plag_rflo_sendstatbuffconf(pRegion, pRegionSrc, pPatch)
**********************************************************************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 kdcbeg
CImg< T > & select(CImgDisplay &disp, const int select_type=2, unsigned int *const XYZ=0, const unsigned char *const color=0)
Simple interface to select a shape from an image.
**********************************************************************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
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 idcbeg
**********************************************************************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 form
subroutine plag_rflo_clearreqstatbuff(regions, iReg)
subroutine, public plag_rflo_createstatbuff(regions, iReg)
subroutine plag_rflo_recvstatbuff(pRegion, pRegionSrc, pPatch, pPatchSrc)
**********************************************************************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 jdcend
**********************************************************************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 jdcbeg
**********************************************************************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
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, public plag_rflo_readstat(regions)
subroutine, public plag_rflo_writestat(regions)
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 rflo_writedatafilereal(global, fileId, form, nDim1, nDim2, var)
subroutine deregisterfunction(global)
subroutine plag_rflo_sendstatbuffwrapper(regions, iReg)
subroutine rflo_readdatafilereal(global, fileId, form, nDim1, nDim2, var)