/usr/include/cvode/cvode_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 | /*
* -----------------------------------------------------------------
* $Revision: 1.3 $
* $Date: 2006/11/29 00:05:06 $
* -----------------------------------------------------------------
* Programmer(s): Scott D. Cohen, Alan C. Hindmarsh and
* Radu Serban @ LLNL
* -----------------------------------------------------------------
* Copyright (c) 2002, 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 CVODE scaled preconditioned GMRES
* linear solver, CVSPGMR.
* -----------------------------------------------------------------
*/
#ifndef _CVSPGMR_H
#define _CVSPGMR_H
#ifdef __cplusplus /* wrapper to enable C++ usage */
extern "C" {
#endif
#include <cvode/cvode_spils.h>
#include <sundials/sundials_spgmr.h>
/*
* -----------------------------------------------------------------
* 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
* PREC_NONE, PREC_LEFT, PREC_RIGHT, or PREC_BOTH defined
* in sundials_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 CVSPGMR_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 cvode_spils.h
*
* -----------------------------------------------------------------
*/
SUNDIALS_EXPORT int CVSpgmr(void *cvode_mem, int pretype, int maxl);
#ifdef __cplusplus
}
#endif
#endif
|