|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math3.ode.sampling.AbstractStepInterpolator
org.apache.commons.math3.ode.nonstiff.RungeKuttaStepInterpolator
org.apache.commons.math3.ode.nonstiff.DormandPrince853StepInterpolator
class DormandPrince853StepInterpolator
This class represents an interpolator over the last step during an ODE integration for the 8(5,3) Dormand-Prince integrator.
DormandPrince853Integrator
Field Summary | |
---|---|
private static double |
B_01
Propagation weights, element 1. |
private static double |
B_06
Propagation weights, element 6. |
private static double |
B_07
Propagation weights, element 7. |
private static double |
B_08
Propagation weights, element 8. |
private static double |
B_09
Propagation weights, element 9. |
private static double |
B_10
Propagation weights, element 10. |
private static double |
B_11
Propagation weights, element 11. |
private static double |
B_12
Propagation weights, element 12. |
private static double |
C14
Time step for stage 14 (interpolation only). |
private static double |
C15
Time step for stage 15 (interpolation only). |
private static double |
C16
Time step for stage 16 (interpolation only). |
private static double[][] |
D
Interpolation weights. |
private static double |
K14_01
Internal weights for stage 14, element 1. |
private static double |
K14_06
Internal weights for stage 14, element 6. |
private static double |
K14_07
Internal weights for stage 14, element 7. |
private static double |
K14_08
Internal weights for stage 14, element 8. |
private static double |
K14_09
Internal weights for stage 14, element 9. |
private static double |
K14_10
Internal weights for stage 14, element 10. |
private static double |
K14_11
Internal weights for stage 14, element 11. |
private static double |
K14_12
Internal weights for stage 14, element 12. |
private static double |
K14_13
Internal weights for stage 14, element 13. |
private static double |
K15_01
Internal weights for stage 15, element 1. |
private static double |
K15_06
Internal weights for stage 15, element 6. |
private static double |
K15_07
Internal weights for stage 15, element 7. |
private static double |
K15_08
Internal weights for stage 15, element 8. |
private static double |
K15_09
Internal weights for stage 15, element 9. |
private static double |
K15_10
Internal weights for stage 15, element 10. |
private static double |
K15_11
Internal weights for stage 15, element 11. |
private static double |
K15_12
Internal weights for stage 15, element 12. |
private static double |
K15_13
Internal weights for stage 15, element 13. |
private static double |
K15_14
Internal weights for stage 15, element 14. |
private static double |
K16_01
Internal weights for stage 16, element 1. |
private static double |
K16_06
Internal weights for stage 16, element 6. |
private static double |
K16_07
Internal weights for stage 16, element 7. |
private static double |
K16_08
Internal weights for stage 16, element 8. |
private static double |
K16_09
Internal weights for stage 16, element 9. |
private static double |
K16_10
Internal weights for stage 16, element 10. |
private static double |
K16_11
Internal weights for stage 16, element 11. |
private static double |
K16_12
Internal weights for stage 16, element 12. |
private static double |
K16_13
Internal weights for stage 16, element 13. |
private static double |
K16_14
Internal weights for stage 16, element 14. |
private static double |
K16_15
Internal weights for stage 16, element 15. |
private static long |
serialVersionUID
Serializable version identifier. |
private double[][] |
v
Vectors for interpolation. |
private boolean |
vectorsInitialized
Initialization indicator for the interpolation vectors. |
private double[][] |
yDotKLast
Last evaluations. |
Fields inherited from class org.apache.commons.math3.ode.nonstiff.RungeKuttaStepInterpolator |
---|
integrator, previousState, yDotK |
Fields inherited from class org.apache.commons.math3.ode.sampling.AbstractStepInterpolator |
---|
currentState, h, interpolatedDerivatives, interpolatedPrimaryDerivatives, interpolatedPrimaryState, interpolatedSecondaryDerivatives, interpolatedSecondaryState, interpolatedState, interpolatedTime |
Constructor Summary | |
---|---|
DormandPrince853StepInterpolator()
Simple constructor. |
|
DormandPrince853StepInterpolator(DormandPrince853StepInterpolator 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. |
protected void |
doFinalize()
Really finalize the step. |
void |
readExternal(ObjectInput in)
|
void |
reinitialize(AbstractIntegrator integrator,
double[] y,
double[][] yDotK,
boolean forward,
EquationsMapper primaryMapper,
EquationsMapper[] secondaryMappers)
Reinitialize the instance |
void |
storeTime(double t)
Store the current step time. |
void |
writeExternal(ObjectOutput out)
|
Methods inherited from class org.apache.commons.math3.ode.nonstiff.RungeKuttaStepInterpolator |
---|
shift |
Methods inherited from class org.apache.commons.math3.ode.sampling.AbstractStepInterpolator |
---|
copy, finalizeStep, getCurrentTime, getGlobalCurrentTime, getGlobalPreviousTime, getInterpolatedDerivatives, getInterpolatedSecondaryDerivatives, getInterpolatedSecondaryState, getInterpolatedState, getInterpolatedTime, getPreviousTime, isForward, readBaseExternal, reinitialize, setInterpolatedTime, setSoftCurrentTime, setSoftPreviousTime, 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
private static final double B_01
private static final double B_06
private static final double B_07
private static final double B_08
private static final double B_09
private static final double B_10
private static final double B_11
private static final double B_12
private static final double C14
private static final double K14_01
private static final double K14_06
private static final double K14_07
private static final double K14_08
private static final double K14_09
private static final double K14_10
private static final double K14_11
private static final double K14_12
private static final double K14_13
private static final double C15
private static final double K15_01
private static final double K15_06
private static final double K15_07
private static final double K15_08
private static final double K15_09
private static final double K15_10
private static final double K15_11
private static final double K15_12
private static final double K15_13
private static final double K15_14
private static final double C16
private static final double K16_01
private static final double K16_06
private static final double K16_07
private static final double K16_08
private static final double K16_09
private static final double K16_10
private static final double K16_11
private static final double K16_12
private static final double K16_13
private static final double K16_14
private static final double K16_15
private static final double[][] D
private double[][] yDotKLast
private double[][] v
private boolean vectorsInitialized
Constructor Detail |
---|
public DormandPrince853StepInterpolator()
reinitialize(org.apache.commons.math3.ode.AbstractIntegrator, double[], double[][], boolean, org.apache.commons.math3.ode.EquationsMapper, org.apache.commons.math3.ode.EquationsMapper[])
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 EmbeddedRungeKuttaIntegrator
uses the
prototyping design pattern to create the step interpolators by
cloning an uninitialized model and latter initializing the copy.
public DormandPrince853StepInterpolator(DormandPrince853StepInterpolator 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
public void reinitialize(AbstractIntegrator integrator, double[] y, double[][] yDotK, boolean forward, EquationsMapper primaryMapper, EquationsMapper[] secondaryMappers)
Some Runge-Kutta integrators need fewer functions evaluations
than their counterpart step interpolators. So the interpolator
should perform the last evaluations they need by themselves. The
RungeKuttaIntegrator
and EmbeddedRungeKuttaIntegrator
abstract classes call this method in order to let the step
interpolator perform the evaluations it needs. These evaluations
will be performed during the call to doFinalize
if
any, i.e. only if the step handler either calls the finalizeStep
method or the
getInterpolatedState
method (for an interpolator which needs a
finalization) or if it clones the step interpolator.
reinitialize
in class RungeKuttaStepInterpolator
integrator
- integrator being usedy
- reference to the integrator array holding the state at
the end of the stepyDotK
- reference to the integrator array holding all the
intermediate slopesforward
- integration direction indicatorprimaryMapper
- equations mapper for the primary equations setsecondaryMappers
- equations mappers for the secondary equations setspublic void storeTime(double t)
storeTime
in class AbstractStepInterpolator
t
- current timeprotected void computeInterpolatedStateAndDerivatives(double theta, double oneMinusThetaH) throws MaxCountExceededException
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
MaxCountExceededException
- if the number of functions evaluations is exceededprotected void doFinalize() throws MaxCountExceededException
doFinalize
in class AbstractStepInterpolator
MaxCountExceededException
- if the number of functions evaluations is exceededpublic void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class RungeKuttaStepInterpolator
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
readExternal
in class RungeKuttaStepInterpolator
IOException
ClassNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |