set_time_scale Subroutine

private recursive subroutine set_time_scale(self, scale, wall)

Simulation seconds per wall-clock second (may be 0 or negative).

Type Bound

SimulationClock

Arguments

Type IntentOptional Attributes Name
class(SimulationClock), intent(inout) :: self
real(kind=wp), intent(in) :: scale

simulation seconds per wall-clock second

real(kind=wp), intent(in), optional :: wall

wall time (s; default: wall_time())


Calls

proc~~set_time_scale~2~~CallsGraph proc~set_time_scale~2 SimulationClock%set_time_scale proc~set_time_scale~2->proc~set_time_scale~2 proc~set_time~4 SimulationClock%set_time proc~set_time_scale~2->proc~set_time~4 proc~set_time~4->proc~set_time~4 proc~now now proc~set_time~4->proc~now proc~wall_time wall_time proc~now->proc~wall_time

Called by

proc~~set_time_scale~2~~CalledByGraph proc~set_time_scale~2 SimulationClock%set_time_scale proc~set_time_scale~2->proc~set_time_scale~2 proc~set_time_scale WindowProxy%set_time_scale proc~set_time_scale->proc~set_time_scale~2

Source Code

    recursive subroutine set_time_scale(self, scale, wall)
        class(SimulationClock), intent(inout) :: self
        real(wp), intent(in) :: scale               !! simulation seconds per wall-clock second
        real(wp), intent(in), optional :: wall      !! wall time (s; default: wall_time())
        if (associated(self%sync)) then
            call self%sync%set_time_scale(scale, wall)
            return
        end if
        self%scale_ = scale
        call self%set_time(self%time_, wall)
    end subroutine set_time_scale