File kernel/src/simulationTools/Equality.hpp#
Go to the source code of this file
Linear Complementarity Problem formulation and solving.
-
class Equality : public LinearOSNS
- #include <Equality.hpp>
Formalization and Resolution of a Linear Complementarity Problem (Equality)
Aim of the Equality class#
This class is devoted to the formalization and the resolution of the Linear system (Equality) defined by : \( 0 = w = q + M z \) where
\( w \in R^{n} \) and \(z \in R^{n} \) are the unknowns,
\( M \in R^{n \times n } \) and \(q \in R^{n} \)
The Equality main components are:
a problem (variables M,q and size of the problem), which directly corresponds to the LinearComplementarityProblem structure of Numerics
the unknowns z and w
Public Functions
-
Equality(int numericsSolverId = 0)
constructor from data
- Parameters:
numericsSolverId – id of numerics solver, default = 0
-
Equality(SP::SolverOptions options)
constructor from a pre-defined solver options set.
- Parameters:
options, the – options set,
see Nonsmooth problems formulations and available solvers for details.
-
inline ~Equality()
destructor
-
virtual void initialize(SP::Simulation sim)
initialize
- Parameters:
sim – the simulation
-
virtual int compute(double time)
Compute the unknown z and w and update the Interaction (y and lambda )
- Parameters:
time – double : current time
- Returns:
int information about the solver convergence.
-
virtual void updateM()
Build or reinit M and the NumericsProblem.
-
virtual bool checkCompatibleNSLaw(NonSmoothLaw &nslaw)#
-
virtual void display() const
print the data to the screen