public class DSSTOrbitDetermination extends AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
The tutorial is very close to the one for the orbit determination using a numerical propagator.
The tutorial performs orbit determination considering only mean elements.
Constructor and Description |
---|
DSSTOrbitDetermination() |
Modifier and Type | Method and Description |
---|---|
protected void |
createGravityField(KeyValueFileParser<ParameterKey> parser)
Create a gravity field from input parameters.
|
protected org.orekit.propagation.conversion.DSSTPropagatorBuilder |
createPropagatorBuilder(org.orekit.orbits.Orbit referenceOrbit,
org.orekit.propagation.conversion.ODEIntegratorBuilder builder,
double positionScale)
Create a propagator builder from input parameters.
|
protected double |
getMu()
Get the central attraction coefficient.
|
static void |
main(String[] args)
Program entry point.
|
protected void |
setAttitudeProvider(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
org.orekit.attitudes.AttitudeProvider attitudeProvider)
Set attitude provider.
|
protected org.orekit.utils.ParameterDriver[] |
setDrag(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
org.orekit.models.earth.atmosphere.Atmosphere atmosphere,
org.orekit.forces.drag.DragSensitive spacecraft)
Set drag force model.
|
protected org.orekit.utils.ParameterDriver[] |
setGravity(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
org.orekit.bodies.OneAxisEllipsoid body)
Set gravity force model.
|
protected void |
setMass(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
double mass)
Set satellite mass.
|
protected org.orekit.utils.ParameterDriver[] |
setOceanTides(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
org.orekit.utils.IERSConventions conventions,
org.orekit.bodies.OneAxisEllipsoid body,
int degree,
int order)
Set third body attraction force model.
|
protected org.orekit.utils.ParameterDriver[] |
setPolynomialAcceleration(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
String name,
org.hipparchus.geometry.euclidean.threed.Vector3D direction,
int degree)
Set polynomial acceleration force model.
|
protected org.orekit.utils.ParameterDriver[] |
setRelativity(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder)
Set relativity force model.
|
protected org.orekit.utils.ParameterDriver[] |
setSolarRadiationPressure(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
org.orekit.bodies.CelestialBody sun,
double equatorialRadius,
org.orekit.forces.radiation.RadiationSensitive spacecraft)
Set solar radiation pressure force model.
|
protected org.orekit.utils.ParameterDriver[] |
setSolidTides(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
org.orekit.utils.IERSConventions conventions,
org.orekit.bodies.OneAxisEllipsoid body,
org.orekit.bodies.CelestialBody[] solidTidesBodies)
Set third body attraction force model.
|
protected org.orekit.utils.ParameterDriver[] |
setThirdBody(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder,
org.orekit.bodies.CelestialBody thirdBody)
Set third body attraction force model.
|
run
public static void main(String[] args)
args
- program arguments (unused here)protected void createGravityField(KeyValueFileParser<ParameterKey> parser) throws NoSuchElementException
createGravityField
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
parser
- input file parserNoSuchElementException
- if input parameters are missingprotected double getMu()
getMu
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
protected org.orekit.propagation.conversion.DSSTPropagatorBuilder createPropagatorBuilder(org.orekit.orbits.Orbit referenceOrbit, org.orekit.propagation.conversion.ODEIntegratorBuilder builder, double positionScale)
The advantage of using the DSST instead of the numerical propagator is that it is possible to use greater values for the minimum and maximum integration steps.
createPropagatorBuilder
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
referenceOrbit
- reference orbit from which real orbits will be builtbuilder
- first order integrator builderpositionScale
- scaling factor used for orbital parameters normalization
(typically set to the expected standard deviation of the position)protected void setMass(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, double mass)
setMass
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator buildermass
- initial massprotected org.orekit.utils.ParameterDriver[] setGravity(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, org.orekit.bodies.OneAxisEllipsoid body)
setGravity
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator builderbody
- central bodyprotected org.orekit.utils.ParameterDriver[] setOceanTides(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, org.orekit.utils.IERSConventions conventions, org.orekit.bodies.OneAxisEllipsoid body, int degree, int order)
setOceanTides
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator builderconventions
- IERS conventions to usebody
- central bodydegree
- degree of the tide model to loadorder
- order of the tide model to loadprotected org.orekit.utils.ParameterDriver[] setSolidTides(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, org.orekit.utils.IERSConventions conventions, org.orekit.bodies.OneAxisEllipsoid body, org.orekit.bodies.CelestialBody[] solidTidesBodies)
setSolidTides
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator builderconventions
- IERS conventions to usebody
- central bodysolidTidesBodies
- third bodies generating solid tidesprotected org.orekit.utils.ParameterDriver[] setThirdBody(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, org.orekit.bodies.CelestialBody thirdBody)
setThirdBody
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator builderthirdBody
- third bodyprotected org.orekit.utils.ParameterDriver[] setDrag(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, org.orekit.models.earth.atmosphere.Atmosphere atmosphere, org.orekit.forces.drag.DragSensitive spacecraft)
setDrag
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator builderatmosphere
- atmospheric modelspacecraft
- spacecraft modelprotected org.orekit.utils.ParameterDriver[] setSolarRadiationPressure(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, org.orekit.bodies.CelestialBody sun, double equatorialRadius, org.orekit.forces.radiation.RadiationSensitive spacecraft)
setSolarRadiationPressure
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator buildersun
- Sun modelequatorialRadius
- central body equatorial radius (for shadow computation)spacecraft
- spacecraft modelprotected org.orekit.utils.ParameterDriver[] setRelativity(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder)
setRelativity
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator builderprotected org.orekit.utils.ParameterDriver[] setPolynomialAcceleration(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, String name, org.hipparchus.geometry.euclidean.threed.Vector3D direction, int degree)
setPolynomialAcceleration
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator buildername
- name of the accelerationdirection
- normalized direction of the accelerationdegree
- polynomial degreeprotected void setAttitudeProvider(org.orekit.propagation.conversion.DSSTPropagatorBuilder propagatorBuilder, org.orekit.attitudes.AttitudeProvider attitudeProvider)
setAttitudeProvider
in class AbstractOrbitDetermination<org.orekit.propagation.conversion.DSSTPropagatorBuilder>
propagatorBuilder
- propagator builderattitudeProvider
- attitude providerCopyright © 2002–2020 CS Systèmes d'Information. All rights reserved.