From c52ab55875684a0f8b9aacddb70a448041657a3f Mon Sep 17 00:00:00 2001
From: Luc Maisonobe
y
array of the
FirstOrderIntegrator.integrate} method. The second one should be used
when more in-depth information is needed throughout the integration
process. The user can register an object implementing the {@link
-org.apache.commons.math.ode.StepHandler StepHandler} interface or a
-{@link org.apache.commons.math.ode.StepNormalizer StepNormalizer}
+org.apache.commons.math.ode.sampling.StepHandler StepHandler} interface or a
+{@link org.apache.commons.math.ode.sampling.StepNormalizer StepNormalizer}
object wrapping a user-specified object implementing the {@link
-org.apache.commons.math.ode.FixedStepHandler FixedStepHandler}
+org.apache.commons.math.ode.sampling.FixedStepHandler FixedStepHandler}
interface into the integrator before calling the {@link
org.apache.commons.math.ode.FirstOrderIntegrator#integrate
FirstOrderIntegrator.integrate} method. The user object will be called
@@ -96,11 +96,11 @@ integrated problem by itself.
Other default implementations of the {@link -org.apache.commons.math.ode.StepHandler StepHandler} interface are +org.apache.commons.math.ode.sampling.StepHandler StepHandler} interface are available for general needs ({@link -org.apache.commons.math.ode.DummyStepHandler DummyStepHandler}, {@link -org.apache.commons.math.ode.StepNormalizer StepNormalizer}) and custom -implementations can be developped for specific needs. As an example, +org.apache.commons.math.ode.sampling.DummyStepHandler DummyStepHandler}, {@link +org.apache.commons.math.ode.sampling.StepNormalizer StepNormalizer}) and custom +implementations can be developed for specific needs. As an example, if an application is to be completely driven by the integration process, then most of the application code will be run inside a step handler specific to this application. @@ -111,14 +111,14 @@ Some integrators (the simple ones) use fixed steps that are set at creation time. The more efficient integrators use variable steps that are handled internally in order to control the integration error with respect to a specified accuracy (these integrators extend the {@link -org.apache.commons.math.ode.AdaptiveStepsizeIntegrator +org.apache.commons.math.ode.nonstiff.AdaptiveStepsizeIntegrator AdaptiveStepsizeIntegrator} abstract class). In this case, the step handler which is called after each successful step shows up the variable stepsize. The {@link -org.apache.commons.math.ode.StepNormalizer StepNormalizer} class can +org.apache.commons.math.ode.sampling.StepNormalizer StepNormalizer} class can be used to convert the variable stepsize into a fixed stepsize that can be handled by classes implementing the {@link -org.apache.commons.math.ode.FixedStepHandler FixedStepHandler} +org.apache.commons.math.ode.sampling.FixedStepHandler FixedStepHandler} interface. Adaptive stepsize integrators can automatically compute the initial stepsize by themselves, however the user can specify it if he prefers to retain full control over the integration or if the @@ -129,21 +129,21 @@ automatic guess is wrong.
Fixed Step Integrators | |
Name | Order |
{@link org.apache.commons.math.ode.EulerIntegrator Euler} | 1 |
{@link org.apache.commons.math.ode.MidpointIntegrator Midpoint} | 2 |
{@link org.apache.commons.math.ode.ClassicalRungeKuttaIntegrator Classical Runge-Kutta} | 4 |
{@link org.apache.commons.math.ode.GillIntegrator Gill} | 4 |
{@link org.apache.commons.math.ode.ThreeEighthesIntegrator 3/8} | 4 |
{@link org.apache.commons.math.ode.nonstiff.EulerIntegrator Euler} | 1 |
{@link org.apache.commons.math.ode.nonstiff.MidpointIntegrator Midpoint} | 2 |
{@link org.apache.commons.math.ode.nonstiff.ClassicalRungeKuttaIntegrator Classical Runge-Kutta} | 4 |
{@link org.apache.commons.math.ode.nonstiff.GillIntegrator Gill} | 4 |
{@link org.apache.commons.math.ode.nonstiff.ThreeEighthesIntegrator 3/8} | 4 |
Adaptive Stepsize Integrators | ||
Name | Integration Order | Error Estimation Order |
{@link org.apache.commons.math.ode.HighamHall54Integrator Higham and Hall} | 5 | 4 |
{@link org.apache.commons.math.ode.DormandPrince54Integrator Dormand-Prince 5(4)} | 5 | 4 |
{@link org.apache.commons.math.ode.DormandPrince853Integrator Dormand-Prince 8(5,3)} | 8 | 5 and 3 |
{@link org.apache.commons.math.ode.GraggBulirschStoerIntegrator Gragg-Bulirsch-Stoer} | variable (up to 18 by default) | variable |
{@link org.apache.commons.math.ode.nonstiff.HighamHall54Integrator Higham and Hall} | 5 | 4 |
{@link org.apache.commons.math.ode.nonstiff.DormandPrince54Integrator Dormand-Prince 5(4)} | 5 | 4 |
{@link org.apache.commons.math.ode.nonstiff.DormandPrince853Integrator Dormand-Prince 8(5,3)} | 8 | 5 and 3 |
{@link org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator Gragg-Bulirsch-Stoer} | variable (up to 18 by default) | variable |