Go to the documentation of this file.
8 #ifndef CT_CVODESWRAPPER_H
9 #define CT_CVODESWRAPPER_H
14 #include "sundials/sundials_nvector.h"
34 virtual void setTolerances(
double reltol,
size_t n,
double* abstol);
39 virtual void reinitialize(
double t0,
FuncEval& func);
41 virtual doublereal
step(
double tout);
44 virtual double*
derivative(
double tout,
int n);
47 return static_cast<int>(m_neq);
49 virtual int nEvals()
const;
59 virtual void setBandwidth(
int N_Upper,
int N_Lower) {
63 virtual int nSensParams() {
64 return static_cast<int>(m_np);
66 virtual double sensitivity(
size_t k,
size_t p);
83 void sensInit(
double t0,
FuncEval& func);
92 N_Vector m_y, m_abstol;
100 double m_reltolsens, m_abstolsens;
102 double m_hmax, m_hmin;
104 int m_maxErrTestFails;
107 int m_mupper, m_mlower;
MethodType
Specifies the method used to integrate the system of equations.
bool m_sens_ok
Indicates whether the sensitivities stored in m_yS have been updated for at the current integrator ti...
CVodesIntegrator()
Constructor.
Wrapper class for 'cvodes' integrator from LLNL.
virtual doublereal step(double tout)
Integrate the system of equations.
virtual void setMethod(MethodType t)
Set the solution method.
virtual void setMinStepSize(double hmin)
Set the minimum step size.
virtual std::string getErrorInfo(int N)
Returns a string listing the weighted error estimates associated with each solution component.
virtual void setMaxOrder(int n)
Set the maximum integration order that will be used.
virtual void integrate(double tout)
Integrate the system of equations.
virtual double * derivative(double tout, int n)
n-th derivative of the output function at time tout.
virtual int lastOrder() const
Order used during the last solution step.
std::string m_error_message
Error message information provide by CVodes.
virtual int maxSteps()
Returns the maximum number of time-steps the integrator can take before reaching the next output time...
virtual void setMaxErrTestFails(int n)
Set the maximum permissible number of error test failures.
Abstract base class for ODE system integrators.
void * m_linsol_matrix
matrix used by Sundials
double m_time
The current integrator time.
virtual void initialize(double t0, FuncEval &func)
Initialize the integrator for a new problem.
virtual void setProblemType(int probtype)
Set the problem type.
virtual double * solution()
The current value of the solution of the system of equations.
virtual int nEvals() const
The number of function evaluations.
virtual void setTolerances(double reltol, size_t n, double *abstol)
Set error tolerances.
virtual void setSensitivityTolerances(double reltol, double abstol)
Set the sensitivity error tolerances.
void applyOptions()
Applies user-specified options to the underlying CVODES solver.
virtual int nEquations() const
The number of equations.
Namespace for the Cantera kernel.
void * m_linsol
Sundials linear solver object.
virtual void setMaxStepSize(double hmax)
Set the maximum step size.
Virtual base class for ODE right-hand-side function evaluators.
virtual void setMaxSteps(int nmax)
Set the maximum number of time-steps the integrator can take before reaching the next output time.