/usr/include/cvodes/cvodes_spgmr.h is in libsundials-serial-dev 2.5.0-3+b3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | /*
* -----------------------------------------------------------------
* $Revision: 1.4 $
* $Date: 2007/03/22 18:05:50 $
* -----------------------------------------------------------------
* Programmer(s): Radu Serban @ LLNL
* -----------------------------------------------------------------
* Copyright (c) 2005, The Regents of the University of California.
* Produced at the Lawrence Livermore National Laboratory.
* All rights reserved.
* For details, see the LICENSE file.
* -----------------------------------------------------------------
* This is the header file for the CVODES scaled preconditioned
* GMRES linear solver, CVSPGMR.
*
* Part I contains function prototypes for using CVSPGMR on forward
* problems (IVP integration and/or FSA)
*
* Part II contains function prototypes for using CVSPGMR on adjoint
* (backward) problems
* -----------------------------------------------------------------
*/
#ifndef _CVSSPGMR_H
#define _CVSSPGMR_H
#ifdef __cplusplus /* wrapper to enable C++ usage */
extern "C" {
#endif
#include <cvodes/cvodes_spils.h>
#include <sundials/sundials_spgmr.h>
/*
* -----------------------------------------------------------------
* PART I - forward problems
* -----------------------------------------------------------------
*/
/*
* -----------------------------------------------------------------
* Function : CVSpgmr
* -----------------------------------------------------------------
* A call to the CVSpgmr function links the main CVODE integrator
* with the CVSPGMR linear solver.
*
* cvode_mem is the pointer to the integrator memory returned by
* CVodeCreate.
*
* pretype is the type of user preconditioning to be done.
* This must be one of the four enumeration constants
* NONE, LEFT, RIGHT, or BOTH defined in iterative.h.
* These correspond to no preconditioning,
* left preconditioning only, right preconditioning
* only, and both left and right preconditioning,
* respectively.
*
* maxl is the maximum Krylov dimension. This is an
* optional input to the CVSPGMR solver. Pass 0 to
* use the default value CVSPILS_MAXL=5.
*
* The return value of CVSpgmr is one of:
* CVSPILS_SUCCESS if successful
* CVSPILS_MEM_NULL if the cvode memory was NULL
* CVSPILS_MEM_FAIL if there was a memory allocation failure
* CVSPILS_ILL_INPUT if a required vector operation is missing
* The above constants are defined in cvodes_spils.h
* -----------------------------------------------------------------
*/
SUNDIALS_EXPORT int CVSpgmr(void *cvode_mem, int pretype, int maxl);
/*
* -----------------------------------------------------------------
* PART II - backward problems
* -----------------------------------------------------------------
*/
SUNDIALS_EXPORT int CVSpgmrB(void *cvode_mem, int which,
int pretypeB, int maxlB);
#ifdef __cplusplus
}
#endif
#endif
|