File kernel/src/simulationTools/MoreauJeanDirectProjectionOSI.hpp

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.

Protected Attributes

double _deactivateYPosThreshold#
double _deactivateYVelThreshold#
double _activateYPosThreshold#
double _activateYVelThreshold#