Repository: Hipparchus-Math/hipparchus (java)

Issue:
rename RungeKutta(Field)Integrator

Pull request:
Rename RungeKutta(Field)Integrator
Closes #372

Patch:
diff --git a/hipparchus-ode/src/changes/changes.xml b/hipparchus-ode/src/changes/changes.xml
index 3c487f5ea..29aac0892 100644
--- a/hipparchus-ode/src/changes/changes.xml
+++ b/hipparchus-ode/src/changes/changes.xml
@@ -48,19 +48,20 @@ If the output is not quite correct, check for invisible trailing spaces!
   <properties>
     <title>Hipparchus ODE Release Notes</title>
   </properties>
-  <release version="4.0" date="TBD" description="TBD">
-    <action dev="vincent" type="update" issue="issues/285">
-      Migrated tests from JUnit 4 to JUnit 5
-    </action>
-  </release>
   <body>
     <release version="4.0" date="TBD" description="TBD">
+      <action dev="serrof" type="update" issue="issues/372">
+        Rename RungeKutta(Field)Integrator as FixedStepRungeKutta(Field)Integrator.
+      </action>
       <action dev="serrof" type="update" issue="issues/361">
         Rename DEFAULT_MAXCHECK as DEFAULT_MAX_CHECK.
       </action>
       <action dev="serrof" type="add" issue="issues/335">
         Add boolean for propagation direction in (Field)AdaptableInterval.
       </action>
+      <action dev="vincent" type="update" issue="issues/285">
+        Migrated tests from JUnit 4 to JUnit 5
+      </action>
     </release>
     <release version="3.1" date="2024-04-05" description="This is a maintenance release. It includes one
                                                           bugfixes and adds two features on existing integrators.">
diff --git a/hipparchus-ode/src/conf/spotbugs-exclude-filter.xml b/hipparchus-ode/src/conf/spotbugs-exclude-filter.xml
index 5fd6626fc..8e9c49323 100644
--- a/hipparchus-ode/src/conf/spotbugs-exclude-filter.xml
+++ b/hipparchus-ode/src/conf/spotbugs-exclude-filter.xml
@@ -113,7 +113,7 @@
     <Bug pattern="EI_EXPOSE_REP2" />
   </Match>
   <Match>
-    <Class name="org.hipparchus.ode.nonstiff.RungeKuttaFieldIntegrator"/>
+    <Class name="org.hipparchus.ode.nonstiff.FixedStepRungeKuttaFieldIntegrator"/>
     <Method name="getDefaultStep"/>
     <Bug pattern="EI_EXPOSE_REP" />
   </Match>
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ButcherArrayProvider.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ButcherArrayProvider.java
index e13453b4c..bf750e9e0 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ButcherArrayProvider.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ButcherArrayProvider.java
@@ -18,7 +18,7 @@
 package org.hipparchus.ode.nonstiff;
 
 /** This interface represents an integrator  based on Butcher arrays.
- * @see RungeKuttaIntegrator
+ * @see FixedStepRungeKuttaIntegrator
  * @see EmbeddedRungeKuttaIntegrator
  */
 public interface ButcherArrayProvider {
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegrator.java
index 61f9b8873..932b5c250 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegrator.java
@@ -53,7 +53,7 @@ import org.hipparchus.util.MathArrays;
  */
 
 public class ClassicalRungeKuttaFieldIntegrator<T extends CalculusFieldElement<T>>
-    extends RungeKuttaFieldIntegrator<T> {
+    extends FixedStepRungeKuttaFieldIntegrator<T> {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = ClassicalRungeKuttaIntegrator.METHOD_NAME;
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegrator.java
index fb2320b03..4e0330323 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegrator.java
@@ -43,7 +43,7 @@ import org.hipparchus.ode.ODEStateAndDerivative;
  * @see LutherIntegrator
  */
 
-public class ClassicalRungeKuttaIntegrator extends RungeKuttaIntegrator {
+public class ClassicalRungeKuttaIntegrator extends FixedStepRungeKuttaIntegrator {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = "classical Runge-Kutta";
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerFieldIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerFieldIntegrator.java
index fb6f68dee..aac97a167 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerFieldIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerFieldIntegrator.java
@@ -56,7 +56,7 @@ import org.hipparchus.util.MathArrays;
  * @param <T> the type of the field elements
  */
 
-public class EulerFieldIntegrator<T extends CalculusFieldElement<T>> extends RungeKuttaFieldIntegrator<T> {
+public class EulerFieldIntegrator<T extends CalculusFieldElement<T>> extends FixedStepRungeKuttaFieldIntegrator<T> {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = EulerIntegrator.METHOD_NAME;
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerIntegrator.java
index b8a0ebafa..60a11eb52 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/EulerIntegrator.java
@@ -47,7 +47,7 @@ import org.hipparchus.ode.ODEStateAndDerivative;
  * @see LutherIntegrator
  */
 
-public class EulerIntegrator extends RungeKuttaIntegrator {
+public class EulerIntegrator extends FixedStepRungeKuttaIntegrator {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = "Euler";
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ExplicitRungeKuttaIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ExplicitRungeKuttaIntegrator.java
index 1e6b51e6f..6216086b4 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ExplicitRungeKuttaIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ExplicitRungeKuttaIntegrator.java
@@ -40,7 +40,7 @@ import org.hipparchus.ode.OrdinaryDifferentialEquation;
  * </pre>
  *
  * @see ButcherArrayProvider
- * @see RungeKuttaIntegrator
+ * @see FixedStepRungeKuttaIntegrator
  * @see EmbeddedRungeKuttaIntegrator
  * @since 3.1
  */
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldButcherArrayProvider.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldButcherArrayProvider.java
index 4828bf1a8..b7f421829 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldButcherArrayProvider.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldButcherArrayProvider.java
@@ -25,7 +25,7 @@ package org.hipparchus.ode.nonstiff;
 import org.hipparchus.CalculusFieldElement;
 
 /** This interface represents an integrator  based on Butcher arrays.
- * @see RungeKuttaFieldIntegrator
+ * @see FixedStepRungeKuttaFieldIntegrator
  * @see EmbeddedRungeKuttaFieldIntegrator
  * @param <T> the type of the field elements
  */
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldExplicitRungeKuttaIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldExplicitRungeKuttaIntegrator.java
index a58e634b5..6e9de3451 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldExplicitRungeKuttaIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FieldExplicitRungeKuttaIntegrator.java
@@ -43,7 +43,7 @@ import org.hipparchus.util.MathArrays;
  * </pre>
  *
  * @see FieldButcherArrayProvider
- * @see RungeKuttaFieldIntegrator
+ * @see FixedStepRungeKuttaFieldIntegrator
  * @see EmbeddedRungeKuttaFieldIntegrator
  * @param <T> the type of the field elements
  * @since 3.1
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FixedStepRungeKuttaFieldIntegrator.java
similarity index 97%
rename from hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldIntegrator.java
rename to hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FixedStepRungeKuttaFieldIntegrator.java
index 9411b8c7b..92acf866b 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FixedStepRungeKuttaFieldIntegrator.java
@@ -57,7 +57,7 @@ import org.hipparchus.util.MathArrays;
  * @param <T> the type of the field elements
  */
 
-public abstract class RungeKuttaFieldIntegrator<T extends CalculusFieldElement<T>>
+public abstract class FixedStepRungeKuttaFieldIntegrator<T extends CalculusFieldElement<T>>
     extends AbstractFieldIntegrator<T> implements FieldExplicitRungeKuttaIntegrator<T> {
 
     /** Time steps from Butcher array (without the first zero). */
@@ -91,7 +91,7 @@ public abstract class RungeKuttaFieldIntegrator<T extends CalculusFieldElement<T
      * @param name name of the method
      * @param step integration step
      */
-    protected RungeKuttaFieldIntegrator(final Field<T> field, final String name, final T step) {
+    protected FixedStepRungeKuttaFieldIntegrator(final Field<T> field, final String name, final T step) {
         super(field, name);
         this.c    = getC();
         this.a    = getA();
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FixedStepRungeKuttaIntegrator.java
similarity index 97%
rename from hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaIntegrator.java
rename to hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FixedStepRungeKuttaIntegrator.java
index c5439cbda..7c08c8a1a 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/FixedStepRungeKuttaIntegrator.java
@@ -50,7 +50,8 @@ import org.hipparchus.util.FastMath;
  * @see MidpointIntegrator
  */
 
-public abstract class RungeKuttaIntegrator extends AbstractIntegrator implements ExplicitRungeKuttaIntegrator {
+public abstract class FixedStepRungeKuttaIntegrator extends AbstractIntegrator
+        implements ExplicitRungeKuttaIntegrator {
 
     /** Time steps from Butcher array (without the first zero). */
     private final double[] c;
@@ -70,7 +71,7 @@ public abstract class RungeKuttaIntegrator extends AbstractIntegrator implements
      * @param name name of the method
      * @param step integration step
      */
-    protected RungeKuttaIntegrator(final String name, final double step) {
+    protected FixedStepRungeKuttaIntegrator(final String name, final double step) {
         super(name);
         this.c    = getC();
         this.a    = getA();
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillFieldIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillFieldIntegrator.java
index d7117e52d..ee5d8d4d3 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillFieldIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillFieldIntegrator.java
@@ -54,7 +54,7 @@ import org.hipparchus.util.MathArrays;
  */
 
 public class GillFieldIntegrator<T extends CalculusFieldElement<T>>
-    extends RungeKuttaFieldIntegrator<T> {
+    extends FixedStepRungeKuttaFieldIntegrator<T> {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = GillIntegrator.METHOD_NAME;
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillIntegrator.java
index b8e8920cc..62a93b7f3 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/GillIntegrator.java
@@ -45,7 +45,7 @@ import org.hipparchus.util.FastMath;
  * @see LutherIntegrator
  */
 
-public class GillIntegrator extends RungeKuttaIntegrator {
+public class GillIntegrator extends FixedStepRungeKuttaIntegrator {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = "Gill";
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherFieldIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherFieldIntegrator.java
index 50916a196..b24133d9a 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherFieldIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherFieldIntegrator.java
@@ -63,7 +63,7 @@ import org.hipparchus.util.MathArrays;
  */
 
 public class LutherFieldIntegrator<T extends CalculusFieldElement<T>>
-    extends RungeKuttaFieldIntegrator<T> {
+    extends FixedStepRungeKuttaFieldIntegrator<T> {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = LutherIntegrator.METHOD_NAME;
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherIntegrator.java
index 508fd2f82..df1b0d2dc 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/LutherIntegrator.java
@@ -54,7 +54,7 @@ import org.hipparchus.util.FastMath;
  * @see ThreeEighthesIntegrator
  */
 
-public class LutherIntegrator extends RungeKuttaIntegrator {
+public class LutherIntegrator extends FixedStepRungeKuttaIntegrator {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = "Luther";
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegrator.java
index 5166041cb..4f18c6772 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegrator.java
@@ -50,7 +50,7 @@ import org.hipparchus.util.MathArrays;
  * @param <T> the type of the field elements
  */
 
-public class MidpointFieldIntegrator<T extends CalculusFieldElement<T>> extends RungeKuttaFieldIntegrator<T> {
+public class MidpointFieldIntegrator<T extends CalculusFieldElement<T>> extends FixedStepRungeKuttaFieldIntegrator<T> {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = MidpointIntegrator.METHOD_NAME;
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointIntegrator.java
index c0861cb26..8b22ad3e6 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/MidpointIntegrator.java
@@ -41,7 +41,7 @@ import org.hipparchus.ode.ODEStateAndDerivative;
  *
  */
 
-public class MidpointIntegrator extends RungeKuttaIntegrator {
+public class MidpointIntegrator extends FixedStepRungeKuttaIntegrator {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = "midpoint";
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldStateInterpolator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldStateInterpolator.java
index 5b846faac..b9f010a4e 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldStateInterpolator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldStateInterpolator.java
@@ -32,7 +32,7 @@ import org.hipparchus.util.MathArrays;
 /** This class represents an interpolator over the last step during an
  * ODE integration for Runge-Kutta and embedded Runge-Kutta integrators.
  *
- * @see RungeKuttaFieldIntegrator
+ * @see FixedStepRungeKuttaFieldIntegrator
  * @see EmbeddedRungeKuttaFieldIntegrator
  *
  * @param <T> the type of the field elements
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaStateInterpolator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaStateInterpolator.java
index 19e0e7aeb..b9d8d6dc1 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaStateInterpolator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/RungeKuttaStateInterpolator.java
@@ -24,7 +24,7 @@ import org.hipparchus.ode.sampling.AbstractODEStateInterpolator;
 /** This class represents an interpolator over the last step during an
  * ODE integration for Runge-Kutta and embedded Runge-Kutta integrators.
  *
- * @see RungeKuttaIntegrator
+ * @see FixedStepRungeKuttaIntegrator
  * @see EmbeddedRungeKuttaIntegrator
  *
  */
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegrator.java
index b96a5d818..4ea719157 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegrator.java
@@ -52,7 +52,7 @@ import org.hipparchus.util.MathArrays;
  */
 
 public class ThreeEighthesFieldIntegrator<T extends CalculusFieldElement<T>>
-    extends RungeKuttaFieldIntegrator<T> {
+    extends FixedStepRungeKuttaFieldIntegrator<T> {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = ThreeEighthesIntegrator.METHOD_NAME;
diff --git a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegrator.java b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegrator.java
index 57b1c6fca..885a22219 100644
--- a/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegrator.java
+++ b/hipparchus-ode/src/main/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegrator.java
@@ -42,7 +42,7 @@ import org.hipparchus.ode.ODEStateAndDerivative;
  * @see LutherIntegrator
  */
 
-public class ThreeEighthesIntegrator extends RungeKuttaIntegrator {
+public class ThreeEighthesIntegrator extends FixedStepRungeKuttaIntegrator {
 
     /** Name of integration scheme. */
     public static final String METHOD_NAME = "3/8";
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5399bca14..041fe78e1 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -50,6 +50,9 @@ If the output is not quite correct, check for invisible trailing spaces!
   </properties>
   <body>
     <release version="4.0" date="TBD" description="TBD">
+      <action dev="serrof" type="update" issue="issues/372">
+        Rename RungeKutta(Field)Integrator as FixedStepRungeKutta(Field)Integrator.
+      </action>
       <action dev="serrof" type="add" issue="issues/370">
         Added native way to stack an independent variable in (Field)Gradient.
       </action>


Test patch:
diff --git a/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/FieldGradientTest.java b/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/FieldGradientTest.java
index b7ba8755c..0b42f860b 100644
--- a/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/FieldGradientTest.java
+++ b/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/FieldGradientTest.java
@@ -33,7 +33,7 @@ class FieldGradientTest {
         // THEN
         Assertions.assertEquals(gradient.getValue(), gradientWithMoreVariable.getValue());
         Assertions.assertEquals(gradient.getFreeParameters() + 1, gradientWithMoreVariable.getFreeParameters());
-        Assertions.assertEquals(0., gradientWithMoreVariable.getGradient[gradient.getFreeParameters().getReal()]);
+        Assertions.assertEquals(0., gradientWithMoreVariable.getGradient()[gradient.getFreeParameters()].getReal());
         Assertions.assertArrayEquals(gradient.getGradient(), Arrays.copyOfRange(gradientWithMoreVariable.getGradient(),
                 0, gradient.getFreeParameters()));
     }
diff --git a/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/GradientTest.java b/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/GradientTest.java
index cd93258ef..9da56cc71 100644
--- a/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/GradientTest.java
+++ b/hipparchus-core/src/test/java/org/hipparchus/analysis/differentiation/GradientTest.java
@@ -103,7 +103,7 @@ class GradientTest extends CalculusFieldElementAbstractTest<Gradient> {
         // THEN
         Assertions.assertEquals(gradient.getValue(), gradientWithMoreVariable.getValue());
         Assertions.assertEquals(gradient.getFreeParameters() + 1, gradientWithMoreVariable.getFreeParameters());
-        Assertions.assertEquals(0., gradientWithMoreVariable.getGradient[gradient.getFreeParameters()]);
+        Assertions.assertEquals(0., gradientWithMoreVariable.getGradient()[gradient.getFreeParameters()]);
         Assertions.assertArrayEquals(gradient.getGradient(), Arrays.copyOfRange(gradientWithMoreVariable.getGradient(),
                 0, gradient.getFreeParameters()));
     }
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegratorTest.java
index 2d3914f60..089e76d94 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaFieldIntegratorTest.java
@@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
 
 class ClassicalRungeKuttaFieldIntegratorTest extends RungeKuttaFieldIntegratorAbstractTest {
 
-    protected <T extends CalculusFieldElement<T>> RungeKuttaFieldIntegrator<T>
+    protected <T extends CalculusFieldElement<T>> FixedStepRungeKuttaFieldIntegrator<T>
     createIntegrator(Field<T> field, T step) {
         return new ClassicalRungeKuttaFieldIntegrator<T>(field, step);
     }
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
index 1509d022a..d9abffd88 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java
@@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test;
 
 class ClassicalRungeKuttaIntegratorTest extends RungeKuttaIntegratorAbstractTest {
 
-    protected RungeKuttaIntegrator createIntegrator(double step) {
+    protected FixedStepRungeKuttaIntegrator createIntegrator(double step) {
         return new ClassicalRungeKuttaIntegrator(step);
     }
 
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerFieldIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerFieldIntegratorTest.java
index 0bca530e0..cd4aee11c 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerFieldIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerFieldIntegratorTest.java
@@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
 
 class EulerFieldIntegratorTest extends RungeKuttaFieldIntegratorAbstractTest {
 
-    protected <T extends CalculusFieldElement<T>> RungeKuttaFieldIntegrator<T>
+    protected <T extends CalculusFieldElement<T>> FixedStepRungeKuttaFieldIntegrator<T>
     createIntegrator(Field<T> field, T step) {
         return new EulerFieldIntegrator<T>(field, step);
     }
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerIntegratorTest.java
index 89bca696b..805961345 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/EulerIntegratorTest.java
@@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test;
 
 class EulerIntegratorTest extends RungeKuttaIntegratorAbstractTest {
 
-    protected RungeKuttaIntegrator createIntegrator(double step) {
+    protected FixedStepRungeKuttaIntegrator createIntegrator(double step) {
         return new EulerIntegrator(step);
     }
 
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillFieldIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillFieldIntegratorTest.java
index e2647a998..0f9a821db 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillFieldIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillFieldIntegratorTest.java
@@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
 
 class GillFieldIntegratorTest extends RungeKuttaFieldIntegratorAbstractTest {
 
-    protected <T extends CalculusFieldElement<T>> RungeKuttaFieldIntegrator<T>
+    protected <T extends CalculusFieldElement<T>> FixedStepRungeKuttaFieldIntegrator<T>
     createIntegrator(Field<T> field, T step) {
         return new GillFieldIntegrator<T>(field, step);
     }
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillIntegratorTest.java
index 5899e7e2d..608f107d5 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/GillIntegratorTest.java
@@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test;
 
 class GillIntegratorTest extends RungeKuttaIntegratorAbstractTest {
 
-    protected RungeKuttaIntegrator createIntegrator(double step) {
+    protected FixedStepRungeKuttaIntegrator createIntegrator(double step) {
         return new GillIntegrator(step);
     }
 
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherFieldIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherFieldIntegratorTest.java
index 0376bc136..242524ad2 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherFieldIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherFieldIntegratorTest.java
@@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test;
 
 class LutherFieldIntegratorTest extends RungeKuttaFieldIntegratorAbstractTest {
 
-    protected <T extends CalculusFieldElement<T>> RungeKuttaFieldIntegrator<T>
+    protected <T extends CalculusFieldElement<T>> FixedStepRungeKuttaFieldIntegrator<T>
     createIntegrator(Field<T> field, T step) {
         return new LutherFieldIntegrator<T>(field, step);
     }
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherIntegratorTest.java
index 9f16e8186..f154fd7d4 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/LutherIntegratorTest.java
@@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test;
 
 class LutherIntegratorTest extends RungeKuttaIntegratorAbstractTest {
 
-    protected RungeKuttaIntegrator createIntegrator(double step) {
+    protected FixedStepRungeKuttaIntegrator createIntegrator(double step) {
         return new LutherIntegrator(step);
     }
 
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegratorTest.java
index e69bab7c4..48fa43efb 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointFieldIntegratorTest.java
@@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
 
 class MidpointFieldIntegratorTest extends RungeKuttaFieldIntegratorAbstractTest {
 
-    protected <T extends CalculusFieldElement<T>> RungeKuttaFieldIntegrator<T>
+    protected <T extends CalculusFieldElement<T>> FixedStepRungeKuttaFieldIntegrator<T>
     createIntegrator(Field<T> field, T step) {
         return new MidpointFieldIntegrator<T>(field, step);
     }
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointIntegratorTest.java
index 5d177e72d..d8296f5ff 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/MidpointIntegratorTest.java
@@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test;
 
 class MidpointIntegratorTest extends RungeKuttaIntegratorAbstractTest {
 
-    protected RungeKuttaIntegrator createIntegrator(double step) {
+    protected FixedStepRungeKuttaIntegrator createIntegrator(double step) {
         return new MidpointIntegrator(step);
     }
 
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldIntegratorAbstractTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldIntegratorAbstractTest.java
index e7c6df01f..5d7d03511 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldIntegratorAbstractTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaFieldIntegratorAbstractTest.java
@@ -67,7 +67,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 public abstract class RungeKuttaFieldIntegratorAbstractTest {
 
-    protected abstract <T extends CalculusFieldElement<T>> RungeKuttaFieldIntegrator<T>
+    protected abstract <T extends CalculusFieldElement<T>> FixedStepRungeKuttaFieldIntegrator<T>
         createIntegrator(Field<T> field, T step);
 
     @Test
@@ -77,7 +77,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         try {
 
             // get the Butcher arrays from the field integrator
-            RungeKuttaFieldIntegrator<T> fieldIntegrator = createIntegrator(field, field.getZero().add(1));
+            FixedStepRungeKuttaFieldIntegrator<T> fieldIntegrator = createIntegrator(field, field.getZero().add(1));
             T[][] fieldA = fieldIntegrator.getA();
             T[]   fieldB = fieldIntegrator.getB();
             T[]   fieldC = fieldIntegrator.getC();
@@ -87,9 +87,9 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
 
             // get the Butcher arrays from the regular integrator
             @SuppressWarnings("unchecked")
-            Constructor<RungeKuttaIntegrator> constructor =
-                (Constructor<RungeKuttaIntegrator>) Class.forName(regularName).getConstructor(Double.TYPE);
-            final RungeKuttaIntegrator regularIntegrator =
+            Constructor<FixedStepRungeKuttaIntegrator> constructor =
+                (Constructor<FixedStepRungeKuttaIntegrator>) Class.forName(regularName).getConstructor(Double.TYPE);
+            final FixedStepRungeKuttaIntegrator regularIntegrator =
                             constructor.newInstance(1.0);
             double[][] regularA = regularIntegrator.getA();
             double[]   regularB = regularIntegrator.getB();
@@ -147,7 +147,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
             }
         };
 
-        RungeKuttaFieldIntegrator<T> integrator = createIntegrator(field, field.getZero().add(60.0));
+        FixedStepRungeKuttaFieldIntegrator<T> integrator = createIntegrator(field, field.getZero().add(60.0));
 
         T[] y0   = MathArrays.buildArray(field, k.length);
         for (int i = 0; i < y0.length; ++i) {
@@ -206,7 +206,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
 
     protected <T extends CalculusFieldElement<T>> void doTestSanityChecks(Field<T> field)
         throws MathIllegalArgumentException, MathIllegalStateException {
-        RungeKuttaFieldIntegrator<T> integrator = createIntegrator(field, field.getZero().add(0.01));
+        FixedStepRungeKuttaFieldIntegrator<T> integrator = createIntegrator(field, field.getZero().add(0.01));
         try  {
             TestFieldProblem1<T> pb = new TestFieldProblem1<T>(field);
             integrator.integrate(new FieldExpandableODE<T>(pb),
@@ -253,7 +253,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
 
                 T step = pb.getFinalTime().subtract(pb.getInitialState().getTime()).multiply(FastMath.pow(2.0, -i));
 
-                RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
+                FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
                 TestFieldProblemHandler<T> handler = new TestFieldProblemHandler<T>(pb, integ);
                 integ.addStepHandler(handler);
                 final double maxCheck = Double.POSITIVE_INFINITY;
@@ -316,7 +316,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         TestFieldProblem1<T> pb = new TestFieldProblem1<T>(field);
         T step = pb.getFinalTime().subtract(pb.getInitialState().getTime()).multiply(0.001);
 
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
         TestFieldProblemHandler<T> handler = new TestFieldProblemHandler<T>(pb, integ);
         integ.addStepHandler(handler);
         integ.integrate(new FieldExpandableODE<T>(pb), pb.getInitialState(), pb.getFinalTime());
@@ -341,7 +341,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         TestFieldProblem1<T> pb = new TestFieldProblem1<T>(field);
         T step = pb.getFinalTime().subtract(pb.getInitialState().getTime()).multiply(0.2);
 
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
         TestFieldProblemHandler<T> handler = new TestFieldProblemHandler<T>(pb, integ);
         integ.addStepHandler(handler);
         integ.integrate(new FieldExpandableODE<T>(pb), pb.getInitialState(), pb.getFinalTime());
@@ -366,7 +366,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         TestFieldProblem5<T> pb = new TestFieldProblem5<T>(field);
         T step = pb.getFinalTime().subtract(pb.getInitialState().getTime()).multiply(0.001).abs();
 
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
         TestFieldProblemHandler<T> handler = new TestFieldProblemHandler<T>(pb, integ);
         integ.addStepHandler(handler);
         integ.integrate(new FieldExpandableODE<T>(pb), pb.getInitialState(), pb.getFinalTime());
@@ -387,7 +387,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         final TestFieldProblem3<T> pb  = new TestFieldProblem3<T>(field.getZero().add(0.9));
         T step = pb.getFinalTime().subtract(pb.getInitialState().getTime()).multiply(0.0003);
 
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
         integ.addStepHandler(new KeplerHandler<T>(pb, expectedMaxError, epsilon));
         final FieldExpandableODE<T> expandable = new FieldExpandableODE<T>(pb);
         assertSame(pb, expandable.getPrimary());
@@ -431,7 +431,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         throws MathIllegalArgumentException, MathIllegalStateException {
         final T finalTime = field.getZero().add(5.0);
         final T step = field.getZero().add(1.23456);
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
         integ.addStepHandler(new FieldODEStepHandler<T>() {
             public void handleStep(FieldODEStateInterpolator<T> interpolator) {
                 if (interpolator.getCurrentState().getTime().subtract(finalTime).getReal() < -0.001) {
@@ -461,7 +461,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         final TestFieldProblem3<T> pb  = new TestFieldProblem3<T>(field.getZero().add(0.9));
         T h = pb.getFinalTime().subtract(pb.getInitialState().getTime()).multiply(0.0003);
 
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, field.getZero().add(Double.NaN));
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, field.getZero().add(Double.NaN));
         T   t = pb.getInitialState().getTime();
         T[] y = pb.getInitialState().getPrimaryState();
         for (int i = 0; i < 100; ++i) {
@@ -480,7 +480,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
 
     protected <T extends CalculusFieldElement<T>> void doTestTooLargeFirstStep(final Field<T> field) {
 
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, field.getZero().add(0.5));
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, field.getZero().add(0.5));
         final T t0 = field.getZero();
         final T[] y0 = MathArrays.buildArray(field, 1);
         y0[0] = field.getOne();
@@ -523,7 +523,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
       assertEquals(1000,    stepProblem.getMaxIterationCount());
       assertEquals(1.0e-12, stepProblem.getSolver().getAbsoluteAccuracy().getReal(), 1.0e-25);
       assertNotNull(stepProblem.getHandler());
-      RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, field.getZero().add(0.3));
+      FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, field.getZero().add(0.3));
       integ.addEventDetector(stepProblem);
       FieldODEStateAndDerivative<T> result = integ.integrate(new FieldExpandableODE<T>(stepProblem),
                                                              new FieldODEState<T>(field.getZero(), MathArrays.buildArray(field, 1)),
@@ -537,7 +537,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
     protected <T extends CalculusFieldElement<T>> void doTestDerivativesConsistency(final Field<T> field, double epsilon) {
         TestFieldProblem3<T> pb = new TestFieldProblem3<T>(field);
         T step = pb.getFinalTime().subtract(pb.getInitialState().getTime()).multiply(0.001);
-        RungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
+        FixedStepRungeKuttaFieldIntegrator<T> integ = createIntegrator(field, step);
         StepInterpolatorTestUtils.checkDerivativesConsistency(integ, pb, 1.0e-10);
     }
 
@@ -564,7 +564,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         DerivativeStructure t     = factory.variable(parT, 6.0);
         SinCos sinCos = new SinCos(omega);
 
-        RungeKuttaFieldIntegrator<DerivativeStructure> integrator =
+        FixedStepRungeKuttaFieldIntegrator<DerivativeStructure> integrator =
                         createIntegrator(omega.getField(), t.subtract(t0).multiply(0.001));
         FieldODEStateAndDerivative<DerivativeStructure> result =
                         integrator.integrate(new FieldExpandableODE<DerivativeStructure>(sinCos),
@@ -777,7 +777,7 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
     @Test
     public void testIssue250() {
         final Gradient defaultStep = Gradient.constant(3, 60.);
-        RungeKuttaFieldIntegrator<Gradient> integrator = createIntegrator(defaultStep.getField(), defaultStep);
+        FixedStepRungeKuttaFieldIntegrator<Gradient> integrator = createIntegrator(defaultStep.getField(), defaultStep);
         assertEquals(defaultStep.getReal(), integrator.getDefaultStep().getReal(), 0.);
     }
 
@@ -790,11 +790,11 @@ public abstract class RungeKuttaFieldIntegratorAbstractTest {
         final double step = FastMath.abs(0.001 * (pb.getFinalTime().getReal() - pb.getInitialState().getTime().getReal()));
         final Complex fieldStep = new Complex(step);
 
-        final RungeKuttaFieldIntegrator<Complex> integratorUsingFieldCoefficients = createIntegrator(field, fieldStep);
+        final FixedStepRungeKuttaFieldIntegrator<Complex> integratorUsingFieldCoefficients = createIntegrator(field, fieldStep);
         integratorUsingFieldCoefficients.setUsingFieldCoefficients(true);
         final FieldODEStateAndDerivative<Complex> terminalState1 = integratorUsingFieldCoefficients.integrate(new FieldExpandableODE<>(pb),
                 pb.getInitialState(), pb.getFinalTime());
-        final RungeKuttaFieldIntegrator<Complex> integratorNotUsingFieldCoefficients = createIntegrator(field, fieldStep);
+        final FixedStepRungeKuttaFieldIntegrator<Complex> integratorNotUsingFieldCoefficients = createIntegrator(field, fieldStep);
         integratorNotUsingFieldCoefficients.setUsingFieldCoefficients(false);
         final FieldODEStateAndDerivative<Complex> terminalState2 = integratorNotUsingFieldCoefficients.integrate(new FieldExpandableODE<>(pb),
                 pb.getInitialState(), pb.getFinalTime());
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaIntegratorAbstractTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaIntegratorAbstractTest.java
index 49f2c263c..0fd97eadb 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaIntegratorAbstractTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/RungeKuttaIntegratorAbstractTest.java
@@ -66,7 +66,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 public abstract class RungeKuttaIntegratorAbstractTest {
 
-    protected abstract RungeKuttaIntegrator createIntegrator(double step);
+    protected abstract FixedStepRungeKuttaIntegrator createIntegrator(double step);
 
     @Test
     public abstract void testMissedEndEvent();
@@ -92,7 +92,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
             }
         };
 
-        RungeKuttaIntegrator integrator = createIntegrator(60.0);
+        FixedStepRungeKuttaIntegrator integrator = createIntegrator(60.0);
 
         double[] y0   = new double[k.length];
         for (int i = 0; i < y0.length; ++i) {
@@ -143,7 +143,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
     public abstract void testSanityChecks();
 
     protected void doTestSanityChecks() {
-        RungeKuttaIntegrator integrator = createIntegrator(0.01);
+        FixedStepRungeKuttaIntegrator integrator = createIntegrator(0.01);
         try  {
             TestProblem1 pb = new TestProblem1();
             integrator.integrate(new ExpandableODE(pb),
@@ -184,7 +184,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
 
                 double step = FastMath.scalb(pb.getFinalTime() - pb.getInitialState().getTime(), -i);
 
-                RungeKuttaIntegrator integ = createIntegrator(step);
+                FixedStepRungeKuttaIntegrator integ = createIntegrator(step);
                 TestProblemHandler handler = new TestProblemHandler(pb, integ);
                 integ.addStepHandler(handler);
                 double eventTol = 1.0e-6 * step;
@@ -236,7 +236,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         TestProblem1 pb = new TestProblem1();
         double step = 0.001 * (pb.getFinalTime() - pb.getInitialState().getTime());
 
-        RungeKuttaIntegrator integ = createIntegrator(step);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(step);
         TestProblemHandler handler = new TestProblemHandler(pb, integ);
         integ.addStepHandler(handler);
         integ.integrate(new ExpandableODE(pb), pb.getInitialState(), pb.getFinalTime());
@@ -260,7 +260,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         TestProblem1 pb = new TestProblem1();
         double step = 0.2 * (pb.getFinalTime() - pb.getInitialState().getTime());
 
-        RungeKuttaIntegrator integ = createIntegrator(step);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(step);
         TestProblemHandler handler = new TestProblemHandler(pb, integ);
         integ.addStepHandler(handler);
         integ.integrate(new ExpandableODE(pb), pb.getInitialState(), pb.getFinalTime());
@@ -284,7 +284,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         TestProblem5 pb = new TestProblem5();
         double step = FastMath.abs(0.001 * (pb.getFinalTime() - pb.getInitialState().getTime()));
 
-        RungeKuttaIntegrator integ = createIntegrator(step);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(step);
         TestProblemHandler handler = new TestProblemHandler(pb, integ);
         integ.addStepHandler(handler);
         integ.integrate(new ExpandableODE(pb), pb.getInitialState(), pb.getFinalTime());
@@ -305,7 +305,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         final TestProblem3 pb  = new TestProblem3(0.9);
         double step = 0.0003 * (pb.getFinalTime() - pb.getInitialState().getTime());
 
-        RungeKuttaIntegrator integ = createIntegrator(step);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(step);
         integ.addStepHandler(new KeplerHandler(pb, expectedMaxError, epsilon));
         final ExpandableODE expandable = new ExpandableODE(pb);
         assertSame(pb, expandable.getPrimary());
@@ -346,7 +346,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         throws MathIllegalArgumentException, MathIllegalStateException {
         final double finalTime = 5.0;
         final double step = 1.23456;
-        RungeKuttaIntegrator integ = createIntegrator(step);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(step);
         integ.addStepHandler(new ODEStepHandler() {
             public void handleStep(ODEStateInterpolator interpolator) {
                 if (interpolator.getCurrentState().getTime() < finalTime - 0.001) {
@@ -374,7 +374,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         final TestProblem3 pb  = new TestProblem3(0.9);
         double h = 0.0003 * (pb.getFinalTime() - pb.getInitialState().getTime());
 
-        RungeKuttaIntegrator integ = createIntegrator(Double.NaN);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(Double.NaN);
         double   t = pb.getInitialState().getTime();
         double[] y = pb.getInitialState().getPrimaryState();
         for (int i = 0; i < 100; ++i) {
@@ -393,7 +393,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
 
     protected void doTestTooLargeFirstStep() {
 
-        RungeKuttaIntegrator integ = createIntegrator(0.5);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(0.5);
         final double   t0 = 0;
         final double[] y0 = new double[] { 1.0 };
         final double   t  = 0.001;
@@ -427,7 +427,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         assertEquals(1000,    stepProblem.getMaxIterationCount());
         assertEquals(1.0e-12, stepProblem.getSolver().getAbsoluteAccuracy(), 1.0e-25);
         assertNotNull(stepProblem.getHandler());
-        RungeKuttaIntegrator integ = createIntegrator(0.3);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(0.3);
       integ.addEventDetector(stepProblem);
       ODEStateAndDerivative result = integ.integrate(new ExpandableODE(stepProblem),
                                                      new ODEState(0, new double[1]),
@@ -441,7 +441,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
     protected void doTestDerivativesConsistency(double epsilon) {
         TestProblem3 pb = new TestProblem3();
         double step = 0.001 * (pb.getFinalTime() - pb.getInitialState().getTime());
-        RungeKuttaIntegrator integ = createIntegrator(step);
+        FixedStepRungeKuttaIntegrator integ = createIntegrator(step);
         StepInterpolatorTestUtils.checkDerivativesConsistency(integ, pb, 0.001, 1.0e-10);
     }
 
@@ -556,7 +556,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
         try {
             TestProblem3 pb = new TestProblem3(0.9);
             double h = 0.0003 * (pb.getFinalTime() - pb.getInitialState().getTime());
-            RungeKuttaIntegrator integ = createIntegrator(h);
+            FixedStepRungeKuttaIntegrator integ = createIntegrator(h);
 
             integ.addStepHandler(new DenseOutputModel());
             integ.integrate(pb, pb.getInitialState(), pb.getFinalTime());
@@ -600,7 +600,7 @@ public abstract class RungeKuttaIntegratorAbstractTest {
     @Test
     public void testIssue250() {
         final double defaultStep = 60.;
-        RungeKuttaIntegrator integrator = createIntegrator(defaultStep);
+        FixedStepRungeKuttaIntegrator integrator = createIntegrator(defaultStep);
         assertEquals(defaultStep, integrator.getDefaultStep(), 0.);
     }
 
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegratorTest.java
index 5c8e023bd..793bb0d6f 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesFieldIntegratorTest.java
@@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
 
 class ThreeEighthesFieldIntegratorTest extends RungeKuttaFieldIntegratorAbstractTest {
 
-    protected <T extends CalculusFieldElement<T>> RungeKuttaFieldIntegrator<T>
+    protected <T extends CalculusFieldElement<T>> FixedStepRungeKuttaFieldIntegrator<T>
     createIntegrator(Field<T> field, T step) {
         return new ThreeEighthesFieldIntegrator<T>(field, step);
     }
diff --git a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegratorTest.java b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegratorTest.java
index bcdfea881..09f50f87f 100644
--- a/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegratorTest.java
+++ b/hipparchus-ode/src/test/java/org/hipparchus/ode/nonstiff/ThreeEighthesIntegratorTest.java
@@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test;
 
 class ThreeEighthesIntegratorTest extends RungeKuttaIntegratorAbstractTest {
 
-    protected RungeKuttaIntegrator createIntegrator(double step) {
+    protected FixedStepRungeKuttaIntegrator createIntegrator(double step) {
         return new ThreeEighthesIntegrator(step);
     }