Relations#
Relations are used to link local variables of the Interaction and global variables of the DynamicalSystems, and thus define constraints in the systems.
Relation
is an abstract class which provides a generic interface for all types of relations.
Each relation has a type which correspond to the types of dynamical systems they fit with (FirstOrder or Lagrangian), a sub-type, (linear, non linear, scleronomous…).
Usually, “type+subtype” corresponds more or less to the name of the derived class.
Then, depending on the sub-class, each relation holds some plug-in functions or operators used to define the constraints. They are listed below for each available type of relation.
Available classes: FirstOrderR
, FirstOrderLinearR
, FirstOrderLinearTIR
, LagrangianR
, LagrangianRheonomousR
, LagrangianScleronomousR
, LagrangianCompliantR
, LagrangianLinearR
.
First Order Relations#
Non Linear#
Class FirstOrderR
We denote:
\(h\), \(g\) (and their jacobian according to \(X\) and \(\lambda\)) are defined with some plug-in functions. n
See the doxygen documentation of the class FirstOrderR
to have a list of the set/get/compute functions.
Note: for the signification of \(X\), \(Z\), \(R\) see Interactions between dynamical systems
Linear#
Class: FirstOrderLinearR
Plug-in functions are available for all operators.
Linear with Time Invariant Coefficients#
Class FirstOrderLinearTIR
Lagrangian (second order) Relations#
Scleronomous#
Class LagrangianScleronomousR
The constraints depend only on the state,
with
Rheonomous#
Class LagrangianRheonomousR
The constraints depend on time and state,
with
Compliant#
Class: LagrangianCompliantR
The constraints depends on state and \(\lambda\), with a function of time for which \(\dot\lambda(t)\) makes sense.
with
Linear and Time Invariant Coefficients#
Class: LagrangianLinearR
Lagrangian linear relations with time-invariant coefficients.
Relations plug-in functions#
FirstOrderR: \(h(X,t,\lambda,Z), \ \ g(\lambda,t,Z)\)
FirstOrderLinearR: \(C(t,Z), \ \ F(t,Z), \ \ , D(t,Z), \ \ e(t,Z), B(t,Z)\)
LagrangianScleronomousR: \(h(Q,Z), \ \ G_0(Q,Z)\)
LagrangianRheonomousR: \(h(Q,t,Z), \ \ G_0(Q,t,Z), \ \ hdot(Q,t,Z)\)
LagrangianCompliantR: \(h(Q,\lambda,Z), \ \ G_0(Q,\lambda,Z), \ \ G_1(Q,\lambda,Z)\)