File kernel/src/simulationTools/AVI.hpp

Go to the source code of this file

Affine Variational Inequalities formulation

class AVI : public LinearOSNS
#include <>

Formalization and Resolution of an Affine Variational Inequality (AVI)

This class is devoted to the formalization and the resolution of Affine variational Inequalities (AVI): given a polytopic set \( P \), \( M\in R^{p\times p} \) and \( q\in R^p \),

\[ \text{find }z \in P\text{ such that}\quad \langle Mz+q, x - z\rangle \geq 0 \qquad \forall x \in P \]


: add “recover” function to start from old values of z and w.

For details regarding the available options, see Nonsmooth problems formulations and available solvers in users’ guide.

Public Functions

AVI(int numericsSolverId = SICONOS_AVI_CAOFERRIS)

constructor from numerics solver id


numericsSolverId – id of numerics solver, default = SICONOS_AVI_CAOFERRIS

AVI(SP::SolverOptions options)

constructor from a pre-defined solver options set


options – the options set

virtual ~AVI()


virtual void initialize(SP::Simulation sim)

initialize the problem (topology and so on)


sim – the simulation that owns this OSNSPB

virtual int compute(double time)

Compute the unknown z and update the Interaction (y and lambda)


time – current time


information about the solver convergence.

virtual bool checkCompatibleNSLaw(NonSmoothLaw &nslaw)

Check the compatibility fol the nslaw with the targeted OSNSP.

virtual void display() const

print the data to the screen

Protected Functions


Protected Attributes

SP::AffineVariationalInequalities _numerics_problem

contains the numerics problem for the AVI system