Click here to Skip to main content
15,881,600 members
Articles / Programming Languages / CUDA

odeint v2 - Solving ordinary differential equations in C++

Rate me:
Please Sign up or sign in to vote.
4.64/5 (18 votes)
19 Oct 2011CPOL19 min read 128.7K   2.8K   34  
odeint v2 - Solving ordinary differential equations in C++
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>System</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;boost.sandbox.numeric.odeint">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="../concepts.html" title="Concepts">
<link rel="next" href="symplectic_system.html" title="Symplectic_System">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="symplectic_system.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_sandbox_numeric_odeint.concepts.system"></a><a class="link" href="system.html" title="System">System</a>
</h3></div></div></div>
<a name="boost_sandbox_numeric_odeint.concepts.system.description"></a><h5>
<a name="id609648"></a>
        <a class="link" href="system.html#boost_sandbox_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 fullfilling
        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>
<a name="boost_sandbox_numeric_odeint.concepts.system.notation"></a><h5>
<a name="id609694"></a>
        <a class="link" href="system.html#boost_sandbox_numeric_odeint.concepts.system.notation">Notation</a>
      </h5>
<div class="variablelist">
<p class="title"><b></b></p>
<dl>
<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>
<a name="boost_sandbox_numeric_odeint.concepts.system.valid_expressions"></a><h5>
<a name="id609939"></a>
        <a class="link" href="system.html#boost_sandbox_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 -2011 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="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="symplectic_system.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Germany Germany
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions