cvodes_band.h

Go to the documentation of this file.
00001 /*
00002  * -----------------------------------------------------------------
00003  * $Revision: 1.4 $
00004  * $Date: 2006/11/29 00:05:06 $
00005  * ----------------------------------------------------------------- 
00006  * Programmer(s): Radu Serban @ LLNL
00007  * -----------------------------------------------------------------
00008  * Copyright (c) 2005, The Regents of the University of California.
00009  * Produced at the Lawrence Livermore National Laboratory.
00010  * All rights reserved.
00011  * For details, see the LICENSE file.
00012  * -----------------------------------------------------------------
00013  * This is the header file for the band linear solver CSVBAND.
00014  * -----------------------------------------------------------------
00015  */
00016 
00017 #ifndef _CVSBAND_H
00018 #define _CVSBAND_H
00019 
00020 #ifdef __cplusplus  /* wrapper to enable C++ usage */
00021 extern "C" {
00022 #endif
00023 
00024 #include <cvodes/cvodes_direct.h>
00025 #include <sundials/sundials_band.h>
00026 
00027 /*
00028  * -----------------------------------------------------------------
00029  * Function : CVBand
00030  * -----------------------------------------------------------------
00031  * A call to the CVBand function links the main CVODE integrator
00032  * with the CVSBAND linear solver.
00033  *
00034  * cvode_mem is the pointer to the integrator memory returned by
00035  *           CVodeCreate.
00036  *
00037  * N is the size of the ODE system.
00038  *
00039  * mupper is the upper bandwidth of the band Jacobian
00040  *        approximation.
00041  *
00042  * mlower is the lower bandwidth of the band Jacobian
00043  *        approximation.
00044  *
00045  * The return value of CVBand is one of:
00046  *    CVDIRECT_SUCCESS   if successful
00047  *    CVDIRECT_MEM_NULL  if the cvode memory was NULL
00048  *    CVDIRECT_MEM_FAIL  if there was a memory allocation failure
00049  *    CVDIRECT_ILL_INPUT if a required vector operation is missing or
00050  *                     if a bandwidth has an illegal value.
00051  * -----------------------------------------------------------------
00052  */
00053 
00054 SUNDIALS_EXPORT int CVBand(void *cvode_mem, int N, int mupper, int mlower);
00055 
00056 /*
00057  * -----------------------------------------------------------------
00058  * Function: CVBandB
00059  * -----------------------------------------------------------------
00060  * CVBandB links the main CVODE integrator with the CVSBAND
00061  * linear solver for the backward integration.
00062  * -----------------------------------------------------------------
00063  */
00064 
00065 SUNDIALS_EXPORT int CVBandB(void *cvadj_mem, int nB, int mupperB, int mlowerB);
00066   
00067 #ifdef __cplusplus
00068 }
00069 #endif
00070 
00071 #endif

Generated on Fri Sep 26 07:44:09 2008 for SimTKcore by  doxygen 1.5.6