File kernel/src/simulationTools/MoreauJeanGOSI.hpp#
Go to the source code of this file
-
class MoreauJeanGOSI : public MoreauJeanOSI
- #include <MoreauJeanGOSI.hpp>
A global version of the MoreauJeanOSI integrator.
Public Types
Public Functions
-
inline MoreauJeanGOSI(double theta = 0.5, double gamma = std::numeric_limits<double>::quiet_NaN())
constructor from theta value only
- Parameters:
theta – value for all linked DS (default = 0.5).
gamma – value for all linked DS (default = NaN and gamma is not used).
-
inline virtual ~MoreauJeanGOSI()
destructor
-
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
-
virtual double computeResidu() override
- Returns:
the maximum of all norms for the “MoreauJeanGOSI-discretized” residus of DS
-
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)
-
virtual void integrate(double &tinit, double &tend, double &tout, int ¬Used) override
integrate the system, between tinit and tend (->iout=true), with possible stop at tout (->iout=false)
- Parameters:
tinit – the initial time
tend – the end time
tout – the real end time
notUsed – useless flag (for MoreauJeanGOSI, used in LsodarOSI)
-
virtual void updateState(const unsigned int level) override
update the state of the dynamical systems
- Parameters:
level – the level of interest for the dynamics: not used at the time
-
void NonSmoothLawContributionToOutput(SP::Interaction inter, OneStepNSProblem &osnsp)
Compute the nonsmooth law contribution to the output.
- Parameters:
inter – the interaction (for y_k)
osnsp – the non-smooth integrator
-
virtual void display() override
Displays the data of the MoreauJeanGOSI’s integrator.
-
ACCEPT_STD_VISITORS()#
Protected Functions
-
ACCEPT_SERIALIZATION(MoreauJeanGOSI)#
-
inline MoreauJeanGOSI(double theta = 0.5, double gamma = std::numeric_limits<double>::quiet_NaN())