Click here to Skip to main content
15,896,467 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 130.1K   2.8K   34  
odeint v2 - Solving ordinary differential equations in C++
/*=============================================================================
    Copyright (c) 2004 Joel de Guzman
    http://spirit.sourceforge.net/

    Distributed under the Boost Software License, Version 1.0. (See accompany-
    ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/

/*=============================================================================
    Body defaults
=============================================================================*/

    body
    {
        margin: 1em;
        font-family: sans-serif;
    }

/*=============================================================================
    Paragraphs
=============================================================================*/

    p
    {
        text-align: left;
        font-size: 10pt;
        line-height: 1.15;
    }

/*=============================================================================
    Program listings
=============================================================================*/

    /* Code on paragraphs */
    p tt.computeroutput
    {
        font-size: 9pt;
    }

    pre.synopsis
    {
        font-size: 9pt;
        margin: 1pc 4% 0pc 4%;
        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
    }

    .programlisting,
    .screen
    {
        font-size: 9pt;
        display: block;
        margin: 1pc 4% 0pc 4%;
        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
    }

    /* Program listings in tables don't get borders */
    td .programlisting,
    td .screen
    {
        margin: 0pc 0pc 0pc 0pc;
        padding:  0pc 0pc 0pc 0pc;
    }

/*=============================================================================
    Headings
=============================================================================*/

    h1, h2, h3, h4, h5, h6
    {
        text-align: left;
        margin: 1em 0em 0.5em 0em;
        font-weight: bold;
    }

    h1 { font: 140% }
    h2 { font: bold 140% }
    h3 { font: bold 130% }
    h4 { font: bold 120% }
    h5 { font: italic 110% }
    h6 { font: italic 100% }

    /* Top page titles */
    title,
    h1.title,
    h2.title
    h3.title,
    h4.title,
    h5.title,
    h6.title,
    .refentrytitle
    {
        font-weight: bold;
        margin-bottom: 1pc;
    }

    h1.title { font-size: 140% }
    h2.title { font-size: 140% }
    h3.title { font-size: 130% }
    h4.title { font-size: 120% }
    h5.title { font-size: 110% }
    h6.title { font-size: 100% }

    .section h1
    {
        margin: 0em 0em 0.5em 0em;
        font-size: 140%;
    }

    .section h2 { font-size: 140% }
    .section h3 { font-size: 130% }
    .section h4 { font-size: 120% }
    .section h5 { font-size: 110% }
    .section h6 { font-size: 100% }

    /* Code on titles */
    h1 tt.computeroutput { font-size: 140% }
    h2 tt.computeroutput { font-size: 140% }
    h3 tt.computeroutput { font-size: 130% }
    h4 tt.computeroutput { font-size: 130% }	
    h5 tt.computeroutput { font-size: 130% }
    h6 tt.computeroutput { font-size: 130% }


/*=============================================================================
    Author
=============================================================================*/

    h3.author
    {
        font-size: 100%
    }

/*=============================================================================
    Lists
=============================================================================*/

    li
    {
        font-size: 10pt;
        line-height: 1.3;
    }

    /* Unordered lists */
    ul
    {
        text-align: left;
    }

    /* Ordered lists */
    ol
    {
        text-align: left;
    }

/*=============================================================================
    Links
=============================================================================*/

    a
    {
        text-decoration: none; /* no underline */
    }

    a:hover
    {
        text-decoration: underline;
    }

/*=============================================================================
    Spirit style navigation
=============================================================================*/

    .spirit-nav
    {
        text-align: right;
    }

    .spirit-nav a
    {
        color: white;
        padding-left: 0.5em;
    }

    .spirit-nav img
    {
        border-width: 0px;
    }

/*=============================================================================
    Copyright footer
=============================================================================*/
    .copyright-footer
    {
        text-align: right;
        font-size: 70%;
    }

    .copyright-footer p
    {
        text-align: right;
        font-size: 80%;
    }

/*=============================================================================
    Table of contents
=============================================================================*/

    .toc
    {
       margin: 1pc 4% 0pc 4%;
       padding: 0.1pc 1pc 0.1pc 1pc;
       font-size: 80%;
       line-height: 1.15;
    }

    .boost-toc
    {
       float: right;
       padding: 0.5pc;
    }
	
    /* Code on toc */
    .toc .computeroutput { font-size: 120% }
	
/*=============================================================================
    Tables
=============================================================================*/

    .table-title,
    div.table p.title
    {
        margin-left: 4%;
        padding-right: 0.5em;
        padding-left: 0.5em;
    }

    .informaltable table,
    .table table
    {
        width: 92%;
        margin-left: 4%;
        margin-right: 4%;
    }

    div.informaltable table,
    div.table table
    {
        padding: 4px;
    }

    /* Table Cells */
    div.informaltable table tr td,
    div.table table tr td
    {
        padding: 0.5em;
        text-align: left;
        font-size: 9pt;
    }

    div.informaltable table tr th,
    div.table table tr th
    {
        padding: 0.5em 0.5em 0.5em 0.5em;
        border: 1pt solid white;
        font-size: 80%;
    }

    table.simplelist
    {
        width: auto !important;
        margin: 0em !important;
        padding: 0em !important;
        border: none !important;
    }
    table.simplelist td
    {
        margin: 0em !important;
        padding: 0em !important;
        text-align: left !important;
        font-size: 9pt !important;
        border: none !important;
    }

/*=============================================================================
    Blurbs
=============================================================================*/

    div.note,
    div.tip,
    div.important,
    div.caution,
    div.warning,
    p.blurb
    {
        font-size: 9pt; /* A little bit smaller than the main text */
        line-height: 1.2;
        display: block;
        margin: 1pc 4% 0pc 4%;
        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
    }

    p.blurb img
    {
        padding: 1pt;
    }

/*=============================================================================
    Variable Lists
=============================================================================*/

    div.variablelist
    {
        margin: 1em 0;
    }

    /* Make the terms in definition lists bold */
    div.variablelist dl dt,
    span.term
    {
        font-weight: bold;
        font-size: 10pt;
    }

    div.variablelist table tbody tr td
    {
        text-align: left;
        vertical-align: top;
        padding: 0em 2em 0em 0em;
        font-size: 10pt;
        margin: 0em 0em 0.5em 0em;
        line-height: 1;
    }

    div.variablelist dl dt
    {
        margin-bottom: 0.2em;
    }

    div.variablelist dl dd
    {
        margin: 0em 0em 0.5em 2em;
        font-size: 10pt;
    }

    div.variablelist table tbody tr td p,
    div.variablelist dl dd p
    {
        margin: 0em 0em 0.5em 0em;
        line-height: 1;
    }

/*=============================================================================
    Misc
=============================================================================*/

    /* Title of books and articles in bibliographies */
    span.title
    {
        font-style: italic;
    }

    span.underline
    {
        text-decoration: underline;
    }

    span.strikethrough
    {
        text-decoration: line-through;
    }

    /* Copyright, Legal Notice */
    div div.legalnotice p
    {
        text-align: left
    }

/*=============================================================================
    Colors
=============================================================================*/

    @media screen
    {
        body {
            background-color: #FFFFFF;
            color: #000000;
        }

    /* Syntax Highlighting */
        .keyword        { color: #0000AA; }
        .identifier     { color: #000000; }
        .special        { color: #707070; }
        .preprocessor   { color: #402080; }
        .char           { color: teal; }
        .comment        { color: #800000; }
        .string         { color: teal; }
        .number         { color: teal; }
        .white_bkd      { background-color: #FFFFFF; }
        .dk_grey_bkd    { background-color: #999999; }

    /* Links */
        a, a .keyword, a .identifier, a .special, a .preprocessor
        a .char, a .comment, a .string, a .number
        {
            color: #005a9c;
        }

        a:visited, a:visited .keyword, a:visited .identifier,
        a:visited .special, a:visited .preprocessor a:visited .char,
        a:visited .comment, a:visited .string, a:visited .number
        {
            color: #9c5a9c;
        }

        h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
        h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
        h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
        {
            text-decoration: none; /* no underline */
            color: #000000;
        }

    /* Copyright, Legal Notice */
        .copyright
        {
            color: #666666;
            font-size: small;
        }

        div div.legalnotice p
        {
            color: #666666;
        }

    /* Program listing */
        pre.synopsis
        {
            border: 1px solid #DCDCDC;
        }

        .programlisting,
        .screen
        {
            border: 1px solid #DCDCDC;
        }

        td .programlisting,
        td .screen
        {
            border: 0px solid #DCDCDC;
        }

    /* Blurbs */
        div.note,
        div.tip,
        div.important,
        div.caution,
        div.warning,
        p.blurb
        {
            border: 1px solid #DCDCDC;
        }

    /* Table of contents */
        .toc
        {
            border: 1px solid #DCDCDC;
        }

    /* Tables */
        div.informaltable table tr td,
        div.table table tr td
        {
            border: 1px solid #DCDCDC;
        }

        div.informaltable table tr th,
        div.table table tr th
        {
            background-color: #F0F0F0;
            border: 1px solid #DCDCDC;
        }

        .copyright-footer
        {
            color: #8F8F8F;
        }

    /* Misc */
        span.highlight
        {
            color: #00A000;
        }
    }

    @media print
    {
    /* Links */
        a
        {
            color: black;
        }

        a:visited
        {
            color: black;
        }

        .spirit-nav
        {
            display: none;
        }

    /* Program listing */
        pre.synopsis
        {
            border: 1px solid gray;
        }

        .programlisting,
        .screen
        {
            border: 1px solid gray;
        }

        td .programlisting,
        td .screen
        {
            border: 0px solid #DCDCDC;
        }

    /* Table of contents */
        .toc
        {
            border: 1px solid gray;
        }

        .informaltable table,
        .table table
        {
            border: 1px solid gray;
            border-collapse: collapse;
        }

    /* Tables */
        div.informaltable table tr td,
        div.table table tr td
        {
            border: 1px solid gray;
        }

        div.informaltable table tr th,
        div.table table tr th
        {
            border: 1px solid gray;
        }

        table.simplelist tr td
        {
            border: none !important;
        }

    /* Misc */
        span.highlight
        {
            font-weight: bold;
        }
    }

/*=============================================================================
    Images
=============================================================================*/

    span.inlinemediaobject img
    {
        vertical-align: middle;
    }

/*==============================================================================
    Super and Subscript: style so that line spacing isn't effected, see
    http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341
==============================================================================*/

sup,
sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
	
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

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