runge_kutta_t Derived Type

type, public :: runge_kutta_t

Datatype for Runge-Kutta integrator


Contents


Finalization Procedures

final :: destructor


Type-Bound Procedures

procedure, public :: init => init_runge_kutta

  • interface

    public module subroutine init_runge_kutta(self, ndim, order)

    Initialises a Runge Kutta integrator

    Arguments

    Type IntentOptional Attributes Name
    class(runge_kutta_t), intent(inout) :: self

    Instance of the type

    integer, intent(in) :: ndim

    Dimension of problem

    integer, intent(in) :: order

    Order of time-stepping scheme

procedure, public :: get_ncount

  • interface

    public pure module function get_ncount(self)

    Returns ncount

    Arguments

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

    Instance of the type

    Return Value integer

procedure, public :: get_ndim

  • interface

    public pure module function get_ndim(self)

    Returns ndim

    Arguments

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

    Instance of the type

    Return Value integer

procedure, public :: get_order

  • interface

    public pure module function get_order(self)

    Returns order

    Arguments

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

    Instance of the type

    Return Value integer

procedure, public :: advance

  • interface

    public module subroutine advance(self, dtau, tau, y, rhs)

    Right hand side of differential equation

    Arguments

    Type IntentOptional Attributes Name
    class(runge_kutta_t), intent(inout) :: self

    Instance of the type

    real(kind=GP), intent(in) :: dtau

    Size of timestep

    real(kind=GP), intent(in) :: tau

    Time at input

    real(kind=GP), intent(inout), dimension(self%ndim) :: y

    On input: variable values at tau, at output at tau+dtau

    subroutine rhs(ndim, tau, y, dy)
    Arguments
    Type IntentOptional Attributes Name
    integer, intent(in) :: ndim
    real(kind=GP), intent(in) :: tau
    real(kind=GP), intent(in), dimension(ndim) :: y
    real(kind=GP), intent(out), dimension(ndim) :: dy

procedure, public :: display => display_runge_kutta

  • interface

    public module subroutine display_runge_kutta(self)

    Displays basic information of runge_kutta

    Arguments

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

    Instance of the type