File kernel/src/simulationTools/TimeSteppingCombinedProjection.hpp#
Go to the source code of this file
Time-Stepping simulation with projections on constraints
-
class TimeSteppingCombinedProjection : public TimeStepping
- #include <TimeSteppingCombinedProjection.hpp>
Time-Stepping scheme.
Public Functions
-
virtual void initializeOneStepNSProblem() override
initialisation specific to TimeStepping for OneStepNSProblem.
-
TimeSteppingCombinedProjection(SP::NonSmoothDynamicalSystem nsds, SP::TimeDiscretisation td, SP::OneStepIntegrator osi, SP::OneStepNSProblem osnspb_velo, SP::OneStepNSProblem osnspb_pos, unsigned int _level = 2)
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 –
-
inline TimeSteppingCombinedProjection()
default constructor
-
virtual ~TimeSteppingCombinedProjection()#
-
inline virtual void updateWorldFromDS() override#
-
inline unsigned int nbProjectionIteration()
get the Number of iteration of projection
- Returns:
unsigned int nbProjectionIteration
-
inline unsigned int nbCumulatedProjectionIteration()
get the Number of cumulated iteration of projection
- Returns:
unsigned int
-
inline unsigned int cumulatedNewtonNbIterations()
get the Cumulated Number of steps performed in the Newton Loop
- Returns:
unsigned int
-
inline unsigned int nbIndexSetsIteration()
get the Number of iteration for stabilizating indexsets
- Returns:
unsigned int
-
inline void setConstraintTol(double v)#
-
inline void setConstraintTolUnilateral(double v)#
-
inline double maxViolationUnilateral()#
-
inline double maxViolationEquality()#
-
inline void setProjectionMaxIteration(unsigned int v)#
-
inline void setDoCombinedProj(unsigned int v)#
-
inline bool doCombinedProjOnEquality()#
-
virtual void advanceToEvent() override
step from current event to next event of EventsManager
-
void advanceToEventOLD()#
-
void computeCriteria(bool *runningProjection)#
-
ACCEPT_STD_VISITORS()#
Protected Functions
-
ACCEPT_SERIALIZATION(TimeSteppingCombinedProjection)#
-
virtual void updateIndexSet(unsigned int level) override#
update indexSets[i] of the topology, using current y and lambda values of Interactions
- Parameters:
level – unsigned int: the level of the set to be updated
Protected Attributes
-
unsigned int _indexSetLevelForProjection#
level of IndexSet on which we project (default =2 (subset of activated constraint with positive reactions))
-
unsigned int _cumulatedNewtonNbIterations#
Cumulated Number of steps performed is the Newton Loop.
-
unsigned int _nbProjectionIteration#
Number of iteration of projection.
-
unsigned int _nbCumulatedProjectionIteration#
Number of cumulated iteration of projection.
-
unsigned int _nbIndexSetsIteration#
Number of iteration for stabilizating indexsets.
-
double _constraintTol#
tolerance for the violation of the equality constraints at the position level.
-
double _constraintTolUnilateral#
tolerance for the violation of the unilateral constraints at the position level.
-
double _maxViolationUnilateral#
maximum violation for the violation of the unilateral constraints at the position level.
-
double _maxViolationEquality#
maximum violation for the violation of the equality constraints at the position level.
-
unsigned int _projectionMaxIteration#
Default maximum number of projection iteration.
-
unsigned int _kIndexSetMax#
Default maximum number of index set activation iteration.
-
bool _doCombinedProj#
disabled or enabled projection (Debug Projection)
-
bool _doCombinedProjOnEquality#
disabled or enabled projection On Equality (or Unilateral) for unilateral constraints
-
bool _isIndexSetsStable#
Boolean to check if the index sets are stabilized in the Combined Projection Algorithm.
Friends
- friend struct _SimulationEffectOnOSNSP
-
virtual void initializeOneStepNSProblem() override