open-space-toolkit-astrodynamics 2.4.1__py311-none-any.whl → 5.0.0__py311-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. {open_space_toolkit_astrodynamics-2.4.1.dist-info → open_space_toolkit_astrodynamics-5.0.0.dist-info}/METADATA +2 -2
  2. open_space_toolkit_astrodynamics-5.0.0.dist-info/RECORD +25 -0
  3. ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-311-x86_64-linux-gnu.so +0 -0
  4. ostk/astrodynamics/__init__.py +6 -0
  5. ostk/astrodynamics/converters.py +1 -1
  6. ostk/astrodynamics/{libopen-space-toolkit-astrodynamics.so.2 → libopen-space-toolkit-astrodynamics.so.5} +0 -0
  7. ostk/astrodynamics/pytrajectory/pystate.py +36 -0
  8. ostk/astrodynamics/test/test_access.py +1 -1
  9. ostk/astrodynamics/test/test_converters.py +1 -1
  10. ostk/astrodynamics/test/test_event_condition.py +27 -2
  11. ostk/astrodynamics/test/test_import.py +2 -2
  12. ostk/astrodynamics/test/test_trajectory.py +1 -1
  13. ostk/astrodynamics/viewer.py +1 -1
  14. open_space_toolkit_astrodynamics-2.4.1.dist-info/RECORD +0 -83
  15. ostk/astrodynamics/test/access/__init__.py +0 -1
  16. ostk/astrodynamics/test/access/test_generator.py +0 -248
  17. ostk/astrodynamics/test/conjunction/messages/ccsds/__init__.py +0 -1
  18. ostk/astrodynamics/test/conjunction/messages/ccsds/conftest.py +0 -325
  19. ostk/astrodynamics/test/conjunction/messages/ccsds/data/cdm.json +0 -303
  20. ostk/astrodynamics/test/conjunction/messages/ccsds/test_cdm.py +0 -416
  21. ostk/astrodynamics/test/event_condition/test_angular_condition.py +0 -113
  22. ostk/astrodynamics/test/event_condition/test_boolean_condition.py +0 -55
  23. ostk/astrodynamics/test/event_condition/test_coe_condition.py +0 -91
  24. ostk/astrodynamics/test/event_condition/test_instant_condition.py +0 -48
  25. ostk/astrodynamics/test/event_condition/test_logical_condition.py +0 -120
  26. ostk/astrodynamics/test/event_condition/test_real_condition.py +0 -53
  27. ostk/astrodynamics/test/flight/__init__.py +0 -1
  28. ostk/astrodynamics/test/flight/profile/__init__.py +0 -1
  29. ostk/astrodynamics/test/flight/profile/test_state.py +0 -144
  30. ostk/astrodynamics/test/flight/system/__init__.py +0 -1
  31. ostk/astrodynamics/test/flight/system/dynamics/__init__.py +0 -1
  32. ostk/astrodynamics/test/flight/system/dynamics/test_atmospheric_drag.py +0 -128
  33. ostk/astrodynamics/test/flight/system/dynamics/test_central_body_gravity.py +0 -58
  34. ostk/astrodynamics/test/flight/system/dynamics/test_dynamics.py +0 -37
  35. ostk/astrodynamics/test/flight/system/dynamics/test_position_derivative.py +0 -51
  36. ostk/astrodynamics/test/flight/system/dynamics/test_third_body_gravity.py +0 -67
  37. ostk/astrodynamics/test/flight/system/dynamics/thruster/test_constant_thrust.py +0 -143
  38. ostk/astrodynamics/test/flight/system/test_propulsion_system.py +0 -46
  39. ostk/astrodynamics/test/flight/system/test_satellite_system.py +0 -77
  40. ostk/astrodynamics/test/flight/test_profile.py +0 -153
  41. ostk/astrodynamics/test/flight/test_system.py +0 -55
  42. ostk/astrodynamics/test/solvers/__init__.py +0 -1
  43. ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py +0 -153
  44. ostk/astrodynamics/test/trajectory/__init__.py +0 -1
  45. ostk/astrodynamics/test/trajectory/orbit/__init__.py +0 -1
  46. ostk/astrodynamics/test/trajectory/orbit/messages/__init__.py +0 -1
  47. ostk/astrodynamics/test/trajectory/orbit/messages/spacex/__init__.py +0 -1
  48. ostk/astrodynamics/test/trajectory/orbit/messages/spacex/conftest.py +0 -18
  49. ostk/astrodynamics/test/trajectory/orbit/messages/spacex/data/opm_1.yaml +0 -44
  50. ostk/astrodynamics/test/trajectory/orbit/messages/spacex/test_opm.py +0 -108
  51. ostk/astrodynamics/test/trajectory/orbit/models/__init__.py +0 -1
  52. ostk/astrodynamics/test/trajectory/orbit/models/kepler/__init__.py +0 -1
  53. ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_coe.py +0 -112
  54. ostk/astrodynamics/test/trajectory/orbit/models/sgp4/__init__.py +0 -1
  55. ostk/astrodynamics/test/trajectory/orbit/models/sgp4/test_tle.py +0 -331
  56. ostk/astrodynamics/test/trajectory/orbit/models/test_kepler.py +0 -130
  57. ostk/astrodynamics/test/trajectory/orbit/models/test_propagated.py +0 -195
  58. ostk/astrodynamics/test/trajectory/orbit/models/test_sgp4.py +0 -1
  59. ostk/astrodynamics/test/trajectory/orbit/models/test_tabulated.py +0 -380
  60. ostk/astrodynamics/test/trajectory/orbit/test_model.py +0 -1
  61. ostk/astrodynamics/test/trajectory/orbit/test_pass.py +0 -55
  62. ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_cartesian_position.py +0 -103
  63. ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_cartesian_velocity.py +0 -113
  64. ostk/astrodynamics/test/trajectory/state/test_coordinates_broker.py +0 -71
  65. ostk/astrodynamics/test/trajectory/state/test_coordinates_subset.py +0 -43
  66. ostk/astrodynamics/test/trajectory/state/test_numerical_solver.py +0 -242
  67. ostk/astrodynamics/test/trajectory/test_local_orbital_frame_direction.py +0 -82
  68. ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py +0 -64
  69. ostk/astrodynamics/test/trajectory/test_model.py +0 -1
  70. ostk/astrodynamics/test/trajectory/test_orbit.py +0 -92
  71. ostk/astrodynamics/test/trajectory/test_propagator.py +0 -387
  72. ostk/astrodynamics/test/trajectory/test_state.py +0 -134
  73. ostk/astrodynamics/test/trajectory/test_trajectory_segment.py +0 -136
  74. {open_space_toolkit_astrodynamics-2.4.1.dist-info → open_space_toolkit_astrodynamics-5.0.0.dist-info}/WHEEL +0 -0
  75. {open_space_toolkit_astrodynamics-2.4.1.dist-info → open_space_toolkit_astrodynamics-5.0.0.dist-info}/top_level.txt +0 -0
  76. {open_space_toolkit_astrodynamics-2.4.1.dist-info → open_space_toolkit_astrodynamics-5.0.0.dist-info}/zip-safe +0 -0
  77. /ostk/{__init__.py → astrodynamics/pytrajectory/__init__.py} +0 -0
@@ -1,136 +0,0 @@
1
- # Apache License 2.0
2
-
3
- import pytest
4
-
5
- from ostk.physics import Environment
6
- from ostk.physics.time import Instant
7
- from ostk.physics.time import DateTime
8
- from ostk.physics.time import Scale
9
- from ostk.physics.time import Duration
10
- from ostk.physics.coordinate import Position
11
- from ostk.physics.coordinate import Velocity
12
- from ostk.physics.coordinate import Frame
13
- from ostk.physics.environment.objects.celestial_bodies import Earth
14
-
15
- from ostk.astrodynamics.trajectory.state import NumericalSolver
16
- from ostk.astrodynamics.flight.system.dynamics import CentralBodyGravity
17
- from ostk.astrodynamics.flight.system.dynamics import PositionDerivative
18
- from ostk.astrodynamics.trajectory import State
19
- from ostk.astrodynamics.trajectory import TrajectorySegment
20
- from ostk.astrodynamics.event_condition import InstantCondition
21
-
22
-
23
- @pytest.fixture
24
- def environment() -> Environment:
25
- return Environment.default()
26
-
27
-
28
- @pytest.fixture
29
- def state() -> State:
30
- frame: Frame = Frame.GCRF()
31
- position: Position = Position.meters([7500000.0, 0.0, 0.0], frame)
32
- velocity: Velocity = Velocity.meters_per_second(
33
- [0.0, 5335.865450622126, 5335.865450622126], frame
34
- )
35
-
36
- instant: Instant = Instant.date_time(DateTime(2018, 1, 1, 0, 0, 0), Scale.UTC)
37
- return State(instant, position, velocity)
38
-
39
-
40
- @pytest.fixture
41
- def central_body_gravity() -> CentralBodyGravity:
42
- return CentralBodyGravity(Earth.spherical())
43
-
44
-
45
- @pytest.fixture
46
- def position_derivative() -> PositionDerivative:
47
- return PositionDerivative()
48
-
49
-
50
- @pytest.fixture
51
- def dynamics(
52
- position_derivative: PositionDerivative, central_body_gravity: CentralBodyGravity
53
- ) -> list:
54
- return [
55
- position_derivative,
56
- central_body_gravity,
57
- ]
58
-
59
-
60
- @pytest.fixture
61
- def numerical_solver() -> NumericalSolver:
62
- return NumericalSolver.default_conditional()
63
-
64
-
65
- @pytest.fixture
66
- def end_instant(state: State) -> Instant:
67
- return state.get_instant() + Duration.minutes(15.0)
68
-
69
-
70
- @pytest.fixture
71
- def instant_condition(end_instant: Instant) -> InstantCondition:
72
- return InstantCondition(InstantCondition.Criterion.AnyCrossing, end_instant)
73
-
74
-
75
- @pytest.fixture
76
- def name() -> str:
77
- return "A Segment"
78
-
79
-
80
- @pytest.fixture
81
- def coast_duration_segment(
82
- name: str,
83
- instant_condition: InstantCondition,
84
- dynamics: list,
85
- numerical_solver: NumericalSolver,
86
- ):
87
- return TrajectorySegment.coast(name, instant_condition, dynamics, numerical_solver)
88
-
89
-
90
- class TestTrajectorySegment:
91
- def test_get_name(self, coast_duration_segment: TrajectorySegment, name: str):
92
- assert coast_duration_segment.get_name() == name
93
-
94
- def test_get_event_condition(
95
- self,
96
- instant_condition: InstantCondition,
97
- coast_duration_segment: TrajectorySegment,
98
- ):
99
- assert coast_duration_segment.get_event_condition() == instant_condition
100
-
101
- def test_get_dynamics(
102
- self,
103
- dynamics: list,
104
- coast_duration_segment: TrajectorySegment,
105
- ):
106
- assert len(coast_duration_segment.get_dynamics()) == len(dynamics)
107
-
108
- def test_get_numerical_solver(
109
- self,
110
- numerical_solver: NumericalSolver,
111
- coast_duration_segment: TrajectorySegment,
112
- ):
113
- assert coast_duration_segment.get_numerical_solver() == numerical_solver
114
-
115
- def test_get_type(
116
- self,
117
- coast_duration_segment: TrajectorySegment,
118
- ):
119
- assert coast_duration_segment.get_type() == TrajectorySegment.Type.Coast
120
-
121
- def test_solve(
122
- self,
123
- state: State,
124
- end_instant: Instant,
125
- coast_duration_segment: TrajectorySegment,
126
- ):
127
- solution = coast_duration_segment.solve(state)
128
-
129
- assert (
130
- pytest.approx(
131
- float((solution.states[-1].get_instant() - end_instant).in_seconds()),
132
- abs=1e-7,
133
- )
134
- == 0.0
135
- )
136
- assert len(solution.states) > 0