T
- type of the propagator builderpublic abstract class AbstractOrbitDetermination<T extends org.orekit.propagation.conversion.IntegratedPropagatorBuilder> extends Object
Constructor and Description |
---|
AbstractOrbitDetermination() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
createGravityField(KeyValueFileParser<ParameterKey> parser)
Create a gravity field from input parameters.
|
protected abstract T |
createPropagatorBuilder(org.orekit.orbits.Orbit referenceOrbit,
org.orekit.propagation.conversion.ODEIntegratorBuilder builder,
double positionScale)
Create a propagator builder from input parameters.
|
protected abstract double |
getMu()
Get the central attraction coefficient.
|
protected void |
run(File input)
Run the program.
|
protected abstract void |
setAttitudeProvider(T propagatorBuilder,
org.orekit.attitudes.AttitudeProvider attitudeProvider)
Set attitude provider.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setDrag(T propagatorBuilder,
org.orekit.models.earth.atmosphere.Atmosphere atmosphere,
org.orekit.forces.drag.DragSensitive spacecraft)
Set drag force model.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setGravity(T propagatorBuilder,
org.orekit.bodies.OneAxisEllipsoid body)
Set gravity force model.
|
protected abstract void |
setMass(T propagatorBuilder,
double mass)
Set satellite mass.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setOceanTides(T propagatorBuilder,
org.orekit.utils.IERSConventions conventions,
org.orekit.bodies.OneAxisEllipsoid body,
int degree,
int order)
Set third body attraction force model.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setPolynomialAcceleration(T propagatorBuilder,
String name,
org.hipparchus.geometry.euclidean.threed.Vector3D direction,
int degree)
Set polynomial acceleration force model.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setRelativity(T propagatorBuilder)
Set relativity force model.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setSolarRadiationPressure(T propagatorBuilder,
org.orekit.bodies.CelestialBody sun,
double equatorialRadius,
org.orekit.forces.radiation.RadiationSensitive spacecraft)
Set solar radiation pressure force model.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setSolidTides(T propagatorBuilder,
org.orekit.utils.IERSConventions conventions,
org.orekit.bodies.OneAxisEllipsoid body,
org.orekit.bodies.CelestialBody[] solidTidesBodies)
Set third body attraction force model.
|
protected abstract org.orekit.utils.ParameterDriver[] |
setThirdBody(T propagatorBuilder,
org.orekit.bodies.CelestialBody thirdBody)
Set third body attraction force model.
|
protected abstract void createGravityField(KeyValueFileParser<ParameterKey> parser) throws NoSuchElementException
parser
- input file parserNoSuchElementException
- if input parameters are missingprotected abstract double getMu()
protected abstract T 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.
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 abstract void setMass(T propagatorBuilder, double mass)
propagatorBuilder
- propagator buildermass
- initial massprotected abstract org.orekit.utils.ParameterDriver[] setGravity(T propagatorBuilder, org.orekit.bodies.OneAxisEllipsoid body)
propagatorBuilder
- propagator builderbody
- central bodyprotected abstract org.orekit.utils.ParameterDriver[] setOceanTides(T propagatorBuilder, org.orekit.utils.IERSConventions conventions, org.orekit.bodies.OneAxisEllipsoid body, int degree, int order)
propagatorBuilder
- propagator builderconventions
- IERS conventions to usebody
- central bodydegree
- degree of the tide model to loadorder
- order of the tide model to loadprotected abstract org.orekit.utils.ParameterDriver[] setSolidTides(T propagatorBuilder, org.orekit.utils.IERSConventions conventions, org.orekit.bodies.OneAxisEllipsoid body, org.orekit.bodies.CelestialBody[] solidTidesBodies)
propagatorBuilder
- propagator builderconventions
- IERS conventions to usebody
- central bodysolidTidesBodies
- third bodies generating solid tidesprotected abstract org.orekit.utils.ParameterDriver[] setThirdBody(T propagatorBuilder, org.orekit.bodies.CelestialBody thirdBody)
propagatorBuilder
- propagator builderthirdBody
- third bodyprotected abstract org.orekit.utils.ParameterDriver[] setDrag(T propagatorBuilder, org.orekit.models.earth.atmosphere.Atmosphere atmosphere, org.orekit.forces.drag.DragSensitive spacecraft)
propagatorBuilder
- propagator builderatmosphere
- atmospheric modelspacecraft
- spacecraft modelprotected abstract org.orekit.utils.ParameterDriver[] setSolarRadiationPressure(T propagatorBuilder, org.orekit.bodies.CelestialBody sun, double equatorialRadius, org.orekit.forces.radiation.RadiationSensitive spacecraft)
propagatorBuilder
- propagator buildersun
- Sun modelequatorialRadius
- central body equatorial radius (for shadow computation)spacecraft
- spacecraft modelprotected abstract org.orekit.utils.ParameterDriver[] setRelativity(T propagatorBuilder)
propagatorBuilder
- propagator builderprotected abstract org.orekit.utils.ParameterDriver[] setPolynomialAcceleration(T propagatorBuilder, String name, org.hipparchus.geometry.euclidean.threed.Vector3D direction, int degree)
propagatorBuilder
- propagator buildername
- name of the accelerationdirection
- normalized direction of the accelerationdegree
- polynomial degreeprotected abstract void setAttitudeProvider(T propagatorBuilder, org.orekit.attitudes.AttitudeProvider attitudeProvider)
propagatorBuilder
- propagator builderattitudeProvider
- attitude providerprotected void run(File input) throws IOException
input
- input fileIOException
- if input files cannot be readCopyright © 2002–2020 CS Systèmes d'Information. All rights reserved.