rk_export.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
27 
35 #ifndef ACADO_TOOLKIT_RK_EXPORT_HPP
36 #define ACADO_TOOLKIT_RK_EXPORT_HPP
37 
39 
40 
42 
43 
55 {
56  //
57  // PUBLIC MEMBER FUNCTIONS:
58  //
59 
60  public:
61 
67  RungeKuttaExport( UserInteraction* _userInteraction = 0,
68  const std::string& _commonHeaderName = ""
69  );
70 
76  );
77 
80  virtual ~RungeKuttaExport( );
81 
87  );
88 
89 
94  virtual returnValue setup( ) = 0;
95 
96 
99  returnValue initializeButcherTableau( const DMatrix& _AA, const DVector& _bb, const DVector& _cc );
100 
101 
103  BooleanType checkSymmetry( const DVector& _cc );
104 
105 
113  virtual returnValue setDifferentialEquation( const Expression& rhs ) = 0;
114 
115 
123  returnValue setNARXmodel( const uint delay, const DMatrix& parms );
124 
125 
133  ExportStruct dataStruct = ACADO_ANY
134  ) const = 0;
135 
136 
144  ) const = 0;
145 
146 
147 
155  ) = 0;
156 
157 
160  uint getNumStages();
161 
162 
170  virtual returnValue setupOutput( const std::vector<Grid> outputGrids_,
171  const std::vector<Expression> rhs ) = 0;
172 
173 
174 
175  protected:
176 
183  virtual returnValue copy( const RungeKuttaExport& arg
184  );
185 
186 
187  protected:
188 
197 };
198 
199 
201 
202 
203 #endif // ACADO_TOOLKIT_RK_EXPORT_HPP
204 
205 // end of file.
Allows to export a tailored Runge-Kutta integrator for fast model predictive control.
Definition: rk_export.hpp:54
Allows to pass back messages to the calling function.
ExportVariable rk_kkk
Definition: rk_export.hpp:189
returnValue setNARXmodel(const uint delay, const DMatrix &parms)
Definition: rk_export.cpp:112
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Definition: acado_types.hpp:42
RungeKuttaExport(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
Definition: rk_export.cpp:45
#define CLOSE_NAMESPACE_ACADO
virtual returnValue setupOutput(const std::vector< Grid > outputGrids_, const std::vector< Expression > rhs)=0
virtual returnValue getCode(ExportStatementBlock &code)=0
Base class for all variables within the symbolic expressions family.
Definition: expression.hpp:56
ExportStruct
virtual returnValue copy(const RungeKuttaExport &arg)
Definition: rk_export.cpp:122
Encapsulates all user interaction for setting options, logging data and plotting results.
virtual returnValue setDifferentialEquation(const Expression &rhs)=0
virtual returnValue setup()=0
returnValue initializeButcherTableau(const DMatrix &_AA, const DVector &_bb, const DVector &_cc)
Definition: rk_export.cpp:78
Allows to export a tailored integrator for fast model predictive control.
virtual returnValue getFunctionDeclarations(ExportStatementBlock &declarations) const =0
virtual ~RungeKuttaExport()
Definition: rk_export.cpp:59
BooleanType checkSymmetry(const DVector &_cc)
Definition: rk_export.cpp:93
#define BEGIN_NAMESPACE_ACADO
RungeKuttaExport & operator=(const RungeKuttaExport &arg)
Definition: rk_export.cpp:65
Allows to export code for a block of statements.
virtual returnValue getDataDeclarations(ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const =0
Defines a matrix-valued variable to be used for exporting code.
ExportAcadoFunction rhs
BooleanType is_symmetric
Definition: rk_export.hpp:194


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:03