fds.models.station_keeping package¶
Submodules¶
fds.models.station_keeping.requests module¶
- class fds.models.station_keeping.requests.EphemeridesRequest(timestep: float, types: list[str | EphemeridesType], mean: bool, osculating: bool)¶
Bases:
StationKeepingOutputRequest
- class EphemeridesType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
EnumFromInput
- CARTESIAN = 'CARTESIAN'¶
- KEPLERIAN = 'KEPLERIAN'¶
- POWER_SYSTEM = 'POWER_SYSTEM'¶
- property timestep: float¶
- to_microservice_format()¶
- property types: list[EphemeridesType]¶
- class fds.models.station_keeping.requests.SpacecraftStatesRequest(mean: bool, osculating: bool)¶
Bases:
StationKeepingOutputRequest
- to_microservice_format()¶
- class fds.models.station_keeping.requests.StationKeepingOutputRequest(mean: bool, osculating: bool)¶
Bases:
object
- property mean: bool¶
- property osculating: bool¶
- class fds.models.station_keeping.requests.ThrustEphemeridesRequest(mean: bool, osculating: bool)¶
Bases:
StationKeepingOutputRequest
- to_microservice_format()¶
fds.models.station_keeping.result module¶
- class fds.models.station_keeping.result.ResultStationKeeping(report: Report, raw_ephemerides: list[list[float]], field_indexes: list[dict[str, int | str]], start_date: datetime, raw_spacecraft_states: dict | None = None)¶
Bases:
object
- class Report(number_of_burns: int, thrust_duration: float, total_consumption: float, total_delta_v: float, thruster_mean_duty_cycle: float, total_warmup_duty_cycle: float, mean_burn_duration_estimation: float, simulation_duration: float, number_of_orbital_periods: int, total_impulse: float, final_duty_cycle: float, maneuver_model: str, final_orbit: fds.models.orbits.Orbit | None)¶
Bases:
object
- classmethod create_from_api_results(results: NumericalLeoStationKeepingResponseResults)¶
- final_duty_cycle: float¶
- maneuver_model: str¶
- mean_burn_duration_estimation: float¶
- number_of_burns: int¶
- number_of_orbital_periods: int¶
- simulation_duration: float¶
- thrust_duration: float¶
- thruster_mean_duty_cycle: float¶
- total_consumption: float¶
- total_delta_v: float¶
- total_impulse: float¶
- total_warmup_duty_cycle: float¶
- property ephemerides_field_indexes: dict[str, int]¶
- export_cartesian_ephemerides_data() list[dict] | None ¶
- export_keplerian_ephemerides_data() list[dict] | None ¶
- export_power_system_ephemerides_data() list[dict] | None ¶
- export_raw_ephemerides_data() list[dict] ¶
- export_state_error_ephemerides_data() list[dict] | None ¶
- classmethod from_microservice_response(response: NumericalLeoStationKeepingResponse, start_date: datetime | str)¶
- generate_maneuver_roadmap(quaternion_step: float = 0.0) RoadmapFromActions ¶
Generate a roadmap with the maneuvers performed during the station keeping. The roadmap will contain the quaternions and the firing dates.
- Parameters:
quaternion_step (float) – The minimum time step between two quaternions (in seconds). Default is 0.0.
- property raw_ephemerides: list[list[float]]¶
- property raw_spacecraft_states: dict¶
- property start_date: datetime¶
- fds.models.station_keeping.result.get_ephemerides_data(raw_ephemerides: list[list[float]], field_indexes: dict[str, int], start_date: datetime) list[dict] ¶
- fds.models.station_keeping.result.select_ephemerides_data_with_specific_prefix(all_ephemerides_data: list[dict], prefix_list: str | list[str], remove_prefix: bool = True, keys_to_update: dict[str, str] | None = None)¶
fds.models.station_keeping.strategy module¶
- class fds.models.station_keeping.strategy.StationKeepingStrategy(thrust_arcs_position: str | ThrustArcPosition, thrust_arcs_number: str | ThrustArcNumber, number_of_thrust_orbits: int, number_of_rest_orbits: int, number_of_shift_orbits: int, stop_thrust_at_eclipse: bool, thrust_arc_initialisation_kind: str | ThrustArcInitialisationKind, orbital_duty_cycle: float = None, thrust_arc_duration: float = None, custom_thrust_arc_position: CustomArcPosition = None, thrust_arc_mean_longitude_argument: float = None, dynamic_duty_cycle: bool = False)¶
Bases:
Strategy
- property dynamic_duty_cycle: bool¶
- to_microservice_format() CustomManeuveringStrategy ¶
fds.models.station_keeping.tolerance module¶
- class fds.models.station_keeping.tolerance.AlongTrackTolerance(value: float)¶
Bases:
Tolerance
- to_microservice_format() AlongTrackTolerance ¶
fds.models.station_keeping.use_case module¶
- class fds.models.station_keeping.use_case.LeoStationKeeping(initial_orbit: KeplerianOrbit, propagation_context: PropagationContext, spacecraft: SpacecraftSphere | SpacecraftBox, maximum_duration: int, tolerance: Tolerance, output_requests: list[StationKeepingOutputRequest], simulate_attitude_and_power_system: bool = False, strategy: StationKeepingStrategy = None, drag_lift_ratio: float = 0.0, srp_absorption_coefficient: float = 1.0, average_available_on_board_power: float = 0.0, nametag: str = None)¶
Bases:
object
- ResultType¶
alias of
ResultStationKeeping
- property average_available_on_board_power: float¶
- property drag_lift_ratio: float¶
- classmethod from_initial_orbital_state(initial_orbital_state: OrbitalState, maximum_duration: int, tolerance: Tolerance, output_requests: list[StationKeepingOutputRequest], simulate_attitude_and_power_system: bool = False, strategy: StationKeepingStrategy = None, drag_lift_ratio: float = 0.0, srp_absorption_coefficient: float = 1.0, average_available_on_board_power: float = 0.0, nametag: str = None)¶
- Parameters:
initial_orbital_state (OrbitalState) – The orbital state of the spacecraft.
maximum_duration (int) – The maximum duration of the maneuver.
tolerance (Tolerance) – The tolerance object (SMA or ALONG_TRACK).
output_requests (list[StationKeepingOutputRequest]) – The list of output requests.
simulate_attitude_and_power_system (bool) – If True, the attitude and power system are simulated, and the average_available_on_board_power is only used to compute the duty cycle of the thruster. Defaults to False.
strategy (StationKeepingStrategy) – The strategy object. If None, the default strategy is used.
drag_lift_ratio (float) – The drag lift ratio. Defaults to 0.0.
srp_absorption_coefficient (float) – The SRP absorption coefficient. Defaults to 1.0.
average_available_on_board_power (float) – Unit: W. Average power available on board. If the attitude and power system are simulated, this value is used only to compute the duty cycle of the thruster. Defaults to 0.0.
nametag (str) – The name of the use case. Defaults to None.
- property initial_orbit: KeplerianOrbit¶
- property maximum_duration: int¶
- property microservice_configuration: Configuration¶
- property nametag: str¶
- property output_requests: list[StationKeepingOutputRequest]¶
- property propagation_context: PropagationContext¶
- property request: NumericalLeoStationKeepingRequest¶
- property response: NumericalLeoStationKeepingResponse¶
- property result: ResultStationKeeping¶
- run() LeoStationKeeping ¶
- property simulate_attitude_and_power_system: bool¶
- property spacecraft: SpacecraftSphere | SpacecraftBox¶
- property srp_absorption_coefficient: float¶
- property start_date¶
- property strategy: StationKeepingStrategy¶