- 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 func
is an R-function, it must be defined as:
func <- function(t, y, parms,...)
. t
is the current time
point in the integration, y
is the current estimate of the
variables in the ODE system. If the initial values y
has a
names
attribute, the names will be available inside func
.
parms
is a vector or list of parameters; ... (optional) are
any other arguments passed to the function.
The return value of func
should be a list, whose first
element is a vector containing the derivatives of y
with
respect to time
, and whose next elements are global values
that are required at each point in times
. The derivatives
should be specified in the same order as the state variables y
.
If func
is
a string, then dllname
must give the name of the shared
library (without extension) which must be loaded before
lsode()
is called. See package vignette "compiledCode"
for more details.
- 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 package deSolve
.
- 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 checked whether this is
indeed the number of output variables calculed in the dll - you have
to perform this check in the code - See vignette "compiledCode"
from package deSolve
.
- 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 by taking the value at
the closest data extreme.
See forcings or package vignette "compiledCode"
.
- 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 forcings or package vignette "compiledCode"
.
- 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.