File control/src/Simulation/ControlSimulation.hpp¶
Go to the source code of this file
Abstract class - General interface for all Control Dynamical Systems.
-
class ControlSimulation
Subclassed by ControlLsodarSimulation, ControlZOHSimulation
Public Functions
-
inline virtual ~ControlSimulation()
destructor
-
void setTheta(unsigned int newTheta)
Modify the value of theta (for MoreauJeanOSI)
- Parameters
newTheta – the new value of theta
-
void initialize()
Initialize the ControlSimulation, instantiate all objects.
-
void addDynamicalSystem(SP::DynamicalSystem ds, const std::string &name = "")
Add a DynamicalSystem.
- Parameters
ds – the DynamicalSystem to integrate
name – of the ds (optional)
-
void addSensor(SP::Sensor sensor, const double h)
Add a Sensor.
- Parameters
sensor – the sensor to be added
h – sampling period (or timestep) for the Sensor
-
void addActuator(SP::Actuator actuator, const double h)
Add an Actuator.
- Parameters
actuator – the controller to be added
h – sampling period (or timestep) for the Actuator
-
void addObserver(SP::Observer observer, const double h)
Add an Observer.
- Parameters
observer – the observer to be added
h – sampling period (or timestep) for the Observer
-
void storeData(unsigned indx)
store the simulation data in a row of the matrix
- Parameters
indx – the current row index
-
inline SP::Simulation simulation() const
Return the Simulation.
- Returns
the simulation for the main simulation
-
inline SP::OneStepIntegrator integrator() const
Return the OneStepIntegrator.
- Returns
the Integrator
-
inline SP::NonSmoothDynamicalSystem model() const
Return the NonSmoothDynamicalSystem.
- Returns
the NonSmoothDynamicalSystem
-
inline SP::SimpleMatrix data() const
Return the data matrix.
- Returns
the data matrix
-
inline std::string dataLegend() const
get the legend for the matrix
- Returns
legend as string of space seperated values
-
inline double elapsedTime() const
- Returns
the elapsed time computing in seconds
-
inline SP::ControlManager CM() const
Return the ControlManager.
- Returns
the ControlManager
-
inline void setSaveOnlyMainSimulation(bool v)
Set the value of _saveOnlyMainSimulation.
- Parameters
v – a boolean
-
inline void silent(bool s = true)
Set the simulation to be silent, e.g.
do not show any progress bar
- Parameters
s – is true is silent, else display progress bar
-
virtual void run() = 0
Run the simulation.
Protected Functions
-
inline ControlSimulation()¶
default constructor
-
ControlSimulation(double t0, double T, double h)¶
Constructor with the minimal set of data.
- Parameters
t0 – the starting time \( t_0 \)
T – the end time T
h – the simulation time step
Protected Attributes
-
double _t0¶
Starting time.
-
double _T¶
End time.
-
double _h¶
Simulation step.
-
double _theta¶
Theta for MoreauJeanOSI.
-
double _elapsedTime¶
Time spent computing.
-
unsigned _N¶
rough estimation of the number of points to save
-
unsigned _nDim¶
Dimension of the state space.
-
bool _saveOnlyMainSimulation¶
Save only the data in the main Simulation.
-
bool _silent¶
If true, do not show progress of the simulation.
-
std::string _dataLegend¶
Legend for the columns in the matrix _dataM.
-
SP::ControlManager _CM¶
the ControlManager
Private Functions
-
ACCEPT_SERIALIZATION(ControlSimulation)¶
-
inline virtual ~ControlSimulation()