flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
flexiblesusy::runge_kutta::RKF_integrator Class Reference

Class for integrating ODEs using a Runge-Kutta-Fehlberg method. More...

#include <rkf_integrator.hpp>

Collaboration diagram for flexiblesusy::runge_kutta::RKF_integrator:
Collaboration graph

Classes

class  DisabledOdeintError
 
struct  RKF_observer
 

Public Types

using Derivs = std::function< Eigen::ArrayXd(double, const Eigen::ArrayXd &)>
 

Public Member Functions

void operator() (double start, double end, Eigen::ArrayXd &pars, const Derivs &derivs, double tol) const
 Integrates the system over an interval. More...
 

Detailed Description

Class for integrating ODEs using a Runge-Kutta-Fehlberg method.

This class makes use of the 8th order Runge-Kutta-Fehlberg algorithm provided by the odeint library in Boost.

Definition at line 43 of file rkf_integrator.hpp.

Member Typedef Documentation

◆ Derivs

using flexiblesusy::runge_kutta::RKF_integrator::Derivs = std::function<Eigen::ArrayXd(double, const Eigen::ArrayXd&)>

Definition at line 45 of file rkf_integrator.hpp.

Member Function Documentation

◆ operator()()

void flexiblesusy::runge_kutta::RKF_integrator::operator() ( double  start,
double  end,
Eigen::ArrayXd &  pars,
const Derivs derivs,
double  tol 
) const

Integrates the system over an interval.

The vector of the initial values of the parameters is updated so that after calling this function, this vector contains the updated values of the parameters at the end-point of the integration.

Parameters
[in]startinitial value of the independent variable
[in]endfinal value of the independent variable
[in,out]parsinitial values of the parameters
[in]derivsfunction calculating the derivatives
[in]toldesired accuracy to use in integration step

Definition at line 134 of file rkf_integrator.cpp.


The documentation for this class was generated from the following files: