Class ConstellationLibrary
- Namespace
- NominalSystems.Universe
- Assembly
- NominalSystems.Universe.dll
[Nominal] This library is able to calculate spacecraft constellation parameters from a pre-configured design of constellation. This has helper functions for both Coplanar and Walker-Delta constellations.
public static class ConstellationLibrary
- Inheritance
-
ConstellationLibrary
Methods
CoplanarToClassicElements(double, double, double, double, double, int)
Generates an array of ClassicElements representing the orbital elements of a constellation of satellites in coplanar orbits.
public static ClassicElements[] CoplanarToClassicElements(double semiMajorAxis, double inclination, double omegaAscension, double omegaPeriapsis, double trueAnomalyReference, int numSatellites)
Parameters
semiMajorAxis
doubleThe semi-major axis of the orbits.
inclination
doubleThe inclination of the orbits.
omegaAscension
doubleThe right ascension of the ascending node.
omegaPeriapsis
doubleThe argument of periapsis.
trueAnomalyReference
doubleThe true anomaly at the reference time.
numSatellites
intThe number of satellites in the constellation.
Returns
- ClassicElements[]
An array of ClassicElements, each representing the orbital elements of a satellite in the constellation.
CoplanarToRelativeElements(double, Spacecraft[])
Generates an array of RelativeElements representing the relative orbital elements of a constellation of satellites in coplanar orbits.
public static RelativeElements[] CoplanarToRelativeElements(double mu, Spacecraft[] spacecraft)
Parameters
mu
doubleThe gravitational parameter of the central body.
spacecraft
Spacecraft[]An array of Spacecraft objects representing the satellites in the constellation.
Returns
- RelativeElements[]
An array of RelativeElements, each representing the relative orbital elements of a satellite in the constellation with respect to the first satellite.
CoplanarToRelativeElementsMean(double, double, double, Spacecraft[])
Generates an array of RelativeElements representing the mean relative orbital elements of a constellation of satellites in coplanar orbits.
public static RelativeElements[] CoplanarToRelativeElementsMean(double mu, double radius, double j2, Spacecraft[] spacecraft)
Parameters
mu
doubleThe gravitational parameter of the central body.
radius
doubleThe equatorial radius of the central body.
j2
doubleThe second zonal harmonic of the central body's gravitational potential.
spacecraft
Spacecraft[]An array of Spacecraft objects representing the satellites in the constellation.
Returns
- RelativeElements[]
An array of RelativeElements, each representing the mean relative orbital elements of a satellite in the constellation with respect to the first satellite.
CoplanarToVectorElements(double, double, double, double, double, double, int)
Generates an array of VectorElements representing the orbital elements of a constellation of satellites in coplanar orbits.
public static VectorElements[] CoplanarToVectorElements(double mu, double semiMajorAxis, double inclination, double omegaAscension, double omegaPeriapsis, double trueAnomalyReference, int numSatellites)
Parameters
mu
doubleThe gravitational parameter of the central body.
semiMajorAxis
doubleThe semi-major axis of the orbits.
inclination
doubleThe inclination of the orbits.
omegaAscension
doubleThe right ascension of the ascending node.
omegaPeriapsis
doubleThe argument of periapsis.
trueAnomalyReference
doubleThe true anomaly at the reference time.
numSatellites
intThe number of satellites in the constellation.
Returns
- VectorElements[]
An array of VectorElements, each representing the orbital elements of a satellite in the constellation.
WalkerDeltaToClassicElements(double, double, int, int, double, double, double, double)
Initialise the initial orbital conditions of a walker delta constellation returning the initial states as classical orbital elements.
public static ClassicElements[] WalkerDeltaToClassicElements(double semiMajorAxis, double inclination, int numSatellites, int numPlanes, double relativeSpacing, double omegaAscensionRef, double omegaPeriapsisRef, double trueAnomalyRef)
Parameters
semiMajorAxis
doubleThe desired semi major axis for all spacecraft in the constellation
inclination
doubleThe desired inclination for all spacecraft in the constellation
numSatellites
intThe number of spacecraft desired in the constellation
numPlanes
intThe number of orbital planes desired in the walker-delta constellation
relativeSpacing
doubleThe relative spacing desired for the walker-delta constellation
omegaAscensionRef
doubleThe initial offset in right ascension of the ascending node
omegaPeriapsisRef
doubleThe initial offset in the argument of periapsis
trueAnomalyRef
doubleThe initial offset in the true anomaly
Returns
- ClassicElements[]
An array of classical orbital elements containing the initial state of spacecraft in the constellation
WalkerDeltaToVectorElements(double, double, double, int, int, double, double, double, double)
Generates an array of VectorElements representing the orbital elements of a Walker Delta constellation of satellites.
public static VectorElements[] WalkerDeltaToVectorElements(double mu, double semiMajorAxis, double inclination, int numSatellites, int numPlanes, double relativeSpacing, double omegaAscensionRef, double omegaPeriapsisRef, double trueAnomalyRef)
Parameters
mu
doubleThe gravitational parameter of the central body.
semiMajorAxis
doubleThe semi-major axis of the orbits.
inclination
doubleThe inclination of the orbits.
numSatellites
intThe total number of satellites in the constellation.
numPlanes
intThe number of orbital planes in the constellation.
relativeSpacing
doubleThe relative spacing between satellites in adjacent planes.
omegaAscensionRef
doubleThe right ascension of the ascending node at the reference time.
omegaPeriapsisRef
doubleThe argument of periapsis at the reference time.
trueAnomalyRef
doubleThe true anomaly at the reference time.
Returns
- VectorElements[]
An array of VectorElements, each representing the orbital elements of a satellite in the Walker Delta constellation.