Package org.orekit.orbits
Class WalkerConstellation
java.lang.Object
org.orekit.orbits.WalkerConstellation
Builder for orbits of satellites forming a Walker constellation.
It manages the 2 patterns:
- Delta, with ascending nodes distributed over 360°
- Star, with ascending nodes distributed over 180°
- Since:
- 12.1
- Author:
- Luc Maisonobe
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumEnumerate for Walker constellation design patterns. -
Constructor Summary
ConstructorsConstructorDescriptionWalkerConstellation(int t, int p, int f) Default constructor for Walker Delta constellation.WalkerConstellation(int t, int p, int f, WalkerConstellation.Pattern pattern) Complete constructor with the choice of the pattern. -
Method Summary
Modifier and TypeMethodDescription<O extends Orbit>
WalkerConstellationSlot<O> buildReferenceSlot(O referenceOrbit) Create the reference slot, which is satellite 0 in plane 0.<O extends Orbit>
List<List<WalkerConstellationSlot<O>>> buildRegularSlots(O referenceOrbit) Create the regular slots.<O extends Orbit>
WalkerConstellationSlot<O> buildSlot(WalkerConstellationSlot<O> existingSlot, int plane, double satellite) Create one offset slot from an already existing slot.intgetF()Get the phasing parameter.intgetP()Get the number of orbital planes.Get the constellation pattern.intgetT()Get the total number of satellites.
-
Constructor Details
-
WalkerConstellation
public WalkerConstellation(int t, int p, int f) Default constructor for Walker Delta constellation.- Parameters:
t- total number of satellitesp- number of orbital planesf- phasing parameter
-
WalkerConstellation
Complete constructor with the choice of the pattern.- Parameters:
t- total number of satellitesp- number of orbital planesf- phasing parameterpattern- constellation pattern
-
-
Method Details
-
getT
public int getT()Get the total number of satellites.- Returns:
- total number of satellites
-
getP
public int getP()Get the number of orbital planes.- Returns:
- number of orbital planes
-
getF
public int getF()Get the phasing parameter.- Returns:
- phasing parameter
-
getPattern
Get the constellation pattern.- Returns:
- constellation pattern
-
buildRegularSlots
Create the regular slots.This method builds the
Tregular satellite, with integersatellite indices. If additional in-orbit spare satellites must be created, thebuildSlotmethod must be called explicitly.The various orbits are built from the
referenceOrbitusing plane rotations andshifts. This implies that if orbit does not include non-Keplerian derivatives, a simple Keplerian motion is assumed, which is the intended use case.- Type Parameters:
O- type of the orbits- Parameters:
referenceOrbit- orbit of the reference satellite, inplane0 and atWalkerConstellationSlot.getSatellite()satellite index} 0- Returns:
- built orbits as a list of list, organized by planes
- See Also:
-
buildReferenceSlot
Create the reference slot, which is satellite 0 in plane 0.- Type Parameters:
O- type of the orbits- Parameters:
referenceOrbit- orbit of the reference satellite, inplane0 and atWalkerConstellationSlot.getSatellite()satellite index} 0- Returns:
- build reference slot
- See Also:
-
buildSlot
public <O extends Orbit> WalkerConstellationSlot<O> buildSlot(WalkerConstellationSlot<O> existingSlot, int plane, double satellite) Create one offset slot from an already existing slot.- Type Parameters:
O- type of the orbits- Parameters:
existingSlot- existing slot (may be thereference slotor not)plane- plane index of the new slot (may be non-integer for in-orbit spare satellites)satellite- new slot satellite index in plane (may be non-integer if needed)- Returns:
- built slot
- See Also:
-