Squashed 'third_party/boostorg/odeint/' content from commit 6ff2719
Change-Id: If4892e29c1a5e6cf3a7aa51486a2725c251b0c7d
git-subtree-dir: third_party/boostorg/odeint
git-subtree-split: 6ff2719b6907b86596c3d43e88c1bcfdf29df560
diff --git a/doc/concepts/second_order_system.qbk b/doc/concepts/second_order_system.qbk
new file mode 100644
index 0000000..9ca9009
--- /dev/null
+++ b/doc/concepts/second_order_system.qbk
@@ -0,0 +1,44 @@
+[/============================================================================
+ Boost.odeint
+
+ Copyright (c) 2009-2013 Karsten Ahnert
+ Copyright (c) 2009-2013 Mario Mulansky
+
+ Use, modification and distribution is subject to 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)
+=============================================================================/]
+
+
+[section Second Order System]
+
+[heading Description]
+
+The Second Order System concept models the algorithmic implementation of the rhs for steppers requirering the second order
+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
+with a specific parameter syntax (see below). A Second Order System is typically implemented as a function or a functor.
+Systems fulfilling this concept are required by the Velocity Verlet method.
+
+[heading Notation]
+
+[variablelist
+ [[`System`] [A type that is a model of Second Order System]]
+ [[`Space`] [A type representing the state /x/ of the ODE]]
+ [[`Velocity`] [A type representing the derivative /x'/ of the ODE]]
+ [[`Acceleration`] [A type representing the second order derivative /x''/ of the ODE]]
+ [[`Time`] [A type representing the time]]
+ [[`sys`] [An object of type `System`]]
+ [[`x`] [Object of type `Space`]]
+ [[`v`] [Object of type `Velocity`]]
+ [[`a`] [Object of type `Acceleration`]]
+ [[`t`] [Object of type `Time`]]
+]
+
+[heading Valid expressions]
+
+[table
+ [[Name] [Expression] [Type] [Semantics]]
+ [[Calculate ['x'' := f(x,x',t)]] [`sys( x , v , a , t )`] [`void`] [Calculates f(x,x',t), the result is stored into a.] ]
+]
+
+[endsect]
\ No newline at end of file