irk_lifted_forward_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_EXPORT_HPP
36 #define ACADO_TOOLKIT_LIFTED_IRK_FORWARD_EXPORT_HPP
37 
39 
40 
42 
54 {
55  //
56  // PUBLIC MEMBER FUNCTIONS:
57  //
58 
59  public:
60 
66  ForwardLiftedIRKExport( UserInteraction* _userInteraction = 0,
67  const std::string& _commonHeaderName = ""
68  );
69 
75  );
76 
79  virtual ~ForwardLiftedIRKExport( );
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 
148 
149 
157 
158 
168  const ExportIndex& index1,
169  const ExportIndex& index2,
170  const ExportIndex& index3,
171  const ExportIndex& tmp_index,
172  const ExportIndex& k_index,
173  const ExportVariable& Ah,
174  const ExportVariable& C,
175  const ExportVariable& det,
176  bool DERIVATIVES = false );
177 
178 
191  const ExportIndex& index1,
192  const ExportIndex& index2,
193  const ExportIndex& tmp_index,
194  const ExportIndex& k_index,
195  const ExportVariable& _rk_A,
196  const ExportVariable& Ah,
197  const ExportVariable& C,
198  bool evaluateB,
199  bool DERIVATIVES );
200 
201 
211  const ExportIndex& index1,
212  const ExportIndex& index2,
213  const ExportVariable& Bh,
214  bool STATES );
215 
216 
229  const ExportIndex& index1,
230  const ExportIndex& index2,
231  const ExportIndex& index3,
232  const ExportIndex& tmp_index1,
233  const ExportIndex& tmp_index2,
234  const ExportIndex& tmp_index3,
235  const ExportIndex& k_index,
236  const ExportVariable& Ah );
237 
238 
248  const ExportIndex& k_index,
249  const ExportVariable& Ah,
250  const ExportVariable& C,
251  const ExportIndex& stage,
252  const ExportIndex& i,
253  const ExportIndex& tmp_index );
254 
255 
265  const ExportIndex& k_index,
266  const ExportVariable& Ah,
267  const ExportVariable& C,
268  const ExportIndex& stage,
269  const ExportIndex& i,
270  const ExportIndex& tmp_index );
271 
272 
281  const ExportIndex& k_index,
282  const ExportIndex& stage );
283 
284 
286  const ExportIndex& index1,
287  const ExportIndex& index2,
288  const ExportIndex& index3,
289  const ExportIndex& tmp_index1,
290  const ExportIndex& tmp_index2,
291  const ExportIndex& tmp_index3,
292  const ExportIndex& k_index,
293  const ExportVariable& Bh,
294  bool update );
295 
296 
298  const ExportIndex& index1,
299  const ExportIndex& index2,
300  const ExportIndex& index3,
301  const ExportIndex& tmp_index1,
302  const ExportIndex& tmp_index2 );
303 
304 
312  const ExportIndex& index1,
313  const ExportIndex& index2,
314  const ExportIndex& tmp_index );
315 
316 
328  const ExportIndex& index1,
329  const ExportIndex& index2,
330  const ExportIndex& index3,
331  const ExportIndex& index4,
332  const ExportIndex& tmp_index1,
333  const ExportIndex& tmp_index2,
334  const ExportVariable& Ah,
335  const ExportVariable& Bh,
336  bool STATES,
337  uint number );
338 
339 
352  const ExportIndex& index0,
353  const ExportIndex& index1,
354  const ExportIndex& index2,
355  const ExportIndex& tmp_index1,
356  const ExportIndex& tmp_index2,
357  const ExportIndex& tmp_index3,
358  const ExportVariable& tmp_meas,
359  const ExportVariable& time_tmp,
360  bool STATES,
361  uint base );
362 
363 
372  const ExportIndex& index,
373  const ExportIndex& index0,
374  const ExportIndex& index1,
375  const ExportIndex& index2,
376  const ExportIndex& index3,
377  const ExportIndex& tmp_index1,
378  const ExportIndex& tmp_index2,
379  const ExportIndex& tmp_index3,
380  const ExportIndex& tmp_index4,
381  const ExportVariable& tmp_meas );
382 
383 
389 
390 
391  protected:
392 
403 
415 
417 
418 };
419 
420 
422 
423 
424 #endif // ACADO_TOOLKIT_LIFTED_IRK_FORWARD_EXPORT_HPP
425 
426 // end of file.
virtual returnValue getDataDeclarations(ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const
Allows to export a tailored lifted implicit Runge-Kutta integrator with forward sensitivity generatio...
ForwardLiftedIRKExport(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
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 getFunctionDeclarations(ExportStatementBlock &declarations) const
virtual returnValue propagateOutputs(ExportStatementBlock *block, const ExportIndex &index, const ExportIndex &index0, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index1, const ExportIndex &tmp_index2, const ExportIndex &tmp_index3, const ExportIndex &tmp_index4, const ExportVariable &tmp_meas)
Allows to export code of an ACADO function.
virtual returnValue solveImplicitSystem(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index, const ExportIndex &k_index, const ExportVariable &Ah, const ExportVariable &C, const ExportVariable &det, bool DERIVATIVES=false)
Allows to pass back messages to the calling function.
Block< Derived > block(Index startRow, Index startCol, Index blockRows, Index blockCols)
Definition: BlockMethods.h:56
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Definition: acado_types.hpp:42
#define CLOSE_NAMESPACE_ACADO
virtual returnValue evaluateRhsSensitivities(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index1, const ExportIndex &tmp_index2)
virtual returnValue prepareInputSystem(ExportStatementBlock &code)
Defines a scalar-valued index variable to be used for exporting code.
virtual returnValue prepareOutputSystem(ExportStatementBlock &code)
virtual returnValue evaluateRhsImplicitSystem(ExportStatementBlock *block, const ExportIndex &k_index, const ExportIndex &stage)
Base class for all variables within the symbolic expressions family.
Definition: expression.hpp:56
ExportStruct
virtual returnValue sensitivitiesInputSystem(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportVariable &Bh, bool STATES)
ExportVariable getAuxVariable() const
Encapsulates all user interaction for setting options, logging data and plotting results.
virtual returnValue evaluateStatesImplicitSystem(ExportStatementBlock *block, const ExportIndex &k_index, const ExportVariable &Ah, const ExportVariable &C, const ExportIndex &stage, const ExportIndex &i, 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 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)
virtual returnValue updateImplicitSystem(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &tmp_index)
#define BEGIN_NAMESPACE_ACADO
returnValue sensitivitiesOutputs(ExportStatementBlock *block, const ExportIndex &index0, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &tmp_index1, const ExportIndex &tmp_index2, const ExportIndex &tmp_index3, const ExportVariable &tmp_meas, const ExportVariable &time_tmp, bool STATES, uint base)
Allows to export a tailored implicit Runge-Kutta integrator with forward sensitivity generation for f...
virtual returnValue setDifferentialEquation(const Expression &rhs)
virtual returnValue evaluateInexactMatrix(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &tmp_index, const ExportIndex &k_index, const ExportVariable &_rk_A, const ExportVariable &Ah, const ExportVariable &C, bool evaluateB, bool DERIVATIVES)
Allows to export code for a block of statements.
virtual returnValue sensitivitiesOutputSystem(ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &index4, const ExportIndex &tmp_index1, const ExportIndex &tmp_index2, const ExportVariable &Ah, const ExportVariable &Bh, bool STATES, uint number)
ForwardLiftedIRKExport & operator=(const ForwardLiftedIRKExport &arg)
Defines a matrix-valued variable to be used for exporting code.
ExportAcadoFunction rhs
virtual returnValue getCode(ExportStatementBlock &code)


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