autogenu-jupyter
An automatic code generator and the continuation/GMRES (C/GMRES) based numerical solvers for nonlinear MPC
Loading...
Searching...
No Matches
cgmres::detail::MultipleShootingNLP< OCP, N > Class Template Reference

#include <multiple_shooting_nlp.hpp>

Public Member Functions

 MultipleShootingNLP (const OCP &ocp, const Horizon &horizon)
 
 MultipleShootingNLP ()=default
 
 ~MultipleShootingNLP ()=default
 
template<typename VectorType >
void eval_fonc_hu (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, const std::array< Vector< nx >, N+1 > &x, const std::array< Vector< nx >, N+1 > &lmd, Vector< dim > &fonc_hu)
 
template<typename VectorType >
void eval_fonc_f (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, const std::array< Vector< nx >, N+1 > &x, std::array< Vector< nx >, N+1 > &fonc_f)
 
template<typename VectorType >
void retrive_x (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, std::array< Vector< nx >, N+1 > &x, const std::array< Vector< nx >, N+1 > &fonc_f)
 
template<typename VectorType >
void eval_fonc_hx (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, const std::array< Vector< nx >, N+1 > &x, const std::array< Vector< nx >, N+1 > &lmd, std::array< Vector< nx >, N+1 > &fonc_hx)
 
template<typename VectorType >
void retrive_lmd (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, const std::array< Vector< nx >, N+1 > &x, std::array< Vector< nx >, N+1 > &lmd, const std::array< Vector< nx >, N+1 > &fonc_hx)
 
void eval_fonc_hu (const Vector< dim > &solution, const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, Vector< dim > &fonc_hu) const
 
void eval_fonc_hdummy (const Vector< dim > &solution, const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, std::array< Vector< nub >, N > &fonc_hdummy) const
 
void eval_fonc_hmu (const Vector< dim > &solution, const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, std::array< Vector< nub >, N > &fonc_hmu) const
 
void retrive_dummy_update (const Vector< OCP::nuc *N > &solution, const std::array< Vector< OCP::nub >, N > &dummy, const std::array< Vector< OCP::nub >, N > &mu, const Vector< OCP::nuc *N > &solution_update, std::array< Vector< OCP::nub >, N > &dummy_update)
 
void retrive_mu_update (const Vector< OCP::nuc *N > &solution, const std::array< Vector< OCP::nub >, N > &dummy, const std::array< Vector< OCP::nub >, N > &mu, const Vector< OCP::nuc *N > &solution_update, std::array< Vector< OCP::nub >, N > &mu_update)
 
void clip_dummy (std::array< Vector< OCP::nub >, N > &dummy, const Scalar min)
 
void synchronize_ocp ()
 
const OCP & ocp () const
 
const Horizonhorizon () const
 

Static Public Member Functions

static void multiply_hdummy_inv (const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, const std::array< Vector< nub >, N > &fonc_hdummy, const std::array< Vector< nub >, N > &fonc_hmu, std::array< Vector< nub >, N > &fonc_hdummy_inv)
 
static void multiply_hmu_inv (const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, const std::array< Vector< nub >, N > &fonc_hdummy, const std::array< Vector< nub >, N > &fonc_hmu, const std::array< Vector< nub >, N > &fonc_hdummy_inv, std::array< Vector< nub >, N > &fonc_hmu_inv)
 

Static Public Attributes

static constexpr int nx = OCP::nx
 
static constexpr int nu = OCP::nu
 
static constexpr int nc = OCP::nc
 
static constexpr int nuc = nu + nc
 
static constexpr int nub = OCP::nub
 
static constexpr int dim = nuc * N
 

Constructor & Destructor Documentation

◆ MultipleShootingNLP() [1/2]

template<class OCP , int N>
cgmres::detail::MultipleShootingNLP< OCP, N >::MultipleShootingNLP ( const OCP &  ocp,
const Horizon horizon 
)
inline

◆ MultipleShootingNLP() [2/2]

template<class OCP , int N>
cgmres::detail::MultipleShootingNLP< OCP, N >::MultipleShootingNLP ( )
default

◆ ~MultipleShootingNLP()

template<class OCP , int N>
cgmres::detail::MultipleShootingNLP< OCP, N >::~MultipleShootingNLP ( )
default

Member Function Documentation

◆ clip_dummy()

template<class OCP , int N>
void cgmres::detail::MultipleShootingNLP< OCP, N >::clip_dummy ( std::array< Vector< OCP::nub >, N > &  dummy,
const Scalar  min 
)
inline

◆ eval_fonc_f()

template<class OCP , int N>
template<typename VectorType >
void cgmres::detail::MultipleShootingNLP< OCP, N >::eval_fonc_f ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
std::array< Vector< nx >, N+1 > &  fonc_f 
)
inline

◆ eval_fonc_hdummy()

template<class OCP , int N>
void cgmres::detail::MultipleShootingNLP< OCP, N >::eval_fonc_hdummy ( const Vector< dim > &  solution,
const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
std::array< Vector< nub >, N > &  fonc_hdummy 
) const
inline

◆ eval_fonc_hmu()

template<class OCP , int N>
void cgmres::detail::MultipleShootingNLP< OCP, N >::eval_fonc_hmu ( const Vector< dim > &  solution,
const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
std::array< Vector< nub >, N > &  fonc_hmu 
) const
inline

◆ eval_fonc_hu() [1/2]

template<class OCP , int N>
template<typename VectorType >
void cgmres::detail::MultipleShootingNLP< OCP, N >::eval_fonc_hu ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
const std::array< Vector< nx >, N+1 > &  lmd,
Vector< dim > &  fonc_hu 
)
inline

◆ eval_fonc_hu() [2/2]

template<class OCP , int N>
void cgmres::detail::MultipleShootingNLP< OCP, N >::eval_fonc_hu ( const Vector< dim > &  solution,
const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
Vector< dim > &  fonc_hu 
) const
inline

◆ eval_fonc_hx()

template<class OCP , int N>
template<typename VectorType >
void cgmres::detail::MultipleShootingNLP< OCP, N >::eval_fonc_hx ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
const std::array< Vector< nx >, N+1 > &  lmd,
std::array< Vector< nx >, N+1 > &  fonc_hx 
)
inline

◆ horizon()

template<class OCP , int N>
const Horizon & cgmres::detail::MultipleShootingNLP< OCP, N >::horizon ( ) const
inline

◆ multiply_hdummy_inv()

template<class OCP , int N>
static void cgmres::detail::MultipleShootingNLP< OCP, N >::multiply_hdummy_inv ( const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
const std::array< Vector< nub >, N > &  fonc_hdummy,
const std::array< Vector< nub >, N > &  fonc_hmu,
std::array< Vector< nub >, N > &  fonc_hdummy_inv 
)
inlinestatic

◆ multiply_hmu_inv()

template<class OCP , int N>
static void cgmres::detail::MultipleShootingNLP< OCP, N >::multiply_hmu_inv ( const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
const std::array< Vector< nub >, N > &  fonc_hdummy,
const std::array< Vector< nub >, N > &  fonc_hmu,
const std::array< Vector< nub >, N > &  fonc_hdummy_inv,
std::array< Vector< nub >, N > &  fonc_hmu_inv 
)
inlinestatic

◆ ocp()

template<class OCP , int N>
const OCP & cgmres::detail::MultipleShootingNLP< OCP, N >::ocp ( ) const
inline

◆ retrive_dummy_update()

template<class OCP , int N>
void cgmres::detail::MultipleShootingNLP< OCP, N >::retrive_dummy_update ( const Vector< OCP::nuc *N > &  solution,
const std::array< Vector< OCP::nub >, N > &  dummy,
const std::array< Vector< OCP::nub >, N > &  mu,
const Vector< OCP::nuc *N > &  solution_update,
std::array< Vector< OCP::nub >, N > &  dummy_update 
)
inline

◆ retrive_lmd()

template<class OCP , int N>
template<typename VectorType >
void cgmres::detail::MultipleShootingNLP< OCP, N >::retrive_lmd ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
std::array< Vector< nx >, N+1 > &  lmd,
const std::array< Vector< nx >, N+1 > &  fonc_hx 
)
inline

◆ retrive_mu_update()

template<class OCP , int N>
void cgmres::detail::MultipleShootingNLP< OCP, N >::retrive_mu_update ( const Vector< OCP::nuc *N > &  solution,
const std::array< Vector< OCP::nub >, N > &  dummy,
const std::array< Vector< OCP::nub >, N > &  mu,
const Vector< OCP::nuc *N > &  solution_update,
std::array< Vector< OCP::nub >, N > &  mu_update 
)
inline

◆ retrive_x()

template<class OCP , int N>
template<typename VectorType >
void cgmres::detail::MultipleShootingNLP< OCP, N >::retrive_x ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
std::array< Vector< nx >, N+1 > &  x,
const std::array< Vector< nx >, N+1 > &  fonc_f 
)
inline

◆ synchronize_ocp()

template<class OCP , int N>
void cgmres::detail::MultipleShootingNLP< OCP, N >::synchronize_ocp ( )
inline

Member Data Documentation

◆ dim

template<class OCP , int N>
constexpr int cgmres::detail::MultipleShootingNLP< OCP, N >::dim = nuc * N
staticconstexpr

◆ nc

template<class OCP , int N>
constexpr int cgmres::detail::MultipleShootingNLP< OCP, N >::nc = OCP::nc
staticconstexpr

◆ nu

template<class OCP , int N>
constexpr int cgmres::detail::MultipleShootingNLP< OCP, N >::nu = OCP::nu
staticconstexpr

◆ nub

template<class OCP , int N>
constexpr int cgmres::detail::MultipleShootingNLP< OCP, N >::nub = OCP::nub
staticconstexpr

◆ nuc

template<class OCP , int N>
constexpr int cgmres::detail::MultipleShootingNLP< OCP, N >::nuc = nu + nc
staticconstexpr

◆ nx

template<class OCP , int N>
constexpr int cgmres::detail::MultipleShootingNLP< OCP, N >::nx = OCP::nx
staticconstexpr

The documentation for this class was generated from the following file: