cvode_sptfqmr.h

Go to the documentation of this file.
00001 /*
00002  * -----------------------------------------------------------------
00003  * $Revision: 1.3 $
00004  * $Date: 2006/11/29 00:05:06 $
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 header file for the CVODE scaled preconditioned TFQMR 
00014  * linear solver, CVSPTFQMR.
00015  * -----------------------------------------------------------------
00016  */
00017 
00018 #ifndef _CVSPTFQMR_H
00019 #define _CVSPTFQMR_H
00020 
00021 #ifdef __cplusplus  /* wrapper to enable C++ usage */
00022 extern "C" {
00023 #endif
00024 
00025 #include <cvode/cvode_spils.h>
00026 #include <sundials/sundials_sptfqmr.h>
00027 
00028 /*
00029  * -----------------------------------------------------------------
00030  * Function : CVSptfqmr
00031  * -----------------------------------------------------------------
00032  * A call to the CVSptfqmr function links the main CVODE integrator
00033  * with the CVSPTFQMR linear solver.
00034  *
00035  * cvode_mem is the pointer to the integrator memory returned by
00036  *           CVodeCreate.
00037  *
00038  * pretype   is the type of user preconditioning to be done.
00039  *           This must be one of the four enumeration constants
00040  *           PREC_NONE, PREC_LEFT, PREC_RIGHT, or PREC_BOTH defined
00041  *           in iterative.h. These correspond to no preconditioning,
00042  *           left preconditioning only, right preconditioning
00043  *           only, and both left and right preconditioning,
00044  *           respectively.
00045  *
00046  * maxl      is the maximum Krylov dimension. This is an
00047  *           optional input to the CVSPTFQMR solver. Pass 0 to
00048  *           use the default value CVSPILS_MAXL=5.
00049  *
00050  * The return value of CVSptfqmr is one of:
00051  *    CVSPILS_SUCCESS   if successful
00052  *    CVSPILS_MEM_NULL  if the cvode memory was NULL
00053  *    CVSPILS_MEM_FAIL  if there was a memory allocation failure
00054  *    CVSPILS_ILL_INPUT if a required vector operation is missing
00055  * The above constants are defined in cvode_spils.h
00056  *
00057  * -----------------------------------------------------------------
00058  */
00059 
00060 SUNDIALS_EXPORT int CVSptfqmr(void *cvode_mem, int pretype, int maxl);
00061 
00062 
00063 #ifdef __cplusplus
00064 }
00065 #endif
00066 
00067 #endif

Generated on Fri Sep 26 07:44:09 2008 for SimTKcore by  doxygen 1.5.6