type_time Derived Type

type, public :: type_time


Inherits

type~~type_time~~InheritsGraph type~type_time type_time type~type_profiler_section type_profiler_section type~type_time->type~type_profiler_section sections type~type_time_record type_time_record type~type_time->type~type_time_record start, end

Inherited by

type~~type_time~~InheritedByGraph type~type_time type_time type~type_controls type_controls type~type_controls->type~type_time time type~type_ftdss type_ftdss type~type_ftdss->type~type_controls controls

Components

Type Visibility Attributes Name Initial
real(kind=real64), public :: dt
real(kind=real64), public :: dt_max
real(kind=real64), public :: dt_min
real(kind=real64), public, allocatable :: dt_old(:)
type(type_time_record), public :: end
real(kind=real64), public :: end_time
type(type_profiler_section), public, allocatable :: sections(:)
type(type_time_record), public :: start
real(kind=real64), public :: start_time
real(kind=real64), public :: time
real(kind=real64), public :: time_conversion = 1.0d0
real(kind=real64), public :: time_old

Type-Bound Procedures

procedure, public, pass(self) :: get_dt

  • private pure function get_dt(self) result(dt)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(in) :: self

    Return Value real(kind=real64)

procedure, public, pass(self) :: get_record

  • private function get_record(self, label) result(record)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(in) :: self
    character(len=*), intent(in) :: label

    Return Value character(len=:), allocatable

procedure, public, pass(self) :: get_time

  • private function get_time(self) result(time)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(in) :: self

    Return Value real(kind=real64)

procedure, public, pass(self) :: get_time_coefficients

  • private subroutine get_time_coefficients(self, order, coefficients)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(in) :: self
    integer(kind=int32), intent(in) :: order
    real(kind=real64), intent(inout) :: coefficients(0:)

procedure, public, pass(self) :: initialize => initialize_type_time

  • private subroutine initialize_type_time(self, input, profiler_sections)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(inout) :: self
    type(type_input), intent(in), optional :: input
    character(len=*), intent(in), optional :: profiler_sections(:)

procedure, public, pass(self) :: profile_start => profile_start_timer

  • private subroutine profile_start_timer(self, label)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(inout) :: self
    character(len=*), intent(in) :: label

procedure, public, pass(self) :: profile_stop => profile_stop_timer

  • private subroutine profile_stop_timer(self, label)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(inout) :: self
    character(len=*), intent(in) :: label

procedure, public, pass(self) :: record => record_timestamp

  • private subroutine record_timestamp(self, label)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(inout) :: self
    character(len=*), intent(in) :: label

procedure, public, pass(self) :: shift => shift_time

  • private subroutine shift_time(self, reverse)

    Arguments

    Type IntentOptional Attributes Name
    class(type_time), intent(inout) :: self
    logical, intent(in), optional :: reverse

Source Code

    type :: type_time
        real(real64) :: start_time
        real(real64) :: end_time
        real(real64) :: time
        real(real64) :: time_old
        real(real64) :: dt
        real(real64), allocatable :: dt_old(:)
        real(real64) :: dt_min
        real(real64) :: dt_max
        real(real64) :: time_conversion = 1.0d0
        type(type_time_record) :: start
        type(type_time_record) :: end
        type(type_profiler_section), allocatable :: sections(:)
    contains
        procedure, public, pass(self) :: initialize    => initialize_type_time !&
        procedure, public, pass(self) :: record        => record_timestamp !&
        procedure, public, pass(self) :: profile_start => profile_start_timer !&
        procedure, public, pass(self) :: profile_stop  => profile_stop_timer !&
        procedure, public, pass(self) :: get_record
        procedure, public, pass(self) :: get_time
        procedure, public, pass(self) :: shift => shift_time
        procedure, public, pass(self) :: get_time_coefficients
        procedure, public, pass(self) :: get_dt
    end type type_time