Go to the documentation of this file.
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);
Virtual base class for DAE residual function evaluators.
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 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_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.
void setAtol(doublereal atol)
Set a global value of the absolute tolerance.
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 getInitialConditions(const doublereal t0, doublereal *const y, doublereal *const ydot)
Fill in the initial conditions.
virtual int eval(const doublereal t, const doublereal *const y, const doublereal *const ydot, doublereal *const r)
Evaluate the residual function.
ResidEval_Type_Enum
Differentiates the type of residual evaluations according to functionality.
int neq_
Number of equations.
doublereal m_atol
constant value of atol
virtual int nEquations() const
Return the number of equations in the equation system.
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.
ResidJacEval(doublereal atol=1.0e-13)
Default constructor.
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.
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 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.
@ JacDelta_ResidEval
Delta residual calculation for the Jacbobian calculation.
virtual int matrixConditioning(doublereal *const matrix, const int nrows, doublereal *const rhs)
Multiply the matrix by another matrix that leads to better conditioning.
@ Base_ResidEval
Base residual calculation for the time-stepping function.
@ Base_LaggedSolutionComponents
Base residual calculation containing any lagged components.
@ Base_ShowSolution
Base residual calculation for the showSolution routine.
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...
virtual doublereal filterSolnPrediction(const doublereal t, doublereal *const y)
Filter the solution predictions.
Wrappers for the function evaluators for Nonlinear solvers and Time steppers.
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 doublereal filterNewStep(const doublereal t, const doublereal *const ybase, doublereal *const step)
Filter the solution predictions.
Namespace for the Cantera kernel.
@ JacBase_ResidEval
Base residual calculation for the Jacobian calculation.