70 CHARACTER(CHRLEN) :: RCSIdentString = &
71 '$RCSfile: ModStatsRoutines.F90,v $ $Revision: 1.11 $'
101 CHARACTER(*) :: versionstring
104 CHARACTER(LEN=2) :: major, minor,
patch
105 CHARACTER(CHRLEN) :: date
118 WRITE(versionstring,
'(A)') trim(major)//
'.'//trim(minor)//
'.'//trim(
patch)
119 WRITE(versionstring,
'(A)')
'Version: '//trim(versionstring)
120 WRITE(versionstring,
'(A)') trim(versionstring)//
', Date: '//trim(date)
145 TYPE(t_region
),
POINTER :: regions(:)
154 TYPE(t_region
),
POINTER :: pregion
159 global => regions(1)%global
162 'ModStatsRoutines.F90' )
166 IF (global%doStat == active)
THEN
168 DO ireg=1,global%nRegions
169 IF (regions(ireg)%procid==global%myProcid .AND. &
170 regions(ireg)%active==active)
THEN
173 DO ireg=1,global%nRegionsLocal
177 IF (global%turbNStat>0)
THEN
178 IF ((regions(ireg)%mixtInput%flowModel == flow_navst) .AND. &
179 (regions(ireg)%mixtInput%turbModel /= turb_model_none))
THEN
185 IF ( global%plagUsed .EQV. .true. )
THEN
186 pregion => regions(ireg)
189 IF ( global%plagNStat>0 ) &
242 TYPE(t_region
),
POINTER :: regions(:)
252 TYPE(t_region
),
POINTER :: pregion
257 global => regions(1)%global
260 'ModStatsRoutines.F90' )
264 IF (global%flowType == flow_steady)
THEN
272 IF (global%doStat == active)
THEN
276 IF (global%reStat == active)
THEN
278 IF (global%myProcid==masterproc .AND. global%verbLevel/=verbose_none) &
279 WRITE(stdout,
'(A)') solver_name//
' Restart statistics ...'
284 IF ( global%plagUsed .EQV. .true. ) &
289 DO ireg=1,global%nRegionsLocal
297 DO ireg=1,global%nRegionsLocal
298 pregion => regions(ireg)
308 IF (global%myProcid==masterproc .AND. global%verbLevel/=verbose_none) &
309 WRITE(stdout,
'(A)') solver_name//
' Start new statistics ...'
310 global%integrTime = 0._rfreal
312 DO ireg=1,global%nRegions
313 IF (regions(ireg)%procid==global%myProcid .AND. &
314 regions(ireg)%active==active)
THEN
315 ilev = regions(ireg)%currLevel
316 IF (global%mixtNStat > 0)
THEN
317 regions(ireg)%levels(ilev)%mixt%tav = 0._rfreal
320 IF ((regions(ireg)%mixtInput%flowModel == flow_navst) .AND. &
321 (regions(ireg)%mixtInput%turbModel /= turb_model_none) .AND. &
322 (global%turbNStat > 0))
THEN
323 regions(ireg)%levels(ilev)%turb%tav = 0._rfreal
327 IF ((global%plagUsed .EQV. .true.) .AND. &
328 (global%plagNStat > 0))
THEN
329 regions(ireg)%levels(ilev)%plag%tav = 0._rfreal
336 DO ireg=1,global%nRegionsLocal
337 IF (global%mixtNStat > 0)
THEN
338 regions(ireg)%mixt%tav = 0._rfreal
341 IF ((regions(ireg)%mixtInput%flowModel == flow_navst) .AND. &
342 (regions(ireg)%mixtInput%turbModel /= turb_model_none) .AND. &
343 (global%turbNStat > 0))
THEN
344 regions(ireg)%turb%tav = 0._rfreal
348 IF ((global%plagUsed .EQV. .true.) .AND. &
349 (global%plagNStat > 0))
THEN
350 regions(ireg)%plag%tav = 0._rfreal
398 INTEGER :: ijkbeg, ijkend,
id, idtav
399 REAL(RFREAL) :: dtime
400 REAL(RFREAL),
POINTER :: var(:,:), qavg(:,:)
408 qavg(idtav,ijk) = qavg(idtav,ijk) + dtime*var(
id,ijk)
416 dtime,var1,var2,qavg )
421 INTEGER :: ijkbeg, ijkend, id1, id2, idtav
422 REAL(RFREAL) :: dtime
423 REAL(RFREAL),
POINTER :: var1(:,:), var2(:,:), qavg(:,:)
431 qavg(idtav,ijk) = qavg(idtav,ijk) + dtime*var1(id1,ijk)*var2(id2,ijk)
459 #include "Indexing.h"
464 TYPE(t_region
) :: region
471 INTEGER :: ilev, ioff, ijoff
473 INTEGER :: nstat, id1, id2
474 INTEGER,
POINTER :: statcode(:,:,:)
476 REAL(RFREAL),
POINTER :: cv(:,:),dv(:,:),tv(:,:),gv(:,:),ev(:,:),tav(:,:)
477 REAL(RFREAL),
POINTER :: sv(:,:),st(:,:)
478 REAL(RFREAL),
POINTER :: var1(:,:),var2(:,:)
483 'ModStatsRoutines.F90' )
488 ilev = region%currLevel
491 IF (fluidtype == ftype_mixt)
THEN
492 nstat = region%global%mixtNStat
493 statcode => region%global%mixtStatCode
495 cv => region%levels(ilev)%mixt%cv
496 dv => region%levels(ilev)%mixt%dv
497 tv => region%levels(ilev)%mixt%tv
498 gv => region%levels(ilev)%mixt%gv
499 tav => region%levels(ilev)%mixt%tav
506 tav => region%mixt%tav
508 ELSEIF (fluidtype == ftype_turb)
THEN
510 nstat = region%global%turbNStat
511 statcode => region%global%turbStatCode
513 tv => region%levels(ilev)%mixt%tv
514 dv => region%levels(ilev)%turb%dv
515 sv => region%levels(ilev)%turb%sv
516 st => region%levels(ilev)%turb%st
517 tav => region%levels(ilev)%turb%tav
524 tav => region%turb%tav
527 ELSEIF (fluidtype == ftype_plag)
THEN
529 nstat = region%global%plagNStat
530 statcode => region%global%plagStatCode
532 ev => region%levels(ilev)%plag%ev
533 tav => region%levels(ilev)%plag%tav
537 tav => region%plag%tav
540 ELSEIF (fluidtype == ftype_peul)
THEN
542 nstat = region%global%peulNStat
543 statcode => region%global%peulStatCode
566 ijkend = region%grid%nCells
574 IF ((statcode(1,1,l)==stat_none).AND.(statcode(2,1,l)==stat_none)) &
577 IF (statcode(1,1,l)==stat_cv)
THEN
579 ELSEIF (statcode(1,1,l)==stat_dv)
THEN
581 ELSEIF (statcode(1,1,l)==stat_tv)
THEN
583 ELSEIF (statcode(1,1,l)==stat_gv)
THEN
585 ELSEIF (statcode(1,1,l)==stat_sv)
THEN
587 ELSEIF (statcode(1,1,l)==stat_st)
THEN
589 ELSEIF (statcode(1,1,l)==stat_plagev)
THEN
593 IF (statcode(2,1,l)==stat_cv)
THEN
595 ELSEIF (statcode(2,1,l)==stat_dv)
THEN
597 ELSEIF (statcode(2,1,l)==stat_tv)
THEN
599 ELSEIF (statcode(2,1,l)==stat_gv)
THEN
601 ELSEIF (statcode(2,1,l)==stat_sv)
THEN
603 ELSEIF (statcode(2,1,l)==stat_st)
THEN
605 ELSEIF (statcode(2,1,l)==stat_plagev)
THEN
609 id1 = statcode(1,2,l)
610 id2 = statcode(2,2,l)
612 IF (statcode(1,1,l)==stat_none)
THEN
614 region%global%dtMin,var2,tav )
615 ELSEIF (statcode(2,1,l)==stat_none)
THEN
617 region%global%dtMin,var1,tav )
620 region%global%dtMin,var1,var2,tav )
674 CHARACTER(CHRLEN),
POINTER :: statname(:,:,:)
677 INTEGER,
POINTER :: statid(:,:), statcode(:,:,:)
682 'ModStatsRoutines.F90' )
686 IF (global%mixtNStat <= 0) goto 111
688 ALLOCATE( global%mixtStatCode(2,2,global%mixtNStat),stat=errorflag )
689 global%error = errorflag
690 IF (global%error /= 0) CALL
errorstop( global,err_allocate,__line__ )
692 statid => global%mixtStatId
693 statcode => global%mixtStatCode
696 ALLOCATE( global%mixtStatNm(2,2,global%mixtNStat),stat=errorflag )
697 global%error = errorflag
698 IF (global%error /= 0) CALL
errorstop( global,err_allocate,__line__ )
700 statname => global%mixtStatNm
705 DO l=1,global%mixtNStat
707 IF (statid(
n,l)==0)
THEN
708 statcode(
n,:,l) = stat_none
709 ELSE IF (statid(
n,l)==1)
THEN
710 statcode(
n,1,l) = stat_cv
711 statcode(
n,2,l) = cv_mixt_dens
713 statname(
n,1,l) =
'rho'
714 statname(
n,2,l) =
'kg/m^3'
716 ELSE IF (statid(
n,l)==2)
THEN
718 statcode(
n,1,l) = stat_dv
719 statcode(
n,2,l) = dv_mixt_uvel
722 statcode(
n,1,l) = stat_cv
723 statcode(
n,2,l) = cv_mixt_xvel
726 statname(
n,1,l) =
'u'
727 statname(
n,2,l) =
'm/s'
729 ELSE IF (statid(
n,l)==3)
THEN
731 statcode(
n,1,l) = stat_dv
732 statcode(
n,2,l) = dv_mixt_vvel
735 statcode(
n,1,l) = stat_cv
736 statcode(
n,2,l) = cv_mixt_yvel
739 statname(
n,1,l) =
'v'
740 statname(
n,2,l) =
'm/s'
742 ELSE IF (statid(
n,l)==4)
THEN
744 statcode(
n,1,l) = stat_dv
745 statcode(
n,2,l) = dv_mixt_wvel
748 statcode(
n,1,l) = stat_cv
749 statcode(
n,2,l) = cv_mixt_zvel
752 statname(
n,1,l) =
'w'
753 statname(
n,2,l) =
'm/s'
755 ELSE IF (statid(
n,l)==5)
THEN
756 statcode(
n,1,l) = stat_dv
757 statcode(
n,2,l) = dv_mixt_temp
759 statname(
n,1,l) =
'T'
760 statname(
n,2,l) =
'K'
762 ELSE IF (statid(
n,l)==6)
THEN
763 statcode(
n,1,l) = stat_dv
764 statcode(
n,2,l) = dv_mixt_pres
766 statname(
n,1,l) =
'p'
767 statname(
n,2,l) =
'N/m^2'
769 ELSE IF (statid(
n,l)==7)
THEN
770 statcode(
n,1,l) = stat_dv
771 statcode(
n,2,l) = dv_mixt_soun
773 statname(
n,1,l) =
'c'
774 statname(
n,2,l) =
'm/s'
776 ELSE IF (statid(
n,l)==8)
THEN
777 statcode(
n,1,l) = stat_tv
778 statcode(
n,2,l) = tv_mixt_muel
780 statname(
n,1,l) =
'mul'
781 statname(
n,2,l) =
'kg/ms'
783 ELSE IF (statid(
n,l)==9)
THEN
784 statcode(
n,1,l) = stat_tv
785 statcode(
n,2,l) = tv_mixt_tcol
787 statname(
n,1,l) =
'tcol'
788 statname(
n,2,l) =
'kg m/Ks^3'
791 CALL
errorstop( global,err_stats_indexing,__line__, &
792 'mixture index out of range.' )
808 IF (global%turbNStat <= 0) goto 222
820 IF (global%plagNStat <= 0) goto 333
832 IF (global%peulNStat <= 0) goto 444
845 IF (global%infloNijk < nijk_inflow_init)
THEN
846 DO l=1,global%mixtNStat
847 IF (statid(1,l)==0)
THEN
848 IF (statid(2,l) /= l)
THEN
849 CALL
errorstop( global,err_stats_indexing,__line__, &
850 'For recycturb inflow, set stats Id 01-06 in the given order.' )
891 'ModStatsRoutines.F90' )
895 global%integrTime = global%integrTime + global%dtMin
942 #include "Indexing.h"
946 TYPE(t_region
),
POINTER :: regions(:)
956 global => regions(1)%global
959 'ModStatsRoutines.F90' )
**********************************************************************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, public statbuildversionstring(versionString)
subroutine, public plag_rflo_commstatbuffwrapper(regions)
subroutine, public stattimeaccumulation(global)
subroutine, public plag_calceulerianfield(pRegion)
subroutine, public initstatistics(regions)
subroutine genxstatnaming(global, fluidType)
subroutine registerfunction(global, funName, fileName)
subroutine, public statdataaccumulation1(ijkbeg, ijkend, id, idtav, dTime, var, qavg)
subroutine rflo_writestat(regions)
subroutine, public statdatasampling(region, fluidType)
subroutine plag_statmapping(global)
subroutine, public rflo_statboundaryconditionsset(regions)
subroutine, public stat_rflu_genxgetdata(pRegion)
subroutine rflo_readstat(regions)
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 kdcbeg
subroutine, public getstatistics(regions)
subroutine, public statmapping(global)
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
subroutine, public statwritemp(regions)
**********************************************************************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
subroutine rflu_readstat(region)
**********************************************************************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
unsigned long id(const Leda_like_handle &x)
**********************************************************************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
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine, public plag_rflo_readstat(regions)
subroutine, public statdataaccumulation2(ijkbeg, ijkend, id1, id2, idtav, dTime, var1, var2, qavg)
subroutine, public plag_rflo_writestat(regions)
subroutine deregisterfunction(global)
subroutine turb_statmapping(global)