60 warn(
"setTolerances");
69 warn(
"setTolerances");
85 warn(
"setLinearSolverType");
140 warn(
"linearSolverType");
154 virtual void reinitialize(
double t0,
FuncEval& func) {
155 warn(
"reinitialize");
172 virtual double step(
double tout) {
213 virtual int maxOrder()
const {
225 warn(
"setMethodType");
230 warn(
"setMaxStepSize");
235 warn(
"setMinStepSize");
240 warn(
"setMaxErrTestFails");
258 virtual void setBandwidth(
int N_Upper,
int N_Lower) {
259 warn(
"setBandwidth");
262 virtual int nSensParams() {
263 warn(
"nSensParams()");
267 virtual double sensitivity(
size_t k,
size_t p) {
279 virtual int maxNonlinIterations()
const {
280 warn(
"maxNonlinIterations");
283 virtual void setMaxNonlinIterations(
int n) {
284 warn(
"setMaxNonlinIterations");
287 virtual int maxNonlinConvFailures()
const {
288 warn(
"maxNonlinConvFailures");
291 virtual void setMaxNonlinConvFailures(
int n) {
292 warn(
"setMaxNonlinConvFailures");
295 virtual bool algebraicInErrorTest()
const {
296 warn(
"algebraicInErrorTest");
299 virtual void includeAlgebraicInErrorTest(
bool yesno) {
300 warn(
"includeAlgebraicInErrorTest");
314 void warn(
const string& msg)
const {
315 writelog(
">>>> Warning: method "+msg+
" of base class "
316 +
"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 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...
virtual span< double > derivative(double tout, int n)
n-th derivative of the output function at time tout.
Integrator()
Default Constructor.
virtual void preconditionerSolve(span< const double > rhs, span< double > output)
Solve a linear system Ax=b where A is the preconditioner.
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 AnyMap solverStats() const
Get solver stats from integrator.
virtual void initialize(double t0, FuncEval &func)
Initialize the integrator for a new problem.
virtual void setTolerances(double reltol, span< const double > abstol)
Set error tolerances.
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 span< double > solution()
The current value of the solution of 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 ~Integrator()
Destructor.
virtual shared_ptr< SystemJacobian > preconditioner()
Return preconditioner reference to object.
virtual void setMethod(MethodType t)
Set the solution method.
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.