Scine::Kinetx  3.0.0
Kinetic models for reaction networks.
 All Classes Files Functions Variables Enumerations Pages
RungeKutta.h
Go to the documentation of this file.
1 
7 #ifndef KINETX_RUNGEKUTTA_H_
8 #define KINETX_RUNGEKUTTA_H_
9 
11 #include "Kinetx/Network.h"
12 
13 namespace Scine {
14 namespace Kinetx {
18 class RungeKutta : public IntegratorBase {
19  public:
24  RungeKutta(Network& net);
25 
26  void propagate(Eigen::VectorXd& concentrations, Eigen::VectorXd& yFlux, Eigen::VectorXd& rFlux,
27  Eigen::VectorXd& rForwardFlux, Eigen::VectorXd& rBackwardFlux, double& t, double& dt) const;
28 
29  protected:
36  virtual void propagateY(Eigen::VectorXd& concentrations, double& t, double& dt) const = 0;
37 };
38 
39 } /* namespace Kinetx */
40 } /* namespace Scine */
41 
42 #endif // KINETX_RUNGEKUTTA_H_
void propagate(Eigen::VectorXd &concentrations, Eigen::VectorXd &yFlux, Eigen::VectorXd &rFlux, Eigen::VectorXd &rForwardFlux, Eigen::VectorXd &rBackwardFlux, double &t, double &dt) const
Propagate the numerical integration by one time step.
Definition: RungeKutta.cpp:20
Base class for all Runge-Kutta methods/implementations.
Definition: RungeKutta.h:18
Definition: Integrator.h:72
Definition: Network.h:17
RungeKutta(Network &net)
Constructor.
Definition: RungeKutta.cpp:17
virtual void propagateY(Eigen::VectorXd &concentrations, double &t, double &dt) const =0
Propagate the concentration.