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