/usr/include/kinsol/kinsol_sptfqmr.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 89 90 | /*
* -----------------------------------------------------------------
* $Revision: 1.2 $
* $Date: 2006/11/29 00:05:07 $
* -----------------------------------------------------------------
* Programmer(s): Aaron Collier @ 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 public header file for the KINSOL scaled preconditioned
* TFQMR linear solver module, KINSPTFQMR.
* -----------------------------------------------------------------
*/
#ifndef _KINSPTFQMR_H
#define _KINSPTFQMR_H
#ifdef __cplusplus /* wrapper to enable C++ usage */
extern "C" {
#endif
#include <kinsol/kinsol_spils.h>
#include <sundials/sundials_sptfqmr.h>
/*
* -----------------------------------------------------------------
* Function : KINSptfqmr
* -----------------------------------------------------------------
* KINSptfqmr links the main KINSOL solver module with the SPTFQMR
* linear solver module. The routine establishes the inter-module
* interface by setting the generic KINSOL pointers linit, lsetup,
* lsolve, and lfree to KINSptfqmrInit, KINSptfqmrSetup, KINSptfqmrSolve,
* and KINSptfqmrFree, respectively.
*
* kinmem pointer to an internal memory block allocated during a
* prior call to KINCreate
*
* maxl maximum allowable dimension of Krylov subspace (passing
* a value of 0 (zero) will cause the default value
* KINSPTFQMR_MAXL (predefined constant) to be used)
*
* If successful, KINSptfqmr returns KINSPTFQMR_SUCCESS. If an error
* occurs, then KINSptfqmr returns an error code (negative integer
* value).
*
* -----------------------------------------------------------------
* KINSptfqmr Return Values
* -----------------------------------------------------------------
* The possible return values for the KINSptfqmr subroutine are the
* following:
*
* KINSPTFQMR_SUCCESS : means the KINSPTFQMR linear solver module
* (implementation of the TFQMR method) was
* successfully initialized - allocated system
* memory and set shared variables to default
* values [0]
*
* KINSPTFQMR_MEM_NULL : means a NULL KINSOL memory block pointer
* was given (must call the KINCreate and
* KINMalloc memory allocation subroutines
* prior to calling KINSptfqmr) [-1]
*
* KINSPTFQMR_MEM_FAIL : means either insufficient system resources
* were available to allocate memory for the
* main KINSPTFQMR data structure (type
* KINSptfqmrMemRec), or the SptfqmrMalloc
* subroutine failed (unable to allocate enough
* system memory for vector storate and/or the
* main SPTFQMR data structure
* (type SptfqmrMemRec)) [-4]
*
* KINSPTFQMR_ILL_INPUT : means either a supplied parameter was invalid,
* or the NVECTOR implementation is NOT
* compatible [-3]
*
* The above constants are defined in kinsol_spils.h
* -----------------------------------------------------------------
*/
SUNDIALS_EXPORT int KINSptfqmr(void *kinmem, int maxl);
#ifdef __cplusplus
}
#endif
#endif
|