Repository: commons-math
Updated Branches:
  refs/heads/field-ode 136f644e2 -> 70e48a02d


Added init methods for primary and secondary ODE.

This addition is for consistency with other user-implemented interfaces
as step handlers and event handlers. However, since the equations have
only the state as input and the produce derivatives as output, their
init method also only uses state, as derivatives can be computed only
after equations have been initialized, not before.

Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/70e48a02
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/70e48a02
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/70e48a02

Branch: refs/heads/field-ode
Commit: 70e48a02d0cbc862372ce21dca457c50fe2227b3
Parents: 136f644
Author: Luc Maisonobe <l...@apache.org>
Authored: Sun Nov 15 10:27:10 2015 +0100
Committer: Luc Maisonobe <l...@apache.org>
Committed: Sun Nov 15 10:27:10 2015 +0100

----------------------------------------------------------------------
 .../ode/FieldFirstOrderDifferentialEquations.java      | 12 ++++++++++++
 .../commons/math3/ode/FieldSecondaryEquations.java     | 13 +++++++++++++
 2 files changed, 25 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-math/blob/70e48a02/src/main/java/org/apache/commons/math3/ode/FieldFirstOrderDifferentialEquations.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math3/ode/FieldFirstOrderDifferentialEquations.java
 
b/src/main/java/org/apache/commons/math3/ode/FieldFirstOrderDifferentialEquations.java
index 63c14a5..887451b 100644
--- 
a/src/main/java/org/apache/commons/math3/ode/FieldFirstOrderDifferentialEquations.java
+++ 
b/src/main/java/org/apache/commons/math3/ode/FieldFirstOrderDifferentialEquations.java
@@ -51,6 +51,18 @@ public interface FieldFirstOrderDifferentialEquations<T 
extends RealFieldElement
      */
     int getDimension();
 
+    /** Initialize equations at the start of an ODE integration.
+     * <p>
+     * This method is called once at the start of the integration. It
+     * may be used by the equations to initialize some internal data
+     * if needed.
+     * </p>
+     * @param t0 value of the independent <I>time</I> variable at integration 
start
+     * @param y0 array containing the value of the state vector at integration 
start
+     * @param finalTime target time for the integration
+     */
+    void init(T t0, T[] y0, T finalTime);
+
     /** Get the current time derivative of the state vector.
      * @param t current value of the independent <I>time</I> variable
      * @param y array containing the current value of the state vector

http://git-wip-us.apache.org/repos/asf/commons-math/blob/70e48a02/src/main/java/org/apache/commons/math3/ode/FieldSecondaryEquations.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math3/ode/FieldSecondaryEquations.java 
b/src/main/java/org/apache/commons/math3/ode/FieldSecondaryEquations.java
index 073f7cf..32e0abe 100644
--- a/src/main/java/org/apache/commons/math3/ode/FieldSecondaryEquations.java
+++ b/src/main/java/org/apache/commons/math3/ode/FieldSecondaryEquations.java
@@ -47,6 +47,19 @@ public interface FieldSecondaryEquations<T extends 
RealFieldElement<T>> {
      */
     int getDimension();
 
+    /** Initialize equations at the start of an ODE integration.
+     * <p>
+     * This method is called once at the start of the integration. It
+     * may be used by the equations to initialize some internal data
+     * if needed.
+     * </p>
+     * @param t0 value of the independent <I>time</I> variable at integration 
start
+     * @param primary0 array containing the value of the primary state vector 
at integration start
+     * @param secondary0 array containing the value of the secondary state 
vector at integration start
+     * @param finalTime target time for the integration
+     */
+    void init(T t0, T[] primary0, T[] secondary0, T finalTime);
+
     /** Compute the derivatives related to the secondary state parameters.
      * @param t current value of the independent <I>time</I> variable
      * @param primary array containing the current value of the primary state 
vector

Reply via email to