monitor_set Derived Type

type, public :: monitor_set


Inherits

type~~monitor_set~~InheritsGraph type~monitor_set monitor_set type~hashtbl_obj hashtbl_obj type~monitor_set->type~hashtbl_obj tbl type~monitor_obj monitor_obj type~monitor_set->type~monitor_obj m type~parallel_obj parallel_obj type~monitor_set->type~parallel_obj parallel type~sllist_obj sllist_obj type~hashtbl_obj->type~sllist_obj vec type~column_obj column_obj type~monitor_obj->type~column_obj col MPI_Datatype MPI_Datatype type~parallel_obj->MPI_Datatype REAL_SP, REAL_DP, REAL_WP, COMPLEX_SP, COMPLEX_DP, COMPLEX_WP, INTEGER, INT8, LOGICAL MPI_Info MPI_Info type~parallel_obj->MPI_Info mpi_info type~communicators communicators type~parallel_obj->type~communicators comm type~patch patch type~parallel_obj->type~patch rank MPI_Comm MPI_Comm type~communicators->MPI_Comm w, g type~sllist_obj->type~sllist_obj child

Inherited by

type~~monitor_set~~InheritedByGraph type~monitor_set monitor_set type~cdifs_obj cdifs_obj type~cdifs_obj->type~monitor_set monitors, pmonitor type~marker_set marker_set type~cdifs_obj->type~marker_set IB type~respart_set ResPart_set type~cdifs_obj->type~respart_set RP type~grans_obj grans_obj type~grans_obj->type~monitor_set monitors type~grans_obj->type~marker_set IB type~grans_obj->type~respart_set RP type~marker_set->type~monitor_set monitors type~respart_set->type~monitor_set monitors type~respart_set->type~marker_set ib type~solid_obj solid_obj type~solid_obj->type~marker_set type~solid_set solid_set type~solid_set->type~solid_obj p

Components

Type Visibility Attributes Name Initial
class(monitor_obj), public, allocatable :: m(:)

Array of monitors

type(parallel_obj), public, pointer :: parallel => null()

Associated parallel structure

type(hashtbl_obj), private :: tbl

Hash table


Type-Bound Procedures

procedure, public :: Create => monitor_set_Create

Create a new monitor

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

    Creates a new monitor

    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

procedure, public :: Expand => monitor_set_Expand

Add a new monitor slot

  • private subroutine monitor_set_Expand(this)

    Changes the size of an array of monitors

    Arguments

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

    Set of monitor objects

procedure, public :: Finalize => monitor_set_Final

Finalize the structure

  • private subroutine monitor_set_Final(this)

    Arguments

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

    A set of monitor objects

procedure, public :: GetIndex => monitor_set_GetIndex

Return the index of a monitor

  • private function monitor_set_GetIndex(this, name) result(loc)

    Returns the ID of a monitor identified by name

    Arguments

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

    Set of monitor objects

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

    Name of the monitor

    Return Value integer

    Monitor ID

procedure, public :: Info => monitor_set_Info

Print a number of diagnostics information

  • private subroutine monitor_set_Info(this)

    Print a number of diagnostics information

    Arguments

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

    Set of monitor objects

procedure, public :: Initialize => monitor_set_Init

Initialize the structure

  • private subroutine monitor_set_Init(this, parallel)

    Initialize a set of monitors

    Arguments

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

    A set of monitor objects

    type(parallel_obj), intent(in), target :: parallel

    parallel structure from main program

procedure, public :: Print => monitor_set_Print

Print the content of the monitors

  • private subroutine monitor_set_Print(this, print_labels)

    Prints content of monitors

    Arguments

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

    Set of monitor objects

    logical, intent(in), optional :: print_labels

    True if we want to print the labels

procedure, public :: Set => monitor_set_Set

Set the label or value of a monitor

  • private subroutine monitor_set_Set(this, name, colID, value, label)

    Set the label or value of a column of a certain monitor

    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) :: colID

    Number of columns

    class(*), intent(in), optional :: value

    Value

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

    Column label