Diana  0.8.3
Public Member Functions | Friends
ICapeNumericDAESO Class Reference

#include <CapeESO.hpp>

Inheritance diagram for ICapeNumericDAESO:
ICapeNumericESO ICapeIdentification ICapeUtilities IDianaDAESO DianaDAESO IDianaSensDAESO DianaSensDAESO DianaXmlDAESO DiffitESO DianaSensDAESO DiffitModel

List of all members.

Public Member Functions

virtual ~ICapeNumericDAESO ()
virtual void SetAllDerivatives (const Common::Types::CapeArrayDouble &varValues)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeBadInvOrder, Common::Error::ECapeOutOfBounds)
virtual const
Common::Types::CapeArrayDouble
GetAllDerivatives ()=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder)
virtual
Common::Types::CapeArrayDouble 
GetDerivatives (const Common::Types::CapeArrayLong &varIndices)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeBadInvOrder, Common::Error::ECapeOutOfBounds)
virtual void SetDerivatives (const Common::Types::CapeArrayLong &varIndices, const Common::Types::CapeArrayDouble &varValues)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeBadInvOrder, Common::Error::ECapeOutOfBounds)
virtual const
Diana::DianaSparseArray
GetDiffJacobianStruct ()=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeNoImpl)
virtual const
Diana::DianaSparseArray
GetAllDiffJacobianValues ()=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeNoImpl)
virtual
Common::Types::CapeArrayDouble 
GetDiffJacobianValues (const Common::Types::CapeArrayLong &indices)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument, Common::Error::ECapeNoImpl, Common::Error::ECapeOutOfBounds)
virtual void SetIndependentVar (Common::Types::CapeDouble indVar)=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeInvalidArgument)
virtual Common::Types::CapeDouble GetIndependentVar ()=0 throw (Common::Error::ECapeUnknown)

Friends

std::ostream & operator<< (std::ostream &out_file, const ICapeNumericDAESO &eso)

Detailed Description

This is the interface of the Differential-Algebraic Equation Set Object which represents a (generally rectangular) set of differential-algebraic equations of the form:

\[ F(t,x,\dot{x})=0\]

where $t$ is the independent variable and $x(t)$ is a vector of dependent variables. Also $\dot{x}$ denotes the derivatives $dx/dt$. We note that, in general, the quantities $\dot{x}$ will appear in the system for only a subset of the dependent variables $x$. This subset of $x$ are often referred to as the "differential variables" while the rest are the "algebraic variables". Of course, all these variables are functions of the independent variable $t$. It is worth clarifying the semantic interpretation of the methods that are inherited by this interface from ICapeNumericESO:

The methods introduce equivalent functionality for accessing and altering information pertaining to $ F(t, x,\dot{x})=0$. They also provide mechanisms for accessing and altering the value of the independent variable $t$.


Constructor & Destructor Documentation

virtual ~ICapeNumericDAESO ( ) [inline, virtual]

Virtual default destructor.


Member Function Documentation

Gets the values of the derivatives for all the variables. The length of the array returned will be equal to the number of variables, but the values of derivatives which do not appear in the equation system may be meaningless.

Implemented in DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.

Returns a matrix object whose GetValues method will provide the differential Jacobian values at the ESO s current variable values each time it is called (the values of entries indicated as uncomputable in the matrix returned by GetDiffJacobianStruct will be meaningless, but the call to GetValues will not cause an error simply because such entries exist).

Implemented in DiffitESO, DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.

Referenced by HopfPointContinuation::packModelJacobian(), and HopfPointContinuation::packModelResidual().

Gets the value of a subset of the derivatives.

Parameters:
varIndicesthe indices of the variables whose derivatives we wish to get.

Implemented in DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.

Returns a matrix object which contains information on the structure of the differential Jacobian matrix. The GetValues method of this object will provide values encoded as follows:

  • -1.0 indicates an entry which cannot be computed by the ESO.
  • 0.0 indicates an entry which will always be zero.
  • Any other value indicates a nonzero, computable entry.

Implemented in DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.

Gets the values of selected entries of the differential Jacobian, at the current variable values of the ESO.

Parameters:
indicesthe indices of selected elements. The semantics are those of the matrix's GetValues method

Implemented in DianaDAESO.

Gets the current value of the independent variable in the DAESO.

Implemented in DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.

Sets the numerical value of all the derivatives. The length of the array supplied must equal the number of variables: values for derivatives which do not appear in any of the equations can be ignored.

Parameters:
varValuesthe values of the derivatives.

Implemented in DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.

Sets the value of a subset of the derivatives.

Parameters:
varIndicesthe indices of the variables whose derivatives we wish to get.
varValuesthe values of all the derivatives we wish to set

Implemented in DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.

Sets the value of the independent variable in the DAESO.

Parameters:
indVarthe value of the independent variable

Implemented in DianaDAESO, DianaSensDAESO, and IDianaSensDAESO.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out_file,
const ICapeNumericDAESO eso 
) [friend]

ostream output operator for the ICapeNumericDAESO class.


The documentation for this class was generated from the following file: