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 00026 00027 00034 #include <acado/code_generation/integrators/radau_IIA1_export.hpp> 00035 00036 #include <acado/code_generation/export_algorithm_factory.hpp> 00037 00038 BEGIN_NAMESPACE_ACADO 00039 00040 00041 // 00042 // PUBLIC MEMBER FUNCTIONS: 00043 // 00044 00045 RadauIIA1Export::RadauIIA1Export( UserInteraction* _userInteraction, 00046 const std::string& _commonHeaderName 00047 ) : ImplicitRungeKuttaExport( _userInteraction,_commonHeaderName ) 00048 { 00049 numStages = 1; 00050 } 00051 00052 00053 RadauIIA1Export::RadauIIA1Export( const RadauIIA1Export& arg 00054 ) : ImplicitRungeKuttaExport( arg ) 00055 { 00056 numStages = 1; 00057 copy( arg ); 00058 } 00059 00060 00061 RadauIIA1Export::~RadauIIA1Export( ) 00062 { 00063 clear( ); 00064 } 00065 00066 00067 // PROTECTED: 00068 00069 // 00070 // Register the integrator 00071 // 00072 00073 IntegratorExport* createRadauIIA1Export( UserInteraction* _userInteraction, 00074 const std::string &_commonHeaderName) 00075 { 00076 DMatrix AA(1,1); 00077 DVector bb(1); 00078 DVector cc(1); 00079 00080 AA(0,0) = 1; 00081 00082 bb(0) = 1; 00083 00084 cc(0) = 1; 00085 00086 ImplicitRungeKuttaExport* integrator = createImplicitRungeKuttaExport(_userInteraction, _commonHeaderName); 00087 integrator->initializeButcherTableau(AA, bb, cc); 00088 00089 return integrator; 00090 } 00091 00092 CLOSE_NAMESPACE_ACADO 00093 00094 // end of file.