summaryrefslogtreecommitdiff
path: root/libs/numeric/odeint/doc/html/boost_numeric_odeint/concepts/system.html
blob: ffeb4c44dea3bd0d3ab8b605fccf34457765542e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>System</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Numeric.Odeint">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="../concepts.html" title="Concepts">
<link rel="next" href="second_order_system.html" title="Second Order System">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../logo.jpg"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="second_order_system.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_numeric_odeint.concepts.system"></a><a class="link" href="system.html" title="System">System</a>
</h3></div></div></div>
<h5>
<a name="boost_numeric_odeint.concepts.system.h0"></a>
        <span class="phrase"><a name="boost_numeric_odeint.concepts.system.description"></a></span><a class="link" href="system.html#boost_numeric_odeint.concepts.system.description">Description</a>
      </h5>
<p>
        The System concept models the algorithmic implementation of the rhs. of the
        ODE <span class="emphasis"><em>x' = f(x,t)</em></span>. The only requirement for this concept
        is that it should be callable with a specific parameter syntax (see below).
        A System is typically implemented as a function or a functor. Systems fulfilling
        this concept are required by all Runge-Kutta steppers as well as the Bulirsch-Stoer
        steppers. However, symplectic and implicit steppers work with other system
        concepts, see <a class="link" href="symplectic_system.html" title="Symplectic System">Symplectic
        System</a> and <a class="link" href="implicit_system.html" title="Implicit System">Implicit
        System</a>.
      </p>
<h5>
<a name="boost_numeric_odeint.concepts.system.h1"></a>
        <span class="phrase"><a name="boost_numeric_odeint.concepts.system.notation"></a></span><a class="link" href="system.html#boost_numeric_odeint.concepts.system.notation">Notation</a>
      </h5>
<div class="variablelist">
<p class="title"><b></b></p>
<dl class="variablelist">
<dt><span class="term"><code class="computeroutput"><span class="identifier">System</span></code></span></dt>
<dd><p>
              A type that is a model of System
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">State</span></code></span></dt>
<dd><p>
              A type representing the state <span class="emphasis"><em>x</em></span> of the ODE
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Deriv</span></code></span></dt>
<dd><p>
              A type representing the derivative <span class="emphasis"><em>x'</em></span> of the ODE
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Time</span></code></span></dt>
<dd><p>
              A type representing the time
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">sys</span></code></span></dt>
<dd><p>
              An object of type <code class="computeroutput"><span class="identifier">System</span></code>
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">x</span></code></span></dt>
<dd><p>
              Object of type <code class="computeroutput"><span class="identifier">State</span></code>
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">dxdt</span></code></span></dt>
<dd><p>
              Object of type <code class="computeroutput"><span class="identifier">Deriv</span></code>
            </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">t</span></code></span></dt>
<dd><p>
              Object of type <code class="computeroutput"><span class="identifier">Time</span></code>
            </p></dd>
</dl>
</div>
<h5>
<a name="boost_numeric_odeint.concepts.system.h2"></a>
        <span class="phrase"><a name="boost_numeric_odeint.concepts.system.valid_expressions"></a></span><a class="link" href="system.html#boost_numeric_odeint.concepts.system.valid_expressions">Valid expressions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Expression
                </p>
              </th>
<th>
                <p>
                  Type
                </p>
              </th>
<th>
                <p>
                  Semantics
                </p>
              </th>
</tr></thead>
<tbody><tr>
<td>
                <p>
                  Calculate <span class="emphasis"><em>dx/dt := f(x,t)</em></span>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">sys</span><span class="special">(</span>
                  <span class="identifier">x</span> <span class="special">,</span>
                  <span class="identifier">dxdt</span> <span class="special">,</span>
                  <span class="identifier">t</span> <span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="keyword">void</span></code>
                </p>
              </td>
<td>
                <p>
                  Calculates f(x,t), the result is stored into dxdt
                </p>
              </td>
</tr></tbody>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2009-2012 Karsten
      Ahnert and Mario Mulansky<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="second_order_system.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>