1. Daniel Reynolds
  2. ARKODE_pub



This repository contains the public "beta" release of the ARKode
solver, a newly-developed addition to the SUNDIALS suite of nonlinear
solver and time integration libraries.  

The ARKode solver employs adaptive-step additive Runge Kutta methods
to enable accurate and efficient time integration of multi-rate
systems of ordinary differential equations of the form

    M dy/dt = f_E(t,y) + f_I(t,y),

where t is the independent variable, y is the set of dependent
variables (in R^n), M is a user-specified, non-singular operator from
R^n to R^n (time independent), and the right-hand side function is
partitioned into two components: f_E(t,y) contains the "slow" time
scale components to be integrated explicitly, and f_I(t,y) contains
the "fast" time scale components to be integrated implicitly. 

Either of these operators may be disabled, allowing for fully
explicit, fully implicit, or IMEX integration using adaptive RK

The code is written in C, with C++ and Fortran90 interfaces, and is
built for integration within the SUNDIALS suite of ODE, DAE and
nonlinear system solvers.  It is designed to have a similar user
experience to the CVODE solver, with user modes to allow adaptive
integration to specified output times, return after each internal step
and root-finding capabilities, for calculations both in serial and
parallel (via, OpenMP, Pthreads or MPI).  The default integration and
solver options will apply to most users, though complete control over
all internal parameters is enabled through optional interface routines.  

All questions/comments on the software in this repository should be
directed to:

Daniel R. Reynolds,
SMU Mathematics,