flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
rk.hpp File Reference

Integration of ODEs by Runge-Kutta. More...

#include <algorithm>
#include <cmath>
#include "logger.hpp"
#include "error.hpp"
Include dependency graph for rk.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  flexiblesusy
 
namespace  flexiblesusy::runge_kutta
 
namespace  flexiblesusy::runge_kutta::anonymous_namespace{rk.hpp}
 

Functions

template<typename ArrayType , typename Derivs , typename Stepper = decltype(runge_kutta::odeStepper<ArrayType,Derivs>)>
void flexiblesusy::runge_kutta::integrateOdes (ArrayType &ystart, double from, double to, double eps, double h1, double hmin, Derivs derivs, Stepper rkqs=runge_kutta::odeStepper< ArrayType, Derivs >, int max_steps=400)
 Organises integration of 1st order system of ODEs. More...
 
template<typename ArrayType , typename Derivs >
double flexiblesusy::runge_kutta::odeStepper (ArrayType &y, const ArrayType &dydx, double &x, double htry, double eps, const ArrayType &yscal, Derivs derivs, int &max_step_dir)
 organises the variable step-size for Runge-Kutta evolution More...
 
template<typename ArrayType , typename Derivs >
void flexiblesusy::runge_kutta::rungeKuttaStep (const ArrayType &y, const ArrayType &dydx, double x, double h, ArrayType &yout, ArrayType &yerr, Derivs derivs)
 
double flexiblesusy::runge_kutta::anonymous_namespace{rk.hpp}::sign (double a, double b) noexcept
 Returns |a| with sign of b in front. More...
 

Detailed Description

Integration of ODEs by Runge-Kutta.

Author
Ben Allanach, Alexander Voigt

The implementation of the Runge-Kutta routines have been derived from SOFTSUSY [hep-ph/0104145, Comp. Phys. Comm. 143 (2002) 305].

Definition in file rk.hpp.