ACADO Toolkit  1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
Public Member Functions | Protected Member Functions | Protected Attributes

Allows to run closed-loop simulations of dynamic systems. More...

#include <simulation_environment.hpp>

Inheritance diagram for SimulationEnvironment:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 SimulationEnvironment ()
 Default constructor.
 SimulationEnvironment (double _startTime, double _endTime, Process &_process, Controller &_controller)
 Constructor which takes the name of the block and the sampling time.
 SimulationEnvironment (const SimulationEnvironment &rhs)
 Copy constructor (deep copy).
virtual ~SimulationEnvironment ()
 Destructor.
SimulationEnvironmentoperator= (const SimulationEnvironment &rhs)
 Assignment Operator (deep copy).
returnValue setProcess (Process &_process)
 Assigns new process block to be used for simulation.
returnValue setController (Controller &_controller)
 Assigns new controller block to be used for simulation.
returnValue initializeAlgebraicStates (const VariablesGrid &_xa_init)
 Initializes algebraic states of the process.
returnValue initializeAlgebraicStates (const char *fileName)
 Initializes algebraic states of the process from data file.
returnValue init (const Vector &x0_, const Vector &p_=emptyConstVector)
 Initializes the simulation with given start values and performs a number of consistency checks.
returnValue step ()
 Performs next step of the simulation.
returnValue step (double intermediateTime)
 Performs next steps of the simulation until given intermediate time.
returnValue run ()
 Runs the complete simulation.
uint getNY () const
 Returns number of process outputs.
uint getNU () const
 Returns number of feedback controls.
uint getNP () const
 Returns number of feedback parameters.
uint getNumSteps () const
 Returns current number of simulation steps.
returnValue getProcessOutput (Curve &_processOutput) const
 Returns continuous output of the process.
returnValue getSampledProcessOutput (VariablesGrid &_sampledProcessOutput)
 Returns output of the process at sampling instants.
returnValue getProcessDifferentialStates (VariablesGrid &_diffStates)
 Returns differential states of the process over the whole simulation.
returnValue getProcessAlgebraicStates (VariablesGrid &_algStates)
 Returns algebraic states of the process over the whole simulation.
returnValue getProcessIntermediateStates (VariablesGrid &_interStates)
 Returns intermediate states of the process over the whole simulation.
returnValue getFeedbackControl (Curve &_feedbackControl) const
 Returns feedback control signals of the controller over the whole simulation.
returnValue getFeedbackControl (VariablesGrid &_sampledFeedbackControl)
 Returns feedback control signals of the controller over the whole simulation.
returnValue getFeedbackParameter (Curve &_feedbackParameter) const
 Returns feedback parameter signals of the controller over the whole simulation.
returnValue getFeedbackParameter (VariablesGrid &_sampledFeedbackParameter)
 Returns feedback parameter signals of the controller over the whole simulation.
BooleanType isDefined () const
 Returns whether the block has been defined (i.e.
BlockName getName () const
 Returns name of the block.
double getSamplingTime () const
 Returns sampling time of the block.
returnValue setName (BlockName _name)
 Assigns new name to the block.
returnValue setSamplingTime (double _samplingTime)
 Assigns new sampling time to the block.
virtual int operator<< (PlotWindow &_window)
 Adds a window to the plot collection.
virtual int operator<< (LogRecord &_record)
 Adds a record to the log collection.
virtual int addPlotWindow (PlotWindow &_window)
 Adds a window to the plot collection.
returnValue addOptionsList ()
 Adds an additional OptionsList to internal array.
returnValue get (OptionsName name, int &value) const
 Returns value of an existing option item of integer type.
returnValue get (OptionsName name, double &value) const
 Returns value of an existing option item of double type.
returnValue get (uint idx, OptionsName name, int &value) const
 Returns value of an existing option item of integer type within the option list of given index.
returnValue get (uint idx, OptionsName name, double &value) const
 Returns value of an existing option item of double type within the option list of given index.
returnValue set (OptionsName name, int value)
 Sets value of an existing option item of integer type to a given value.
returnValue set (OptionsName name, double value)
 Sets value of an existing option item of double type to a given value.
returnValue set (uint idx, OptionsName name, int value)
 Sets value of an existing option item of integer type within the option list of given index to a given value.
returnValue set (uint idx, OptionsName name, double value)
 Sets value of an existing option item of double type within the option list of given index to a given value.
returnValue setOptions (const Options &arg)
 Assigns a given Options object to this object.
returnValue setOptions (uint idx, const Options &arg)
 Assigns the option list with given index of a given Options object to option list with given index of this object.
Options getOptions (uint idx) const
 Returns an Options object containing exactly the option list with given index.
uint getNumOptionsLists () const
 Returns total number of option lists.
returnValue printOptionsList () const
 Prints a list of all available options of all option lists.
returnValue printOptionsList (uint idx) const
 Prints a list of all available options of option list with given index.
int addLogRecord (LogRecord &record)
 Adds a record to the log collection.
returnValue getLogRecord (uint idx, LogRecord &_record) const
 Returns the record with given index from the log collection.
returnValue getLogRecord (LogRecord &_record) const
 Returns the record with certain index from the log collection.
returnValue updateLogRecord (LogRecord &_record) const
 Updates all items with the record given as argument.
returnValue getAll (LogName _name, MatrixVariablesGrid &values) const
 Gets all numerical values at all time instants of the item with given name.
returnValue getFirst (LogName _name, Matrix &firstValue) const
 Gets numerical value at first time instant of the item with given name.
returnValue getFirst (LogName _name, VariablesGrid &firstValue) const
 Gets numerical value at first time instant of the item with given name (converts internally used Matrix into VariablesGrid).
returnValue getLast (LogName _name, Matrix &lastValue) const
 Gets numerical value at last time instant of the item with given name.
returnValue getLast (LogName _name, VariablesGrid &lastValue) const
 Gets numerical value at last time instant of the item with given name (converts internally used Matrix into VariablesGrid).
uint getNumLogRecords () const
 Returns number of records contained in the log collection.
returnValue printLoggingInfo () const
 Prints information on all records and their items on screen.
returnValue printNumDoubles () const
returnValue getPlotWindow (uint idx, PlotWindow &_window) const
 Returns the window with given index from the plot collection.
returnValue getPlotWindow (PlotWindow &_window) const
 Returns the window with certain index from the plot collection.
virtual returnValue plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 Plots all windows of the plot collection, each one into a new figure.
virtual returnValue replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 Plots all windows of the plot collection, each one into the corresponding existing figure, if possible.
uint getNumPlotWindows () const
 Returns number of windows contained in the plot collection.

Protected Member Functions

virtual returnValue setupOptions ()
 Sets-up default options.
virtual returnValue setupLogging ()
 Sets-up default logging information.
double determineComputationalDelay (double controllerRuntime) const
 Returns computational delay used for simulation based on the actual real controller runtime and the options set by the user.
virtual returnValue getPlotDataFromMemberLoggings (PlotWindow &_window) const
 Copies all collected logging information required to plot a given window.
BlockStatus getStatus () const
 Gets current status of user interface.
returnValue setStatus (BlockStatus _status)
 Sets status of user interface.
returnValue clearOptionsList ()
 Clears all option lists from array.
BooleanType haveOptionsChanged () const
 Determines whether options of at least one option list have been modified.
BooleanType haveOptionsChanged (uint idx) const
 Determines whether options of option list with given index have been modified.
returnValue declareOptionsUnchanged ()
 Declares all options of all option lists to be unchanged.
returnValue declareOptionsUnchanged (uint idx)
 Declares all options of option list with given index to be unchanged.
returnValue addOption (OptionsName name, int value)
 Add an option item with a given integer default value to the all option lists.
returnValue addOption (OptionsName name, double value)
 Add an option item with a given double default value to the all option lists.
returnValue addOption (uint idx, OptionsName name, int value)
 Add an option item with a given integer default value to option list with given index.
returnValue addOption (uint idx, OptionsName name, double value)
 Add an option item with a given double default value to option list with given index.

Protected Attributes

double startTime
 Start time of the simulation.
double endTime
 End time of the simulation.
Processprocess
 Pointer to Process used for simulating the dynamic system.
Controllercontroller
 Pointer to Controller used for controlling the dynamic system.
SimulationClock simulationClock
 Clock for managing the simulation time.
Curve processOutput
 Curve storing output of the Process during the whole simulation.
Curve feedbackControl
 Curve storing control signals from the Controller during the whole simulation.
Curve feedbackParameter
 Curve storing parameter signals from the Controller during the whole simulation.
uint nSteps
 Number of simulation steps (loops) that have been performed.
BlockName name
 Name of the block, see documentation of BlockName for details.
double samplingTime
 Sampling time of the block.
RealClock realClock
 Clock for real time measurements to be optionally used in derived classes.
BlockStatus status
 Current status of the user interface, see documentation of BlockStatus for details.
OptionsList ** optionsList
 Array consisting of OptionsLists.
uint nOptionsList
 Total number of OptionsLists.
LogCollection logCollection
 Log collection containing a singly-linked list of log records.
int logIdx
 Index of a certain log record to be optionally used within derived classes.
PlotCollection plotCollection
 Plot collection containing a singly-linked list of plot windows.

Detailed Description

The class Simulation Environment is designed to run closed-loop simulations of dynamic systems.

In a standard setup the Simulation Environment consists of a Process and a Controller that are connected by signals. These two main members can be specified within the constructor or set afterwards by using the methods "setController" and "setProcess" , respectively.

A simulation has to be initialized by providing the initial value of the differential states of the dynamic system to be simulated. Afterwards, the simulation can be run at once or stepped until a given intermediate time.

Author:
Hans Joachim Ferreau, Boris Houska

Constructor & Destructor Documentation

SimulationEnvironment::SimulationEnvironment ( double  _startTime,
double  _endTime,
Process _process,
Controller _controller 
)
Parameters:
[in]_startTimeStart time of the simulation.
[in]_endTimeEnd time of the simulation.
[in]_processProcess used for simulating the dynamic system.
[in]_controllerController used for controlling the dynamic system.
Note:
Only pointers to Process and Controller are stored!

References BS_NOT_INITIALIZED, BT_TRUE, controller, endTime, SimulationBlock::isDefined(), nSteps, process, UserInteraction::setStatus(), setupLogging(), setupOptions(), and startTime.

Parameters:
[in]rhsRight-hand side object.

References controller, endTime, feedbackControl, feedbackParameter, nSteps, process, processOutput, simulationClock, and startTime.


Member Function Documentation

int Logging::addLogRecord ( LogRecord record) [inherited]
Parameters:
[in]recordRecord to be added.
Returns:
>= 0: index of added record,
-RET_LOG_COLLECTION_CORRUPTED

References LogCollection::addLogRecord(), and Logging::logCollection.

Referenced by AlgorithmicBase::addLogRecord(), UserInteraction::addPlotWindow(), Logging::operator<<(), IntegrationAlgorithm::setupLogging(), Controller::setupLogging(), and Process::setupLogging().

returnValue Options::addOption ( OptionsName  name,
int  value 
) [protected, inherited]
returnValue Options::addOption ( OptionsName  name,
double  value 
) [protected, inherited]
Parameters:
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References OptionsList::add(), Options::getNumOptionsLists(), Options::optionsList, SUCCESSFUL_RETURN, and uint.

returnValue Options::addOption ( uint  idx,
OptionsName  name,
int  value 
) [protected, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::add(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

returnValue Options::addOption ( uint  idx,
OptionsName  name,
double  value 
) [protected, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::add(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

Returns:
SUCCESSFUL_RETURN

References Options::nOptionsList, Options::optionsList, and SUCCESSFUL_RETURN.

Referenced by AlgorithmicBase::addOptionsList().

int UserInteraction::addPlotWindow ( PlotWindow _window) [virtual, inherited]

This function is overloaded here in order to add the plotDataRecord required to plot the window to the log collection.

Parameters:
[in]_windowWindow to be added.
Returns:
>= 0: index of added record,
-RET_PLOT_COLLECTION_CORRUPTED

Reimplemented from Plotting.

References Logging::addLogRecord(), PlotWindow::getPlotDataRecord(), and PlotWindow::setPlotDataRecord().

Referenced by UserInteraction::operator<<().

returnValue Options::clearOptionsList ( ) [protected, inherited]
returnValue Options::declareOptionsUnchanged ( ) [protected, inherited]
returnValue Options::declareOptionsUnchanged ( uint  idx) [protected, inherited]
Parameters:
[in]idxIndex of option list.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, OptionsList::declareOptionsUnchanged(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

double SimulationEnvironment::determineComputationalDelay ( double  controllerRuntime) const [protected]
Parameters:
[in]controllerRuntimeReal controller runtime.
Returns:
Computational delay used for simulation

References acadoMax(), ACADOWARNING, BT_TRUE, COMPUTATIONAL_DELAY_FACTOR, COMPUTATIONAL_DELAY_OFFSET, RET_COMPUTATIONAL_DELAY_NOT_SUPPORTED, and SIMULATE_COMPUTATIONAL_DELAY.

Referenced by step().

returnValue Options::get ( OptionsName  name,
int &  value 
) const [inherited]
returnValue Options::get ( OptionsName  name,
double &  value 
) const [inherited]
Parameters:
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS

References OptionsList::get(), and Options::optionsList.

returnValue Options::get ( uint  idx,
OptionsName  name,
int &  value 
) const [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::get(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

returnValue Options::get ( uint  idx,
OptionsName  name,
double &  value 
) const [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, OptionsList::get(), Options::getNumOptionsLists(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

BEGIN_NAMESPACE_ACADO returnValue Logging::getAll ( LogName  _name,
MatrixVariablesGrid values 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]valuesAll numerical values at all time instants of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getAll(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

Referenced by AlgorithmicBase::getAll(), getProcessAlgebraicStates(), getProcessDifferentialStates(), and getProcessIntermediateStates().

returnValue SimulationEnvironment::getFeedbackControl ( Curve _feedbackControl) const [inline]
Parameters:
[out]_feedbackControlFeedback control signals of the controller.
Returns:
SUCCESSFUL_RETURN

References feedbackControl, and SUCCESSFUL_RETURN.

returnValue SimulationEnvironment::getFeedbackControl ( VariablesGrid _sampledFeedbackControl) [inline]
Parameters:
[out]_sampledFeedbackControlFeedback control signals of the controller.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, BT_TRUE, Curve::discretize(), endTime, feedbackControl, getNumSteps(), Curve::isEmpty(), RET_MEMBER_NOT_INITIALISED, MatrixVariablesGrid::setType(), startTime, SUCCESSFUL_RETURN, and VT_CONTROL.

returnValue SimulationEnvironment::getFeedbackParameter ( Curve _feedbackParameter) const [inline]
Parameters:
[out]_feedbackParameterFeedback parameter signals of the controller.
Returns:
SUCCESSFUL_RETURN

References feedbackParameter, and SUCCESSFUL_RETURN.

returnValue SimulationEnvironment::getFeedbackParameter ( VariablesGrid _sampledFeedbackParameter) [inline]
Parameters:
[out]_sampledFeedbackParameterFeedback parameter signals of the controller.
Returns:
SUCCESSFUL_RETURN

References Curve::discretize(), endTime, EPS, feedbackParameter, getNumSteps(), MatrixVariablesGrid::setType(), startTime, SUCCESSFUL_RETURN, and VT_PARAMETER.

returnValue Logging::getFirst ( LogName  _name,
Matrix firstValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]firstValueNumerical value at first time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getFirst(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

Referenced by AlgorithmicBase::getFirst().

returnValue Logging::getFirst ( LogName  _name,
VariablesGrid firstValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]firstValueNumerical value at first time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getFirst(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

returnValue Logging::getLast ( LogName  _name,
Matrix lastValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]lastValueNumerical value at last time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getLast(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

Referenced by AlgorithmicBase::getLast().

returnValue Logging::getLast ( LogName  _name,
VariablesGrid lastValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]lastValueNumerical value at last time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References ACADOERROR, BT_TRUE, LogCollection::getLast(), LogCollection::hasNonEmptyItem(), Logging::logCollection, and RET_LOG_ENTRY_DOESNT_EXIST.

returnValue Logging::getLogRecord ( uint  idx,
LogRecord _record 
) const [inherited]
Parameters:
[in]idxIndex of desired record.
[out]_recordDesired record.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Logging::getNumLogRecords(), Logging::logCollection, RET_INDEX_OUT_OF_BOUNDS, and SUCCESSFUL_RETURN.

Referenced by Logging::getLogRecord().

returnValue Logging::getLogRecord ( LogRecord _record) const [inherited]

This index is not provided when calling the function, but rather obtained by using the alias index of the record. If the record is no alias record, the error RET_INDEX_OUT_OF_BOUNDS is thrown.

Parameters:
[out]_recordDesired record.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References LogRecord::getAliasIdx(), and Logging::getLogRecord().

BlockName SimulationBlock::getName ( ) const [inline, inherited]
Returns:
Name of the block

References SimulationBlock::name.

uint SimulationEnvironment::getNP ( ) const [inline]
Returns:
Number of feedback parameters

References controller, and Controller::getNP().

Referenced by init(), and step().

uint SimulationEnvironment::getNU ( ) const [inline]
Returns:
Number of feedback controls

References controller, and Controller::getNU().

Referenced by init(), and step().

uint Logging::getNumLogRecords ( ) const [inherited]
Returns:
Number of records

References LogCollection::getNumLogRecords(), and Logging::logCollection.

Referenced by Logging::getLogRecord().

uint Plotting::getNumPlotWindows ( ) const [inline, inherited]
Returns:
Number of windows

References PlotCollection::getNumPlotWindows(), and Plotting::plotCollection.

Referenced by Plotting::getPlotWindow().

Returns:
Current number of simulation steps

References nSteps.

Referenced by getFeedbackControl(), and getFeedbackParameter().

Returns:
Number of process outputs

References Process::getNY(), and process.

Referenced by init(), and step().

Options Options::getOptions ( uint  idx) const [inherited]
Parameters:
[in]idxIndex of option list.
Returns:
Options object containing exactly the option list with given index

References ACADOERROR, Options::getNumOptionsLists(), Options::Options(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

Referenced by AlgorithmicBase::getOptions().

returnValue UserInteraction::getPlotDataFromMemberLoggings ( PlotWindow _window) const [protected, virtual, inherited]

This function is overloaded within the UserInterface class to syncronize the logging information collected elsewhere within the algorithm with the one stored within the given window for plotting.

Parameters:
[in]_windowWindow to be plotted.
Returns:
SUCCESSFUL_RETURN

Reimplemented from Plotting.

References PlotWindow::getPlotDataRecord(), PlotWindow::setPlotDataRecord(), SUCCESSFUL_RETURN, and Logging::updateLogRecord().

returnValue Plotting::getPlotWindow ( uint  idx,
PlotWindow _window 
) const [inline, inherited]
Parameters:
[in]idxIndex of desired window.
[out]_windowDesired window.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Plotting::getNumPlotWindows(), Plotting::getPlotDataFromMemberLoggings(), Plotting::plotCollection, and RET_INDEX_OUT_OF_BOUNDS.

Referenced by Plotting::getPlotWindow(), Plotting::plot(), and Plotting::replot().

returnValue Plotting::getPlotWindow ( PlotWindow _window) const [inline, inherited]

This index is not provided when calling the function, but rather obtained by using the alias index of the window. If the window is no alias window, the error RET_INDEX_OUT_OF_BOUNDS is thrown.

Parameters:
[out]_windowDesired window.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS

References PlotWindow::getAliasIdx(), and Plotting::getPlotWindow().

returnValue SimulationEnvironment::getProcessOutput ( Curve _processOutput) const [inline]
Parameters:
[out]_processOutputContinuous output of the process.
Returns:
SUCCESSFUL_RETURN

References processOutput, and SUCCESSFUL_RETURN.

double SimulationBlock::getSamplingTime ( ) const [inline, inherited]
BlockStatus UserInteraction::getStatus ( ) const [protected, inherited]
BooleanType Options::haveOptionsChanged ( ) const [protected, inherited]
BooleanType Options::haveOptionsChanged ( uint  idx) const [protected, inherited]
Parameters:
[in]idxIndex of option list.
Returns:
BT_TRUE iff options have been modified,
BT_FALSE otherwise

References ACADOERROR, BT_FALSE, Options::getNumOptionsLists(), OptionsList::haveOptionsChanged(), Options::optionsList, and RET_INDEX_OUT_OF_BOUNDS.

Parameters:
[in]_xa_initInitial value for algebraic states.
Returns:
SUCCESSFUL_RETURN

References controller, VariablesGrid::getVector(), Controller::initializeAlgebraicStates(), Process::initializeAlgebraicStates(), process, and SUCCESSFUL_RETURN.

Referenced by initializeAlgebraicStates().

Parameters:
[in]fileNameName of file containing initial value for algebraic states.
Returns:
SUCCESSFUL_RETURN,
RET_FILE_CAN_NOT_BE_OPENED

References ACADOERROR, BT_TRUE, initializeAlgebraicStates(), Grid::isEmpty(), and RET_FILE_CAN_NOT_BE_OPENED.

int UserInteraction::operator<< ( PlotWindow _window) [virtual, inherited]

This function is overloaded here in order to add the plotDataRecord required to plot the window to the log collection.

Parameters:
[in]_windowWindow to be added.
Note:
This function is doing the same as the corresponding addPlotWindow member function and is introduced for syntax reasons only.
Returns:
>= 0: index of added record,
-RET_PLOT_COLLECTION_CORRUPTED

Reimplemented from Plotting.

References UserInteraction::addPlotWindow().

Referenced by UserInteraction::operator<<().

int UserInteraction::operator<< ( LogRecord _record) [virtual, inherited]
Parameters:
[in]recordRecord to be added.
Note:
This function tunnels the corresponding function of the Logging class. It is introduced to avoid syntax ambiguity only.
Returns:
>= 0: index of added record,
-RET_LOG_COLLECTION_CORRUPTED

Reimplemented from Logging.

References UserInteraction::operator<<().

SimulationEnvironment & SimulationEnvironment::operator= ( const SimulationEnvironment rhs)
Parameters:
[in]rhsRight-hand side object.

References controller, endTime, feedbackControl, feedbackParameter, nSteps, process, processOutput, simulationClock, and startTime.

returnValue Plotting::plot ( PlotFrequency  _frequency = PLOT_IN_ANY_CASE) [virtual, inherited]
Parameters:
[in]_frequencyFrequency determining at which time instants the window is to be plotted.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, PlotCollection::first, PlotWindow::getNext(), Plotting::getPlotWindow(), PlotWindow::plot(), PLOT_NEVER, Plotting::plotCollection, RET_PLOTTING_FAILED, and SUCCESSFUL_RETURN.

Referenced by IntegrationAlgorithm::evaluate(), and AlgorithmicBase::plot().

returnValue Logging::printLoggingInfo ( ) const [inherited]
returnValue Logging::printNumDoubles ( ) const [inherited]
returnValue Options::printOptionsList ( ) const [inherited]
returnValue Options::printOptionsList ( uint  idx) const [inherited]
Parameters:
[in]idxIndex of option list.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, OptionsList::printOptionsList(), and RET_INDEX_OUT_OF_BOUNDS.

returnValue Plotting::replot ( PlotFrequency  _frequency = PLOT_IN_ANY_CASE) [virtual, inherited]
Parameters:
[in]_frequencyFrequency determining at which time instants the window is to be plotted.
Returns:
SUCCESSFUL_RETURN

Reimplemented in Process.

References ACADOERROR, PlotCollection::first, PlotWindow::getNext(), Plotting::getPlotWindow(), PLOT_NEVER, Plotting::plotCollection, PlotWindow::replot(), RET_PLOTTING_FAILED, and SUCCESSFUL_RETURN.

Referenced by AlgorithmicBase::replot(), and RealTimeAlgorithm::solve().

Returns:
SUCCESSFUL_RETURN,
RET_BLOCK_NOT_READY,
RET_ENVIRONMENT_STEP_FAILED,
RET_COMPUTATIONAL_DELAY_TOO_BIG

References endTime, and step().

returnValue Options::set ( OptionsName  name,
int  value 
) [inherited]
Parameters:
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::optionsList, and OptionsList::set().

Referenced by AlgorithmicBase::set().

returnValue Options::set ( OptionsName  name,
double  value 
) [inherited]
Parameters:
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::optionsList, and OptionsList::set().

returnValue Options::set ( uint  idx,
OptionsName  name,
int  value 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, RET_INDEX_OUT_OF_BOUNDS, and OptionsList::set().

returnValue Options::set ( uint  idx,
OptionsName  name,
double  value 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, RET_INDEX_OUT_OF_BOUNDS, and OptionsList::set().

Parameters:
[in]_controllerNew controller block.
Note:
Only a pointer is stored!
Returns:
SUCCESSFUL_RETURN

References BS_NOT_INITIALIZED, BT_TRUE, controller, UserInteraction::getStatus(), SimulationBlock::isDefined(), UserInteraction::setStatus(), and SUCCESSFUL_RETURN.

returnValue SimulationBlock::setName ( BlockName  _name) [inline, inherited]
Parameters:
[in]_nameNew name.
Returns:
SUCCESSFUL_RETURN

References SimulationBlock::name, and SUCCESSFUL_RETURN.

Referenced by SimulationBlock::operator=(), and SimulationBlock::SimulationBlock().

returnValue Options::setOptions ( const Options arg) [inherited]
Parameters:
[in]argNew Options object to be assigned.
Note:
This routine is introduced only for convenience and is equivalent to the assignment operator.
Returns:
SUCCESSFUL_RETURN

References Options::operator=(), and SUCCESSFUL_RETURN.

Referenced by AlgorithmicBase::setOptions().

returnValue Options::setOptions ( uint  idx,
const Options arg 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]argOptions object containing the option list to be assigned.
Returns:
SUCCESSFUL_RETURN

References ACADOERROR, Options::getNumOptionsLists(), Options::optionsList, RET_INDEX_OUT_OF_BOUNDS, and SUCCESSFUL_RETURN.

Parameters:
[in]_processNew process block.
Note:
Only a pointer is stored!
Returns:
SUCCESSFUL_RETURN

References BS_NOT_INITIALIZED, BT_TRUE, SimulationBlock::isDefined(), process, UserInteraction::setStatus(), and SUCCESSFUL_RETURN.

returnValue SimulationBlock::setSamplingTime ( double  _samplingTime) [inline, inherited]
Parameters:
[in]_samplingTimeNew sampling time.
Returns:
SUCCESSFUL_RETURN,
RET_INVALID_ARGUMENTS

References ACADOERROR, acadoIsGreater(), BT_TRUE, RET_INVALID_ARGUMENTS, SimulationBlock::samplingTime, and SUCCESSFUL_RETURN.

Referenced by SimulationBlock::operator=(), and SimulationBlock::SimulationBlock().

returnValue UserInteraction::setStatus ( BlockStatus  _status) [protected, inherited]
Returns:
SUCCESSFUL_RETURN

Reimplemented from Logging.

References SUCCESSFUL_RETURN.

Referenced by SimulationEnvironment().

returnValue SimulationEnvironment::step ( double  intermediateTime)
Parameters:
[in]intermediateTimeIntermediate time.
Returns:
SUCCESSFUL_RETURN,
RET_BLOCK_NOT_READY,
RET_ENVIRONMENT_STEP_FAILED,
RET_COMPUTATIONAL_DELAY_TOO_BIG,
RET_INVALID_ARGUMENTS

References ACADOERROR, endTime, Clock::getTime(), RET_INVALID_ARGUMENTS, simulationClock, startTime, step(), and SUCCESSFUL_RETURN.

returnValue Logging::updateLogRecord ( LogRecord _record) const [inherited]

In doing so, it is checked for each item whether it is contained within one of of the records of the collection; and if so, the numerical values are copied into the argument record.

Parameters:
[in,out]_recordRecord to be updated
Returns:
SUCCESSFUL_RETURN

References Logging::logCollection, and LogCollection::updateLogRecord().

Referenced by UserInteraction::getPlotDataFromMemberLoggings(), and getSampledProcessOutput().


Member Data Documentation

double SimulationEnvironment::endTime [protected]
LogCollection Logging::logCollection [protected, inherited]
int Logging::logIdx [protected, inherited]
BlockName SimulationBlock::name [protected, inherited]
uint Options::nOptionsList [protected, inherited]
OptionsList** Options::optionsList [protected, inherited]
PlotCollection Plotting::plotCollection [protected, inherited]
RealClock SimulationBlock::realClock [protected, inherited]
double SimulationBlock::samplingTime [protected, inherited]
BlockStatus UserInteraction::status [protected, inherited]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines