62 warn(
"setTolerances");
71 warn(
"setTolerances");
87 warn(
"setLinearSolverType");
143 warn(
"linearSolverType");
157 virtual void reinitialize(
double t0,
FuncEval& func) {
158 warn(
"reinitialize");
175 virtual double step(
double tout) {
216 virtual int maxOrder()
const {
228 warn(
"setMethodType");
233 warn(
"setMaxStepSize");
238 warn(
"setMinStepSize");
243 warn(
"setMaxErrTestFails");
261 virtual void setBandwidth(
int N_Upper,
int N_Lower) {
262 warn(
"setBandwidth");
265 virtual int nSensParams() {
266 warn(
"nSensParams()");
270 virtual double sensitivity(
size_t k,
size_t p) {
282 virtual int maxNonlinIterations()
const {
283 warn(
"maxNonlinIterations");
286 virtual void setMaxNonlinIterations(
int n) {
287 warn(
"setMaxNonlinIterations");
290 virtual int maxNonlinConvFailures()
const {
291 warn(
"maxNonlinConvFailures");
294 virtual void setMaxNonlinConvFailures(
int n) {
295 warn(
"setMaxNonlinConvFailures");
298 virtual bool algebraicInErrorTest()
const {
299 warn(
"algebraicInErrorTest");
302 virtual void includeAlgebraicInErrorTest(
bool yesno) {
303 warn(
"includeAlgebraicInErrorTest");
317 void warn(
const string& msg)
const {
318 writelog(
">>>> Warning: method "+msg+
" of base class "
319 +
"Integrator called. Nothing done.\n");
Declarations for class SystemJacobian.
A map of string keys to values whose type can vary at runtime.
Base class for exceptions thrown by Cantera classes.
Virtual base class for ODE/DAE right-hand-side function evaluators.
Abstract base class for ODE system integrators.
virtual void setMaxStepSize(double hmax)
Set the maximum step size.
virtual void setTolerances(double reltol, size_t n, double *abstol)
Set error tolerances.
virtual void setMaxSteps(int nmax)
Set the maximum number of time-steps the integrator can take before reaching the next output time.
virtual int maxSteps()
Returns the maximum number of time-steps the integrator can take before reaching the next output time...
shared_ptr< SystemJacobian > m_preconditioner
Pointer to preconditioner object used in integration which is set by setPreconditioner and initialize...
Integrator()
Default Constructor.
virtual void setMaxErrTestFails(int n)
Set the maximum permissible number of error test failures.
virtual void setRootFunctionCount(size_t nroots)
Configure how many event/root functions the integrator should monitor.
virtual double * derivative(double tout, int n)
n-th derivative of the output function at time tout.
virtual AnyMap solverStats() const
Get solver stats from integrator.
virtual void initialize(double t0, FuncEval &func)
Initialize the integrator for a new problem.
virtual void setLinearSolverType(const string &linSolverType)
Set the linear solver type.
virtual double currentTime() const =0
Current value of the independent variable tracked by the integrator.
virtual PreconditionerSide preconditionerSide()
Return the side of the system on which the preconditioner is applied.
virtual void setTolerances(double reltol, double abstol)
Set error tolerances.
virtual void setMinStepSize(double hmin)
Set the minimum step size.
virtual double step(double tout)
Integrate the system of equations.
virtual void setSensitivityTolerances(double reltol, double abstol)
Set the sensitivity error tolerances.
virtual string linearSolverType() const
Return the integrator problem type.
virtual void integrate(double tout)
Integrate the system of equations.
PreconditionerSide m_prec_side
Type of preconditioning used in applyOptions.
virtual int lastOrder() const
Order used during the last solution step.
virtual int nEvals() const
The number of function evaluations.
virtual int nEquations() const
The number of equations.
virtual void setPreconditioner(shared_ptr< SystemJacobian > preconditioner)
Set preconditioner used by the linear solver.
virtual double * solution()
The current value of the solution of the system of equations.
virtual ~Integrator()
Destructor.
virtual shared_ptr< SystemJacobian > preconditioner()
Return preconditioner reference to object.
virtual void setMethod(MethodType t)
Set the solution method.
virtual void preconditionerSolve(size_t stateSize, double *rhs, double *output)
Solve a linear system Ax=b where A is the preconditioner.
virtual double & solution(size_t k)
The current value of the solution of equation k.
virtual void setMaxOrder(int n)
Set the maximum integration order that will be used.
This file contains definitions for utility functions and text for modules, inputfiles and logging,...
void writelog(const string &fmt, const Args &... args)
Write a formatted message to the screen.
Integrator * newIntegrator(const string &itype)
Create new Integrator object.
Namespace for the Cantera kernel.
MethodType
Specifies the method used to integrate the system of equations.
@ BDF_Method
Backward Differentiation.
PreconditionerSide
Specifies the side of the system on which the preconditioner is applied.
@ LEFT_PRECONDITION
No preconditioning.
@ BOTH_PRECONDITION
Right side preconditioning.
@ RIGHT_PRECONDITION
Left side preconditioning.
IterType
Specifies the method used for iteration.
@ Functional_Iter
Functional Iteration.
@ Newton_Iter
Newton Iteration.