Class AbstractVariableStepFieldIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>>
- java.lang.Object
-
- org.orekit.propagation.conversion.FieldAbstractIntegratorBuilder<T,W>
-
- org.orekit.propagation.conversion.AbstractVariableStepFieldIntegratorBuilder<T,W>
-
- Type Parameters:
T
- type of the field elements
- All Implemented Interfaces:
FieldODEIntegratorBuilder<T>
- Direct Known Subclasses:
AbstractLimitedVariableStepFieldIntegratorBuilder
,DormandPrince54FieldIntegratorBuilder
,DormandPrince853FieldIntegratorBuilder
,HighamHall54FieldIntegratorBuilder
public abstract class AbstractVariableStepFieldIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>> extends FieldAbstractIntegratorBuilder<T,W>
Abstract class for integrator builder using variable step size.- Author:
- Vincent Cucchietti
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractVariableStepFieldIntegratorBuilder(double minStep, double maxStep, ToleranceProvider toleranceProvider)
Constructor with expected velocity error.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract W
buildIntegrator(Field<T> field, double[][] tolerances)
Build integrator from absolute and relative tolerances.W
buildIntegrator(Field<T> field, Orbit orbit, OrbitType orbitType, PositionAngleType angleType)
Build a first order integrator.W
buildIntegrator(FieldAbsolutePVCoordinates<T> fieldAbsolutePVCoordinates)
Build a first order integrator.protected static ToleranceProvider
getDefaultToleranceProvider(double dP)
Get a default tolerance provider.double
getMaxStep()
Getter for the maximum step.double
getMinStep()
Getter for the minimum step.ToleranceProvider
getToleranceProvider()
Getter for the integration tolerance provider.protected double[][]
getTolerances(Orbit orbit, OrbitType orbitType, PositionAngleType angleType)
Computes tolerances.protected double[][]
getTolerances(FieldAbsolutePVCoordinates<T> fieldAbsolutePVCoordinates)
Computes tolerances.-
Methods inherited from class org.orekit.propagation.conversion.FieldAbstractIntegratorBuilder
buildIntegrator, buildIntegrator
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.conversion.FieldODEIntegratorBuilder
toODEIntegratorBuilder
-
-
-
-
Constructor Detail
-
AbstractVariableStepFieldIntegratorBuilder
protected AbstractVariableStepFieldIntegratorBuilder(double minStep, double maxStep, ToleranceProvider toleranceProvider)
Constructor with expected velocity error.- Parameters:
minStep
- minimum step size (s)maxStep
- maximum step size (s)toleranceProvider
- integration tolerance provider- Since:
- 13.0
-
-
Method Detail
-
getMaxStep
public double getMaxStep()
Getter for the maximum step.- Returns:
- max stepsize
- Since:
- 13.0
-
getMinStep
public double getMinStep()
Getter for the minimum step.- Returns:
- min stepsize
- Since:
- 13.0
-
getToleranceProvider
public ToleranceProvider getToleranceProvider()
Getter for the integration tolerance provider.- Returns:
- tolerance provider
- Since:
- 13.0
-
getTolerances
protected double[][] getTolerances(Orbit orbit, OrbitType orbitType, PositionAngleType angleType)
Computes tolerances.- Parameters:
orbit
- initial orbitorbitType
- orbit type to useangleType
- position angle type to use- Returns:
- integrator tolerances
- Since:
- 13.0
-
getTolerances
protected double[][] getTolerances(FieldAbsolutePVCoordinates<T> fieldAbsolutePVCoordinates)
Computes tolerances.- Parameters:
fieldAbsolutePVCoordinates
- position-velocity vector- Returns:
- integrator tolerances
- Since:
- 13.0
-
buildIntegrator
public W buildIntegrator(Field<T> field, Orbit orbit, OrbitType orbitType, PositionAngleType angleType)
Build a first order integrator.- Specified by:
buildIntegrator
in interfaceFieldODEIntegratorBuilder<T extends CalculusFieldElement<T>>
- Specified by:
buildIntegrator
in classFieldAbstractIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>>
- Parameters:
field
- fieldorbit
- reference orbitorbitType
- orbit type to useangleType
- position angle type to use- Returns:
- a first order integrator ready to use
-
buildIntegrator
public W buildIntegrator(FieldAbsolutePVCoordinates<T> fieldAbsolutePVCoordinates)
Build a first order integrator. Non-orbit version.- Specified by:
buildIntegrator
in interfaceFieldODEIntegratorBuilder<T extends CalculusFieldElement<T>>
- Overrides:
buildIntegrator
in classFieldAbstractIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>>
- Parameters:
fieldAbsolutePVCoordinates
- absolute position-velocity- Returns:
- a first order integrator ready to use
-
buildIntegrator
protected abstract W buildIntegrator(Field<T> field, double[][] tolerances)
Build integrator from absolute and relative tolerances.- Parameters:
field
- fieldtolerances
- array of tolerances- Returns:
- integrator
- Since:
- 13.0
-
getDefaultToleranceProvider
protected static ToleranceProvider getDefaultToleranceProvider(double dP)
Get a default tolerance provider.- Parameters:
dP
- expected position error (m)- Returns:
- tolerance provider
- Since:
- 13.0
-
-