/usr/include/cvodes/cvodes_spgmr.h is in libsundials-dev 2.7.0+dfsg-2build1.
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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | /*
* -----------------------------------------------------------------
* $Revision: 4488 $
* $Date: 2015-04-29 16:39:48 -0700 (Wed, 29 Apr 2015) $
* -----------------------------------------------------------------
* Programmer(s): Radu Serban @ LLNL
* -----------------------------------------------------------------
* LLNS Copyright Start
* Copyright (c) 2014, Lawrence Livermore National Security
* This work was performed under the auspices of the U.S. Department
* of Energy by Lawrence Livermore National Laboratory in part under
* Contract W-7405-Eng-48 and in part under Contract DE-AC52-07NA27344.
* Produced at the Lawrence Livermore National Laboratory.
* All rights reserved.
* For details, see the LICENSE file.
* LLNS Copyright End
* -----------------------------------------------------------------
* 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
#include <cvodes/cvodes_spils.h>
#include <sundials/sundials_spgmr.h>
#ifdef __cplusplus /* wrapper to enable C++ usage */
extern "C" {
#endif
/*
* -----------------------------------------------------------------
* 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
* -----------------------------------------------------------------
*/
/*
* -----------------------------------------------------------------
* Function: CVSpgmrB
* -----------------------------------------------------------------
* CVSpgmrB links the main CVODES integrator with the CVSpgmr
* linear solver for the backward integration.
* The 'which' argument is the int returned by CVodeCreateB.
* -----------------------------------------------------------------
*/
SUNDIALS_EXPORT int CVSpgmrB(void *cvode_mem, int which,
int pretypeB, int maxlB);
#ifdef __cplusplus
}
#endif
#endif
|