3.3.4 ODRKDV

1.
Function
Performs integration with the selected stepper routine to satisfy the required precision.

2.
Call
CALL ODRKDV(N,STEPER,FCN,T,TINT,DT,X,WORK)

3.
Explanation of Parameters
N (I) Number of variables of integration (integrands). (i)
STEPER Name of procedure Name of selected stepper routine.
FCN Name of procedure Name of subroutine that calculates DX. (i)
T (R) Value of the independent variable t at which to begin integration. The final step t (TEND) is outputted at RETURN. (i/o)
TEND (R) Value of independent variable t at which to end integration. (i)
DT (I) Initial step width. (i/o)
X R(N) Outputs the value of the variable of integration at t=TEND for the inputted value of variable at t=T. (i/o)
WORK R(N,M) Working variable. M=7 (for ODRK4) and M=5 (for other subroutines).

4.
Notes
(a)
Precision can be specified using the internal variable 'EPSILON' handled by the ODpGET/ODpSET. When the argument DT is substituted by a certain value at the initial call, the DT that satisfies the required precision will be set and returned. The user may then simply specify the returned value in a later call.
(b)
ODRKDV outputs an error message and terminates integration when TEND cannot be attained even after integration for the number of times specified by the internal variable 'MAXSTEP' handled by ODpGET/ODpSET. 'MAXSTEP' can be changed using ODISET.
(c)
The use of ODRKGR (Runge-Kutta-Gill recalculation) is recommended as the stepper routine whenever possible.
(d)
FCN is provided by the user in the form of a subroutines according to the following format:
SUBROUTINE FCN(N,T,X,DX).