monitor_set_Create Subroutine

private impure subroutine monitor_set_Create(this, name, ncol, stdout, sep)

Creates a new monitor.

Type Bound

monitor_set

Arguments

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

Set of monitor objects

character(len=*), intent(in) :: name

Name of the monitor

integer, intent(in) :: ncol

Number of columns

logical, intent(in), optional :: stdout

Switch to write to the stdout

character(len=*), intent(in), optional :: sep

Number of columns


Calls

proc~~monitor_set_create~~CallsGraph proc~monitor_set_create monitor_set%monitor_set_Create proc~hashtbl_obj_hashstring hashtbl_obj%hashtbl_obj_HashString proc~monitor_set_create->proc~hashtbl_obj_hashstring proc~hashtbl_obj_put hashtbl_obj%hashtbl_obj_Put proc~monitor_set_create->proc~hashtbl_obj_put proc~monitor_obj_init monitor_obj%monitor_obj_Init proc~monitor_set_create->proc~monitor_obj_init proc~monitor_set_expand monitor_set%monitor_set_Expand proc~monitor_set_create->proc~monitor_set_expand proc~parallel_obj_rankisroot parallel_obj%parallel_obj_RankIsRoot proc~monitor_set_create->proc~parallel_obj_rankisroot proc~sllist_obj_put sllist_obj%sllist_obj_Put proc~hashtbl_obj_put->proc~sllist_obj_put proc~monitor_obj_formats monitor_obj%monitor_obj_Formats proc~monitor_obj_init->proc~monitor_obj_formats proc~sysutils_obj_createdirectory sysutils_obj%sysutils_obj_CreateDirectory proc~monitor_obj_init->proc~sysutils_obj_createdirectory proc~sllist_obj_put->proc~sllist_obj_put

Called by

proc~~monitor_set_create~~CalledByGraph proc~monitor_set_create monitor_set%monitor_set_Create proc~cdifs_obj_preparesolvermonitor cdifs_obj_PrepareSolverMonitor proc~cdifs_obj_preparesolvermonitor->proc~monitor_set_create proc~respart_set_createmonitor ResPart_set%ResPart_set_CreateMonitor proc~cdifs_obj_preparesolvermonitor->proc~respart_set_createmonitor proc~grans_obj_preparesolvermonitor grans_obj_PrepareSolverMonitor proc~grans_obj_preparesolvermonitor->proc~monitor_set_create proc~grans_obj_preparesolvermonitor->proc~respart_set_createmonitor proc~particle_set_createmonitor particle_set%particle_set_CreateMonitor proc~particle_set_createmonitor->proc~monitor_set_create proc~respart_set_createmonitor->proc~monitor_set_create proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolvermonitor proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->proc~grans_obj_preparesolvermonitor interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver

Source Code

    impure subroutine monitor_set_Create(this,name,ncol,stdout,sep)
      !> Creates a new monitor.
      implicit none
      class(monitor_set), intent(inout) :: this                                !! Set of monitor objects
      character(len=*),   intent(in)    :: name                                !! Name of the monitor
      integer,            intent(in)    :: ncol                                !! Number of columns
      logical,            intent(in),    &
                               optional :: stdout                              !! Switch to write to the stdout
      character(len=*),   intent(in),    &
                               optional :: sep                                 !! Number of columns
      ! Work variables
      integer :: n

      associate(mpi => this%parallel)
        if (mpi%RankIsRoot()) then
          ! Add one monitor slot
          call this%Expand
          n=size(this%m)

          ! Add to hash table
          call this%tbl%Put(key=this%tbl%HashString(name),val=n)

          ! Do we write to the stdout or a file
          if (present(stdout)) then
            this%m(n)%stdout=stdout
          else
            this%m(n)%stdout=.false.
          end if

          call this%m(n)%Initialize(name,ncol,sep)
        end if
      end associate

      return
    end subroutine monitor_set_Create