1[/============================================================================ 2 Boost.odeint 3 4 Copyright 2011 Mario Mulansky 5 Copyright 2011-2012 Karsten Ahnert 6 7 Use, modification and distribution is subject to the Boost Software License, 8 Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 9 http://www.boost.org/LICENSE_1_0.txt) 10=============================================================================/] 11 12 13[section System] 14 15[heading Description] 16 17The System concept models the algorithmic implementation of the rhs. of the ODE ['x' = f(x,t)]. 18The only requirement for this concept is that it should be callable with a specific parameter syntax (see below). 19A System is typically implemented as a function or a functor. 20Systems fulfilling this concept are required by all Runge-Kutta steppers as well as the Bulirsch-Stoer steppers. 21However, symplectic and implicit steppers work with other system concepts, see __symplectic_system and __implicit_system. 22 23[heading Notation] 24 25[variablelist 26 [[`System`] [A type that is a model of System]] 27 [[`State`] [A type representing the state /x/ of the ODE]] 28 [[`Deriv`] [A type representing the derivative /x'/ of the ODE]] 29 [[`Time`] [A type representing the time]] 30 [[`sys`] [An object of type `System`]] 31 [[`x`] [Object of type `State`]] 32 [[`dxdt`] [Object of type `Deriv`]] 33 [[`t`] [Object of type `Time`]] 34] 35 36[heading Valid expressions] 37 38[table 39 [[Name] [Expression] [Type] [Semantics]] 40 [[Calculate ['dx/dt := f(x,t)]] [`sys( x , dxdt , t )`] [`void`] [Calculates f(x,t), the result is stored into dxdt] ] 41] 42 43[endsect]