Template Class VectorFit
Defined in File VectorFit.hpp
Inheritance Relationships
Base Type
public GridKit::EMT::Component< scalar_type, index_type >(Template Class Component)
Class Documentation
-
template<typename scalar_type, typename index_type>
class VectorFit : public GridKit::EMT::Component<scalar_type, index_type> Vector-fitted rational operator.
whas K entries per real pole, then per conjugate pair, andvhas K entries per conjugate pair.Public Functions
-
VectorFit(const ModelDataT &data, IdxT N, IdxT K, RealT scale = ONE<RealT>)
N by K operator with D, E and the residues multiplied by
scale.
-
virtual int setAbsoluteTolerance(RealT rel_tol) override
Memory states at the tolerance of their input over the pole magnitude.
-
virtual int tagDifferentiable() 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 evaluateResidual() 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().
-
VectorFit(const ModelDataT &data, IdxT N, IdxT K, RealT scale = ONE<RealT>)