Diana
0.8.3
|
#include <CapeSolver.hpp>
Public Member Functions | |
virtual void | SetRelTolerance (const Common::Types::CapeArrayDouble &relTolValue)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeOutOfBounds) |
virtual Common::Types::CapeArrayDouble | GetRelTolerance ()=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder) |
virtual void | SetAbsTolerance (const Common::Types::CapeArrayDouble &absTolValues)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeOutOfBounds) |
virtual Common::Types::CapeArrayDouble | GetAbsTolerance ()=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder) |
virtual Model::CapeArrayNumericEventInfo * | AdvanceToNextEvent (Model::CapeArrayNumericEventInfo endConditions, Common::Types::CapeDouble &timeBefore, Common::Types::CapeDouble &timeAfter)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeBadInvOrder, Common::Error::ECapeSolvingError, Common::Error::ECapeOutOfResources, Common::Error::ECapeNoImpl) |
Friends | |
std::ostream & | operator<< (std::ostream &out_file, const ICapeNumericDAESolver &solver) |
This interface provides facilities which are specific to Solvers of Differential Algebraic equation systems. This interface defines methods for the identification and setting of parameters that will occur in all CAPE-OPEN compliant differential-algebraic components. A small number of such generic parameters have been identified; separate methods are defined for obtaining information on, and changing the value of each such parameter.
virtual Model::CapeArrayNumericEventInfo* AdvanceToNextEvent | ( | Model::CapeArrayNumericEventInfo | endConditions, |
Common::Types::CapeDouble & | timeBefore, | ||
Common::Types::CapeDouble & | timeAfter | ||
) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeBadInvOrder, Common::Error::ECapeSolvingError, Common::Error::ECapeOutOfResources, Common::Error::ECapeNoImpl) [pure virtual] |
Advances the solution of the DAESO with respect to its independent variable until some Event(s) occurs, or an error occurs in the solution process.
Note:For dynamic problems, we cannot be certain that the Solver will be able to identify precisely the single Event which causes termination. Thus we allow it to provide a list of Event objects, together with independent variable values which "bracket" the termination point.
endConditions | the list of stopping conditions for this call |
timeBefore | the independent variable value at the beginning of the internal step |
timeAfter | the independent variable value at the end of the internal step |
Implemented in IDASolver, and PARDASPKSolver.
virtual Common::Types::CapeArrayDouble GetAbsTolerance | ( | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder) [pure virtual] |
Gets information on the absolute tolerance to be used in performing local error tests while solving the DAE system. The precise interpretation of this parameter will depend on individual implementations; the exact nature of the error measure used (e.g. local truncation error, local error etc.), and the way in which this is estimated, are not defined by CAPE-OPEN.
Implemented in IDASolver, and PARDASPKSolver.
virtual Common::Types::CapeArrayDouble GetRelTolerance | ( | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder) [pure virtual] |
Gets information on the relative tolerance to be used in performing local error tests while solving a DAE system, as well as its current value. The precise interpretation of this parameter will depend on individual implementations; the exact nature of the error measure used (e.g. local truncation error, local error etc.), and the way in which this is estimated, are not defined by CAPE-OPEN.
Implemented in IDASolver, and PARDASPKSolver.
virtual void SetAbsTolerance | ( | const Common::Types::CapeArrayDouble & | absTolValues | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeOutOfBounds) [pure virtual] |
Sets the absolute tolerance to be used in performing local error tests while solving the DAE system. The precise interpretation of this parameter will depend on individual implementations; the exact nature of the error measure used (e.g. local truncation error, local error etc.), and the way in which this is estimated, are not defined by CAPE-OPEN.
Implemented in IDASolver, and PARDASPKSolver.
virtual void SetRelTolerance | ( | const Common::Types::CapeArrayDouble & | relTolValue | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeOutOfBounds) [pure virtual] |
Sets the relative tolerance values to be used in performing local error tests while solving a DAE system. The precise interpretation of this parameter will depend on individual implementations; the exact nature of the error measure used (e.g. local truncation error, local error etc.) and the way in which this is estimated are not defined by CAPE-OPEN.
relTolValue | the relative tolerance values. |
Implemented in IDASolver, and PARDASPKSolver.
std::ostream& operator<< | ( | std::ostream & | out_file, |
const ICapeNumericDAESolver & | solver | ||
) | [friend] |
ostream output operator for the ICapeNumericDAESolver class.