                             ARKODE
                    Release 2.1.2, July 2018
                       Daniel R. Reynolds
                  Department of Mathematics, SMU

ARKODE is a solver for multi-rate ODE systems (initial value problems) 
given in explicit form M*dy/dt = f(t,y). It is written in ANSI standard C.

ARKODE can be used both on serial and parallel (MPI) computers.  The main
difference is in the NVECTOR module of vector kernels.  The desired
version is obtained when compiling the example files by linking the
appropriate library of NVECTOR kernels.  In the parallel version,
communication between processors is done with the MPI (Message Passage
Interface) system, with OpenMP, or with Pthreads.

When used with the serial NVECTOR module, ARKODE provides both direct (dense 
and band) and preconditioned Krylov (iterative) linear solvers. Many different
iterative solvers are available: scaled preconditioned GMRES (SPGMR), 
scaled preconditioned Flexible GMRES (SPFGMR), scaled preconditioned 
conjugate gradient, scaled preconditioned BiCGStab (SPBCG), 
and scaled preconditioned TFQMR (SPTFQMR). When ARKODE is used with 
the parallel NVECTOR module, only the Krylov linear solvers are available. 
For the serial version, there is a banded preconditioner module called 
ARKBANDPRE available for use with the Krylov solvers, while for the 
parallel version there is a preconditioner module called ARKBBDPRE 
which provides a band-block-diagonal preconditioner.

ARKODE is part of a software family called SUNDIALS: SUite of Nonlinear
and DIfferential/ALgebraic equation Solvers.  This suite consists of
ARKODE, CVODE, CVODES, KINSOL, IDAS, and IDA.  The directory structure 
of the package supplied reflects this family relationship. 

For use with Fortran applications, a set of Fortran/C interface routines,
called FARKODE, is also supplied.  These are written in C, but assume that
the user calling program and all user-supplied routines are in Fortran.

The notes below provide the location of documentation, directions for the 
installation of the ARKode package, and relevant references. Following that 
is a brief history of revisions to the package.


A. Documentation
----------------

/sundials/doc/arkode/ contains PDF files for the ARKODE User Guide [1]
(ark_guide.pdf) and the ARKODE Examples [2] (ark_examples.pdf) documents.


B. Installation
---------------

For basic installation instructions see the file /sundials/INSTALL_GUIDE.pdf. 
For complete installation instructions see the "Installation Procedure"
chapter in the ARKODE User Guide.


C. References
-------------

[1] Daniel R. Reynolds, "User Documentation for ARKode v1.1.0," 
    Southern Methodist University, March 2016.


D. Releases
-----------

v. 2.1.2 - Jul. 2018
v. 2.1.1 - May  2018
v. 2.1.0 - Nov. 2017
v. 2.0.0 - Sep. 2017
v. 1.1.0 - Sep. 2016
v. 1.0.2 - Aug. 2015
v. 1.0.1 - Mar. 2015
v. 1.0.0 - Mar. 2015
