Public Member Functions | Protected Member Functions | Protected Attributes

Allows to export a tailored Runge-Kutta integrator for fast model predictive control. More...

#include <rk_export.hpp>

Inheritance diagram for RungeKuttaExport:
Inheritance graph
[legend]

List of all members.

Public Member Functions

BooleanType checkSymmetry (const DVector &_cc)
virtual returnValue getCode (ExportStatementBlock &code)=0
virtual returnValue getDataDeclarations (ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const =0
virtual returnValue getFunctionDeclarations (ExportStatementBlock &declarations) const =0
uint getNumStages ()
returnValue initializeButcherTableau (const DMatrix &_AA, const DVector &_bb, const DVector &_cc)
RungeKuttaExportoperator= (const RungeKuttaExport &arg)
 RungeKuttaExport (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
 RungeKuttaExport (const RungeKuttaExport &arg)
virtual returnValue setDifferentialEquation (const Expression &rhs)=0
returnValue setNARXmodel (const uint delay, const DMatrix &parms)
virtual returnValue setup ()=0
virtual returnValue setupOutput (const std::vector< Grid > outputGrids_, const std::vector< Expression > rhs)=0
virtual ~RungeKuttaExport ()

Protected Member Functions

virtual returnValue copy (const RungeKuttaExport &arg)

Protected Attributes

DMatrix AA
DVector bb
DVector cc
BooleanType is_symmetric
uint numStages
ExportVariable rk_kkk

Detailed Description

Allows to export a tailored Runge-Kutta integrator for fast model predictive control.

The class RungeKuttaExport allows to export a tailored Runge-Kutta integrator for fast model predictive control.

Author:
Rien Quirynen

Definition at line 54 of file rk_export.hpp.


Constructor & Destructor Documentation

BEGIN_NAMESPACE_ACADO RungeKuttaExport::RungeKuttaExport ( UserInteraction _userInteraction = 0,
const std::string &  _commonHeaderName = "" 
)

Default constructor.

Parameters:
[in]_userInteractionPointer to corresponding user interface.
[in]_commonHeaderNameName of common header file to be included.

Definition at line 45 of file rk_export.cpp.

Copy constructor (deep copy).

Parameters:
[in]argRight-hand side object.

Definition at line 52 of file rk_export.cpp.

Destructor.

Definition at line 59 of file rk_export.cpp.


Member Function Documentation

This routine checks the symmetry of the cc vector from the Butcher Tableau.

Definition at line 93 of file rk_export.cpp.

returnValue RungeKuttaExport::copy ( const RungeKuttaExport arg) [protected, virtual]

Copies all class members from given object.

Parameters:
[in]argRight-hand side object.
Returns:
SUCCESSFUL_RETURN

Definition at line 122 of file rk_export.cpp.

virtual returnValue RungeKuttaExport::getCode ( ExportStatementBlock code) [pure virtual]

Exports source code of the auto-generated integrator into the given directory.

Parameters:
[in]codeCode block containing the auto-generated integrator.
Returns:
SUCCESSFUL_RETURN

Implements IntegratorExport.

Implemented in ImplicitRungeKuttaExport, ExplicitRungeKuttaExport, ForwardIRKExport, ThreeSweepsERKExport, and AdjointERKExport.

virtual returnValue RungeKuttaExport::getDataDeclarations ( ExportStatementBlock declarations,
ExportStruct  dataStruct = ACADO_ANY 
) const [pure virtual]

Adds all data declarations of the auto-generated integrator to given list of declarations.

Parameters:
[in]declarationsList of declarations.
Returns:
SUCCESSFUL_RETURN

Implements IntegratorExport.

Implemented in ImplicitRungeKuttaExport, ExplicitRungeKuttaExport, ThreeSweepsERKExport, AdjointERKExport, and ForwardIRKExport.

virtual returnValue RungeKuttaExport::getFunctionDeclarations ( ExportStatementBlock declarations) const [pure virtual]

Adds all function (forward) declarations of the auto-generated integrator to given list of declarations.

Parameters:
[in]declarationsList of declarations.
Returns:
SUCCESSFUL_RETURN

Implements IntegratorExport.

Implemented in ImplicitRungeKuttaExport, ExplicitRungeKuttaExport, and ForwardIRKExport.

This routine returns the number of stages of the Runge-Kutta integrator that will be exported.

Definition at line 106 of file rk_export.cpp.

returnValue RungeKuttaExport::initializeButcherTableau ( const DMatrix _AA,
const DVector _bb,
const DVector _cc 
)

This routine initializes the matrices AA, bb and cc which form the Butcher Tableau.

Definition at line 78 of file rk_export.cpp.

RungeKuttaExport & RungeKuttaExport::operator= ( const RungeKuttaExport arg)

Assignment operator (deep copy).

Parameters:
[in]argRight-hand side object.

Definition at line 65 of file rk_export.cpp.

virtual returnValue RungeKuttaExport::setDifferentialEquation ( const Expression rhs) [pure virtual]

Assigns Differential Equation to be used by the integrator.

Parameters:
[in]rhsRight-hand side expression.
Returns:
SUCCESSFUL_RETURN

Implements IntegratorExport.

Implemented in ImplicitRungeKuttaExport, ExplicitRungeKuttaExport, ThreeSweepsERKExport, AdjointERKExport, and ForwardOverBackwardERKExport.

returnValue RungeKuttaExport::setNARXmodel ( const uint  delay,
const DMatrix parms 
) [virtual]

Sets a polynomial NARX model to be used by the integrator.

Parameters:
[in]delayThe delay for the states in the NARX model.
[in]parmsThe parameters defining the polynomial NARX model.
Returns:
SUCCESSFUL_RETURN

Implements IntegratorExport.

Definition at line 112 of file rk_export.cpp.

virtual returnValue RungeKuttaExport::setup ( ) [pure virtual]

Initializes export of a tailored integrator.

Returns:
SUCCESSFUL_RETURN

Implements IntegratorExport.

Implemented in DiagonallyImplicitRKExport, ThreeSweepsERKExport, AdjointERKExport, ForwardOverBackwardERKExport, ImplicitRungeKuttaExport, ForwardIRKExport, and ExplicitRungeKuttaExport.

virtual returnValue RungeKuttaExport::setupOutput ( const std::vector< Grid outputGrids_,
const std::vector< Expression rhs 
) [pure virtual]

Sets up the output with the grids for the different output functions.

Parameters:
outputGrids_The vector containing a grid for each output function.
rhsThe expressions corresponding the output functions.

Returns:
SUCCESSFUL_RETURN

Implements IntegratorExport.

Implemented in ExplicitRungeKuttaExport, and ImplicitRungeKuttaExport.


Member Data Documentation

This matrix defines the Runge-Kutta method to be exported.

Definition at line 191 of file rk_export.hpp.

Definition at line 192 of file rk_export.hpp.

These vectors define the Runge-Kutta method to be exported.

Definition at line 192 of file rk_export.hpp.

Boolean defining whether a certain RK method is symmetric or not, which is important for backward sensitivity propagation.

Definition at line 194 of file rk_export.hpp.

This is the number of stages for the Runge-Kutta method.

Definition at line 196 of file rk_export.hpp.

Variable containing intermediate results of the RK integrator.

Definition at line 189 of file rk_export.hpp.


The documentation for this class was generated from the following files:


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:25