timer_obj_Init Subroutine

private impure subroutine timer_obj_Init(this, parallel, parser)

Initializes the timer.

Type Bound

timer_obj

Arguments

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

Timer

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

Parallel structure to link with

type(parser_obj), intent(in), target :: parser

Input file parsing tool


Calls

proc~~timer_obj_init~~CallsGraph proc~timer_obj_init timer_obj%timer_obj_Init none~get~4 parser_obj%Get proc~timer_obj_init->none~get~4 proc~hashtbl_obj_init hashtbl_obj%hashtbl_obj_Init proc~timer_obj_init->proc~hashtbl_obj_init proc~parser_obj_read0d parser_obj%parser_obj_read0D none~get~4->proc~parser_obj_read0d proc~parser_obj_read1d parser_obj%parser_obj_read1D none~get~4->proc~parser_obj_read1d none~assigndefault parser_obj%AssignDefault proc~parser_obj_read0d->none~assigndefault proc~parser_obj_fetchlabelid parser_obj%parser_obj_FetchLabelID proc~parser_obj_read0d->proc~parser_obj_fetchlabelid proc~parser_obj_read1d->none~assigndefault proc~parser_obj_read1d->proc~parser_obj_fetchlabelid proc~parser_obj_assigndefault0d parser_obj%parser_obj_AssignDefault0D none~assigndefault->proc~parser_obj_assigndefault0d proc~parser_obj_assigndefault1d parser_obj%parser_obj_AssignDefault1D none~assigndefault->proc~parser_obj_assigndefault1d

Source Code

    impure subroutine timer_obj_Init(this,parallel,parser)
      !> Initializes the timer.
      implicit none
      class(timer_obj),   intent(inout) :: this                                !! Timer
      type(parallel_obj), intent(in),    &
                                 target :: parallel                            !! Parallel structure to link with
      type(parser_obj),   intent(in),    &
                                 target :: parser                              !! Input file parsing tool

      ! Link to main structure
      this%parser   => parser
      this%parallel => parallel

      ! Store wall clock time at initialization
      this%starttime = parallel%Time()
      this%itertime  = this%starttime
      this%lasttime  = this%starttime

      ! Initialize hash table, with default size
      call this%tbl%Initialize(TIMER_OBJ_HTBL_SIZE)

      ! Read from input file important parameters
      call this%parser%Get("Timestep",          this%dt       )
      call this%parser%Get("Maximum time",      this%time_max )
      call this%parser%Get("Maximum iterations",this%iter_max )
      call this%parser%Get("Wall time",         this%time_wall)

      ! Read write/viz frequencies, if supplied
      call this%parser%Get("Frequency write restart data", this%freq_write  , huge(1.0_wp))
      call this%parser%Get("Frequency write output data",  this%freq_output , huge(1.0_wp))

      return
    end subroutine timer_obj_Init