Class FirstOrderR

Defined in Program listing for file kernel/src/modelingTools/FirstOrderR.hpp

class FirstOrderR : public Relation

FirstOrder Relation.

This is an abstract class for all relation operating on first order systems. It should not be used. Rather, the following classes should 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\).

  • FirstOrderLinearR: 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 $$ are relation from the Interaction, and have the same size.

Subclassed by FirstOrderLinearR, FirstOrderLinearTIR, FirstOrderNonLinearR, FirstOrderType1R, FirstOrderType2R

Public Functions

virtual ~FirstOrderR()

destructor

SP::SimpleMatrix B() const

get B

Return

B matrix

SP::SimpleMatrix C() const

get C

Return

C matrix

virtual void checkSize(Interaction &inter) = 0

check sizes of the relation specific operators.

Parameters

SP::SimpleMatrix D() const

get D

Return

D matrix

SP::SimpleMatrix F() const

get F

Return

F matrix

virtual void initialize(Interaction &inter)

initialize the relation (check sizes, memory allocation …)

Parameters
  • inter: the interaction using this relation

SP::SimpleMatrix K() const

get K

Return

K matrix

void setBPtr(SP::SimpleMatrix newB)

set B to pointer newB

Parameters
  • newB: the B matrix

void setCPtr(SP::SimpleMatrix newC)

set C to pointer newC

Parameters
  • newC: the C matrix

void setDPtr(SP::SimpleMatrix newD)

set D to pointer newPtr

Parameters
  • newD: the D matrix

void setFPtr(SP::SimpleMatrix newF)

set F to pointer newPtr

Parameters
  • newF: the F matrix