Stan Math Library
4.9.0
Automatic Differentiation
|
For each type of Ode(with different rhs functor F and senstivity parameters), we allocate mem and workspace for idas.
This service manages the allocation/deallocation, so ODE systems only request service by injection.
ode | ode type |
lmm_type | IDAS solver type (BDF & ADAMS) |
butcher_tab | AKRODE Butcher table |
Definition at line 32 of file idas_service.hpp.
#include <idas_service.hpp>
Public Member Functions | |
idas_service (double t0, dae_type &dae) | |
Construct IDAS ODE mem & workspace. | |
~idas_service () | |
template<typename dae_t = dae_type, std::enable_if_t<!dae_t::use_fwd_sens > * = nullptr> | |
void | idas_sens_init (N_Vector *yys, N_Vector *yps, int ns, int n) |
template<typename dae_t = dae_type, std::enable_if_t< dae_t::use_fwd_sens > * = nullptr> | |
void | idas_sens_init (N_Vector *&yys, N_Vector *&yps, int ns, int n) |
template<typename dae_t = dae_type, std::enable_if_t< dae_t::is_var_yy0 &&dae_t::is_var_yp0 > * = nullptr> | |
void | set_init_sens (N_Vector *&yys, N_Vector *&yps, int n) |
template<typename dae_t = dae_type, std::enable_if_t< dae_t::is_var_yy0 &&(!dae_t::is_var_yp0)> * = nullptr> | |
void | set_init_sens (N_Vector *&yys, N_Vector *&yps, int n) |
template<typename dae_t = dae_type, std::enable_if_t<(!dae_t::is_var_yy0) &&dae_t::is_var_yp0 > * = nullptr> | |
void | set_init_sens (N_Vector *&yys, N_Vector *&yps, int n) |
template<typename dae_t = dae_type, std::enable_if_t<(!dae_t::is_var_yy0) &&(!dae_t::is_var_yp0)> * = nullptr> | |
void | set_init_sens (N_Vector *&yys, N_Vector *&yps, int n) |
Public Attributes | |
sundials::Context | sundials_context_ |
int | ns |
N_Vector | nv_yy |
N_Vector | nv_yp |
N_Vector * | nv_yys |
N_Vector * | nv_yps |
void * | mem |
SUNMatrix | A |
SUNLinearSolver | LS |