T - the type of the field elementspublic abstract class AdamsFieldIntegrator<T extends RealFieldElement<T>> extends MultistepFieldIntegrator<T>
Adams-Bashforth and
 Adams-Moulton integrators.nordsieck, scaledmainSetDimension, scalAbsoluteTolerance, scalRelativeTolerance, vecAbsoluteTolerance, vecRelativeTolerance| Constructor and Description | 
|---|
| AdamsFieldIntegrator(Field<T> field,
                    String name,
                    int nSteps,
                    int order,
                    double minStep,
                    double maxStep,
                    double[] vecAbsoluteTolerance,
                    double[] vecRelativeTolerance)Build an Adams integrator with the given order and step control parameters. | 
| AdamsFieldIntegrator(Field<T> field,
                    String name,
                    int nSteps,
                    int order,
                    double minStep,
                    double maxStep,
                    double scalAbsoluteTolerance,
                    double scalRelativeTolerance)Build an Adams integrator with the given order and step control parameters. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected Array2DRowFieldMatrix<T> | initializeHighOrderDerivatives(T h,
                              T[] t,
                              T[][] y,
                              T[][] yDot)Initialize the high order scaled derivatives at step start. | 
| abstract FieldODEStateAndDerivative<T> | integrate(FieldExpandableODE<T> equations,
         FieldODEState<T> initialState,
         T finalTime)Integrate the differential equations up to the given time. | 
| Array2DRowFieldMatrix<T> | updateHighOrderDerivativesPhase1(Array2DRowFieldMatrix<T> highOrder)Update the high order scaled derivatives for Adams integrators (phase 1). | 
| void | updateHighOrderDerivativesPhase2(T[] start,
                                T[] end,
                                Array2DRowFieldMatrix<T> highOrder)Update the high order scaled derivatives Adams integrators (phase 2). | 
computeStepGrowShrinkFactor, getMaxGrowth, getMinReduction, getNSteps, getSafety, getStarterIntegrator, rescale, setMaxGrowth, setMinReduction, setSafety, setStarterIntegrator, startfilterStep, getMaxStep, getMinStep, initializeStep, resetInternalState, sanityChecks, setInitialStepSize, setStepSizeControl, setStepSizeControlacceptStep, addEventHandler, addEventHandler, addStepHandler, clearEventHandlers, clearStepHandlers, computeDerivatives, getCurrentSignedStepsize, getCurrentStepStart, getEquations, getEvaluations, getEvaluationsCounter, getEventHandlers, getField, getMaxEvaluations, getName, getStepHandlers, getStepSize, getStepStart, initIntegration, isLastStep, resetOccurred, setIsLastStep, setMaxEvaluations, setStateInitialized, setStepSize, setStepStartpublic AdamsFieldIntegrator(Field<T> field, String name, int nSteps, int order, double minStep, double maxStep, double scalAbsoluteTolerance, double scalRelativeTolerance) throws NumberIsTooSmallException
field - field to which the time and state vector elements belongname - name of the methodnSteps - number of steps of the method excluding the one being computedorder - order of the methodminStep - minimal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than thismaxStep - maximal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than thisscalAbsoluteTolerance - allowed absolute errorscalRelativeTolerance - allowed relative errorNumberIsTooSmallException - if order is 1 or lesspublic AdamsFieldIntegrator(Field<T> field, String name, int nSteps, int order, double minStep, double maxStep, double[] vecAbsoluteTolerance, double[] vecRelativeTolerance) throws IllegalArgumentException
field - field to which the time and state vector elements belongname - name of the methodnSteps - number of steps of the method excluding the one being computedorder - order of the methodminStep - minimal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than thismaxStep - maximal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than thisvecAbsoluteTolerance - allowed absolute errorvecRelativeTolerance - allowed relative errorIllegalArgumentException - if order is 1 or lesspublic abstract FieldODEStateAndDerivative<T> integrate(FieldExpandableODE<T> equations, FieldODEState<T> initialState, T finalTime) throws NumberIsTooSmallException, DimensionMismatchException, MaxCountExceededException, NoBracketingException
This method solves an Initial Value Problem (IVP).
Since this method stores some internal state variables made
 available in its public interface during integration (FirstOrderFieldIntegrator.getCurrentSignedStepsize()), it is not thread-safe.
equations - differential equations to integrateinitialState - initial state (time, primary and secondary state vectors)finalTime - target time for the integration
 (can be set to a value smaller than t0 for backward integration)finalTime if
 integration reached its target, but may be different if some FieldEventHandler stops it at some point.NumberIsTooSmallException - if integration step is too smallMaxCountExceededException - if the number of functions evaluations is exceededNoBracketingException - if the location of an event cannot be bracketedDimensionMismatchExceptionprotected Array2DRowFieldMatrix<T> initializeHighOrderDerivatives(T h, T[] t, T[][] y, T[][] yDot)
initializeHighOrderDerivatives in class MultistepFieldIntegrator<T extends RealFieldElement<T>>h - step size to use for scalingt - first steps timesy - first steps statesyDot - first steps derivativespublic Array2DRowFieldMatrix<T> updateHighOrderDerivativesPhase1(Array2DRowFieldMatrix<T> highOrder)
The complete update of high order derivatives has a form similar to:
rn+1 = (s1(n) - s1(n+1)) P-1 u + P-1 A P rnthis method computes the P-1 A P rn part.
highOrder - high order scaled derivatives
 (h2/2 y'', ... hk/k! y(k))updateHighOrderDerivativesPhase2(RealFieldElement[], RealFieldElement[], Array2DRowFieldMatrix)public void updateHighOrderDerivativesPhase2(T[] start, T[] end, Array2DRowFieldMatrix<T> highOrder)
The complete update of high order derivatives has a form similar to:
rn+1 = (s1(n) - s1(n+1)) P-1 u + P-1 A P rnthis method computes the (s1(n) - s1(n+1)) P-1 u part.
Phase 1 of the update must already have been performed.
start - first order scaled derivatives at step startend - first order scaled derivatives at step endhighOrder - high order scaled derivatives, will be modified
 (h2/2 y'', ... hk/k! y(k))updateHighOrderDerivativesPhase1(Array2DRowFieldMatrix)Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.