34 #ifndef ACADO_TOOLKIT_INTEGRATOR_BDF_HPP 35 #define ACADO_TOOLKIT_INTEGRATOR_BDF_HPP 322 virtual int getDim()
const;
389 double applyNewtonStep(
int index,
double *etakplus1,
const double *etak,
const DMatrix &J,
const double *FFF );
648 #include <acado/integrator/integrator_bdf.ipp> 651 #endif // ACADO_TOOLKIT_INTEGRATOR_BDF_HPP virtual int getNumberOfRejectedSteps() const
void determineRKEtaGForward()
void printBDFfinalResults()
void constructAll(const IntegratorBDF &arg)
double applyNewtonStep(int index, double *etakplus1, const double *etak, const DMatrix &J, const double *FFF)
returnValue setForwardSeed2(const DVector &xSeed, const DVector &pSeed, const DVector &uSeed, const DVector &wSeed)
Allows real time measurements based on the system's clock.
double determinePredictor(int number, BooleanType ini)
virtual Integrator * clone() const
Implements the backward-differentiation formula for integrating DAEs.
virtual returnValue freezeAll()
virtual returnValue stop()
void determineBDFEtaHBackward(int number)
virtual returnValue getProtectedForwardSensitivities(DMatrix *Dx, int order) const
virtual returnValue getProtectedX(DVector *xEnd) const
void logCurrentIntegratorStep(const DVector ¤tX=emptyConstVector, const DVector ¤tXA=emptyConstVector)
Discretizes a DifferentialEquation by means of single or multiple shooting.
void determineRKEtaGForward2()
Provides a time grid consisting of vector-valued optimization variables at each grid point...
virtual IntegratorBDF & operator=(const IntegratorBDF &arg)
Allows to pass back messages to the calling function.
void determineBDFEtaGForward(int number)
returnValue decomposeJacobian(int index, DMatrix &J)
Allows to conveniently handle (one-dimensional) grids consisting of time points.
void determineRKEtaHBackward()
virtual returnValue evaluate(const DVector &x0, const DVector &xa, const DVector &p, const DVector &u, const DVector &w, const Grid &t_)
void printRKIntermediateResults()
returnValue rk_start_solve(int stepnumber)
#define CLOSE_NAMESPACE_ACADO
Abstract base class for all kinds of algorithms for integrating differential equations (ODEs or DAEs)...
double * initialAlgebraicResiduum
void determineBDFEtaHBackward2(int number)
virtual returnValue evaluateSensitivities()
returnValue determineCorrector(int number, BooleanType ini)
double relaxationConstant
friend class SimulationByIntegration
static const DVector emptyConstVector
void copyBackward(DVector &Dx_x0, DVector &Dx_p, DVector &Dx_u, DVector &Dx_w, const DMatrix &div) const
virtual int getNumberOfSteps() const
virtual returnValue step(int number)
virtual returnValue unfreeze()
void determineRKEtaHBackward2()
void printBDFIntermediateResults()
virtual returnValue setProtectedForwardSeed(const DVector &xSeed, const DVector &pSeed, const DVector &uSeed, const DVector &wSeed, const int &order)
RealClock jacDecomposition
void initializeVariables()
void interpolate(int number_, DMatrix &div, VariablesGrid &poly)
void relaxAlgebraic(double *residuum, double timePoint)
virtual returnValue setProtectedBackwardSeed(const DVector &seed, const int &order)
void printBDFfinalResults2(DMatrix &div)
virtual returnValue getProtectedBackwardSensitivities(DVector &Dx_x0, DVector &Dx_p, DVector &Dx_u, DVector &Dx_w, int order) const
void prepareDividedDifferences(DMatrix &div)
virtual int getDim() const
virtual returnValue setBackwardSeed2(const DVector &seed)
void applyMTranspose(int index, double *seed1, DMatrix &J, double *seed2)
Allows to setup and evaluate transition functions based on SymbolicExpressions.
virtual double getStepSize() const
void initializeButcherTableau()
virtual int getDimX() const
virtual returnValue init(const DifferentialEquation &rhs_)
#define BEGIN_NAMESPACE_ACADO
virtual returnValue freezeMesh()
virtual returnValue setDxInitialization(double *dx0)
void determineBDFEtaGForward2(int number)
Allows to setup and evaluate differential equations (ODEs and DAEs) based on SymbolicExpressions.