XLPack 6.1
Excel VBA Numerical Library Reference Manual
Loading...
Searching...
No Matches

◆ DverkInt()

Sub DverkInt ( N As  Long,
T As  Double,
Y() As  Double,
Cont As  LongPtr,
Optional Info As  Long 
)

Initial value problem of ordinary differential equations (6(5)-th order Runge-Kutta-Verner method) (Interpolation for dense output)

Purpose
This is the support routine which interpolates the solution for dense output when an initial value problem of a system of ordinary differential equations is solved by Dverk (or Dverk_r). For the details of interpolants used here, refer to the reference below.

Dverk must be called with setting parameter Int2 = 2 to enable dense output. One additional function evaluation per accepted step is required.
When returned from Dverk with Info = 3 (Info = 1 for last step) after accepted step, the interpolated solution within latest step interval can be computed by using this routine.
Parameters
[in]NNumber of differential equations. (N >= 1)
[in]Tt at which the interpolated solution is computed.
t must be in the interval of the last step. That is, t1 <= t <= t2 where t1 is the value of t on the previous return from Dverk with Info = 3, and t2 is the value on the last return with Info = 3.
[out]Y()Array Y(LY - 1) (LY >= N)
Interpolated solution at t.
[in]ContControl information for dense output.
Obtained value from option parameter Cont of Dverk.
[out]Info(Optional)
= 0: Successful exit.
= -1: The argument N had an illegal value. (N < 1)
= -3: The argument Y() is invalid.
Reference
W H Enright et al. "Interpolants for Runge-Kutta Formulas" ACM Transactions on Mathematical Software Vol.12, No.3, 1986, pp.193-218
Example Program
See example program (2) of Dverk and Dverk_r.