Template Class Evaluator

Inheritance Relationships

Derived Types

Class Documentation

template<class scalar_type, typename index_type>
class Evaluator

Abstract class describing a model.

Subclassed by GridKit::PhasorDynamics::Component< ScalarT, IdxT >, GridKit::PhasorDynamics::BusBase< scalar_type, index_type >, GridKit::PhasorDynamics::Component< scalar_type, index_type >

Public Functions

virtual int setAbsoluteTolerance(RealT rel_tol) = 0

Compute the absolute tolerance for each variable in the model.

This represents a “noise” level close to zero for which pure relative error cannot be used.

Parameters:

rel_tol – The relative tolerance which can be used to pick the absolute tolerance.

Returns:

int 0 if successful, non-zero otherwise.

inline virtual bool monitoring() const

Is there something to monitor? Defaults to false

inline virtual void printMonitoredVariables() const

Print variables at current state.

inline virtual const VariableMonitorBase *getMonitor() const

Get non-owning reference to monitor.

inline virtual void startMonitor()

Get monitor ready for output.

inline virtual void stopMonitor()

Tell monitor to wrap up.

inline virtual CsrMatrixT *getCsrJacobian() const

Return a pointer to the CSR Jacobian.

Todo:

Remove this and use CsrMatrix for jac_

virtual bool hasJacobian() = 0

Is the Jacobian defined. Used in IDA to determine wether DQ is used or not.

Returns:

true

Returns:

false

virtual VectorT &absoluteTolerance() = 0

Get the absolute tolerance for each variable in the model.

Returns:

a reference to the absolute tolerance vector.

Pre:

setAbsoluteTolerance must have been called first.

virtual const VectorT &absoluteTolerance() const = 0

Get the absolute tolerance for each variable in the model.

Returns:

a const reference to the absolute tolerance vector.

Pre:

setAbsoluteTolerance must have been called first.