00001 /* 00002 * ----------------------------------------------------------------- 00003 * $Revision: 1.2 $ 00004 * $Date: 2006/11/29 00:05:07 $ 00005 * ----------------------------------------------------------------- 00006 * Programmer(s): Aaron Collier @ 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 public header file for the IDA scaled preconditioned 00014 * TFQMR linear solver module, IDASPTFQMR. 00015 * ----------------------------------------------------------------- 00016 */ 00017 00018 #ifndef _IDASPTFQMR_H 00019 #define _IDASPTFQMR_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_sptfqmr.h> 00027 00028 /* 00029 * ----------------------------------------------------------------- 00030 * Function : IDASptfqmr 00031 * ----------------------------------------------------------------- 00032 * A call to the IDASptfqmr function links the main integrator with 00033 * the IDASPTFQMR linear solver module. Its parameters are as 00034 * follows: 00035 * 00036 * IDA_mem is the pointer to memory block returned by IDACreate. 00037 * 00038 * maxl is the maximum Krylov subspace dimension, an 00039 * optional input. Pass 0 to use the default value. 00040 * Otherwise pass a positive integer. 00041 * 00042 * The return values of IDASptfqmr are: 00043 * IDASPILS_SUCCESS if successful 00044 * IDASPILS_MEM_NULL if the ida memory was NULL 00045 * IDASPILS_MEM_FAIL if there was a memory allocation failure 00046 * IDASPILS_ILL_INPUT if there was illegal input. 00047 * The above constants are defined in ida_spils.h 00048 * 00049 * ----------------------------------------------------------------- 00050 */ 00051 00052 SUNDIALS_EXPORT int IDASptfqmr(void *ida_mem, int maxl); 00053 00054 00055 #ifdef __cplusplus 00056 } 00057 #endif 00058 00059 #endif