d02psf computes the solution of a system of ordinary differential equations using interpolation anywhere on an integration step taken by
d02pff.
d02psf and its associated routines (
d02pff,
d02pqf,
d02prf,
d02ptf and
d02puf) solve the initial value problem for a firstorder system of ordinary differential equations. The routines, based on Runge–Kutta methods and derived from RKSUITE (see
Brankin et al. (1991)), integrate
where
$y$ is the vector of
$\mathit{n}$ solution components and
$t$ is the independent variable.
d02pff computes the solution at the end of an integration step. Using the information computed on that step
d02psf computes the solution by interpolation at any point on that step. It cannot be used if
${\mathbf{method}}=3$ or
$3$ was specified in the call to setup routine
d02pqf.
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 91S1 Southern Methodist University
If on entry
${\mathbf{ifail}}=0$ or
$1$, explanatory error messages are output on the current error message unit (as defined by
x04aaf).
 ${\mathbf{ifail}}=1$

${\mathbf{method}}=3$ or $3$ in setup, but interpolation is not available for this method. Either use ${\mathbf{method}}=2$ or $2$ in setup or use reset routine to force the integrator to step to particular points.
On entry, a previous call to the setup routine has not been made or the communication arrays have become corrupted, or a catastrophic error has already been detected elsewhere.
You cannot continue integrating the problem.
On entry, ${\mathbf{ideriv}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: ${\mathbf{ideriv}}=0$, $1$ or $2$.
On entry, ${\mathbf{lwcomm}}=\u2329\mathit{\text{value}}\u232a$, ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$ and ${\mathbf{nwant}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: for ${\mathbf{method}}=2$ or $2$, ${\mathbf{lwcomm}}\ge {\mathbf{n}}+\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{n}},5\times {\mathbf{nwant}}\right)$.
On entry, ${\mathbf{lwcomm}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: for ${\mathbf{method}}=1$ or $1$, ${\mathbf{lwcomm}}\ge 1$.
On entry, ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$, but the value passed to the setup routine was ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$.
On entry, ${\mathbf{nwant}}=\u2329\mathit{\text{value}}\u232a$ and ${\mathbf{n}}=\u2329\mathit{\text{value}}\u232a$.
Constraint: $1\le {\mathbf{nwant}}\le {\mathbf{n}}$.
You cannot call this routine after the integrator has returned an error.
You cannot call this routine before you have called the step integrator.
You cannot call this routine when you have specified, in the setup routine, that the range integrator will be used.
The computed values will be of a similar accuracy to that computed by
d02pff.
Please consult the
X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this routine. Please also consult the
Users' Note for your implementation for any additional implementationspecific information.
None.
This example solves the equation
reposed as
over the range
$\left[0,2\pi \right]$ with initial conditions
${y}_{1}=0.0$ and
${y}_{2}=1.0$. Relative error control is used with threshold values of
$\text{1.0E\u22128}$ for each solution component.
d02pff is used to integrate the problem one step at a time and
d02psf is used to compute the first component of the solution and its derivative at intervals of length
$\pi /8$ across the range whenever these points lie in one of those integration steps. A low order Runge–Kutta method (
${\mathbf{method}}=1$) is also used with tolerances
${\mathbf{tol}}=\text{1.0E\u22124}$ and
${\mathbf{tol}}=\text{1.0E\u22125}$ in turn so that solutions may be compared.