1[/============================================================================ 2 Boost.odeint 3 4 Copyright (c) 2009-2013 Karsten Ahnert 5 Copyright (c) 2009-2013 Mario Mulansky 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 Second Order System] 14 15[heading Description] 16 17The Second Order System concept models the algorithmic implementation of the rhs for steppers requirering the second order 18derivative, hence the r.h.s. of the ODE ['x'' = f(x,x',t)]. The only requirement for this concept is that it should be callable 19with a specific parameter syntax (see below). A Second Order System is typically implemented as a function or a functor. 20Systems fulfilling this concept are required by the Velocity Verlet method. 21 22[heading Notation] 23 24[variablelist 25 [[`System`] [A type that is a model of Second Order System]] 26 [[`Space`] [A type representing the state /x/ of the ODE]] 27 [[`Velocity`] [A type representing the derivative /x'/ of the ODE]] 28 [[`Acceleration`] [A type representing the second order derivative /x''/ of the ODE]] 29 [[`Time`] [A type representing the time]] 30 [[`sys`] [An object of type `System`]] 31 [[`x`] [Object of type `Space`]] 32 [[`v`] [Object of type `Velocity`]] 33 [[`a`] [Object of type `Acceleration`]] 34 [[`t`] [Object of type `Time`]] 35] 36 37[heading Valid expressions] 38 39[table 40 [[Name] [Expression] [Type] [Semantics]] 41 [[Calculate ['x'' := f(x,x',t)]] [`sys( x , v , a , t )`] [`void`] [Calculates f(x,x',t), the result is stored into a.] ] 42] 43 44[endsect]