                     NVECTOR_SPCPARALLEL
                  Release 2.3.0, November 2006

MPI spc_parallel implementation of the NVECTOR module for SUNDIALS for
semi-discretized 2D or 3D PDEs. The local data is organized in several
groups of variables, igrp=1..Ngrps. Each group consists of 1...Nspc(igrp)
variables (species). The spatial indexes may also include ghost data points.
In other words, the data is organized as a multi-dimensional array,
in which the indexes vary (from the slowest to the fastest) as follows:
   igrp ( = 0...Ngrp-1)
   iz   ( = 0...Nz+2*NGz-1)
   iy   ( = 0...Ny+2*NGy-1)
   ix   ( = 0...Nx+2*NGx-1)
   ispc ( = 0...Nspc(igrp)-1)
For 2D PDEs, the user should specify Nz=1, NGz=0.

NVECTOR_SPCPARALLEL defines the content field of N_Vector to be a structure 
with the following fields:
  Ngrp       number of variable groups
  Nspc       array providing the number of species in each group
  Nx         local x-mesh vector length
  Ny         local y-mesh vector length
  Nz         local z-mesh vector length
  NGx        x-width of ghost boundary
  NGy        y-width of ghost boundary
  NGz        z-width of ghost boundary
  n1         array of local vector lengths for each group
  n          local vector length
  N          global vector length
  data       local data array
  gdata      pointers in data at start of group data
  own_data   flag for ownership of data
  comm       MPI communicator

NVECTOR_SPCPARALLEL defines several macros to provide access to the content 
of an spc_parallel N_Vector, several constructors for variables of type N_Vector,
constructors for an array of variables of type N_Vector, and destructors
for N_Vector and N_Vector array.

NVECTOR_SPCPARALLEL provides implementations for all vector operations defined
by the generic NVECTOR module in the table of operations.


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

The MPI spc_parallel NVECTOR implementation is fully described in the user
documentation for any of the SUNDIALS solvers [1-5].  A PDF file for the user
guide for a particular solver is available in the solver's subdirectory under doc/.


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

For basic installation instructions see /sundials/INSTALL. 
For complete installation instructions see any of the user guides.


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

[1] A. C. Hindmarsh and R. Serban, "User Documentation for CVODE v2.2.0," 
    LLLNL technical report UCRL-MA-208108, November 2004.

[2] A. C. Hindmarsh and R. Serban, "User Documentation for CVODES v2.1.0," 
    LLNL technical report UCRL-MA-208111, November 2004.

[3] A. C. Hindmarsh and R. Serban, "User Documentation for IDA v2.2.0," 
    LLNL technical report UCRL-MA-208112, November 2004.

[4] R. Serban and C. Petra,  "User Documentation for IDAS v1.0.0," 
    LLNL technical report UCRL-SM-234051, August 2007.

[5] A. M. Collier, A. C. Hindmarsh, R. Serban,and C. S. Woodward, "User 
    Documentation for KINSOL v2.2.0," LLNL technical report UCRL-MA-208116, 
    November 2004.


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

v. 2.*.* - initial release


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

