Automatic Differentiation
 
Loading...
Searching...
No Matches
stan::math::idas_service< dae_type > Struct Template Reference

Detailed Description

template<typename dae_type>
struct stan::math::idas_service< dae_type >

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.

Template Parameters
odeode type
lmm_typeIDAS solver type (BDF & ADAMS)
butcher_tabAKRODE 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
 

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