File kernel/src/modelingTools/FirstOrderR.hpp#
Go to the source code of this file
General interface for relations.
-
class FirstOrderR : public Relation
- #include <FirstOrderR.hpp>
FirstOrder Relation.
This is an abstract class for all relation operating on first order systems. The following subclasses can be used:
FirstOrderNonlinearR: for fully nonlinear relations: \( y = h(t, X, \lambda, Z) \) , \( R = g(t, X, \lambda, Z) \) .
FirstOrderType2R: specialization with \( y = h(t, X, \lambda, Z) \) , \( R = g(t, \lambda, Z) \) .
FirstOrderType1R: further specialization with \( y = h(t, X, Z) \) , \( R = g(t, \lambda, Z) \) .
FirstOrderLinearR: linear case: \( y = C(t)x + D(t)\lambda + F(t) z + e \) , \( R = B(t)\lambda \) .
FirstOrderLinearTIR: time-invariant linear case: \( y = Cx + D\lambda + F z + e \) , \( R = B\lambda \) .
If the relation involves only one DynamicalSystem, then \( R = r \) , \( X = x \) , and \( Z = z \) . With two, then \( R = [r_1, r_2] \), \( X = [x_1 x_2] \), and \( Z = [z_1 z_2] \) .
Remember that \( y \) and \( \lambda \) are relation from the Interaction, and have the same size.
Subclassed by FirstOrderLinearR, FirstOrderLinearTIR, FirstOrderNonLinearR, FirstOrderType1R, FirstOrderType2R
Public Types
Public Functions
-
virtual ~FirstOrderR() noexcept = default
destructor
-
virtual void initialize(Interaction &inter) override
initialize the relation (check sizes, memory allocation …)
- Parameters:
inter – the interaction using this relation
-
inline void setCPtr(SP::SimpleMatrix newC)
set C to pointer newC
- Parameters:
newC – the C matrix
-
inline void setBPtr(SP::SimpleMatrix newB)
set B to pointer newB
- Parameters:
newB – the B matrix
-
inline void setDPtr(SP::SimpleMatrix newD)
set D to pointer newPtr
- Parameters:
newD – the D matrix
-
inline void setFPtr(SP::SimpleMatrix newF)
set F to pointer newPtr
- Parameters:
newF – the F matrix
-
inline virtual SP::SimpleMatrix C() const override
get C
- Returns:
C matrix
-
inline virtual SP::SimpleMatrix H() const override
get H
- Returns:
C matrix
-
inline SP::SimpleMatrix D() const
get D
- Returns:
D matrix
-
inline SP::SimpleMatrix F() const
get F
- Returns:
F matrix
-
inline SP::SimpleMatrix B() const
get B
- Returns:
B matrix
-
inline SP::SimpleMatrix K() const
get K
- Returns:
K matrix
Protected Functions
-
ACCEPT_SERIALIZATION(FirstOrderR)#
Protected Attributes
-
SP::SimpleMatrix _C = {nullptr}#
A matrix to store the constant Jacobian of h(t, X, lambda, Z) w.r.t X.
-
SP::SimpleMatrix _D = {nullptr}#
A matrix to store the constant Jacobian of h(t, X, lambda, Z) w.r.t lambda.
-
SP::SimpleMatrix _F = {nullptr}#
A matrix to store the constant Jacobian of h(t, X, lambda, Z) w.r.t Z.