Integrator Class Reference#
Abstract base class for ODE system integrators. More...
#include <Integrator.h>
Detailed Description
Abstract base class for ODE system integrators.
Definition at line 43 of file Integrator.h.
Public Member Functions | |
Integrator () | |
Default Constructor. | |
virtual | ~Integrator () |
Destructor. | |
virtual void | setTolerances (double reltol, size_t n, double *abstol) |
Set error tolerances. | |
virtual void | setTolerances (double reltol, double abstol) |
Set error tolerances. | |
virtual void | setSensitivityTolerances (double reltol, double abstol) |
Set the sensitivity error tolerances. | |
virtual void | setLinearSolverType (const string &linSolverType) |
Set the linear solver type. | |
virtual void | setPreconditioner (shared_ptr< PreconditionerBase > preconditioner) |
Set preconditioner used by the linear solver. | |
virtual void | preconditionerSolve (size_t stateSize, double *rhs, double *output) |
Solve a linear system Ax=b where A is the preconditioner. | |
virtual PreconditionerSide | preconditionerSide () |
Return the side of the system on which the preconditioner is applied. | |
virtual shared_ptr< PreconditionerBase > | preconditioner () |
Return preconditioner reference to object. | |
virtual string | linearSolverType () const |
Return the integrator problem type. | |
virtual void | initialize (double t0, FuncEval &func) |
Initialize the integrator for a new problem. | |
virtual void | reinitialize (double t0, FuncEval &func) |
virtual void | integrate (double tout) |
Integrate the system of equations. | |
virtual double | step (double tout) |
Integrate the system of equations. | |
virtual double & | solution (size_t k) |
The current value of the solution of equation k. | |
virtual double * | solution () |
The current value of the solution of 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. | |
virtual int | nEquations () const |
The number of equations. | |
virtual int | nEvals () const |
The number of function evaluations. | |
virtual int | maxOrder () const |
virtual void | setMaxOrder (int n) |
Set the maximum integration order that will be used. | |
virtual void | setMethod (MethodType t) |
Set the solution method. | |
virtual void | setMaxStepSize (double hmax) |
Set the maximum step size. | |
virtual void | setMinStepSize (double hmin) |
Set the minimum step size. | |
virtual void | setMaxErrTestFails (int n) |
Set the maximum permissible number of error test failures. | |
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. | |
virtual void | setBandwidth (int N_Upper, int N_Lower) |
virtual int | nSensParams () |
virtual double | sensitivity (size_t k, size_t p) |
virtual AnyMap | solverStats () const |
Get solver stats from integrator. | |
virtual int | maxNonlinIterations () const |
virtual void | setMaxNonlinIterations (int n) |
virtual int | maxNonlinConvFailures () const |
virtual void | setMaxNonlinConvFailures (int n) |
virtual bool | algebraicInErrorTest () const |
virtual void | includeAlgebraicInErrorTest (bool yesno) |
Protected Attributes | |
shared_ptr< PreconditionerBase > | m_preconditioner |
Pointer to preconditioner object used in integration which is set by setPreconditioner and initialized inside of ReactorNet::initialize() | |
PreconditionerSide | m_prec_side = PreconditionerSide::NO_PRECONDITION |
Type of preconditioning used in applyOptions. | |
Private Member Functions | |
void | warn (const string &msg) const |
Private Attributes | |
double | m_dummy |
Constructor & Destructor Documentation
◆ Integrator()
|
inline |
Default Constructor.
Definition at line 47 of file Integrator.h.
◆ ~Integrator()
|
inlinevirtual |
Destructor.
Definition at line 51 of file Integrator.h.
Member Function Documentation
◆ setTolerances() [1/2]
|
inlinevirtual |
Set error tolerances.
- Parameters
-
reltol scalar relative tolerance n Number of equations abstol array of N absolute tolerance values
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 60 of file Integrator.h.
◆ setTolerances() [2/2]
|
inlinevirtual |
Set error tolerances.
- Parameters
-
reltol scalar relative tolerance abstol scalar absolute tolerance
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 70 of file Integrator.h.
◆ setSensitivityTolerances()
|
inlinevirtual |
Set the sensitivity error tolerances.
- Parameters
-
reltol scalar relative tolerance abstol scalar absolute tolerance
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 79 of file Integrator.h.
◆ setLinearSolverType()
|
inlinevirtual |
Set the linear solver type.
- Parameters
-
linSolverType Type of the linear solver
Reimplemented in IdasIntegrator, and CVodesIntegrator.
Definition at line 86 of file Integrator.h.
◆ setPreconditioner()
|
inlinevirtual |
Set preconditioner used by the linear solver.
- Parameters
-
preconditioner preconditioner object used for the linear solver
Definition at line 94 of file Integrator.h.
◆ preconditionerSolve()
|
inlinevirtual |
Solve a linear system Ax=b where A is the preconditioner.
- Parameters
-
[in] stateSize length of the rhs and output vectors [in] rhs right hand side vector used in linear system [out] output output vector for solution
Definition at line 116 of file Integrator.h.
◆ preconditionerSide()
|
inlinevirtual |
Return the side of the system on which the preconditioner is applied.
Definition at line 121 of file Integrator.h.
◆ preconditioner()
|
inlinevirtual |
Return preconditioner reference to object.
Definition at line 126 of file Integrator.h.
◆ linearSolverType()
|
inlinevirtual |
Return the integrator problem type.
Reimplemented in CVodesIntegrator.
Definition at line 131 of file Integrator.h.
◆ initialize()
|
inlinevirtual |
Initialize the integrator for a new problem.
Call after all options have been set.
- Parameters
-
t0 initial time func RHS evaluator object for system of equations.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 142 of file Integrator.h.
◆ reinitialize()
|
inlinevirtual |
Definition at line 146 of file Integrator.h.
◆ integrate()
|
inlinevirtual |
Integrate the system of equations.
- Parameters
-
tout Integrate to this time. Note that this is the absolute time value, not a time interval.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 155 of file Integrator.h.
◆ step()
|
inlinevirtual |
Integrate the system of equations.
- Parameters
-
tout integrate to this time. Note that this is the absolute time value, not a time interval.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 164 of file Integrator.h.
◆ solution() [1/2]
|
inlinevirtual |
The current value of the solution of equation k.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 170 of file Integrator.h.
◆ solution() [2/2]
|
inlinevirtual |
The current value of the solution of the system of equations.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 176 of file Integrator.h.
◆ derivative()
|
inlinevirtual |
n-th derivative of the output function at time tout.
Reimplemented in CVodesIntegrator.
Definition at line 182 of file Integrator.h.
◆ lastOrder()
|
inlinevirtual |
Order used during the last solution step.
Reimplemented in CVodesIntegrator.
Definition at line 188 of file Integrator.h.
◆ nEquations()
|
inlinevirtual |
The number of equations.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 194 of file Integrator.h.
◆ nEvals()
|
inlinevirtual |
The number of function evaluations.
Reimplemented in CVodesIntegrator.
Definition at line 200 of file Integrator.h.
◆ maxOrder()
|
inlinevirtual |
Definition at line 205 of file Integrator.h.
◆ setMaxOrder()
|
inlinevirtual |
Set the maximum integration order that will be used.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 211 of file Integrator.h.
◆ setMethod()
|
inlinevirtual |
Set the solution method.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 216 of file Integrator.h.
◆ setMaxStepSize()
|
inlinevirtual |
Set the maximum step size.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 221 of file Integrator.h.
◆ setMinStepSize()
|
inlinevirtual |
Set the minimum step size.
Reimplemented in CVodesIntegrator.
Definition at line 226 of file Integrator.h.
◆ setMaxErrTestFails()
|
inlinevirtual |
Set the maximum permissible number of error test failures.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 231 of file Integrator.h.
◆ setMaxSteps()
|
inlinevirtual |
Set the maximum number of time-steps the integrator can take before reaching the next output time.
- Parameters
-
nmax The maximum number of steps, setting this value to zero disables this option.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 239 of file Integrator.h.
◆ maxSteps()
|
inlinevirtual |
Returns the maximum number of time-steps the integrator can take before reaching the next output time.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 245 of file Integrator.h.
◆ setBandwidth()
|
inlinevirtual |
Definition at line 250 of file Integrator.h.
◆ nSensParams()
|
inlinevirtual |
Definition at line 254 of file Integrator.h.
◆ sensitivity()
|
inlinevirtual |
Definition at line 259 of file Integrator.h.
◆ solverStats()
|
inlinevirtual |
Get solver stats from integrator.
Reimplemented in CVodesIntegrator, and IdasIntegrator.
Definition at line 265 of file Integrator.h.
◆ maxNonlinIterations()
|
inlinevirtual |
Definition at line 271 of file Integrator.h.
◆ setMaxNonlinIterations()
|
inlinevirtual |
Definition at line 275 of file Integrator.h.
◆ maxNonlinConvFailures()
|
inlinevirtual |
Definition at line 279 of file Integrator.h.
◆ setMaxNonlinConvFailures()
|
inlinevirtual |
Definition at line 283 of file Integrator.h.
◆ algebraicInErrorTest()
|
inlinevirtual |
Definition at line 287 of file Integrator.h.
◆ includeAlgebraicInErrorTest()
|
inlinevirtual |
Definition at line 291 of file Integrator.h.
◆ warn()
|
inlineprivate |
Definition at line 306 of file Integrator.h.
Member Data Documentation
◆ m_preconditioner
|
protected |
Pointer to preconditioner object used in integration which is set by setPreconditioner and initialized inside of ReactorNet::initialize()
Definition at line 299 of file Integrator.h.
◆ m_prec_side
|
protected |
Type of preconditioning used in applyOptions.
Definition at line 301 of file Integrator.h.
◆ m_dummy
|
private |
Definition at line 305 of file Integrator.h.
The documentation for this class was generated from the following file:
Generated by 1.9.7