• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * lorenz.hpp
3  *
4  * Copyright 2011 Mario Mulansky
5  * Copyright 2012 Karsten Ahnert
6  *
7  * Distributed under the Boost Software License, Version 1.0.
8  * (See accompanying file LICENSE_1_0.txt or
9  * copy at http://www.boost.org/LICENSE_1_0.txt)
10  */
11 
12 
13 #ifndef LORENZ_HPP_
14 #define LORENZ_HPP_
15 
16 #include <boost/array.hpp>
17 
18 struct lorenz
19 {
20     template< class state_type >
operator ()lorenz21     void inline operator()( const state_type &x , state_type &dxdt , const double t ) const
22     {
23         const double sigma = 10.0;
24         const double R = 28.0;
25         const double b = 8.0 / 3.0;
26         dxdt[0] = sigma * ( x[1] - x[0] );
27         dxdt[1] = R * x[0] - x[1] - x[0] * x[2];
28         dxdt[2] = x[0]*x[1] - b * x[2];
29     }
30 };
31 
32 
33 #endif /* LORENZ_HPP_ */
34