Class RungeKuttaFieldStepInterpolator<T extends RealFieldElement<T>>
java.lang.Object
org.apache.commons.math3.ode.sampling.AbstractFieldStepInterpolator<T>
org.apache.commons.math3.ode.nonstiff.RungeKuttaFieldStepInterpolator<T>
- Type Parameters:
T- the type of the field elements
- All Implemented Interfaces:
FieldStepInterpolator<T>
- Direct Known Subclasses:
ClassicalRungeKuttaFieldStepInterpolator,DormandPrince54FieldStepInterpolator,DormandPrince853FieldStepInterpolator,EulerFieldStepInterpolator,GillFieldStepInterpolator,HighamHall54FieldStepInterpolator,LutherFieldStepInterpolator,MidpointFieldStepInterpolator,ThreeEighthesFieldStepInterpolator
abstract class RungeKuttaFieldStepInterpolator<T extends RealFieldElement<T>>
extends AbstractFieldStepInterpolator<T>
This class represents an interpolator over the last step during an
ODE integration for Runge-Kutta and embedded Runge-Kutta integrators.
- Since:
- 3.6
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRungeKuttaFieldStepInterpolator(Field<T> field, boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldODEStateAndDerivative<T> softPreviousState, FieldODEStateAndDerivative<T> softCurrentState, FieldEquationsMapper<T> mapper) Simple constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate T[]Linearly combine arrays.protected RungeKuttaFieldStepInterpolator<T> create(boolean newForward, FieldODEStateAndDerivative<T> newGlobalPreviousState, FieldODEStateAndDerivative<T> newGlobalCurrentState, FieldODEStateAndDerivative<T> newSoftPreviousState, FieldODEStateAndDerivative<T> newSoftCurrentState, FieldEquationsMapper<T> newMapper) Create a new instance.protected abstract RungeKuttaFieldStepInterpolator<T> create(Field<T> newField, boolean newForward, T[][] newYDotK, FieldODEStateAndDerivative<T> newGlobalPreviousState, FieldODEStateAndDerivative<T> newGlobalCurrentState, FieldODEStateAndDerivative<T> newSoftPreviousState, FieldODEStateAndDerivative<T> newSoftCurrentState, FieldEquationsMapper<T> newMapper) Create a new instance.protected T[]currentStateLinearCombination(T... coefficients) Compute a state by linear combination added to current state.protected T[]derivativeLinearCombination(T... coefficients) Compute a state derivative by linear combination.protected final T[]previousStateLinearCombination(T... coefficients) Compute a state by linear combination added to previous state.Methods inherited from class org.apache.commons.math3.ode.sampling.AbstractFieldStepInterpolator
computeInterpolatedStateAndDerivatives, getCurrentState, getGlobalCurrentState, getGlobalPreviousState, getInterpolatedState, getPreviousState, isForward, restrictStep
-
Field Details
-
field
Field to which the time and state vector elements belong. -
yDotK
Slopes at the intermediate points.
-
-
Constructor Details
-
RungeKuttaFieldStepInterpolator
protected RungeKuttaFieldStepInterpolator(Field<T> field, boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldODEStateAndDerivative<T> softPreviousState, FieldODEStateAndDerivative<T> softCurrentState, FieldEquationsMapper<T> mapper) Simple constructor.- Parameters:
field- field to which the time and state vector elements belongforward- integration direction indicatoryDotK- slopes at the intermediate pointsglobalPreviousState- start of the global stepglobalCurrentState- end of the global stepsoftPreviousState- start of the restricted stepsoftCurrentState- end of the restricted stepmapper- equations mapper for the all equations
-
-
Method Details
-
create
protected RungeKuttaFieldStepInterpolator<T> create(boolean newForward, FieldODEStateAndDerivative<T> newGlobalPreviousState, FieldODEStateAndDerivative<T> newGlobalCurrentState, FieldODEStateAndDerivative<T> newSoftPreviousState, FieldODEStateAndDerivative<T> newSoftCurrentState, FieldEquationsMapper<T> newMapper) Create a new instance.- Specified by:
createin classAbstractFieldStepInterpolator<T extends RealFieldElement<T>>- Parameters:
newForward- integration direction indicatornewGlobalPreviousState- start of the global stepnewGlobalCurrentState- end of the global stepnewSoftPreviousState- start of the restricted stepnewSoftCurrentState- end of the restricted stepnewMapper- equations mapper for the all equations- Returns:
- a new instance
-
create
protected abstract RungeKuttaFieldStepInterpolator<T> create(Field<T> newField, boolean newForward, T[][] newYDotK, FieldODEStateAndDerivative<T> newGlobalPreviousState, FieldODEStateAndDerivative<T> newGlobalCurrentState, FieldODEStateAndDerivative<T> newSoftPreviousState, FieldODEStateAndDerivative<T> newSoftCurrentState, FieldEquationsMapper<T> newMapper) Create a new instance.- Parameters:
newField- field to which the time and state vector elements belongnewForward- integration direction indicatornewYDotK- slopes at the intermediate pointsnewGlobalPreviousState- start of the global stepnewGlobalCurrentState- end of the global stepnewSoftPreviousState- start of the restricted stepnewSoftCurrentState- end of the restricted stepnewMapper- equations mapper for the all equations- Returns:
- a new instance
-
previousStateLinearCombination
Compute a state by linear combination added to previous state.- Parameters:
coefficients- coefficients to apply to the method staged derivatives- Returns:
- combined state
-
currentStateLinearCombination
Compute a state by linear combination added to current state.- Parameters:
coefficients- coefficients to apply to the method staged derivatives- Returns:
- combined state
-
derivativeLinearCombination
Compute a state derivative by linear combination.- Parameters:
coefficients- coefficients to apply to the method staged derivatives- Returns:
- combined state
-
combine
Linearly combine arrays.- Parameters:
a- array to add tocoefficients- coefficients to apply to the method staged derivatives- Returns:
- a itself, as a convenience for fluent API
-