34 lines
737 B
C++
34 lines
737 B
C++
/*
|
|
* lorenz.hpp
|
|
*
|
|
* Copyright 2011 Mario Mulansky
|
|
* Copyright 2012 Karsten Ahnert
|
|
*
|
|
* Distributed under the Boost Software License, Version 1.0.
|
|
* (See accompanying file LICENSE_1_0.txt or
|
|
* copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
*/
|
|
|
|
|
|
#ifndef LORENZ_HPP_
|
|
#define LORENZ_HPP_
|
|
|
|
#include <boost/array.hpp>
|
|
|
|
struct lorenz
|
|
{
|
|
template< class state_type >
|
|
void inline operator()( const state_type &x , state_type &dxdt , const double t ) const
|
|
{
|
|
const double sigma = 10.0;
|
|
const double R = 28.0;
|
|
const double b = 8.0 / 3.0;
|
|
dxdt[0] = sigma * ( x[1] - x[0] );
|
|
dxdt[1] = R * x[0] - x[1] - x[0] * x[2];
|
|
dxdt[2] = x[0]*x[1] - b * x[2];
|
|
}
|
|
};
|
|
|
|
|
|
#endif /* LORENZ_HPP_ */
|