00001 /* 00002 * ----------------------------------------------------------------- 00003 * $Revision: 1.2 $ 00004 * $Date: 2006/11/29 00:05:06 $ 00005 * ----------------------------------------------------------------- 00006 * Programmers: Alan C. Hindmarsh and 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 IDA Scaled Preconditioned GMRES 00014 * linear solver module, IDASPGMR. 00015 * ----------------------------------------------------------------- 00016 */ 00017 00018 #ifndef _IDASPGMR_H 00019 #define _IDASPGMR_H 00020 00021 #ifdef __cplusplus /* wrapper to enable C++ usage */ 00022 extern "C" { 00023 #endif 00024 00025 #include <ida/ida_spils.h> 00026 #include <sundials/sundials_spgmr.h> 00027 00028 /* 00029 * ----------------------------------------------------------------- 00030 * 00031 * Function : IDASpgmr 00032 * ----------------------------------------------------------------- 00033 * A call to the IDASpgmr function links the main integrator with 00034 * the IDASPGMR linear solver module. Its parameters are as 00035 * follows: 00036 * 00037 * IDA_mem is the pointer to memory block returned by IDACreate. 00038 * 00039 * maxl is the maximum Krylov subspace dimension, an 00040 * optional input. Pass 0 to use the default value, 00041 * MIN(Neq, 5). Otherwise pass a positive integer. 00042 * 00043 * The return values of IDASpgmr are: 00044 * IDASPILS_SUCCESS if successful 00045 * IDASPILS_MEM_NULL if the ida memory was NULL 00046 * IDASPILS_MEM_FAIL if there was a memory allocation failure 00047 * IDASPILS_ILL_INPUT if there was illegal input. 00048 * The above constants are defined in ida_spils.h 00049 * 00050 * ----------------------------------------------------------------- 00051 */ 00052 00053 SUNDIALS_EXPORT int IDASpgmr(void *ida_mem, int maxl); 00054 00055 00056 #ifdef __cplusplus 00057 } 00058 #endif 00059 00060 #endif