#include <ode_solver.h>
|
| OdeSolver (std::string method, double t_start, double rtol, double atol) |
|
| ~OdeSolver () |
|
void | reset (double t_start, double rtol, double atol) |
|
template<class Functor , class AfterStep > |
void | step_to (double t_stop, double &t, std::vector< double > &y, Functor &derivs, AfterStep &after_step) |
|
int | get_fn_evals () |
|
Definition at line 14 of file ode_solver.h.
◆ OdeSolver()
OdeSolver::OdeSolver |
( |
std::string |
method, |
|
|
double |
t_start, |
|
|
double |
rtol, |
|
|
double |
atol |
|
) |
| |
|
inline |
Definition at line 27 of file ode_solver.h.
31 throw std::runtime_error(
"Fatal: Unknown ODE method " + method);
33 reset(t_start, rtol, atol);
void reset(double t_start, double rtol, double atol)
◆ ~OdeSolver()
OdeSolver::~OdeSolver |
( |
| ) |
|
|
inline |
◆ get_fn_evals()
int OdeSolver::get_fn_evals |
( |
| ) |
|
|
inline |
◆ reset()
void OdeSolver::reset |
( |
double |
t_start, |
|
|
double |
rtol, |
|
|
double |
atol |
|
) |
| |
|
inline |
Definition at line 42 of file ode_solver.h.
48 delete sol; sol =
nullptr;
53 delete sol; sol =
nullptr;
struct OdeSolver::@0 control
◆ step_to()
template<class Functor , class AfterStep >
void OdeSolver::step_to |
( |
double |
t_stop, |
|
|
double & |
t, |
|
|
std::vector< double > & |
y, |
|
|
Functor & |
derivs, |
|
|
AfterStep & |
after_step |
|
) |
| |
|
inline |
Definition at line 60 of file ode_solver.h.
61 if (t_stop == t || y.size() == 0)
return;
65 sol->
Step_to(t_stop, t, y, derivs, after_step);
72 std::cerr <<
"LSODA Error: istate = " << sol->
get_istate() << std::endl;
void lsoda_update(Functor &derivs, AfterStep &after_step, const size_t neq, std::vector< double > &y, double *t, const double tout, void *const _data, double rtol=1e-6, double atol=1e-6)
struct OdeSolver::@0 control
void Step_to(double t_stop, double &x, container &y, functor &derivs, AfterStep &after_step)
◆ abs_tol
double OdeSolver::abs_tol = 1e-8 |
◆ control
struct { ... } OdeSolver::control |
◆ nfe_cumm
int OdeSolver::nfe_cumm = 0 |
|
private |
◆ rel_tol
double OdeSolver::rel_tol = 1e-8 |
◆ solver
void* OdeSolver::solver = nullptr |
|
private |
◆ type
The documentation for this class was generated from the following file: