From c246b37dbe38b16ded570b2280af8f21fb95618a Mon Sep 17 00:00:00 2001 From: Luc Maisonobe Date: Wed, 6 Jan 2016 13:20:25 +0100 Subject: [PATCH] Notify availability of field-based ode. --- src/site/xdoc/userguide/ode.xml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/site/xdoc/userguide/ode.xml b/src/site/xdoc/userguide/ode.xml index b2fe39536..3dc48bc35 100644 --- a/src/site/xdoc/userguide/ode.xml +++ b/src/site/xdoc/userguide/ode.xml @@ -68,12 +68,28 @@ its partial derivatives with respect to either the initial state or some parameters, these derivatives being handled be secondary ODE (see below for an example).

+

+ Two parallel APIs are available. The first is devoted to solve ode for which the integration free + variable t and the state y(t) are primitive double and primitive double array respectively. Starting + with version 3.6, a second API is devoted to solve ode for which the integration free + variable t and the state y(t) are RealFieldElement and RealFieldElement + array respectively. This allow for example users to integrate ode where the computation values + are for example DerivativeStructure elements, hence automatically computing + partial derivatives with respect to some equations parameters without a need to set up the + variational equations. Another example is to use Dfp elements in order to solve + ode with extended precision. As of 3.6, the API are slightly different, mainly in the way they + handle arrays. Both API will become more similar in 4.0 and future versions as the older + primitive double API will be modified to match the newer field API. This cannot be done in + 3.6 for compatibility reasons. +

The user should describe his problem in his own classes which should implement the FirstOrderDifferentialEquations - interface. Then he should pass it to the integrator he prefers among all the classes that implement + interface (or FieldFirstOrderDifferentialEquations + interface). Then he should pass it to the integrator he prefers among all the classes that implement the FirstOrderIntegrator - interface. The following example shows how to implement the simple two-dimensional problem: + interface (or the FieldFirstOrderIntegrator + interface). The following example shows how to implement the simple two-dimensional problem using double primitives: