10#ifndef CT_RESIDJACEVAL_H
11#define CT_RESIDJACEVAL_H
84 virtual int evalResidNJ(
const doublereal t,
const doublereal delta_t,
85 const doublereal*
const y,
86 const doublereal*
const ydot,
87 doublereal*
const resid,
90 const doublereal delta_x = 0.0);
92 virtual int eval(
const doublereal t,
const doublereal*
const y,
93 const doublereal*
const ydot,
96 virtual int getInitialConditions(
const doublereal t0, doublereal*
const y, doublereal*
const ydot);
108 virtual doublereal
filterNewStep(
const doublereal t,
const doublereal*
const ybase,
109 doublereal*
const step);
143 virtual int evalTimeTrackingEqns(
const doublereal t,
const doublereal delta_t,
const doublereal*
const y,
144 const doublereal*
const ydot);
160 const doublereal delta_t,
161 const doublereal*
const y,
162 const doublereal*
const ydot);
182 const doublereal*
const y,
183 const doublereal*
const ydot,
184 doublereal*
const delta_y,
185 const doublereal*
const solnWeights = 0);
197 virtual void calcSolnScales(
const doublereal t,
const doublereal*
const y,
198 const doublereal*
const y_old, doublereal*
const yScales);
213 virtual void user_out2(
const int ifunc,
const doublereal t,
214 const doublereal delta_t,
215 const doublereal*
const y,
216 const doublereal*
const ydot);
228 virtual void user_out(
const int ifunc,
const doublereal t,
230 const doublereal* ydot);
252 doublereal*
const rhs);
270 virtual int evalJacobian(
const doublereal t,
const doublereal delta_t, doublereal cj,
271 const doublereal*
const y,
const doublereal*
const ydot,
290 virtual int evalJacobianDP(
const doublereal t,
const doublereal delta_t, doublereal cj,
291 const doublereal*
const y,
292 const doublereal*
const ydot,
293 doublereal*
const* jacobianColPts,
294 doublereal*
const resid);
Headers for the DenseMatrix object, which deals with dense rectangular matrices and description of th...
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...
Virtual base class for DAE residual function evaluators.
Wrappers for the function evaluators for Nonlinear solvers and Time steppers.
virtual void calcSolnScales(const doublereal t, const doublereal *const y, const doublereal *const y_old, doublereal *const yScales)
Returns a vector of column scale factors that can be used to column scale Jacobians.
virtual doublereal filterSolnPrediction(const doublereal t, doublereal *const y)
Filter the solution predictions.
virtual int matrixConditioning(doublereal *const matrix, const int nrows, doublereal *const rhs)
Multiply the matrix by another matrix that leads to better conditioning.
virtual int evalJacobianDP(const doublereal t, const doublereal delta_t, doublereal cj, const doublereal *const y, const doublereal *const ydot, doublereal *const *jacobianColPts, doublereal *const resid)
Calculate an analytical Jacobian and the residual at the current time and values.
virtual void user_out(const int ifunc, const doublereal t, const doublereal *y, const doublereal *ydot)
This function may be used to create output at various points in the execution of an application.
virtual int nEquations() const
Return the number of equations in the equation system.
virtual void user_out2(const int ifunc, const doublereal t, const doublereal delta_t, const doublereal *const y, const doublereal *const ydot)
This function may be used to create output at various points in the execution of an application.
virtual int evalJacobian(const doublereal t, const doublereal delta_t, doublereal cj, const doublereal *const y, const doublereal *const ydot, DenseMatrix &J, doublereal *const resid)
Calculate an analytical Jacobian and the residual at the current time and values.
virtual int evalTimeTrackingEqns(const doublereal t, const doublereal delta_t, const doublereal *const y, const doublereal *const ydot)
Evaluate the time tracking equations, if any.
virtual bool evalStoppingCritera(const doublereal t, const doublereal delta_t, const doublereal *const y, const doublereal *const ydot)
Evaluate any stopping criteria other than a final time limit.
virtual int eval(const doublereal t, const doublereal *const y, const doublereal *const ydot, doublereal *const r)
Evaluate the residual function.
void setAtol(doublereal atol)
Set a global value of the absolute tolerance.
virtual int evalResidNJ(const doublereal t, const doublereal delta_t, const doublereal *const y, const doublereal *const ydot, doublereal *const resid, const ResidEval_Type_Enum evalType=Base_ResidEval, const int id_x=-1, const doublereal delta_x=0.0)
Evaluate the residual function.
virtual int calcDeltaSolnVariables(const doublereal t, const doublereal *const y, const doublereal *const ydot, doublereal *const delta_y, const doublereal *const solnWeights=0)
Return a vector of delta y's for calculation of the numerical Jacobian.
ResidJacEval(doublereal atol=1.0e-13)
Default constructor.
virtual doublereal filterNewStep(const doublereal t, const doublereal *const ybase, doublereal *const step)
Filter the solution predictions.
int neq_
Number of equations.
virtual int getInitialConditions(const doublereal t0, doublereal *const y, doublereal *const ydot)
Fill in the initial conditions.
doublereal m_atol
constant value of atol
Namespace for the Cantera kernel.
ResidEval_Type_Enum
Differentiates the type of residual evaluations according to functionality.
@ JacDelta_ResidEval
Delta residual calculation for the Jacobian calculation.
@ Base_ShowSolution
Base residual calculation for the showSolution routine.
@ Base_ResidEval
Base residual calculation for the time-stepping function.
@ Base_LaggedSolutionComponents
Base residual calculation containing any lagged components.
@ JacBase_ResidEval
Base residual calculation for the Jacobian calculation.