nag_ode_ivp_rk_errass (d02pzc) provides details about global error assessment computed during an integration with either
nag_ode_ivp_rk_range (d02pcc) or
nag_ode_ivp_rk_onestep (d02pdc).
nag_ode_ivp_rk_errass (d02pzc) and its associated functions (
nag_ode_ivp_rk_range (d02pcc),
nag_ode_ivp_rk_onestep (d02pdc),
nag_ode_ivp_rk_setup (d02pvc),
nag_ode_ivp_rk_reset_tend (d02pwc),
nag_ode_ivp_rk_interp (d02pxc)) solve the initial value problem for a first order system of ordinary differential equations. The functions, based on Runge–Kutta methods and derived from RKSUITE (
Brankin et al. (1991)) integrate
where
is the vector of
neq solution components and
is the independent variable.
After a call to
nag_ode_ivp_rk_range (d02pcc) or
nag_ode_ivp_rk_onestep (d02pdc), nag_ode_ivp_rk_errass (d02pzc) can be called for information about error assessment, if this assessment was specified in the setup function
nag_ode_ivp_rk_setup (d02pvc). A more accurate ‘`true’' solution
is computed in a secondary integration. The error is measured as specified in
nag_ode_ivp_rk_setup (d02pvc) for local error control. At each step in the primary integration, an average magnitude
of component
is computed, and the error in the component is
where
denotes the threshold value used in the error requirement, see
nag_ode_ivp_rk_setup (d02pvc).
It is difficult to estimate reliably the true error at a single point. For this reason the RMS (root-mean-square) average of the estimated global error in each solution component is computed. This average is taken over all steps from the beginning of the integration through to the current integration point. If all has gone well, the average errors reported will be comparable to
tol (see
nag_ode_ivp_rk_setup (d02pvc)). The maximum error seen in any component in the integration so far and the point where the maximum error first occurred are also reported.
Brankin R W, Gladwell I and Shampine L F (1991) RKSUITE: A suite of Runge–Kutta codes for the initial value problems for ODEs SoftReport 91-S1 Southern Methodist University
Not applicable.
Not applicable.
If the integration has proceeded ‘`well’' and the problem is smooth enough, stable and not too difficult then the values returned in the arguments
rmserr and
errmax should be comparable to the value of
tol specified in the prior call to
nag_ode_ivp_rk_setup (d02pvc).
We integrate a two body problem. The equations for the coordinates
of one body as functions of time
in a suitable frame of reference are
The intial conditions
lead to elliptic motion with
. We select
and repose as
over the range
. We use relative error control with threshold values of
for each solution component and a high order Runge–Kutta method (
) with tolerance
. The value of
is obtained by using
nag_pi (X01AAC).
Note, for illustration purposes we select to integrate to the end of the range regardless of efficiency concerns.
None.