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