CoolProp  6.6.1dev
An open-source fluid property and humid air property database
ODEIntegrators.h
Go to the documentation of this file.
1 #ifndef ODEINTEGRATORS_H
2 #define ODEINTEGRATORS_H
3 
4 #include <vector>
5 
6 namespace ODEIntegrators {
7 
10 {
11  public:
12  virtual std::vector<double> get_initial_array() const = 0;
13 
14  virtual void pre_step_callback() = 0;
15 
16  virtual void post_deriv_callback() = 0;
17 
18  virtual void post_step_callback(double t, double h, std::vector<double>& x) = 0;
19 
20  virtual bool premature_termination() = 0;
21 
22  virtual void derivs(double t, std::vector<double>& x, std::vector<double>& f) = 0;
23 };
24 
36 bool AdaptiveRK54(AbstractODEIntegrator& ode, double tmin, double tmax, double hmin, double hmax, double eps_allowed, double step_relax);
37 
38 } // namespace ODEIntegrators
39 
40 #endif