export_step Subroutine

private subroutine export_step(me, t, x, ok)

Export the point(s) after a step has been accepted (other than the last step). Either the end of the step, or the dense output points within the step (see export_dense_output).

Type Bound

rk_variable_step_class

Arguments

Type IntentOptional Attributes Name
class(rk_variable_step_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

time at the end of the step

real(kind=wp), intent(in), dimension(:) :: x

state at the end of the step

logical, intent(out) :: ok

false if there was an error (the integration should not continue)


Calls

proc~~export_step~~CallsGraph proc~export_step rk_variable_step_class%export_step proc~export_dense_output rk_variable_step_class%export_dense_output proc~export_step->proc~export_dense_output proc~export_point rk_class%export_point proc~export_step->proc~export_point proc~interpolate rk_class%interpolate proc~export_dense_output->proc~interpolate report report proc~export_dense_output->report proc~dense_extra_stages rk_class%dense_extra_stages proc~interpolate->proc~dense_extra_stages proc~raise_exception rk_class%raise_exception proc~interpolate->proc~raise_exception

Called by

proc~~export_step~~CalledByGraph proc~export_step rk_variable_step_class%export_step proc~integrate_to_event_variable_step rk_variable_step_class%integrate_to_event_variable_step proc~integrate_to_event_variable_step->proc~export_step proc~integrate_variable_step rk_variable_step_class%integrate_variable_step proc~integrate_variable_step->proc~export_step program~rklib_example rklib_example program~rklib_example->proc~integrate_variable_step

Source Code

    subroutine export_step(me,t,x,ok)
        class(rk_variable_step_class),intent(inout) :: me
        real(wp),intent(in) :: t !! time at the end of the step
        real(wp),dimension(:),intent(in) :: x !! state at the end of the step
        logical,intent(out) :: ok !! false if there was an error (the integration should not continue)

        ok = .true.
        if (me%dense_reporting) then
            call me%export_dense_output(t,ok)
        else
            call me%export_point(t,x)
        end if

    end subroutine export_step