File kernel/src/simulationTools/MoreauJeanDirectProjectionOSI.hpp#
Go to the source code of this file
MoreauJeanOSI Time-Integrator for Dynamical Systems for Combined Projection Algorithm
Variables
-
const unsigned int MOREAUPROJECTONCONSTRAINTSOSISTEPSINMEMORY = 1#
-
class MoreauJeanDirectProjectionOSI : public MoreauJeanOSI
- #include <MoreauJeanDirectProjectionOSI.hpp>
One Step time Integrator for First Order Dynamical Systems for mechanical Systems (LagrangianDS and NewtonEulerDS) with Direct Projection Algorithm.
This class reimplement a special activation of constraints in the MoreauJeanOSI for the Direct Projection Algorithm
References :
V. Acary. Projected event-capturing time-stepping schemes for nonsmooth mechanical systems with unilateral contact and coulomb’s friction. Computer Methods in Applied Mechanics and Engineering, 256:224 – 250, 2013. ISSN 0045-7825. URL http://www.sciencedirect.com/science/article/pii/S0045782512003829.
Public Functions
-
explicit MoreauJeanDirectProjectionOSI(double theta)
constructor from theta value only
- Parameters:
theta – value for all these DS.
-
explicit MoreauJeanDirectProjectionOSI(double theta, double gamma)
constructor from theta value only
- Parameters:
theta – value for all these DS.
gamma – value for all these DS.
-
inline virtual ~MoreauJeanDirectProjectionOSI()
destructor
-
inline double deactivateYPosThreshold()#
-
inline void setDeactivateYPosThreshold(double newValue)#
-
inline double deactivateYVelThreshold()#
-
inline void setDeactivateYVelThreshold(double newValue)#
-
inline double activateYPosThreshold()#
-
inline void setActivateYPosThreshold(double newValue)#
-
inline double activateYVelThreshold()#
-
inline void setActivateYVelThreshold(double newValue)#
-
virtual void initializeWorkVectorsForDS(double t, SP::DynamicalSystem ds) override
initialization of the work vectors and matrices (properties) related to one dynamical system on the graph and needed by the osi
- Parameters:
t – time of initialization
ds – the dynamical system
-
virtual void initializeWorkVectorsForInteraction(Interaction &inter, InteractionProperties &interProp, DynamicalSystemsGraph &DSG) override
initialization of the work vectors and matrices (properties) related to one interaction on the graph and needed by the osi
- Parameters:
inter – the interaction
interProp – the properties on the graph
DSG – the dynamical systems graph
-
inline virtual unsigned int numberOfIndexSets() const override
get the number of index sets required for the simulation
- Returns:
unsigned int
-
virtual bool addInteractionInIndexSet(SP::Interaction inter, unsigned int i) override
Apply the rule to one Interaction to known if is it should be included in the IndexSet of level i.
- Parameters:
inter – concerned interaction
i – level
- Returns:
bool
-
virtual bool removeInteractionFromIndexSet(SP::Interaction inter, unsigned int i) override
Apply the rule to one Interaction to known if is it should be removed in the IndexSet of level i.
- Parameters:
inter – concerned interaction
i – level
- Returns:
bool
-
virtual void computeFreeState() override
Perform the integration of the dynamical systems linked to this integrator without taking into account the nonsmooth input (_r or _p)
-
ACCEPT_STD_VISITORS()#
Protected Functions
-
ACCEPT_SERIALIZATION(MoreauJeanDirectProjectionOSI)#
-
inline MoreauJeanDirectProjectionOSI()#
Default constructor.
-
explicit MoreauJeanDirectProjectionOSI(double theta)