Template Class GastPti
Defined in File GastPti.hpp
Inheritance Relationships
Base Type
public GridKit::PhasorDynamics::Component< scalar_type, index_type >(Template Class Component)
Class Documentation
-
template<typename scalar_type, typename index_type>
class GastPti : public GridKit::PhasorDynamics::Component<scalar_type, index_type> Gas turbine governor with speed droop, three turbine lags, and exhaust-temperature limiting.
- Template Parameters:
scalar_type – Plain real or differentiable scalar type.
index_type – Integer index type.
Public Functions
-
virtual int allocate() final override
Allocate all internal memory used by the model.
- Post:
Changing the model by changing its internal topology (i.e. size(), nnz(), sparsity pattern in getCsrJacobian(), etc.) may invalidate the model until
allocate()is called again. Calling any function that requiresallocate()to be called in between modifying the model and reallocating may invoke undefined behaviour.
-
virtual int tagDifferentiable() final override
Fill the tag() vector with proper indicators.
Note
For some models, this may be a no-op, and the vector returned by tag() will still be empty.
- Pre:
allocate() must have been called.
-
virtual int setAbsoluteTolerance(RealT rel_tol) final override
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.
-
virtual int evaluateResidual() final override
Evaluate the model’s residual function.
For models which can be appropriately modeled in semi-explicit form, this will evaluate
\[F(t, y, \dot{y}) = f(t,y) - M \dot{y},\]where\[M\]is the mass matrix. For models which can be modeled in Hessenberg form,\[M\]should be a simple indicator function for if the variable is differential (if\[\dot{y}\]appears in its equation). This indicator should be given by tag().
-
virtual Model::ConfigurationChecks verify() const final override
Report configuration problems.
-
virtual const Model::VariableMonitorBase *getMonitor() const override
Get non-owning reference to monitor.