Allows to export a tailored IRK solver based on Gaussian elimination of specific dimensions. More...
#include <irk_3stage_single_newton_export.hpp>
Public Member Functions | |
ExportIRK3StageSingleNewton (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="") | |
virtual returnValue | getCode (ExportStatementBlock &code) |
virtual returnValue | getDataDeclarations (ExportStatementBlock &declarations, ExportStruct dataStruct=ACADO_ANY) const |
virtual returnValue | getFunctionDeclarations (ExportStatementBlock &declarations) const |
virtual returnValue | performTransformation (ExportStatementBlock &code, const ExportVariable &from, const ExportVariable &to, const ExportVariable &transf, const ExportIndex &index) |
returnValue | setImplicit (BooleanType _implicit) |
returnValue | setStepSize (double _stepsize) |
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 | setup () |
virtual | ~ExportIRK3StageSingleNewton () |
Public Member Functions inherited from ExportGaussElim | |
returnValue | appendVariableNames (std::stringstream &string) |
ExportGaussElim (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="") | |
virtual ExportVariable | getGlobalExportVariable (const uint factor) const |
virtual | ~ExportGaussElim () |
Public Member Functions inherited from ExportLinearSolver | |
ExportLinearSolver (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName="") | |
uint | getDim () const |
const std::string | getNameSolveFunction () |
const std::string | getNameSolveReuseFunction () |
const std::string | getNameSolveTransposeReuseFunction () |
bool | getReuse () const |
bool | getTranspose () const |
bool | getUnrolling () const |
returnValue | init (const uint newDim, const bool &reuse=true, const bool &unrolling=false) |
returnValue | init (const uint newDim, const uint _nRightHandSides, const bool &reuse=true, const bool &unrolling=false) |
returnValue | init (const uint newDim, const bool &reuse, const bool &unrolling, const std::string &newId) |
returnValue | init (unsigned _nRows, unsigned _nCols, unsigned _nBacksolves, bool _reuse, bool _unroll, const std::string &_id) |
returnValue | init (unsigned _nRows, unsigned _nCols, unsigned _nBacksolves, unsigned _nRightHandSides, bool _reuse, bool _unroll, const std::string &_id) |
returnValue | setReuse (const bool &reuse) |
returnValue | setTranspose (const bool &transpose) |
returnValue | setUnrolling (const bool &unrolling) |
virtual | ~ExportLinearSolver () |
Public Member Functions inherited from ExportAlgorithm | |
ExportAlgorithm (UserInteraction *_userInteraction=0, const std::string &_commonHeaderName=std::string()) | |
uint | getN () const |
uint | getNDX () const |
uint | getNOD () const |
uint | getNP () const |
uint | getNU () const |
uint | getNX () const |
uint | getNXA () const |
uint | getNY () const |
uint | getNYN () const |
returnValue | setDimensions (uint _NX=0, uint _NU=0, uint _NP=0, uint _NI=0, uint _NOD=0) |
returnValue | setDimensions (uint _NX, uint _NDX, uint _NXA, uint _NU, uint _NP, uint _NI, uint _NOD) |
void | setNY (uint NY_) |
void | setNYN (uint NYN_) |
virtual | ~ExportAlgorithm () |
Public Member Functions inherited from AlgorithmicBase | |
int | addLogRecord (LogRecord &_record) |
returnValue | addOption (OptionsName name, int value) |
returnValue | addOption (OptionsName name, double value) |
returnValue | addOption (uint idx, OptionsName name, int value) |
returnValue | addOption (uint idx, OptionsName name, double value) |
returnValue | addOptionsList () |
AlgorithmicBase () | |
AlgorithmicBase (UserInteraction *_userInteraction) | |
AlgorithmicBase (const AlgorithmicBase &rhs) | |
returnValue | get (OptionsName name, int &value) const |
returnValue | get (OptionsName name, double &value) const |
returnValue | get (OptionsName name, std::string &value) const |
returnValue | get (uint idx, OptionsName name, int &value) const |
returnValue | get (uint idx, OptionsName name, double &value) const |
returnValue | getAll (LogName _name, MatrixVariablesGrid &values) const |
returnValue | getFirst (LogName _name, DMatrix &firstValue) const |
returnValue | getFirst (LogName _name, VariablesGrid &firstValue) const |
returnValue | getLast (LogName _name, DMatrix &lastValue) const |
returnValue | getLast (LogName _name, VariablesGrid &lastValue) const |
Options | getOptions (uint idx) const |
BooleanType | haveOptionsChanged () const |
BooleanType | haveOptionsChanged (uint idx) const |
AlgorithmicBase & | operator= (const AlgorithmicBase &rhs) |
returnValue | plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE) |
returnValue | printLogRecord (std::ostream &_stream, int idx, LogPrintMode _mode=PRINT_ITEM_BY_ITEM) const |
returnValue | replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE) |
returnValue | set (OptionsName name, int value) |
returnValue | set (OptionsName name, double value) |
returnValue | set (OptionsName name, const std::string &value) |
returnValue | set (uint idx, OptionsName name, int value) |
returnValue | set (uint idx, OptionsName name, double value) |
returnValue | setAll (LogName _name, const MatrixVariablesGrid &values) |
returnValue | setLast (LogName _name, int lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, double lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, const DVector &lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, const DMatrix &lastValue, double time=-INFTY) |
returnValue | setLast (LogName _name, const VariablesGrid &lastValue, double time=-INFTY) |
returnValue | setOptions (const Options &arg) |
returnValue | setOptions (uint idx, const Options &arg) |
virtual | ~AlgorithmicBase () |
Protected Member Functions | |
const std::string | getNameSubSolveFunction () |
const std::string | getNameSubSolveReuseFunction () |
const std::string | getNameSubSolveTransposeReuseFunction () |
Protected Member Functions inherited from ExportGaussElim | |
virtual returnValue | setupFactorization (ExportFunction &_solve, ExportVariable &_swap, ExportVariable &_determinant, const std::string &absF) |
virtual returnValue | setupSolve (ExportFunction &_solve, ExportFunction &_solveTriangular, ExportVariable &_swap, ExportVariable &_determinant, const std::string &absF) |
virtual returnValue | setupSolveReuse (ExportFunction &_solveReuse, ExportFunction &_solveTriangular, ExportVariable &_bPerm) |
virtual returnValue | setupSolveReuseComplete (ExportFunction &_solveReuse, ExportVariable &_bPerm) |
virtual returnValue | setupSolveReuseTranspose (ExportFunction &_solveReuse, ExportVariable &_bPerm) |
virtual returnValue | setupSolveUpperTriangular (ExportFunction &_solveTriangular) |
Allows to export a tailored IRK solver based on Gaussian elimination of specific dimensions.
The class ExportIRK3StageSolver allows to export a tailored IRK solver based on Gaussian elimination of specific dimensions.
Definition at line 54 of file irk_3stage_single_newton_export.hpp.
BEGIN_NAMESPACE_ACADO ExportIRK3StageSingleNewton::ExportIRK3StageSingleNewton | ( | UserInteraction * | _userInteraction = 0 , |
const std::string & | _commonHeaderName = "" |
||
) |
Default constructor.
@param[in] _userInteraction Pointer to corresponding user interface. @param[in] _commonHeaderName Name of common header file to be included.
Definition at line 44 of file irk_3stage_single_newton_export.cpp.
|
virtual |
Destructor.
Definition at line 53 of file irk_3stage_single_newton_export.cpp.
|
virtual |
Exports source code of the auto-generated algorithm into the given directory.
@param[in] code Code block containing the auto-generated algorithm. \return SUCCESSFUL_RETURN
Reimplemented from ExportGaussElim.
Definition at line 87 of file irk_3stage_single_newton_export.cpp.
|
virtual |
Adds all data declarations of the auto-generated algorithm to given list of declarations.
@param[in] declarations List of declarations. \return SUCCESSFUL_RETURN
Reimplemented from ExportGaussElim.
Definition at line 56 of file irk_3stage_single_newton_export.cpp.
|
virtual |
Adds all function (forward) declarations of the auto-generated algorithm to given list of declarations.
@param[in] declarations List of declarations. \return SUCCESSFUL_RETURN
Reimplemented from ExportGaussElim.
Definition at line 73 of file irk_3stage_single_newton_export.cpp.
|
protected |
Definition at line 361 of file irk_3stage_single_newton_export.cpp.
|
protected |
Definition at line 367 of file irk_3stage_single_newton_export.cpp.
|
protected |
Definition at line 373 of file irk_3stage_single_newton_export.cpp.
|
virtual |
Exports source code of the auto-generated algorithm into the given directory.
@param[in] code Code block containing the auto-generated algorithm. \return SUCCESSFUL_RETURN
Definition at line 242 of file irk_3stage_single_newton_export.cpp.
returnValue ExportIRK3StageSingleNewton::setImplicit | ( | BooleanType | _implicit | ) |
Definition at line 379 of file irk_3stage_single_newton_export.cpp.
returnValue ExportIRK3StageSingleNewton::setStepSize | ( | double | _stepsize | ) |
This routine sets the step size used in the IRK method.
Definition at line 354 of file irk_3stage_single_newton_export.cpp.
returnValue ExportIRK3StageSingleNewton::setTransformations | ( | const double | _tau, |
const DVector & | _low_tria, | ||
const DMatrix & | _transf1, | ||
const DMatrix & | _transf2, | ||
const DMatrix & | _transf1_T, | ||
const DMatrix & | _transf2_T | ||
) |
This routine sets the transformation matrices, defined by the inverse of the AA matrix.
Definition at line 334 of file irk_3stage_single_newton_export.cpp.
|
virtual |
Initializes code export into given file.
\return SUCCESSFUL_RETURN
Reimplemented from ExportGaussElim.
Definition at line 273 of file irk_3stage_single_newton_export.cpp.
|
protected |
Variable containing the matrix for the complete linear system.
Definition at line 153 of file irk_3stage_single_newton_export.hpp.
|
protected |
Variable containing the factorized matrix of the linear subsystems.
Definition at line 165 of file irk_3stage_single_newton_export.hpp.
|
protected |
Variable containing the right-hand side of the complete linear system and it will also contain the solution.
Definition at line 155 of file irk_3stage_single_newton_export.hpp.
|
protected |
Variable containing the right-hand side of the complete linear system and it will also contain the solution.
Definition at line 162 of file irk_3stage_single_newton_export.hpp.
|
protected |
Variable containing the right-hand side for the linear subsystems.
Definition at line 166 of file irk_3stage_single_newton_export.hpp.
|
protected |
Variable containing the right-hand side for the linear subsystems.
Definition at line 163 of file irk_3stage_single_newton_export.hpp.
|
protected |
Variable containing the matrix for the complete linear system.
Definition at line 154 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 143 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 146 of file irk_3stage_single_newton_export.hpp.
|
protected |
Variable containing the order of the rows.
Definition at line 156 of file irk_3stage_single_newton_export.hpp.
|
protected |
Function that solves the complete linear system.
Definition at line 158 of file irk_3stage_single_newton_export.hpp.
|
protected |
Function that solves a complete linear system with the same matrix, reusing previous results.
Definition at line 159 of file irk_3stage_single_newton_export.hpp.
|
protected |
Function that solves a complete linear system with the same matrix, reusing previous results.
Definition at line 161 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 144 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 145 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 147 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 149 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 148 of file irk_3stage_single_newton_export.hpp.
|
protected |
Definition at line 150 of file irk_3stage_single_newton_export.hpp.