Class NumericalPropagatorBuilder
- java.lang.Object
-
- org.orekit.propagation.conversion.AbstractPropagatorBuilder
-
- org.orekit.propagation.conversion.NumericalPropagatorBuilder
-
- All Implemented Interfaces:
OrbitDeterminationPropagatorBuilder
,PropagatorBuilder
public class NumericalPropagatorBuilder extends AbstractPropagatorBuilder implements OrbitDeterminationPropagatorBuilder
Builder for numerical propagator.- Since:
- 6.0
- Author:
- Pascal Parraud
-
-
Constructor Summary
Constructors Constructor Description NumericalPropagatorBuilder(Orbit referenceOrbit, ODEIntegratorBuilder builder, PositionAngle positionAngle, double positionScale)
Build a new instance.NumericalPropagatorBuilder(Orbit referenceOrbit, ODEIntegratorBuilder builder, PositionAngle positionAngle, double positionScale, AttitudeProvider attitudeProvider)
Build a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addForceModel(ForceModel model)
Add a force model to the global perturbation model.KalmanModel
buildKalmanModel(List<OrbitDeterminationPropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementsParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix)
Build a new Kalman model.BatchLSModel
buildLSModel(OrbitDeterminationPropagatorBuilder[] builders, List<ObservedMeasurement<?>> measurements, ParameterDriversList estimatedMeasurementsParameters, ModelObserver observer)
Build a new batch least squares model.NumericalPropagator
buildPropagator(double[] normalizedParameters)
Build a propagator.NumericalPropagatorBuilder
copy()
Create a copy of a NumericalPropagatorBuilder object.List<ForceModel>
getAllForceModels()
Get the list of all force models.ODEIntegratorBuilder
getIntegratorBuilder()
Get the integrator builder.double
getMass()
Get the mass.void
setMass(double mass)
Set the initial mass.-
Methods inherited from class org.orekit.propagation.conversion.AbstractPropagatorBuilder
addAdditionalDerivativesProvider, addAdditionalEquations, addSupportedParameter, createInitialOrbit, deselectDynamicParameters, getAdditionalDerivativesProviders, getAdditionalEquations, getAttitudeProvider, getFrame, getInitialOrbitDate, getMu, getOrbitalParametersDrivers, getOrbitType, getPositionAngle, getPositionScale, getPropagationParametersDrivers, getSelectedNormalizedParameters, resetOrbit, setAttitudeProvider, setParameters
-
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.OrbitDeterminationPropagatorBuilder
resetOrbit
-
Methods inherited from interface org.orekit.propagation.conversion.PropagatorBuilder
getFrame, getInitialOrbitDate, getOrbitalParametersDrivers, getOrbitType, getPositionAngle, getPropagationParametersDrivers, getSelectedNormalizedParameters
-
-
-
-
Constructor Detail
-
NumericalPropagatorBuilder
public NumericalPropagatorBuilder(Orbit referenceOrbit, ODEIntegratorBuilder builder, PositionAngle positionAngle, double positionScale)
Build a new instance.The reference orbit is used as a model to
create initial orbit
. It defines the inertial frame, the central attraction coefficient, and is also used together with thepositionScale
to convert from thenormalized
parameters used by the callers of this builder to the real orbital parameters.- Parameters:
referenceOrbit
- reference orbit from which real orbits will be builtbuilder
- first order integrator builderpositionAngle
- position angle type to usepositionScale
- scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)- Since:
- 8.0
- See Also:
NumericalPropagatorBuilder(Orbit, ODEIntegratorBuilder, PositionAngle, double, AttitudeProvider)
-
NumericalPropagatorBuilder
public NumericalPropagatorBuilder(Orbit referenceOrbit, ODEIntegratorBuilder builder, PositionAngle positionAngle, double positionScale, AttitudeProvider attitudeProvider)
Build a new instance.The reference orbit is used as a model to
create initial orbit
. It defines the inertial frame, the central attraction coefficient, and is also used together with thepositionScale
to convert from thenormalized
parameters used by the callers of this builder to the real orbital parameters.- Parameters:
referenceOrbit
- reference orbit from which real orbits will be builtbuilder
- first order integrator builderpositionAngle
- position angle type to usepositionScale
- scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)attitudeProvider
- attitude law.- Since:
- 10.1
-
-
Method Detail
-
copy
public NumericalPropagatorBuilder copy()
Create a copy of a NumericalPropagatorBuilder object.- Returns:
- Copied version of the NumericalPropagatorBuilder
-
getIntegratorBuilder
public ODEIntegratorBuilder getIntegratorBuilder()
Get the integrator builder.- Returns:
- the integrator builder
- Since:
- 9.2
-
getAllForceModels
public List<ForceModel> getAllForceModels()
Get the list of all force models.- Returns:
- the list of all force models
- Since:
- 9.2
-
addForceModel
public void addForceModel(ForceModel model)
Add a force model to the global perturbation model.If this method is not called at all, the integrated orbit will follow a Keplerian evolution only.
- Parameters:
model
- perturbingForceModel
to add
-
getMass
public double getMass()
Get the mass.- Returns:
- the mass
- Since:
- 9.2
-
setMass
public void setMass(double mass)
Set the initial mass.- Parameters:
mass
- the mass (kg)
-
buildPropagator
public NumericalPropagator buildPropagator(double[] normalizedParameters)
Build a propagator.- Specified by:
buildPropagator
in interfacePropagatorBuilder
- Parameters:
normalizedParameters
- normalized values for the selected parameters- Returns:
- an initialized propagator
-
buildLSModel
public BatchLSModel buildLSModel(OrbitDeterminationPropagatorBuilder[] builders, List<ObservedMeasurement<?>> measurements, ParameterDriversList estimatedMeasurementsParameters, ModelObserver observer)
Build a new batch least squares model.- Specified by:
buildLSModel
in interfaceOrbitDeterminationPropagatorBuilder
- Parameters:
builders
- builders to use for propagationmeasurements
- measurementsestimatedMeasurementsParameters
- estimated measurements parametersobserver
- observer to be notified at model calls- Returns:
- a new model for the Batch Least Squares orbit determination
-
buildKalmanModel
public KalmanModel buildKalmanModel(List<OrbitDeterminationPropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementsParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix)
Build a new Kalman model.- Specified by:
buildKalmanModel
in interfaceOrbitDeterminationPropagatorBuilder
- Parameters:
propagatorBuilders
- propagators builders used to evaluate the orbits.covarianceMatricesProviders
- providers for covariance matricesestimatedMeasurementsParameters
- measurement parameters to estimatemeasurementProcessNoiseMatrix
- provider for measurement process noise matrix- Returns:
- a new model for Kalman Filter orbit determination
-
-