| <html> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- $Revision: 613620 $ --> |
| <body> |
| <p> |
| This package provides classes to handle sampling steps during |
| Ordinary Differential Equations integration. |
| </p> |
| |
| <p> |
| In addition to computing the evolution of the state vector at some grid points, all |
| ODE integrators also build up interpolation models of this evolution <em>inside</em> the |
| last computed step. If users are interested in these interpolators, they can register a |
| {@link org.apache.commons.math.ode.sampling.StepHandler StepHandler} instance using the |
| {@link org.apache.commons.math.ode.FirstOrderIntegrator#addStepHandler addStepHandler} |
| method which is supported by all integrators. The integrator will call this instance |
| at the end of each accepted step and provide it the interpolator. The user can do |
| whatever he wants with this interpolator, which computes both the state and its |
| time-derivative. A typical use of step handler is to provide some output to monitor |
| the integration process. |
| </p> |
| |
| <p> |
| In a sense, this is a kind of Inversion Of Control: rather than having the master |
| application driving the slave integrator by providing the target end value for |
| the free variable, we get a master integrator scheduling the free variable |
| evolution and calling the slave application callbacks that were registered at |
| configuration time. |
| </p> |
| |
| <p> |
| Since some integrators may use variable step size, the generic {@link |
| org.apache.commons.math.ode.sampling.StepHandler StepHandler} interface can be called |
| either at regular or irregular rate. This interface allows to navigate to any location |
| within the last computed step, thanks to the provided {@link |
| org.apache.commons.math.ode.sampling.StepInterpolator StepInterpolator} object. |
| If regular output is desired (for example in order to write an ephemeris file), then |
| the simpler {@link org.apache.commons.math.ode.sampling.FixedStepHandler FixedStepHandler} |
| interface can be used. Objects implementing this interface should be wrapped within a |
| {@link org.apache.commons.math.ode.sampling.StepNormalizer StepNormalizer} instance |
| in order to be registered to the integrator. |
| </p> |
| |
| </body> |
| </html> |