public enum OrbitType extends Enum<OrbitType>
orbital
parameters types.Enum Constant and Description |
---|
CARTESIAN
Type for propagation in
Cartesian parameters . |
CIRCULAR
Type for propagation in
circular parameters . |
EQUINOCTIAL
Type for propagation in
equinoctial parameters . |
KEPLERIAN
Type for propagation in
Keplerian parameters . |
Modifier and Type | Field and Description |
---|---|
static String |
A
Name for semi major axis.
|
static String |
E_X
Name for eccentricity vector first component.
|
static String |
E_Y
Name for eccentricity vector second component.
|
static String |
ECC
Name for eccentricity.
|
static String |
ECC_ANOM
Name for eccentric anomaly.
|
static String |
ECC_LAT_ARG
Name for eccentric argument of latitude.
|
static String |
ECC_LON_ARG
Name for eccentric argument of longitude.
|
static String |
H_X
Name for inclination vector first component.
|
static String |
H_Y
Name for inclination vector second component .
|
static String |
INC
Name for inclination.
|
static String |
MEAN_ANOM
Name for mean anomaly.
|
static String |
MEAN_LAT_ARG
Name for mean argument of latitude.
|
static String |
MEAN_LON_ARG
Name for mean argument of longitude.
|
static String |
PA
Name for perigee argument.
|
static String |
POS_X
Name for position along X.
|
static String |
POS_Y
Name for position along Y.
|
static String |
POS_Z
Name for position along Z.
|
static String |
RAAN
Name for right ascension of ascending node.
|
static String |
TRUE_ANOM
Name for mean anomaly.
|
static String |
TRUE_LAT_ARG
Name for mean argument of latitude.
|
static String |
TRUE_LON_ARG
Name for mean argument of longitude.
|
static String |
VEL_X
Name for velocity along X.
|
static String |
VEL_Y
Name for velocity along Y.
|
static String |
VEL_Z
Name for velocity along Z.
|
Modifier and Type | Method and Description |
---|---|
abstract <T extends CalculusFieldElement<T>> |
convertType(FieldOrbit<T> orbit)
Convert an orbit to the instance type.
|
abstract Orbit |
convertType(Orbit orbit)
Convert an orbit to the instance type.
|
abstract ParameterDriversList |
getDrivers(double dP,
Orbit orbit,
PositionAngle type)
Get parameters drivers initialized from a reference orbit.
|
abstract Orbit |
mapArrayToOrbit(double[] array,
double[] arrayDot,
PositionAngle type,
AbsoluteDate date,
double mu,
Frame frame)
Convert state array to orbital parameters.
|
abstract <T extends CalculusFieldElement<T>> |
mapArrayToOrbit(T[] array,
T[] arrayDot,
PositionAngle type,
FieldAbsoluteDate<T> date,
T mu,
Frame frame)
Convert state array to orbital parameters.
|
abstract <T extends CalculusFieldElement<T>> |
mapOrbitToArray(FieldOrbit<T> orbit,
PositionAngle type,
T[] stateVector,
T[] stateVectorDot)
Convert orbit to state array.
|
abstract void |
mapOrbitToArray(Orbit orbit,
PositionAngle type,
double[] stateVector,
double[] stateVectorDot)
Convert orbit to state array.
|
abstract <T extends CalculusFieldElement<T>> |
normalize(FieldOrbit<T> orbit,
FieldOrbit<T> reference)
Normalize one orbit with respect to a reference one.
|
abstract Orbit |
normalize(Orbit orbit,
Orbit reference)
Normalize one orbit with respect to a reference one.
|
protected double[] |
scale(double dP,
Orbit orbit)
Compute scaling factor for parameters drivers.
|
static OrbitType |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static OrbitType[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final OrbitType CARTESIAN
Cartesian parameters
.public static final OrbitType CIRCULAR
circular parameters
.public static final OrbitType EQUINOCTIAL
equinoctial parameters
.public static final OrbitType KEPLERIAN
Keplerian parameters
.public static final String POS_X
public static final String POS_Y
public static final String POS_Z
public static final String VEL_X
public static final String VEL_Y
public static final String VEL_Z
public static final String A
public static final String ECC
public static final String E_X
public static final String E_Y
public static final String INC
public static final String H_X
public static final String H_Y
public static final String PA
public static final String RAAN
public static final String MEAN_ANOM
public static final String ECC_ANOM
public static final String TRUE_ANOM
public static final String MEAN_LAT_ARG
public static final String ECC_LAT_ARG
public static final String TRUE_LAT_ARG
public static final String MEAN_LON_ARG
public static final String ECC_LON_ARG
public static final String TRUE_LON_ARG
public static OrbitType[] values()
for (OrbitType c : OrbitType.values()) System.out.println(c);
public static OrbitType valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic abstract Orbit convertType(Orbit orbit)
The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created
orbit
- orbit to convertpublic abstract void mapOrbitToArray(Orbit orbit, PositionAngle type, double[] stateVector, double[] stateVectorDot)
Note that all implementations of this method must be consistent with the
implementation of the Orbit.getJacobianWrtCartesian
method for the corresponding orbit type in terms of parameters order and meaning.
orbit
- orbit to maptype
- type of the anglestateVector
- flat array into which the state vector should be mapped
(it can have more than 6 elements, extra elements are untouched)stateVectorDot
- flat array into which the state vector derivative should be mapped
(it can be null if derivatives are not desired, and it can have more than 6 elements, extra elements are untouched)public abstract Orbit mapArrayToOrbit(double[] array, double[] arrayDot, PositionAngle type, AbsoluteDate date, double mu, Frame frame)
Note that all implementations of this method must be consistent with the
implementation of the Orbit.getJacobianWrtCartesian
method for the corresponding orbit type in terms of parameters order and meaning.
array
- state as a flat array
(it can have more than 6 elements, extra elements are ignored)arrayDot
- state derivative as a flat array
(it can be null, in which case Keplerian motion is assumed,
and it can have more than 6 elements, extra elements are ignored)type
- type of the angledate
- integration datemu
- central attraction coefficient used for propagation (m³/s²)frame
- frame in which integration is performedpublic abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> convertType(FieldOrbit<T> orbit)
The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created
T
- CalculusFieldElement usedorbit
- orbit to convertpublic abstract <T extends CalculusFieldElement<T>> void mapOrbitToArray(FieldOrbit<T> orbit, PositionAngle type, T[] stateVector, T[] stateVectorDot)
Note that all implementations of this method must be consistent with the
implementation of the Orbit.getJacobianWrtCartesian
method for the corresponding orbit type in terms of parameters order and meaning.
T
- CalculusFieldElement usedorbit
- orbit to maptype
- type of the anglestateVector
- flat array into which the state vector should be mapped
(it can have more than 6 elements, extra elements are untouched)stateVectorDot
- flat array into which the state vector derivative should be mapped
(it can be null if derivatives are not desired, and it can have more than 6 elements, extra elements are untouched)public abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> mapArrayToOrbit(T[] array, T[] arrayDot, PositionAngle type, FieldAbsoluteDate<T> date, T mu, Frame frame)
Note that all implementations of this method must be consistent with the
implementation of the Orbit.getJacobianWrtCartesian
method for the corresponding orbit type in terms of parameters order and meaning.
T
- CalculusFieldElement usedarray
- state as a flat array
(it can have more than 6 elements, extra elements are ignored)arrayDot
- state derivative as a flat array
(it can be null, in which case Keplerian motion is assumed,type
- type of the angledate
- integration datemu
- central attraction coefficient used for propagation (m³/s²)frame
- frame in which integration is performedpublic abstract ParameterDriversList getDrivers(double dP, Orbit orbit, PositionAngle type)
dP
- user specified position errororbit
- reference orbittype
- type of the anglepublic abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> normalize(FieldOrbit<T> orbit, FieldOrbit<T> reference)
Given a, angular component ζ of an orbit and the corresponding angular component ζᵣ in the reference orbit, the angular component ζₙ of the normalized orbit will be ζₙ = ζ + 2kπ where k is chosen such that ζᵣ - π ≤ ζₙ ≤ ζᵣ + π. This is intended to avoid too large discontinuities and is particularly useful for normalizing the orbit after an impulsive maneuver with respect to the reference picked up before the maneuver.
T
- CalculusFieldElement usedorbit
- orbit to normalizereference
- reference orbitOrbitType
)public abstract Orbit normalize(Orbit orbit, Orbit reference)
Given a, angular component ζ of an orbit and the corresponding angular component ζᵣ in the reference orbit, the angular component ζₙ of the normalized orbit will be ζₙ = ζ + 2kπ where k is chosen such that ζᵣ - π ≤ ζₙ ≤ ζᵣ + π. This is intended to avoid too large discontinuities and is particularly useful for normalizing the orbit after an impulsive maneuver with respect to the reference picked up before the maneuver.
orbit
- orbit to normalizereference
- reference orbitOrbitType
)protected double[] scale(double dP, Orbit orbit)
The scales are estimated from partial derivatives properties of orbits, starting from a scalar position error specified by the user. Considering the energy conservation equation V = sqrt(mu (2/r - 1/a)), we get at constant energy (i.e. on a Keplerian trajectory):
V r² |dV| = mu |dr|
So we deduce a scalar velocity error consistent with the position error. From here, we apply orbits Jacobians matrices to get consistent scales on orbital parameters.
dP
- user specified position errororbit
- reference orbitCopyright © 2002-2023 CS GROUP. All rights reserved.