|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math.ode.sampling.AbstractStepInterpolator
org.apache.commons.math.ode.nonstiff.RungeKuttaStepInterpolator
org.apache.commons.math.ode.nonstiff.ClassicalRungeKuttaStepInterpolator
class ClassicalRungeKuttaStepInterpolator
This class implements a step interpolator for the classical fourth order Runge-Kutta integrator.
This interpolator allows to compute dense output inside the last step computed. The interpolation equation is consistent with the integration scheme :
y(t_n + theta h) = y (t_n + h) + (1 - theta) (h/6) [ (-4 theta^2 + 5 theta - 1) y'_1 +(4 theta^2 - 2 theta - 2) (y'_2 + y'_3) -(4 theta^2 + theta + 1) y'_4 ]where theta belongs to [0 ; 1] and where y'_1 to y'_4 are the four evaluations of the derivatives already computed during the step.
ClassicalRungeKuttaIntegrator
Field Summary | |
---|---|
private static long |
serialVersionUID
Serializable version identifier |
Fields inherited from class org.apache.commons.math.ode.nonstiff.RungeKuttaStepInterpolator |
---|
integrator, yDotK |
Fields inherited from class org.apache.commons.math.ode.sampling.AbstractStepInterpolator |
---|
currentState, h, interpolatedDerivatives, interpolatedState, interpolatedTime |
Constructor Summary | |
---|---|
ClassicalRungeKuttaStepInterpolator()
Simple constructor. |
|
ClassicalRungeKuttaStepInterpolator(ClassicalRungeKuttaStepInterpolator interpolator)
Copy constructor. |
Method Summary | |
---|---|
protected void |
computeInterpolatedStateAndDerivatives(double theta,
double oneMinusThetaH)
Compute the state and derivatives at the interpolated time. |
protected StepInterpolator |
doCopy()
Really copy the finalized instance. |
Methods inherited from class org.apache.commons.math.ode.nonstiff.RungeKuttaStepInterpolator |
---|
readExternal, reinitialize, writeExternal |
Methods inherited from class org.apache.commons.math.ode.sampling.AbstractStepInterpolator |
---|
copy, doFinalize, finalizeStep, getCurrentTime, getGlobalCurrentTime, getGlobalPreviousTime, getInterpolatedDerivatives, getInterpolatedState, getInterpolatedTime, getPreviousTime, isForward, readBaseExternal, reinitialize, setInterpolatedTime, setSoftCurrentTime, setSoftPreviousTime, shift, storeTime, writeBaseExternal |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
Constructor Detail |
---|
public ClassicalRungeKuttaStepInterpolator()
RungeKuttaStepInterpolator.reinitialize(org.apache.commons.math.ode.AbstractIntegrator, double[], double[][], boolean)
method should be
called before using the instance in order to initialize the
internal arrays. This constructor is used only in order to delay
the initialization in some cases. The RungeKuttaIntegrator
class uses the prototyping design pattern to create the step
interpolators by cloning an uninitialized model and latter initializing
the copy.
public ClassicalRungeKuttaStepInterpolator(ClassicalRungeKuttaStepInterpolator interpolator)
interpolator
- interpolator to copy from. The copy is a deep
copy: its arrays are separated from the original arrays of the
instanceMethod Detail |
---|
protected StepInterpolator doCopy()
This method is called by AbstractStepInterpolator.copy()
after the
step has been finalized. It must perform a deep copy
to have an new instance completely independent for the
original instance.
doCopy
in class AbstractStepInterpolator
protected void computeInterpolatedStateAndDerivatives(double theta, double oneMinusThetaH) throws DerivativeException
computeInterpolatedStateAndDerivatives
in class AbstractStepInterpolator
theta
- normalized interpolation abscissa within the step
(theta is zero at the previous time step and one at the current time step)oneMinusThetaH
- time gap between the interpolated time and
the current time
DerivativeException
- this exception is propagated to the caller if the
underlying user function triggers one
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |