Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark Baum committed Apr 7, 2020
1 parent be10e90 commit 0ca3665
Show file tree
Hide file tree
Showing 233 changed files with 591 additions and 523 deletions.
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = libode
PROJECT_NUMBER =
PROJECT_BRIEF = "A variety of explicit and implicit single-step ODE integrators as C++ classes"
PROJECT_BRIEF = "Easy to compile, fast ODE integrators as C++ classes"
PROJECT_LOGO =
OUTPUT_DIRECTORY = docs
CREATE_SUBDIRS = NO
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,13 @@ If these functions aren't enough, you can always write your own and call the `st

#### Flexibly Adapt the Time Step

The adaptive solvers automatically choose time steps by comparing the solution for a single step with that of an embedded, lower order solution for the step and computing an error estimate. The algorithm for this is well described in the books referenced above. If, however, there is another way that the time step should be chosen for a system, a new selection algorithm can be used with any of the solvers. If the virtual function `dt_adapt()` is overridden, it will be used to select the time step in the `solve_adaptive()` functions.
Some of the solvers have built-in adaptive time steppers. They automatically choose time steps by comparing the solution for a single step with that of an embedded, lower order solution for the step and computing an error estimate. The algorithm for this is well described in the books referenced above. If, however, there is another way that the time step should be chosen for a system, a new selection algorithm can be used with **any** of the solvers. If the virtual function `dt_adapt()` is overridden, it will be used to select the time step in the `solve_adaptive()` functions.

Rejecting an adaptive step is easy. During an adaptive solve, the virtual `is_rejected()` function is called after every step. If it returns `true`, the step is rejected. If it returns `false`, the step is accepted. Either way, `dt_adapt()` computes the next time step size and the solver proceeds. So, at minimum, an adaptive solver with time step rejection needs to have its `dt_adapt()` and `is_rejected()` functions implemented. The embedded Runge-Kutta methods have these functions built in, but they can be overridden.

If it's easier to compute the next time step and determine whether the step is rejected all at once, the virtual `adapt()` function can be implemented. It should store the next time step and store a boolean for rejection. Then `dt_adapt()` and `is_rejected()` simply return those stored values. This is how the embedded Runge-Kutta methods are structured because the same information determines the next step size and rejection/acceptance of the current step.

This structure is useful because allows the step size to be chosen any way you choose. Specifically though, it has been used to set the time step based on the stability threshold of PDE discretizations. For example, the time step of explicit methods for PDEs might be limited by the CFL condition for advection or the von Neumann condition for simple diffusion schemes. Prescribing the adaptive time step based on these conditions, then using `solve_adaptive()`, can provide huge speed boosts.
The point is to make time step selection totally flexible if the embedded Runge-Kutta algorithm isn't suitable. For example, this flexibility has been used to set the time step based on stability thresholds of PDE discretizations like the CFL condition for advection or the von Neumann condition for simple diffusion schemes. Prescribing the adaptive time step based on these conditions, then using `solve_adaptive()`, can provide huge speed boosts.

## Testing

Expand Down
2 changes: 1 addition & 1 deletion docs/annotated.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_backward_euler-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_backward_euler.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_gauss6-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_gauss6.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_geng5-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_geng5.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_lobatto_i_i_i_c6-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_lobatto_i_i_i_c6.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_radau_i_i_a5-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_radau_i_i_a5.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_s_d_i_r_k43-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_newton_s_d_i_r_k43.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_adaptive-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_adaptive.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_backward_euler-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_backward_euler.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_base-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
6 changes: 3 additions & 3 deletions docs/class_ode_base.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down Expand Up @@ -358,7 +358,7 @@
<div class="textblock"><p>Lowest base class for all solvers. </p>
<p>This is the deepest base class, upon which all integrators and other base classes are built. It provides basic variables like the solution array, the independent variable, and a string defining the integrator's name. It implements the solve_fixed function for integrating with a fixed time step. When constructing, it will allocate space for a Jacobian matrix if the need_jac flag is true. </p>

<p class="definition">Definition at line <a class="el" href="ode__base_8h_source.html#l00100">100</a> of file <a class="el" href="ode__base_8h_source.html">ode_base.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="ode__base_8h_source.html#l00124">124</a> of file <a class="el" href="ode__base_8h_source.html">ode_base.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aacdf86d5554b13574f5a7fe4cb6b7ccb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacdf86d5554b13574f5a7fe4cb6b7ccb">&#9670;&nbsp;</a></span>OdeBase()</h2>
Expand Down Expand Up @@ -654,7 +654,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aa72bd44eb4be0cc7af954ebc
<p>gets the current value of the independent variable </p>
<p>The value of the independent variable is provided as a convenience and is used internally to track integration progress, but is <b>not precisely accurate during steps</b>. Libode solves systems in autonomous form. If the independent variable is needed during a step, an extra variable must be added to the system of ODEs to represent it. The corresponding extra ODE is always one. For example, if the independent variable is t for time, the extra ODE states dt/dt = 1. </p>

<p class="definition">Definition at line <a class="el" href="ode__base_8h_source.html#l00131">131</a> of file <a class="el" href="ode__base_8h_source.html">ode_base.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="ode__base_8h_source.html#l00155">155</a> of file <a class="el" href="ode__base_8h_source.html">ode_base.h</a>.</p>

</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_do_pri54-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_do_pri54.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_do_pri87-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_do_pri87.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_e_r_k-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_e_r_k.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_embedded-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_embedded.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_euler-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_euler.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_g_r_k4_a-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_g_r_k4_a.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_gauss6-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_gauss6.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_geng5-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_geng5.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_i_r_k-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_i_r_k.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_lobatto_i_i_i_c6-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
2 changes: 1 addition & 1 deletion docs/class_ode_lobatto_i_i_i_c6.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libode
</div>
<div id="projectbrief">A variety of explicit and implicit single-step ODE integrators as C++ classes</div>
<div id="projectbrief">Easy to compile, fast ODE integrators as C++ classes</div>
</td>
</tr>
</tbody>
Expand Down
Loading

0 comments on commit 0ca3665

Please sign in to comment.