6 #ifndef CT_CVODESWRAPPER_H
7 #define CT_CVODESWRAPPER_H
16 #if SUNDIALS_VERSION == 22
17 #include "nvector_serial.h"
19 #include "sundials/sundials_nvector.h"
30 class CVodesErr :
public CanteraError
33 CVodesErr(std::string msg) : CanteraError(
"CVodesIntegrator", msg) {}
44 class CVodesIntegrator :
public Integrator
50 virtual ~CVodesIntegrator();
51 virtual void setTolerances(
double reltol,
size_t n,
double* abstol);
52 virtual void setTolerances(
double reltol,
double abstol);
53 virtual void setSensitivityTolerances(
double reltol,
double abstol);
54 virtual void setProblemType(
int probtype);
55 virtual void initialize(
double t0, FuncEval& func);
56 virtual void reinitialize(
double t0, FuncEval& func);
57 virtual void integrate(
double tout);
58 virtual doublereal step(
double tout);
59 virtual double& solution(
size_t k);
60 virtual double* solution();
61 virtual int nEquations()
const {
64 virtual int nEvals()
const;
65 virtual void setMaxOrder(
int n) {
69 virtual void setIterator(
IterType t);
70 virtual void setMaxStepSize(
double hmax);
71 virtual void setMinStepSize(
double hmin);
72 virtual void setMaxSteps(
int nmax);
73 virtual void setBandwidth(
int N_Upper,
int N_Lower) {
77 virtual int nSensParams() {
80 virtual double sensitivity(
size_t k,
size_t p);
84 void sensInit(
double t0, FuncEval& func);
97 double m_reltolsens, m_abstolsens;
99 double m_hmax, m_hmin;
104 int m_mupper, m_mlower;