Imported Upstream version 1.57.0
[platform/upstream/boost.git] / libs / numeric / odeint / doc / concepts / second_order_system.qbk
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
17 The Second Order System concept models the algorithmic implementation of the rhs for steppers requirering the second order
18 derivative, 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
19 with a specific parameter syntax (see below). A Second Order System is typically implemented as a function or a functor.
20 Systems 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]