cdifs_obj_Monitor Module Subroutine

module subroutine cdifs_obj_Monitor(this)

Analyzes data and posts to monitors.

Arguments

Type IntentOptional Attributes Name
class(cdifs_obj), intent(inout) :: this

CDIFS solver


Calls

proc~~cdifs_obj_monitor~~CallsGraph proc~cdifs_obj_monitor cdifs_obj_Monitor proc~cdifs_obj_flowupdatemonitor cdifs_obj_FlowUpdateMonitor proc~cdifs_obj_monitor->proc~cdifs_obj_flowupdatemonitor proc~monitor_set_set monitor_set%monitor_set_Set proc~cdifs_obj_monitor->proc~monitor_set_set proc~respart_set_updatemonitor ResPart_set%ResPart_set_UpdateMonitor proc~cdifs_obj_monitor->proc~respart_set_updatemonitor proc~timer_obj_gettiming timer_obj%timer_obj_GetTiming proc~cdifs_obj_monitor->proc~timer_obj_gettiming proc~timer_obj_updatetiming timer_obj%timer_obj_UpdateTiming proc~cdifs_obj_monitor->proc~timer_obj_updatetiming proc~cdifs_obj_flowupdatemonitor->proc~monitor_set_set proc~monitor_obj_setval monitor_obj%monitor_obj_SetVal proc~monitor_set_set->proc~monitor_obj_setval proc~monitor_set_getindex monitor_set%monitor_set_GetIndex proc~monitor_set_set->proc~monitor_set_getindex proc~parallel_obj_rankisroot parallel_obj%parallel_obj_RankIsRoot proc~monitor_set_set->proc~parallel_obj_rankisroot proc~respart_set_updatemonitor->proc~monitor_set_set centroid centroid proc~respart_set_updatemonitor->centroid none~get~3 hashtbl_obj%Get proc~timer_obj_gettiming->none~get~3 proc~hashtbl_obj_hashstring hashtbl_obj%hashtbl_obj_HashString proc~timer_obj_gettiming->proc~hashtbl_obj_hashstring proc~timer_obj_updatetiming->none~get~3 proc~timer_obj_updatetiming->proc~hashtbl_obj_hashstring proc~hashtbl_obj_get_int4 hashtbl_obj%hashtbl_obj_Get_int4 none~get~3->proc~hashtbl_obj_get_int4 proc~hashtbl_obj_get_int8 hashtbl_obj%hashtbl_obj_Get_int8 none~get~3->proc~hashtbl_obj_get_int8 proc~hashtbl_obj_get_real_dp hashtbl_obj%hashtbl_obj_Get_real_dp none~get~3->proc~hashtbl_obj_get_real_dp proc~hashtbl_obj_get_real_sp hashtbl_obj%hashtbl_obj_Get_real_sp none~get~3->proc~hashtbl_obj_get_real_sp proc~monitor_set_getindex->none~get~3 proc~monitor_set_getindex->proc~hashtbl_obj_hashstring none~get~2 sllist_obj%Get proc~hashtbl_obj_get_int4->none~get~2 proc~hashtbl_obj_get_int8->none~get~2 proc~hashtbl_obj_get_real_dp->none~get~2 proc~hashtbl_obj_get_real_sp->none~get~2 proc~sllist_obj_get_int4 sllist_obj%sllist_obj_Get_int4 none~get~2->proc~sllist_obj_get_int4 proc~sllist_obj_get_int8 sllist_obj%sllist_obj_Get_int8 none~get~2->proc~sllist_obj_get_int8 proc~sllist_obj_get_real_dp sllist_obj%sllist_obj_Get_real_dp none~get~2->proc~sllist_obj_get_real_dp proc~sllist_obj_get_real_sp sllist_obj%sllist_obj_Get_real_sp none~get~2->proc~sllist_obj_get_real_sp proc~sllist_obj_get_int4->proc~sllist_obj_get_int4 proc~sllist_obj_get_int8->proc~sllist_obj_get_int8 proc~sllist_obj_get_real_dp->proc~sllist_obj_get_real_dp proc~sllist_obj_get_real_sp->proc~sllist_obj_get_real_sp

Called by

proc~~cdifs_obj_monitor~~CalledByGraph proc~cdifs_obj_monitor cdifs_obj_Monitor interface~cdifs_obj_monitor cdifs_obj%cdifs_obj_Monitor interface~cdifs_obj_monitor->proc~cdifs_obj_monitor proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->interface~cdifs_obj_monitor interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver

Source Code

    module subroutine cdifs_obj_Monitor(this)
      !> Analyzes data and posts to monitors.
      implicit none
      class(cdifs_obj), intent(inout) :: this                                  !! CDIFS solver
      ! Work variables
      real(wp) :: timing(5)

      ! Monitor flow quantities
      call cdifs_obj_FlowUpdateMonitor(this)

      ! Monitor RP quantites
      if (this%use_RP) call this%RP%UpdateMonitor

      ! Update timing info
      call this%timer%UpdateTiming('Monitor')

      timing(1) = this%timer%GetTiming('Advance/V' )
      timing(2) = this%timer%GetTiming('Advance/RP')
      timing(3) = this%timer%GetTiming('Output' )
      timing(4) = this%timer%GetTiming('Restart')
      timing(5) = this%timer%GetTiming('Monitor')

      call this%monitors%Set('timing',1,this%timer%iter )
      call this%monitors%Set('timing',2,this%timer%time )
      call this%monitors%Set('timing',3,sum(timing)     )
      call this%monitors%Set('timing',4,sum(timing(1:2)))
      call this%monitors%Set('timing',5,timing(1)       )
      call this%monitors%Set('timing',6,timing(2)       )
      call this%monitors%Set('timing',7,timing(3)       )
      call this%monitors%Set('timing',8,timing(4)       )
      call this%monitors%Set('timing',9,timing(5)       )

      ! Print monitor
      call this%monitors%print()

      return
    end subroutine cdifs_obj_Monitor