irk_4stage_single_newton_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 
34 #ifndef ACADO_TOOLKIT_EXPORT_IRK_4STAGE_SINGLE_SOLVER_HPP
35 #define ACADO_TOOLKIT_EXPORT_IRK_4STAGE_SINGLE_SOLVER_HPP
36 
38 
39 
41 
42 
55 {
56  //
57  // PUBLIC MEMBER FUNCTIONS:
58  //
59  public:
60 
66  ExportIRK4StageSingleNewton( UserInteraction* _userInteraction = 0,
67  const std::string& _commonHeaderName = ""
68  );
69 
72 
73 
78  virtual returnValue setup( );
79 
81  returnValue setTransformations( const double _tau, const DVector& _low_tria, const DMatrix& _transf1, const DMatrix& _transf2, const DMatrix& _transf1_T, const DMatrix& _transf2_T );
82 
84  returnValue setStepSize( double _stepsize );
85 
86 
93  virtual returnValue performTransformation( ExportStatementBlock& code, const ExportVariable& from, const ExportVariable& to, const ExportVariable& transf, const ExportIndex& index );
94 
95 
103  ExportStruct dataStruct = ACADO_ANY
104  ) const;
105 
106 
114  ) const;
115 
116 
124  );
125 
126 
127  returnValue setImplicit( BooleanType _implicit );
128 
129 
130  //
131  // PROTECTED MEMBER FUNCTIONS:
132  //
133  protected:
134 
135 
136  const std::string getNameSubSolveFunction();
137  const std::string getNameSubSolveReuseFunction();
138  const std::string getNameSubSolveTransposeReuseFunction();
139 
140 
141  protected:
142 
144  double stepsize;
145  double tau;
151 
152  // DEFINITION OF THE EXPORTVARIABLES
168 };
169 
170 
172 
173 
174 #endif // ACADO_TOOLKIT_EXPORT_IRK_4STAGE_SINGLE_SOLVER_HPP
175 
176 // end of file.
Allows to export a tailored IRK solver based on Gaussian elimination of specific dimensions.
Allows to pass back messages to the calling function.
#define CLOSE_NAMESPACE_ACADO
returnValue setImplicit(BooleanType _implicit)
Defines a scalar-valued index variable to be used for exporting code.
returnValue setTransformations(const double _tau, const DVector &_low_tria, const DMatrix &_transf1, const DMatrix &_transf2, const DMatrix &_transf1_T, const DMatrix &_transf2_T)
virtual returnValue getCode(ExportStatementBlock &code)
virtual returnValue getDataDeclarations(ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const
ExportStruct
Allows to export Gaussian elimination for solving linear systems of specific dimensions.
Encapsulates all user interaction for setting options, logging data and plotting results.
Allows to export code of an arbitrary function.
virtual returnValue getFunctionDeclarations(ExportStatementBlock &declarations) const
returnValue setStepSize(double _stepsize)
#define BEGIN_NAMESPACE_ACADO
Allows to export code for a block of statements.
virtual returnValue performTransformation(ExportStatementBlock &code, const ExportVariable &from, const ExportVariable &to, const ExportVariable &transf, const ExportIndex &index)
ExportIRK4StageSingleNewton(UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="")
Defines a matrix-valued variable to be used for exporting code.


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