Allows to export a tailored Runge-Kutta sensitivity propagation for fast model predictive control. More...
#include <rk_sensitivities_export.hpp>
Protected Member Functions | |
virtual returnValue | sensitivitiesImplicitSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportIndex &index3, const ExportIndex &tmp_index1, const ExportIndex &tmp_index2, const ExportVariable &Ah, const ExportVariable &Bh, const ExportVariable &det, bool STATES, uint number)=0 |
virtual returnValue | sensitivitiesInputSystem (ExportStatementBlock *block, const ExportIndex &index1, const ExportIndex &index2, const ExportVariable &Bh, bool STATES)=0 |
virtual 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)=0 |
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)=0 |
Allows to export a tailored Runge-Kutta sensitivity propagation for fast model predictive control.
The class RKSensitivitiesExport allows to export a tailored Runge-Kutta sensitivity propagation for fast model predictive control.
Definition at line 53 of file rk_sensitivities_export.hpp.
virtual returnValue RKSensitivitiesExport::sensitivitiesImplicitSystem | ( | ExportStatementBlock * | block, |
const ExportIndex & | index1, | ||
const ExportIndex & | index2, | ||
const ExportIndex & | index3, | ||
const ExportIndex & | tmp_index1, | ||
const ExportIndex & | tmp_index2, | ||
const ExportVariable & | Ah, | ||
const ExportVariable & | Bh, | ||
const ExportVariable & | det, | ||
bool | STATES, | ||
uint | number | ||
) | [protected, pure virtual] |
Exports the code needed to compute the sensitivities of the states defined by the nonlinear, fully implicit system.
[in] | block | The block to which the code will be exported. |
[in] | Ah | The variable containing the internal coefficients of the RK method, multiplied with the step size. |
[in] | Bh | The variable containing the weights of the RK method, multiplied with the step size. |
[in] | det | The variable that holds the determinant of the matrix in the linear system. |
[in] | STATES | True if the sensitivities with respect to a state are needed, false otherwise. |
[in] | number | This number defines the stage of the state with respect to which the sensitivities are computed. |
Implemented in DiagonallyImplicitRKExport, and ForwardIRKExport.
virtual returnValue RKSensitivitiesExport::sensitivitiesInputSystem | ( | ExportStatementBlock * | block, |
const ExportIndex & | index1, | ||
const ExportIndex & | index2, | ||
const ExportVariable & | Bh, | ||
bool | STATES | ||
) | [protected, pure virtual] |
Exports the code needed to compute the sensitivities of the states, defined by the linear input system.
[in] | block | The block to which the code will be exported. |
[in] | Bh | The variable containing the weights of the RK method, multiplied with the step size. |
[in] | STATES | True if the sensitivities with respect to a state are needed, false otherwise. |
Implemented in ForwardIRKExport.
virtual returnValue RKSensitivitiesExport::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 | ||
) | [protected, pure virtual] |
Exports the computation of the sensitivities for the continuous output.
[in] | block | The block to which the code will be exported. |
[in] | tmp_meas | The number of measurements in the current integration step (in case of an online grid). |
[in] | rk_tPrev | The time point, defining the beginning of the current integration step (in case of an online grid). |
[in] | time_tmp | A variable used for time transformations (in case of an online grid). |
[in] | STATES | True if the sensitivities with respect to a state are needed, false otherwise. |
[in] | base | The number of states in stages with respect to which the sensitivities have already been computed. |
Implemented in ForwardIRKExport.
virtual returnValue RKSensitivitiesExport::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 | ||
) | [protected, pure virtual] |
Exports the code needed to compute the sensitivities of the states, defined by the linear output system.
[in] | block | The block to which the code will be exported. |
[in] | Ah | The variable containing the internal coefficients of the RK method, multiplied with the step size. |
[in] | Bh | The variable containing the weights of the RK method, multiplied with the step size. |
[in] | STATES | True if the sensitivities with respect to a state are needed, false otherwise. |
[in] | number | This number defines the stage of the state with respect to which the sensitivities are computed. |
Implemented in ForwardIRKExport, and DiagonallyImplicitRKExport.