                               IDAS
                    Release 1.1.0, March 2012
                           Radu Serban 
              Center for Applied Scientific Computing, LLNL


IDAS is a package for the solution of differential-algebraic equation (DAE) 
systems with sensitivity analysis capabilities (both forward and adjoint modes). 
It is written in ANSI standard C.

IDAS 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.

When used with the serial NVECTOR module, IDAS provides both direct 
(dense and band) linear solvers and preconditioned Krylov (iterative) 
linear solvers. Three different iterative solvers are available: scaled 
preconditioned GMRES (SPGMR), scaled preconditioned BiCGStab (SPBCG), and 
scaled preconditioned TFQMR (SPTFQMR). When IDAS is used with the parallel 
NVECTOR module, only the Krylov linear solvers are available.  For the 
latter case, in addition to the basic solver, the IDA package also contains 
a preconditioner module called IDABBDPRE, which provides a band-block-diagonal 
preconditioner.

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

Several examples problem programs are included, covering both serial
and parallel cases, both small and large problem sizes, and both
linear and nonlinear problems.

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


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

/sundials/doc/idas/ contains PDF files for the IDAS User Guide [1] (idas_guide.pdf)
and the IDAS Examples [2] (idas_examples.pdf) documents.


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

For basic installation instructions see the file /sundials/INSTALL_NOTES. 
For complete installation instructions see the "IDAS Installation Procedure"
chapter in the IDAS User Guide.


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

[1] R. Serban and C. Petra,  "User Documentation for IDAS v1.1.0," 
    LLNL technical report UCRL-SM-234051, December 2011.

[2] R. Serban, "Example Programs for IDAS v1.1.0," 
    LLNL technical report LLNL-TR-437091, December 2011.

[3] A. C. Hindmarsh, P. N. Brown, K. E. Grant, S. L. Lee, R. Serban, 
    D. E. Shumaker, and C. S. Woodward, "SUNDIALS, Suite of Nonlinear and 
    Differential/Algebraic Equation Solvers," ACM Trans. Math. Softw., 
    31(3), pp. 363-396, 2005.


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

v. 1.1.0   - Mar. 2012
v. 1.0.0   - May  2009


E. Revision History
-------------------

v. 1.6.0 (May 2009) ---> v. 1.1.0 (Mar. 2012)
---------------------------------------------

- Bug fixes
   - errors in the logic for the integration of backward problems were
     identified and fixed.
   - a missing vector pointer setting was added in IDASensLineSrch.
   - in IDACompleteStep, conditionals around lines loading a new column of three
     auxiliary divided difference arrays, for a possible order increase, were fixed.
   - after the solver memory is created, it is set to zero before being filled.
   - in each linear solver interface function, the linear solver memory is
     freed on an error return, and the **Free function now includes a
     line setting to NULL the main memory pointer to the linear solver memory.
   - a memory leak was fixed in two of the IDASp***Free functions.
   - in rootfinding functions IDARcheck1/IDARcheck2, when an exact zero is found,
     the array glo at the left endpoint is adjusted instead of shifting tlo.

- Changes to user interface
   - One significant design change was made with this release: The problem
     size and its relatives, bandwidth parameters, related internal indices,
     pivot arrays, and the optional output lsflag, have all been
     changed from type int to type long int, except for the
     problem size and bandwidths in user calls to routines specifying
     BLAS/LAPACK routines for the dense/band linear solvers.  The function
     NewIntArray is replaced by a pair NewIntArray/NewLintArray,
     for int and long int arrays, respectively.
   - in a minor change to the user interface, the type of the index
     which in IDAS was changed from long int to int.
   - in the installation files, we modified the treatment of the macro
     SUNDIALS_USE_GENERIC_MATH, so that the parameter GENERIC_MATH_LIB
     is either defined (with no value) or not defined.
