1 /*-----------------------------------------------------------------
2 * Programmer(s): Daniel R. Reynolds @ SMU
3 * -----------------------------------------------------------------
4 * SUNDIALS Copyright Start
5 * Copyright (c) 2002-2021, Lawrence Livermore National Security
6 * and Southern Methodist University.
7 * All rights reserved.
8 *
9 * See the top-level LICENSE and NOTICE files for details.
10 *
11 * SPDX-License-Identifier: BSD-3-Clause
12 * SUNDIALS Copyright End
13 * -----------------------------------------------------------------
14 * Header file for the deprecated Scaled, Preconditioned Iterative
15 * Linear Solver interface in CVODES; these routines now just wrap
16 * the updated CVODES generic linear solver interface in cvodes_ls.h.
17 * -----------------------------------------------------------------*/
18
19 #include <cvodes/cvodes_ls.h>
20 #include <cvodes/cvodes_spils.h>
21
22 #ifdef __cplusplus /* wrapper to enable C++ usage */
23 extern "C" {
24 #endif
25
26 /*=================================================================
27 CVSSPILS Exported functions (wrappers for equivalent routines in
28 cvodes_ls.h)
29 =================================================================*/
30
CVSpilsSetLinearSolver(void * cvode_mem,SUNLinearSolver LS)31 int CVSpilsSetLinearSolver(void *cvode_mem, SUNLinearSolver LS)
32 { return(CVodeSetLinearSolver(cvode_mem, LS, NULL)); }
33
CVSpilsSetEpsLin(void * cvode_mem,realtype eplifac)34 int CVSpilsSetEpsLin(void *cvode_mem, realtype eplifac)
35 { return(CVodeSetEpsLin(cvode_mem, eplifac)); }
36
CVSpilsSetPreconditioner(void * cvode_mem,CVSpilsPrecSetupFn pset,CVSpilsPrecSolveFn psolve)37 int CVSpilsSetPreconditioner(void *cvode_mem, CVSpilsPrecSetupFn pset,
38 CVSpilsPrecSolveFn psolve)
39 { return(CVodeSetPreconditioner(cvode_mem, pset, psolve)); }
40
CVSpilsSetJacTimes(void * cvode_mem,CVSpilsJacTimesSetupFn jtsetup,CVSpilsJacTimesVecFn jtimes)41 int CVSpilsSetJacTimes(void *cvode_mem, CVSpilsJacTimesSetupFn jtsetup,
42 CVSpilsJacTimesVecFn jtimes)
43 { return(CVodeSetJacTimes(cvode_mem, jtsetup, jtimes)); }
44
CVSpilsGetWorkSpace(void * cvode_mem,long int * lenrwLS,long int * leniwLS)45 int CVSpilsGetWorkSpace(void *cvode_mem, long int *lenrwLS,
46 long int *leniwLS)
47 { return(CVodeGetLinWorkSpace(cvode_mem, lenrwLS, leniwLS)); }
48
CVSpilsGetNumPrecEvals(void * cvode_mem,long int * npevals)49 int CVSpilsGetNumPrecEvals(void *cvode_mem, long int *npevals)
50 { return(CVodeGetNumPrecEvals(cvode_mem, npevals)); }
51
CVSpilsGetNumPrecSolves(void * cvode_mem,long int * npsolves)52 int CVSpilsGetNumPrecSolves(void *cvode_mem, long int *npsolves)
53 { return(CVodeGetNumPrecSolves(cvode_mem, npsolves)); }
54
CVSpilsGetNumLinIters(void * cvode_mem,long int * nliters)55 int CVSpilsGetNumLinIters(void *cvode_mem, long int *nliters)
56 { return(CVodeGetNumLinIters(cvode_mem, nliters)); }
57
CVSpilsGetNumConvFails(void * cvode_mem,long int * nlcfails)58 int CVSpilsGetNumConvFails(void *cvode_mem, long int *nlcfails)
59 { return(CVodeGetNumLinConvFails(cvode_mem, nlcfails)); }
60
CVSpilsGetNumJTSetupEvals(void * cvode_mem,long int * njtsetups)61 int CVSpilsGetNumJTSetupEvals(void *cvode_mem, long int *njtsetups)
62 { return(CVodeGetNumJTSetupEvals(cvode_mem, njtsetups)); }
63
CVSpilsGetNumJtimesEvals(void * cvode_mem,long int * njvevals)64 int CVSpilsGetNumJtimesEvals(void *cvode_mem, long int *njvevals)
65 { return(CVodeGetNumJtimesEvals(cvode_mem, njvevals)); }
66
CVSpilsGetNumRhsEvals(void * cvode_mem,long int * nfevalsLS)67 int CVSpilsGetNumRhsEvals(void *cvode_mem, long int *nfevalsLS)
68 { return(CVodeGetNumLinRhsEvals(cvode_mem, nfevalsLS)); }
69
CVSpilsGetLastFlag(void * cvode_mem,long int * flag)70 int CVSpilsGetLastFlag(void *cvode_mem, long int *flag)
71 { return(CVodeGetLastLinFlag(cvode_mem, flag)); }
72
CVSpilsGetReturnFlagName(long int flag)73 char *CVSpilsGetReturnFlagName(long int flag)
74 { return(CVodeGetLinReturnFlagName(flag)); }
75
CVSpilsSetLinearSolverB(void * cvode_mem,int which,SUNLinearSolver LS)76 int CVSpilsSetLinearSolverB(void *cvode_mem, int which,
77 SUNLinearSolver LS)
78 { return(CVodeSetLinearSolverB(cvode_mem, which, LS, NULL)); }
79
CVSpilsSetEpsLinB(void * cvode_mem,int which,realtype eplifacB)80 int CVSpilsSetEpsLinB(void *cvode_mem, int which, realtype eplifacB)
81 { return(CVodeSetEpsLinB(cvode_mem, which, eplifacB)); }
82
CVSpilsSetPreconditionerB(void * cvode_mem,int which,CVSpilsPrecSetupFnB psetB,CVSpilsPrecSolveFnB psolveB)83 int CVSpilsSetPreconditionerB(void *cvode_mem, int which,
84 CVSpilsPrecSetupFnB psetB,
85 CVSpilsPrecSolveFnB psolveB)
86 { return(CVodeSetPreconditionerB(cvode_mem, which, psetB, psolveB)); }
87
CVSpilsSetPreconditionerBS(void * cvode_mem,int which,CVSpilsPrecSetupFnBS psetBS,CVSpilsPrecSolveFnBS psolveBS)88 int CVSpilsSetPreconditionerBS(void *cvode_mem, int which,
89 CVSpilsPrecSetupFnBS psetBS,
90 CVSpilsPrecSolveFnBS psolveBS)
91 { return(CVodeSetPreconditionerBS(cvode_mem, which, psetBS, psolveBS)); }
92
CVSpilsSetJacTimesB(void * cvode_mem,int which,CVSpilsJacTimesSetupFnB jtsetupB,CVSpilsJacTimesVecFnB jtimesB)93 int CVSpilsSetJacTimesB(void *cvode_mem, int which,
94 CVSpilsJacTimesSetupFnB jtsetupB,
95 CVSpilsJacTimesVecFnB jtimesB)
96 { return(CVodeSetJacTimesB(cvode_mem, which, jtsetupB, jtimesB)); }
97
CVSpilsSetJacTimesBS(void * cvode_mem,int which,CVSpilsJacTimesSetupFnBS jtsetupBS,CVSpilsJacTimesVecFnBS jtimesBS)98 int CVSpilsSetJacTimesBS(void *cvode_mem, int which,
99 CVSpilsJacTimesSetupFnBS jtsetupBS,
100 CVSpilsJacTimesVecFnBS jtimesBS)
101 { return(CVodeSetJacTimesBS(cvode_mem, which, jtsetupBS, jtimesBS)); }
102
103
104 #ifdef __cplusplus
105 }
106 #endif
107
108