File kernel/src/modelingTools/FirstOrderLinearTIR.hpp#
Go to the source code of this file
-
class FirstOrderLinearTIR : public FirstOrderR
- #include <FirstOrderLinearTIR.hpp>
Linear Time Invariant Relation, derived from class FirstOrderR.
Linear Relation for First Order Dynamical Systems with time-independant operators
\[\begin{split} y &=& Cx(t) + Fz + D\lambda + e \\ R &=& B\lambda \end{split}\]Public Functions
-
FirstOrderLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix B)
create the Relation from a set of data
- Parameters:
C – the matrix C
B – the matrix B
-
FirstOrderLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix D, SP::SimpleMatrix F, SP::SiconosVector e, SP::SimpleMatrix B)
create the Relation from a set of data
- Parameters:
C – the C matrix
D – the D matrix
F – the F matrix
e – the e matrix
B – the B matrix
-
virtual ~FirstOrderLinearTIR() noexcept = default
destructor
-
void computeh(const BlockVector &x, const SiconosVector &lambda, BlockVector &z, SiconosVector &y)
default function to compute h = y = Cx(t) + Fz + Dlambda + e
- Parameters:
x –
lambda –
z –
y – the resulting vector
-
void computeg(const SiconosVector &lambda, BlockVector &r)
default function to compute g = Blambda
- Parameters:
lambda –
r – non-smooth input
-
virtual void computeOutput(double time, Interaction &inter, unsigned int level = 0) override
default function to compute y
- Parameters:
time – current time
inter – Interaction using this Relation
level –
-
virtual void computeInput(double time, Interaction &inter, unsigned int level = 0) override
default function to compute r
- Parameters:
time – current time
inter – Interaction using this Relation
level –
-
virtual void display() const override
print the data to the screen
-
inline void setePtr(SP::SiconosVector newe)
set e
- Parameters:
newe – the new value of e
-
inline SP::SiconosVector e() const
get e
- Returns:
e matrix
-
inline virtual bool isLinear() override
determine if the Relation is linear
- Returns:
true if the relation is linear.
-
inline virtual void computeJach(double time, Interaction &inter) override
compute all the H Jacobian
- Parameters:
time – the current time
inter – the interaction using this relation
-
inline virtual void computeJacg(double time, Interaction &inter) override
compute all the G Jacobian
- Parameters:
time – the current time
inter – the interaction using this relation
interProp –
-
ACCEPT_STD_VISITORS()#
Protected Functions
-
ACCEPT_SERIALIZATION(FirstOrderLinearTIR)#
-
virtual void initialize(Interaction &inter) override#
initialize the relation (check sizes, memory allocation …)
- Parameters:
inter – the interaction that owns this relation
-
virtual void checkSize(Interaction &inter) override#
check sizes of the relation specific operators.
- Parameters:
inter – an Interaction using this relation
-
FirstOrderLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix B)