Class TimeSteppingDirectProjection#

Defined in Program listing for file kernel/src/simulationTools/TimeSteppingDirectProjection.hpp

class TimeSteppingDirectProjection : public TimeStepping#

Time-Stepping scheme with a direct projection onto the constraint thanks to the GGL augmentation of the system.

For details, have a look on Projected event-capturing time-stepping schemes for nonsmooth mechanical systems with unilateral contact and Coulomb’s friction Vincent Acary Computer Methods in Applied Mechanics and Engineering, Elsevier, 2013, 256, pp. 224-250

Public Functions

TimeSteppingDirectProjection(SP::NonSmoothDynamicalSystem nsds, SP::TimeDiscretisation td, SP::OneStepIntegrator osi, SP::OneStepNSProblem osnspb_velo, SP::OneStepNSProblem osnspb_pos, unsigned int _level = 1)#

Constructor with the time-discretisation.

Parameters:
  • nsds – the nsds that we want to simulate

  • td – a pointer to a timeDiscretisation (linked to the model that owns this simulation)

  • osi – a one step integrator

  • osnspb_velo – a one step non smooth problem for the velocity formulation

  • osnspb_pos – a one step non smooth problem for the position formulation

  • _level

virtual void initializeOneStepNSProblem() override#

initialisation specific to TimeStepping for OneStepNSProblem.

inline TimeSteppingDirectProjection()#

default constructor

inline unsigned int nbProjectionIteration()#
Returns:

the Number of iteration of projection

virtual void advanceToEvent() override#

step from current event to next event of EventsManager

virtual void nextStep() override#

increment model current time according to User TimeDiscretisation and call SaveInMemory.

virtual void newtonSolve(double criterion, unsigned int maxStep) override#

newton algorithm

Parameters:
  • criterion – convergence criterion

  • maxStep – maximum number of Newton steps