register_exported_integrators.cpp
Go to the documentation of this file.
00001 /*
00002  *    This file is part of ACADO Toolkit.
00003  *
00004  *    ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
00005  *    Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
00006  *    Milan Vukov, Rien Quirynen, KU Leuven.
00007  *    Developed within the Optimization in Engineering Center (OPTEC)
00008  *    under supervision of Moritz Diehl. All rights reserved.
00009  *
00010  *    ACADO Toolkit is free software; you can redistribute it and/or
00011  *    modify it under the terms of the GNU Lesser General Public
00012  *    License as published by the Free Software Foundation; either
00013  *    version 3 of the License, or (at your option) any later version.
00014  *
00015  *    ACADO Toolkit is distributed in the hope that it will be useful,
00016  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  *    Lesser General Public License for more details.
00019  *
00020  *    You should have received a copy of the GNU Lesser General Public
00021  *    License along with ACADO Toolkit; if not, write to the Free Software
00022  *    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00023  *
00024  */
00025 
00032 #include <acado/code_generation/integrators/register_exported_integrators.hpp>
00033 
00034 #include <acado/code_generation/integrators/dirk3_export.hpp>
00035 #include <acado/code_generation/integrators/dirk4_export.hpp>
00036 #include <acado/code_generation/integrators/dirk5_export.hpp>
00037 
00038 #include <acado/code_generation/integrators/discrete_export.hpp>
00039 #include <acado/code_generation/integrators/narx_export.hpp>
00040 
00041 #include <acado/code_generation/integrators/explicit_euler_export.hpp>
00042 #include <acado/code_generation/integrators/erk2_export.hpp>
00043 #include <acado/code_generation/integrators/erk3_export.hpp>
00044 #include <acado/code_generation/integrators/erk4_export.hpp>
00045 
00046 #include <acado/code_generation/integrators/gauss_legendre2_export.hpp>
00047 #include <acado/code_generation/integrators/gauss_legendre4_export.hpp>
00048 #include <acado/code_generation/integrators/gauss_legendre6_export.hpp>
00049 #include <acado/code_generation/integrators/gauss_legendre8_export.hpp>
00050 
00051 #include <acado/code_generation/integrators/radau_IIA1_export.hpp>
00052 #include <acado/code_generation/integrators/radau_IIA3_export.hpp>
00053 #include <acado/code_generation/integrators/radau_IIA5_export.hpp>
00054 
00055 BEGIN_NAMESPACE_ACADO
00056 
00057 //
00058 // Solver registration
00059 //
00060 
00061 RegisterExportedIntegrators::RegisterExportedIntegrators()
00062 {
00063         IntegratorExportFactory::instance().registerAlgorithm(INT_DIRK3, createDiagonallyIRK3Export);
00064         IntegratorExportFactory::instance().registerAlgorithm(INT_DIRK4, createDiagonallyIRK4Export);
00065         IntegratorExportFactory::instance().registerAlgorithm(INT_DIRK5, createDiagonallyIRK5Export);
00066 
00067         IntegratorExportFactory::instance().registerAlgorithm(INT_DT, createDiscreteTimeExport);
00068         IntegratorExportFactory::instance().registerAlgorithm(INT_NARX, createNARXExport);
00069 
00070         IntegratorExportFactory::instance().registerAlgorithm(INT_EX_EULER, createExplicitEulerExport);
00071         IntegratorExportFactory::instance().registerAlgorithm(INT_RK2, createExplicitRungeKutta2Export);
00072         IntegratorExportFactory::instance().registerAlgorithm(INT_RK3, createExplicitRungeKutta3Export);
00073         IntegratorExportFactory::instance().registerAlgorithm(INT_RK4, createExplicitRungeKutta4Export);
00074 
00075         IntegratorExportFactory::instance().registerAlgorithm(INT_IRK_GL2, createGaussLegendre2Export);
00076         IntegratorExportFactory::instance().registerAlgorithm(INT_IRK_GL4, createGaussLegendre4Export);
00077         IntegratorExportFactory::instance().registerAlgorithm(INT_IRK_GL6, createGaussLegendre6Export);
00078         IntegratorExportFactory::instance().registerAlgorithm(INT_IRK_GL8, createGaussLegendre8Export);
00079 
00080         IntegratorExportFactory::instance().registerAlgorithm(INT_IRK_RIIA1, createRadauIIA1Export);
00081         IntegratorExportFactory::instance().registerAlgorithm(INT_IRK_RIIA3, createRadauIIA3Export);
00082         IntegratorExportFactory::instance().registerAlgorithm(INT_IRK_RIIA5, createRadauIIA5Export);
00083 }
00084 
00085 CLOSE_NAMESPACE_ACADO


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Thu Aug 27 2015 11:59:54