Usage
dopri853 (y, times, func, parms, rtol = 1e-6, atol = 1e-6,
verbose = FALSE, hmax = NULL, hini = hmax, ynames = TRUE,
maxsteps = 10000, dllname = NULL, initfunc = dllname,
initpar = parms, rpar = NULL, ipar = NULL, nout = 0,
outnames = NULL, forcings = NULL, initforc = NULL, fcontrol = NULL, ...)
Arguments
y
the initial (state) values for the ODE system. If y
has a name attribute, the names will be used to label the output
matrix.
times
time sequence for which output is wanted; the first
value of times
must be the initial time; if only one step is
to be taken; set times
= NULL
.
func
either an R-function that computes the values of the
derivatives in the ODE system (the model definition) at time
t, or a character string giving the name of a compiled function in a
dynamically loaded shared library.
If
parms
vector or list of parameters used in func
or
jacfunc
.
rtol
relative error tolerance, either a
scalar or an array as long as y
. See details.
atol
absolute error tolerance, either a scalar or an array as
long as y
. See details.
verbose
if TRUE
: full output to the screen, e.g. will
print the diagnostiscs
of the integration - if the method becomes
stiff it will rpint a message.
hmax
an optional maximum value of the integration stepsize. If
not specified, hmax
is set to the largest difference in
times
.
hini
initial step size to be attempted.
ynames
logical, if FALSE
names of state variables are not
passed to function func
; this may speed up the simulation especially
for multi-D models.
maxsteps
maximal number of steps taken by the solver,
for the entire integration. This is different from the settings
of this argument in the solvers from package deSolve!
dllname
a string giving the name of the shared library
(without extension) that contains all the compiled function or
subroutine definitions refered to in func
and
jacfunc
. See vignette "compiledCode"
from pa
initfunc
if not NULL
, the name of the initialisation function
(which initialises values of parameters), as provided in
dllname. See vignette "compiledCode"
from package deSolve
.
initpar
only when dllname is specified and an
initialisation function initfunc
is in the dll: the
parameters passed to the initialiser, to initialise the common
blocks (FORTRAN) or global variables (C, C++).
rpar
only when dllname is specified: a vector with
double precision values passed to the dll-functions whose names are
specified by func
and jacfunc
.
ipar
only when dllname is specified: a vector with
integer values passed to the dll-functions whose names are specified
by func
and jacfunc
.
nout
only used if dllname
is specified and the model is
defined in compiled code: the number of output variables calculated
in the compiled function func
, present in the shared
library. Note: it is not automatically checke
outnames
only used if dllname is specified and
nout
> 0: the names of output variables calculated in the
compiled function func
, present in the shared library.
These names will be used to label the output matrix.
forcings
only used if dllname is specified: a list with
the forcing function data sets, each present as a two-columned matrix,
with (time,value); interpolation outside the interval
[min(times
), max(times
)] is done
initforc
if not NULL
, the name of the forcing function
initialisation function, as provided in
dllname. It MUST be present if forcings
has been given a
value.
See forcin fcontrol
A list of control parameters for the forcing functions.
See forcings or vignette compiledCode
. ...
additional arguments passed to func
and
jacfunc
allowing this to be a generic function.