irk_lifted_fob_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_LIFTED_IRK_FORWARD_BACKWARD_EXPORT_HPP
36 #define ACADO_TOOLKIT_LIFTED_IRK_FORWARD_BACKWARD_EXPORT_HPP
37 
39 
40 
42 
54 {
55  //
56  // PUBLIC MEMBER FUNCTIONS:
57  //
58 
59  public:
60 
66  ForwardBackwardLiftedIRKExport( UserInteraction* _userInteraction = 0,
67  const std::string& _commonHeaderName = ""
68  );
69 
75  );
76 
80 
81 
87  );
88 
89 
94  virtual returnValue setup( );
95 
96 
104 
105 
113  ExportStruct dataStruct = ACADO_ANY
114  ) const;
115 
116 
124  ) const;
125 
126 
127 
135  );
136 
137 
138  protected:
139 
140 
150  const ExportIndex& k_index,
151  const ExportVariable& Ah,
152  const ExportVariable& C,
153  const ExportIndex& stage,
154  const ExportIndex& i,
155  const ExportIndex& tmp_index );
156 
157 
159  const ExportIndex& index1,
160  const ExportIndex& index2,
161  const ExportIndex& tmp_index );
162 
163 
165 
166 
167  returnValue updateHessianTerm( ExportStatementBlock* block, const ExportIndex& index1, const ExportIndex& index2 );
168 
169 
171  const ExportIndex& index1,
172  const ExportIndex& index2,
173  const ExportIndex& index3,
174  const ExportIndex& tmp_index1,
175  const ExportIndex& tmp_index2,
176  const ExportIndex& tmp_index3,
177  const ExportIndex& k_index,
178  const ExportVariable& Bh,
179  bool update );
180 
181 
194  const ExportIndex& index1,
195  const ExportIndex& index2,
196  const ExportIndex& index3,
197  const ExportIndex& tmp_index1,
198  const ExportIndex& tmp_index2,
199  const ExportIndex& tmp_index3,
200  const ExportIndex& k_index,
201  const ExportVariable& Ah );
202 
203 
209 
210 
211  protected:
212 
213 
218 
220 
223 
231 
232 };
233 
234 
236 
237 
238 #endif // ACADO_TOOLKIT_LIFTED_IRK_FORWARD_BACKWARD_EXPORT_HPP
239 
240 // end of file.
Allows to export a tailored lifted implicit Runge-Kutta integrator with forward sensitivity generatio...
Allows to export code of an ACADO function.
ExportVariable getAuxVariable() const
ForwardBackwardLiftedIRKExport(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
Allows to pass back messages to the calling function.
virtual returnValue getCode(ExportStatementBlock &code)
Block< Derived > block(Index startRow, Index startCol, Index blockRows, Index blockCols)
Definition: BlockMethods.h:56
returnValue updateHessianTerm(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2)
Allows to export a tailored lifted implicit Runge-Kutta integrator with forward-over-adjoint second o...
#define CLOSE_NAMESPACE_ACADO
Defines a scalar-valued index variable to be used for exporting code.
Expression returnLowerTriangular(const Expression &expr)
Base class for all variables within the symbolic expressions family.
Definition: expression.hpp:56
ExportStruct
virtual returnValue updateImplicitSystem(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &tmp_index)
virtual returnValue evaluateAllStatesImplicitSystem(ExportStatementBlock *block, const ExportIndex &k_index, const ExportVariable &Ah, const ExportVariable &C, const ExportIndex &stage, const ExportIndex &i, const ExportIndex &tmp_index)
virtual returnValue getFunctionDeclarations(ExportStatementBlock &declarations) const
Encapsulates all user interaction for setting options, logging data and plotting results.
virtual returnValue setDifferentialEquation(const Expression &rhs)
ForwardBackwardLiftedIRKExport & operator=(const ForwardBackwardLiftedIRKExport &arg)
#define BEGIN_NAMESPACE_ACADO
virtual returnValue allSensitivitiesImplicitSystem(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index1, const ExportIndex &tmp_index2, const ExportIndex &tmp_index3, const ExportIndex &k_index, const ExportVariable &Bh, bool update)
virtual returnValue evaluateRhsInexactSensitivities(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index1, const ExportIndex &tmp_index2, const ExportIndex &tmp_index3, const ExportIndex &k_index, const ExportVariable &Ah)
Allows to export code for a block of statements.
Defines a matrix-valued variable to be used for exporting code.
ExportAcadoFunction rhs
virtual returnValue getDataDeclarations(ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const


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