T - the type of the field elementsclass AdamsFieldStepInterpolator<T extends RealFieldElement<T>> extends AbstractFieldStepInterpolator<T>
This interpolator computes dense output around the current point. The interpolation equation is based on Taylor series formulas.
AdamsBashforthFieldIntegrator,
AdamsMoultonFieldIntegrator| Modifier and Type | Field and Description |
|---|---|
private Array2DRowFieldMatrix<T> |
nordsieck
Nordsieck vector.
|
private FieldODEStateAndDerivative<T> |
reference
Reference state.
|
private T[] |
scaled
First scaled derivative.
|
private T |
scalingH
Step size used in the first scaled derivative and Nordsieck vector.
|
| Modifier | Constructor and Description |
|---|---|
(package private) |
AdamsFieldStepInterpolator(T stepSize,
FieldODEStateAndDerivative<T> reference,
T[] scaled,
Array2DRowFieldMatrix<T> nordsieck,
boolean isForward,
FieldODEStateAndDerivative<T> globalPreviousState,
FieldODEStateAndDerivative<T> globalCurrentState,
FieldEquationsMapper<T> equationsMapper)
Simple constructor.
|
private |
AdamsFieldStepInterpolator(T stepSize,
FieldODEStateAndDerivative<T> reference,
T[] scaled,
Array2DRowFieldMatrix<T> nordsieck,
boolean isForward,
FieldODEStateAndDerivative<T> globalPreviousState,
FieldODEStateAndDerivative<T> globalCurrentState,
FieldODEStateAndDerivative<T> softPreviousState,
FieldODEStateAndDerivative<T> softCurrentState,
FieldEquationsMapper<T> equationsMapper)
Simple constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected FieldODEStateAndDerivative<T> |
computeInterpolatedStateAndDerivatives(FieldEquationsMapper<T> equationsMapper,
T time,
T theta,
T thetaH,
T oneMinusThetaH)
Compute the state and derivatives at the interpolated time.
|
protected AdamsFieldStepInterpolator<T> |
create(boolean newForward,
FieldODEStateAndDerivative<T> newGlobalPreviousState,
FieldODEStateAndDerivative<T> newGlobalCurrentState,
FieldODEStateAndDerivative<T> newSoftPreviousState,
FieldODEStateAndDerivative<T> newSoftCurrentState,
FieldEquationsMapper<T> newMapper)
Create a new instance.
|
static <S extends RealFieldElement<S>> |
taylor(FieldODEStateAndDerivative<S> reference,
S time,
S stepSize,
S[] scaled,
Array2DRowFieldMatrix<S> nordsieck)
Estimate state by applying Taylor formula.
|
getCurrentState, getGlobalCurrentState, getGlobalPreviousState, getInterpolatedState, getPreviousState, isForward, restrictStepprivate T extends RealFieldElement<T> scalingH
private final FieldODEStateAndDerivative<T extends RealFieldElement<T>> reference
Sometimes, the reference state is the same as globalPreviousState, sometimes it is the same as globalCurrentState, so we use a separate field to avoid any confusion.
private final T extends RealFieldElement<T>[] scaled
private final Array2DRowFieldMatrix<T extends RealFieldElement<T>> nordsieck
AdamsFieldStepInterpolator(T stepSize, FieldODEStateAndDerivative<T> reference, T[] scaled, Array2DRowFieldMatrix<T> nordsieck, boolean isForward, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldEquationsMapper<T> equationsMapper)
stepSize - step size used in the scaled and Nordsieck arraysreference - reference state from which Taylor expansion are estimatedscaled - first scaled derivativenordsieck - Nordsieck vectorisForward - integration direction indicatorglobalPreviousState - start of the global stepglobalCurrentState - end of the global stepequationsMapper - mapper for ODE equations primary and secondary componentsprivate AdamsFieldStepInterpolator(T stepSize, FieldODEStateAndDerivative<T> reference, T[] scaled, Array2DRowFieldMatrix<T> nordsieck, boolean isForward, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldODEStateAndDerivative<T> softPreviousState, FieldODEStateAndDerivative<T> softCurrentState, FieldEquationsMapper<T> equationsMapper)
stepSize - step size used in the scaled and Nordsieck arraysreference - reference state from which Taylor expansion are estimatedscaled - first scaled derivativenordsieck - Nordsieck vectorisForward - integration direction indicatorglobalPreviousState - start of the global stepglobalCurrentState - end of the global stepsoftPreviousState - start of the restricted stepsoftCurrentState - end of the restricted stepequationsMapper - mapper for ODE equations primary and secondary componentsprotected AdamsFieldStepInterpolator<T> create(boolean newForward, FieldODEStateAndDerivative<T> newGlobalPreviousState, FieldODEStateAndDerivative<T> newGlobalCurrentState, FieldODEStateAndDerivative<T> newSoftPreviousState, FieldODEStateAndDerivative<T> newSoftCurrentState, FieldEquationsMapper<T> newMapper)
create in class AbstractFieldStepInterpolator<T extends RealFieldElement<T>>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 equationsprotected FieldODEStateAndDerivative<T> computeInterpolatedStateAndDerivatives(FieldEquationsMapper<T> equationsMapper, T time, T theta, T thetaH, T oneMinusThetaH)
computeInterpolatedStateAndDerivatives in class AbstractFieldStepInterpolator<T extends RealFieldElement<T>>equationsMapper - mapper for ODE equations primary and secondary componentstime - interpolation timetheta - normalized interpolation abscissa within the step
(theta is zero at the previous time step and one at the current time step)thetaH - time gap between the previous time and the interpolated timeoneMinusThetaH - time gap between the interpolated time and
the current timepublic static <S extends RealFieldElement<S>> FieldODEStateAndDerivative<S> taylor(FieldODEStateAndDerivative<S> reference, S time, S stepSize, S[] scaled, Array2DRowFieldMatrix<S> nordsieck)
S - the type of the field elementsreference - reference statetime - time at which state must be estimatedstepSize - step size used in the scaled and Nordsieck arraysscaled - first scaled derivativenordsieck - Nordsieck vectorCopyright (c) 2003-2017 Apache Software Foundation