template<ARKODE_ERKTableID Table, bool DenseOutput, typename F, typename T_y0, typename T_t0, typename T_ts, typename... Args>
class stan::math::arkode_integrator< Table, DenseOutput, F, T_y0, T_t0, T_ts, Args >
Integrator interface for ARKODE's ERKStep explicit adaptive Runge-Kutta solver, using one of ERKStep's built-in embedded Butcher tables.
Step size control is configured to match Boost odeint's controlled_runge_kutta, which this integrator replaced.
- Template Parameters
-
| Table | ID of the built-in ERKStep Butcher table to use, e.g. ARKODE_CASH_KARP_6_4_5 or ARKODE_DORMAND_PRINCE_7_4_5 |
| DenseOutput | if true output times are interpolated between steps, otherwise steps are truncated to end on each output time |
| F | Type of ODE right hand side |
| T_y0 | Type of initial state |
| T_t0 | Type of scalar of initial time point |
| T_ts | Type of time-points where ODE solution is returned |
Definition at line 44 of file arkode_integrator.hpp.
|
| | arkode_integrator (const char *function_name, const F &f, const T_y0 &y0, T_t0 t0, const std::vector< T_ts > &ts, double relative_tolerance, double absolute_tolerance, long int max_num_steps, std::ostream *msgs, const Args &... args) |
| | Construct arkode_integrator object.
|
| |
| | ~arkode_integrator () |
| |
| std::vector< Eigen::Matrix< T_Return, Eigen::Dynamic, 1 > > | operator() () |
| | Solve the ODE initial value problem y' = f(t, y), y(t0) = y0 at a set of times, { t1, t2, t3, ... } using ARKODE's ERKStep embedded explicit Runge-Kutta solver with the Butcher table given by Table.
|
| |