00001 /* 00002 * ----------------------------------------------------------------- 00003 * $Revision: 1.3 $ 00004 * $Date: 2006/11/29 00:05:07 $ 00005 * ----------------------------------------------------------------- 00006 * Programmer(s): Radu Serban @ LLNL 00007 * ----------------------------------------------------------------- 00008 * Copyright (c) 2002, 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 KINSOL band linear solver, KINBAND. 00014 * ----------------------------------------------------------------- 00015 */ 00016 00017 #ifndef _KINBAND_H 00018 #define _KINBAND_H 00019 00020 #ifdef __cplusplus /* wrapper to enable C++ usage */ 00021 extern "C" { 00022 #endif 00023 00024 #include <kinsol/kinsol_direct.h> 00025 #include <sundials/sundials_band.h> 00026 00027 /* 00028 * ----------------------------------------------------------------- 00029 * Function : KINBand 00030 * ----------------------------------------------------------------- 00031 * A call to the KINBand function links the main solver with the 00032 * KINBAND linear solver. Its arguments are as follows: 00033 * 00034 * kinmem - pointer to the integrator memory returned by KINCreate. 00035 * 00036 * N - problem size 00037 * 00038 * mupper - upper bandwidth of the band Jacobian 00039 * 00040 * mlower - lower bandwidth of the band Jacobian 00041 * 00042 * The return value of KINBand is one of: 00043 * KINDIRECT_SUCCESS if successful 00044 * KINDIRECT_MEM_NULL if the kinsol memory was NULL 00045 * KINDIRECT_MEM_FAIL if there was a memory allocation failure 00046 * KINDIRECT_ILL_INPUT if a required vector operation is missing 00047 * or if a bandwidth has an illegal value. 00048 * ----------------------------------------------------------------- 00049 */ 00050 00051 SUNDIALS_EXPORT int KINBand(void *kinmem, int N, int mupper, int mlower); 00052 00053 #ifdef __cplusplus 00054 } 00055 #endif 00056 00057 #endif