siconos.kernel.FirstOrderLinearTIR (Python class)

class siconos.kernel.FirstOrderLinearTIR(*args)[source]

Bases: siconos.kernel.FirstOrderR

Linear Time Invariant Relation, derived from class FirstOrderR.

Linear Relation for First Order Dynamical Systems:

\[\begin{split}y &=& Cx(t) + Fz + D\lambda + e\\ R &=& B\lambda\end{split}\]

Generated class (swig), based on C++ header Program listing for file kernel/src/modelingTools/FirstOrderLinearTIR.hpp.

Constructors

FirstOrderLinearTIR()

default constructor, protected

FirstOrderLinearTIR(array_like (np.float64, 2D) C, array_like (np.float64, 2D) B)

create the Relation from a set of data

Parameters:
  • C – the matrix C
  • B – the matrix B
FirstOrderLinearTIR(array_like (np.float64, 2D) C, array_like (np.float64, 2D) D, array_like (np.float64, 2D) F, array_like (np.float64, 1D) e, array_like (np.float64, 2D) 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
checkSize(inter: Interaction) → void[source]

checkSize(Interaction inter)=0 -> None

check sizes of the relation specific operators.

Parameters:inter – an Interaction using this relation
computeInput(double time, Interaction inter, int level=0) → None[source]

default function to compute r

Parameters:
  • time – current time
  • inter – Interaction using this Relation
  • level
computeJacg(double time, Interaction inter) → None[source]

compute the jacobian of g: nothing to be done here

Parameters:
  • time – current time
  • inter – Interaction using this Relation
computeJach(double time, Interaction inter) → None[source]

compute the jacobian of h: nothing to be done here

Parameters:
  • time – current time
  • inter – Interaction using this Relation
computeOutput(double time, Interaction inter, int level=0) → None[source]

default function to compute y

Parameters:
  • time – current time
  • inter – Interaction using this Relation
  • level
computeg(array_like (np.float64, 1D) lambda, BlockVector r) → None[source]

default function to compute g

Parameters:
  • lambda
  • r – non-smooth input
computeh(BlockVector x, array_like (np.float64, 1D) lambda, BlockVector z, array_like (np.float64, 1D) y) → None[source]

default function to compute h

Parameters:
  • x
  • lambda
  • z
  • y – value of h
display() → None[source]

print the data to the screen

e() -> array_like (np.float64, 1D)[source]

get e

Returns:e matrix
initialize(Interaction inter) → None[source]

initialize the relation (check sizes, memory allocation …)

Parameters:inter – the interaction using this relation
isLinear() → bool[source]
Returns:true if the relation is linear.
setePtr(array_like (np.float64, 1D) newe) → None[source]

set e

Parameters:newe – the new value of e