Cantera
2.4.0
|
Wrapper for DAE solvers. More...
#include <DAE_Solver.h>
Public Member Functions | |
DAE_Solver (ResidJacEval &f) | |
virtual void | setTolerances (doublereal reltol, doublereal *abstol) |
Set error tolerances. More... | |
virtual void | setTolerances (doublereal reltol, doublereal abstol) |
Set error tolerances. More... | |
void | setJacobian (Jacobian &jac) |
Specify a Jacobian evaluator. More... | |
virtual void | setLinearSolverType (int solverType) |
virtual void | setDenseLinearSolver () |
virtual void | setBandedLinearSolver (int m_upper, int m_lower) |
virtual void | setMaxStepSize (doublereal dtmax) |
virtual void | setMaxOrder (int n) |
virtual void | setMaxNumSteps (int n) |
virtual void | setInitialStepSize (doublereal h0) |
virtual void | setStopTime (doublereal tstop) |
virtual void | setMaxErrTestFailures (int n) |
virtual void | setMaxNonlinIterations (int n) |
virtual void | setMaxNonlinConvFailures (int n) |
virtual void | inclAlgebraicInErrorTest (bool yesno) |
virtual void | correctInitial_Y_given_Yp (doublereal *y, doublereal *yp, doublereal tout) |
Calculate consistent value of the starting solution given the starting solution derivatives. More... | |
virtual void | correctInitial_YaYp_given_Yd (doublereal *y, doublereal *yp, doublereal tout) |
Calculate consistent value of the algebraic constraints and derivatives at the start of the problem. More... | |
virtual int | solve (doublereal tout) |
Solve the system of equations up to time tout. More... | |
virtual doublereal | step (doublereal tout) |
Take one internal step. More... | |
int | nEquations () const |
Number of equations. More... | |
virtual void | init (doublereal t0) |
initialize. More... | |
virtual void | setInputParameter (int flag, doublereal value) |
Set a solver-specific input parameter. More... | |
virtual doublereal | getOutputParameter (int flag) const |
Get the value of a solver-specific output parameter. More... | |
virtual doublereal | solution (int k) const |
the current value of solution component k. More... | |
virtual const doublereal * | solutionVector () const |
virtual doublereal | derivative (int k) const |
the current value of the derivative of solution component k. More... | |
virtual const doublereal * | derivativeVector () const |
Protected Attributes | |
doublereal | m_dummy |
ResidJacEval & | m_resid |
integer | m_neq |
Number of total equations in the system. More... | |
doublereal | m_time |
Private Member Functions | |
void | warn (const std::string &msg) const |
Wrapper for DAE solvers.
Definition at line 75 of file DAE_Solver.h.
|
inlinevirtual |
Set error tolerances.
This version specifies a scalar relative tolerance, and a vector absolute tolerance.
Reimplemented in IDA_Solver.
Definition at line 90 of file DAE_Solver.h.
|
inlinevirtual |
Set error tolerances.
This version specifies a scalar relative tolerance, and a scalar absolute tolerance.
Reimplemented in IDA_Solver.
Definition at line 99 of file DAE_Solver.h.
|
inline |
Specify a Jacobian evaluator.
If this method is not called, the Jacobian will be computed by finite difference.
Definition at line 107 of file DAE_Solver.h.
|
inlinevirtual |
Calculate consistent value of the starting solution given the starting solution derivatives.
This method may be called if the initial conditions do not satisfy the residual equation F = 0. Given the derivatives of all variables, this method computes the initial y values.
Reimplemented in IDA_Solver.
Definition at line 157 of file DAE_Solver.h.
|
inlinevirtual |
Calculate consistent value of the algebraic constraints and derivatives at the start of the problem.
This method may be called if the initial conditions do not satisfy the residual equation F = 0. Given the initial values of all differential variables, it computes the initial values of all algebraic variables and the initial derivatives of all differential variables.
y | Calculated value of the solution vector after the procedure ends |
yp | Calculated value of the solution derivative after the procedure |
tout | The first value of t at which a soluton will be requested (from IDASolve). (This is needed here to determine the direction of integration and rough scale in the independent variable t. |
Reimplemented in IDA_Solver.
Definition at line 176 of file DAE_Solver.h.
|
inlinevirtual |
Solve the system of equations up to time tout.
Reimplemented in IDA_Solver.
Definition at line 184 of file DAE_Solver.h.
|
inlinevirtual |
|
inline |
Number of equations.
Definition at line 198 of file DAE_Solver.h.
References ResidJacEval::nEquations().
|
inlinevirtual |
initialize.
Base class method does nothing.
Reimplemented in IDA_Solver.
Definition at line 205 of file DAE_Solver.h.
|
inlinevirtual |
Set a solver-specific input parameter.
Definition at line 210 of file DAE_Solver.h.
|
inlinevirtual |
Get the value of a solver-specific output parameter.
Reimplemented in IDA_Solver.
Definition at line 217 of file DAE_Solver.h.
|
inlinevirtual |
the current value of solution component k.
Reimplemented in IDA_Solver.
Definition at line 223 of file DAE_Solver.h.
|
inlinevirtual |
the current value of the derivative of solution component k.
Reimplemented in IDA_Solver.
Definition at line 234 of file DAE_Solver.h.
|
protected |
Number of total equations in the system.
Definition at line 249 of file DAE_Solver.h.
Referenced by IDA_Solver::correctInitial_Y_given_Yp(), IDA_Solver::correctInitial_YaYp_given_Yd(), and IDA_Solver::init().