constellation
cosmica.dynamics.constellation
__all__
module-attribute
__all__ = [
"MOPCSatelliteKey",
"MultiOrbitalPlaneConstellation",
"SatelliteConstellation",
]
logger
module-attribute
logger = getLogger(__name__)
MOPCSatelliteKey
Bases: NamedTuple
plane_id
instance-attribute
plane_id: int
satellite_id
instance-attribute
satellite_id: int
__str__
__str__() -> str
Source code in src/cosmica/dynamics/constellation.py
50 51 | |
MultiOrbitalPlaneConstellation
MultiOrbitalPlaneConstellation(
satellite_orbits: Mapping[
ConstellationSatellite[MOPCSatelliteKey], TOrbit
],
)
Bases: SatelliteConstellation[MOPCSatelliteKey, TOrbit]
A constellation of satellites in multiple orbital planes.
The satellite key is a tuple of the plane ID and the satellite ID.
Source code in src/cosmica/dynamics/constellation.py
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | |
n_satellites_per_plane
property
n_satellites_per_plane: int
Number of satellites per orbital plane.
It is assumed that all planes have the same number of satellites. Otherwise, it will raise an exception.
plane_id_to_satellites
instance-attribute
plane_id_to_satellites: dict[
int, list[ConstellationSatellite[MOPCSatelliteKey]]
] = {
plane_id: [
sat for sat in (satellites) if plane_id == plane_id
]
for plane_id in (plane_ids)
}
plane_ids
instance-attribute
plane_ids = sorted({(plane_id) for sat in (satellites)})
satellite_ids
instance-attribute
satellite_ids = sorted(
{(satellite_id) for sat in (satellites)}
)
satellite_orbits
instance-attribute
satellite_orbits = satellite_orbits
satellites
instance-attribute
satellites = tuple(keys())
from_toml_file
classmethod
from_toml_file(
toml_file_path: Path | str,
) -> MultiOrbitalPlaneConstellation
Source code in src/cosmica/dynamics/constellation.py
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | |
propagate
propagate(
time: NDArray[datetime64],
) -> dict[ConstellationSatellite[T], SatelliteOrbitState]
Source code in src/cosmica/dynamics/constellation.py
42 43 | |
SatelliteConstellation
Bases: ABC
A constellation of satellites.
satellite_orbits is a dictionary mapping satellite keys to satellite orbits.
propagate
propagate(
time: NDArray[datetime64],
) -> dict[ConstellationSatellite[T], SatelliteOrbitState]
Source code in src/cosmica/dynamics/constellation.py
42 43 | |