kiam-astro 3.0.0__tar.gz → 3.0.2__tar.gz

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 (46) hide show
  1. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/PKG-INFO +2 -2
  2. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/FKIAMToolbox.cp39-win_amd64.pyd +0 -0
  3. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/FKIAMToolbox.cpython-39-darwin.so +0 -0
  4. kiam_astro-3.0.2/kiam_astro/__pycache__/__init__.cpython-39.pyc +0 -0
  5. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/__pycache__/engine.cpython-39.pyc +0 -0
  6. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/__pycache__/kiam.cpython-39.pyc +0 -0
  7. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/__pycache__/trajectory.cpython-39.pyc +0 -0
  8. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/engine.py +40 -40
  9. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/kiam.py +107 -3
  10. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/trajectory.py +12 -0
  11. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro.egg-info/PKG-INFO +2 -2
  12. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/setup.py +2 -2
  13. kiam_astro-3.0.0/kiam_astro/__pycache__/__init__.cpython-39.pyc +0 -0
  14. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.github/workflows/static.yml +0 -0
  15. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/.gitignore +0 -0
  16. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/.name +0 -0
  17. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/KIAMToolbox.iml +0 -0
  18. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/encodings.xml +0 -0
  19. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/inspectionProfiles/Project_Default.xml +0 -0
  20. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
  21. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/misc.xml +0 -0
  22. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/modules.xml +0 -0
  23. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/.idea/vcs.xml +0 -0
  24. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/LICENSE +0 -0
  25. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/MANIFEST.in +0 -0
  26. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/README.md +0 -0
  27. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/html/Trajectory.html +0 -0
  28. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/html/kiam.html +0 -0
  29. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/index.html +0 -0
  30. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/FKIAMToolbox.cpython-39-x86_64-linux-gnu.so +0 -0
  31. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/JPLEPH +0 -0
  32. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/__init__.py +0 -0
  33. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/images/Earth.jpg +0 -0
  34. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/images/Earth2.jpg +0 -0
  35. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/images/Moon - Plate Caree Projection.jpg +0 -0
  36. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/images/Moon1.jpg +0 -0
  37. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/images/Moon2.jpg +0 -0
  38. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/libifcoremd.dll +0 -0
  39. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/libmmd.dll +0 -0
  40. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro/svml_dispmd.dll +0 -0
  41. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro.egg-info/SOURCES.txt +0 -0
  42. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro.egg-info/dependency_links.txt +0 -0
  43. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro.egg-info/requires.txt +0 -0
  44. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/kiam_astro.egg-info/top_level.txt +0 -0
  45. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/requirements.txt +0 -0
  46. {kiam_astro-3.0.0 → kiam_astro-3.0.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kiam_astro
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: KIAM Astrodynamics Toolbox
5
5
  Home-page: https://github.com/shmaxg/KIAMToolbox
6
6
  Author: Maksim Shirobokov
@@ -20,7 +20,7 @@ Classifier: Operating System :: POSIX :: Linux
20
20
  Classifier: Programming Language :: Fortran
21
21
  Classifier: Programming Language :: Python :: 3
22
22
  Classifier: Topic :: Scientific/Engineering
23
- Requires-Python: == 3.9
23
+ Requires-Python: >=3.9.0, <=3.9.16
24
24
  License-File: LICENSE
25
25
 
26
26
  Astrodynamics toolbox made in Keldysh Institute of Applied Mathematics for preliminary space mission analysis.
@@ -38,12 +38,12 @@ class SPT50(Engine):
38
38
  self.engine_type = 'electric'
39
39
 
40
40
  self.propellant = 'Xe'
41
- self.discharge_voltage = 180 # V
41
+ self.discharge_voltage = 180.0 # V
42
42
  self.discharge_current = 1.25 # A
43
- self.discharge_power = 225 # W
43
+ self.discharge_power = 225.0 # W
44
44
 
45
45
  self.force = 14.0e-03 # N
46
- self.specific_impulse = 860 # s
46
+ self.specific_impulse = 860.0 # s
47
47
  self.power_to_thrust_ratio = 16.1e+03 # W/N
48
48
  self.min_lifetime_h = 1217/24 # days
49
49
  self.min_lifetime_cycles = 3011 # cycles
@@ -63,12 +63,12 @@ class SPT50M(Engine):
63
63
 
64
64
  self.propellant = 'Xe'
65
65
 
66
- self.discharge_voltage = 180 # V
66
+ self.discharge_voltage = 180.0 # V
67
67
  self.discharge_current = 1.25 # A
68
- self.discharge_power = 225 # W
68
+ self.discharge_power = 225.0 # W
69
69
 
70
70
  self.force = 14.8e-03 # N
71
- self.specific_impulse = 930 # s
71
+ self.specific_impulse = 930.0 # s
72
72
  self.power_to_thrust_ratio = 15.2e+03 # W/N
73
73
  self.min_lifetime_h = 5000/24 # days
74
74
  self.min_lifetime_cycles = 11000 # cycles
@@ -79,12 +79,12 @@ class SPT50M(Engine):
79
79
 
80
80
  self.propellant = 'Xe'
81
81
 
82
- self.discharge_voltage = 300 # V
82
+ self.discharge_voltage = 300.0 # V
83
83
  self.discharge_current = 1.0 # A
84
- self.discharge_power = 300 # W
84
+ self.discharge_power = 300.0 # W
85
85
 
86
86
  self.force = 18.0e-03 # N
87
- self.specific_impulse = 1250 # s
87
+ self.specific_impulse = 1250.0 # s
88
88
  self.power_to_thrust_ratio = 16.7e+03 # W/N
89
89
  self.min_lifetime_h = 5000 / 24 # days
90
90
  self.min_lifetime_cycles = 11000 # cycles
@@ -102,12 +102,12 @@ class SPT70(Engine):
102
102
 
103
103
  self.propellant = 'Xe'
104
104
 
105
- self.discharge_voltage = 300 # V
105
+ self.discharge_voltage = 300.0 # V
106
106
  self.discharge_current = 2.23 # A
107
- self.discharge_power = 670 # W
107
+ self.discharge_power = 670.0 # W
108
108
 
109
109
  self.force = 39.0e-03 # N
110
- self.specific_impulse = 1470 # s
110
+ self.specific_impulse = 1470.0 # s
111
111
  self.power_to_thrust_ratio = 16.1e+03 # W/N
112
112
  self.min_lifetime_h = 3100 / 24 # days
113
113
  self.min_lifetime_cycles = 3000 # cycles
@@ -127,12 +127,12 @@ class SPT70M(Engine):
127
127
 
128
128
  self.propellant = 'Xe'
129
129
 
130
- self.discharge_voltage = 300 # V
130
+ self.discharge_voltage = 300.0 # V
131
131
  self.discharge_current = 2.00 # A
132
- self.discharge_power = 600 # W
132
+ self.discharge_power = 600.0 # W
133
133
 
134
134
  self.force = 36.0e-03 # N
135
- self.specific_impulse = 1430 # s
135
+ self.specific_impulse = 1430.0 # s
136
136
  self.power_to_thrust_ratio = 15.2e+03 # W/N
137
137
  self.min_lifetime_h = 7000 / 24 # days
138
138
  self.min_lifetime_cycles = 11000 # cycles
@@ -143,12 +143,12 @@ class SPT70M(Engine):
143
143
 
144
144
  self.propellant = 'Xe'
145
145
 
146
- self.discharge_voltage = 300 # V
146
+ self.discharge_voltage = 300.0 # V
147
147
  self.discharge_current = 2.67 # A
148
- self.discharge_power = 800 # W
148
+ self.discharge_power = 800.0 # W
149
149
 
150
150
  self.force = 48.0e-03 # N
151
- self.specific_impulse = 1530 # s
151
+ self.specific_impulse = 1530.0 # s
152
152
  self.power_to_thrust_ratio = 16.7e+03 # W/N
153
153
  self.min_lifetime_h = 7000 / 24 # days
154
154
  self.min_lifetime_cycles = 11000 # cycles
@@ -159,12 +159,12 @@ class SPT70M(Engine):
159
159
 
160
160
  self.propellant = 'Xe'
161
161
 
162
- self.discharge_voltage = 300 # V
162
+ self.discharge_voltage = 300.0 # V
163
163
  self.discharge_current = 3.33 # A
164
- self.discharge_power = 1000 # W
164
+ self.discharge_power = 1000.0 # W
165
165
 
166
166
  self.force = 59.0e-03 # N
167
- self.specific_impulse = 1600 # s
167
+ self.specific_impulse = 1600.0 # s
168
168
  self.power_to_thrust_ratio = 16.9e+03 # W/N
169
169
  self.min_lifetime_h = 7000 / 24 # days
170
170
  self.min_lifetime_cycles = 11000 # cycles
@@ -175,12 +175,12 @@ class SPT70M(Engine):
175
175
 
176
176
  self.propellant = 'Kr'
177
177
 
178
- self.discharge_voltage = 300 # V
178
+ self.discharge_voltage = 300.0 # V
179
179
  self.discharge_current = 2.00 # A
180
- self.discharge_power = 600 # W
180
+ self.discharge_power = 600.0 # W
181
181
 
182
182
  self.force = 28.0e-03 # N
183
- self.specific_impulse = 1380 # s
183
+ self.specific_impulse = 1380.0 # s
184
184
  self.power_to_thrust_ratio = 21.4e+03 # W/N
185
185
  self.min_lifetime_h = 7000 / 24 # days
186
186
  self.min_lifetime_cycles = 11000 # cycles
@@ -191,12 +191,12 @@ class SPT70M(Engine):
191
191
 
192
192
  self.propellant = 'Kr'
193
193
 
194
- self.discharge_voltage = 300 # V
194
+ self.discharge_voltage = 300.0 # V
195
195
  self.discharge_current = 2.67 # A
196
- self.discharge_power = 800 # W
196
+ self.discharge_power = 800.0 # W
197
197
 
198
198
  self.force = 37.0e-03 # N
199
- self.specific_impulse = 1490 # s
199
+ self.specific_impulse = 1490.0 # s
200
200
  self.power_to_thrust_ratio = 21.6e+03 # W/N
201
201
  self.min_lifetime_h = 7000 / 24 # days
202
202
  self.min_lifetime_cycles = 11000 # cycles
@@ -207,12 +207,12 @@ class SPT70M(Engine):
207
207
 
208
208
  self.propellant = 'Kr'
209
209
 
210
- self.discharge_voltage = 300 # V
210
+ self.discharge_voltage = 300.0 # V
211
211
  self.discharge_current = 3.33 # A
212
- self.discharge_power = 1000 # W
212
+ self.discharge_power = 1000.0 # W
213
213
 
214
214
  self.force = 47.0e-03 # N
215
- self.specific_impulse = 1560 # s
215
+ self.specific_impulse = 1560.0 # s
216
216
  self.power_to_thrust_ratio = 21.3e+03 # W/N
217
217
  self.min_lifetime_h = 7000 / 24 # days
218
218
  self.min_lifetime_cycles = 11000 # cycles
@@ -234,12 +234,12 @@ class SPT100B(Engine):
234
234
 
235
235
  self.propellant = 'Xe'
236
236
 
237
- self.discharge_voltage = 300 # V
237
+ self.discharge_voltage = 300.0 # V
238
238
  self.discharge_current = 4.5 # A
239
- self.discharge_power = 1350 # W
239
+ self.discharge_power = 1350.0 # W
240
240
 
241
241
  self.force = 83.0e-03 # N
242
- self.specific_impulse = 1540 # s
242
+ self.specific_impulse = 1540.0 # s
243
243
  self.efficiency = 0.45
244
244
  self.power_to_thrust_ratio = 16.3e+03 # W/N
245
245
  self.min_lifetime_h = 9000 / 24 # days
@@ -258,12 +258,12 @@ class SPT100BM(Engine):
258
258
 
259
259
  self.propellant = 'Xe'
260
260
 
261
- self.discharge_voltage = 300 # V
261
+ self.discharge_voltage = 300.0 # V
262
262
  self.discharge_current = 4.5 # A
263
- self.discharge_power = 1350 # W
263
+ self.discharge_power = 1350.0 # W
264
264
 
265
265
  self.force = 90.0e-03 # N
266
- self.specific_impulse = 1600 # s
266
+ self.specific_impulse = 1600.0 # s
267
267
  self.efficiency = 0.52
268
268
  self.power_to_thrust_ratio = 15.0e+03 # W/N
269
269
  self.min_lifetime_h = 9000 / 24 # days
@@ -282,12 +282,12 @@ class SPT140D(Engine):
282
282
 
283
283
  self.propellant = 'Xe'
284
284
 
285
- self.discharge_voltage = 300 # V
286
- self.discharge_current = 15 # A
287
- self.discharge_power = 4500 # W
285
+ self.discharge_voltage = 300.0 # V
286
+ self.discharge_current = 15.0 # A
287
+ self.discharge_power = 4500.0 # W
288
288
 
289
289
  self.force = 290.0e-03 # N
290
- self.specific_impulse = 1750 # s
290
+ self.specific_impulse = 1750.0 # s
291
291
  self.efficiency = 0.53
292
292
  self.power_to_thrust_ratio = 15.5e+03 # W/N
293
293
  self.min_lifetime_h = 15000 / 24 # days
@@ -3042,7 +3042,7 @@ def lvlh2mer(xlvlh: numpy.ndarray, lat: float, lon: float) -> numpy.ndarray:
3042
3042
  return FKIAMToolbox.transformations.xmer_mat
3043
3043
  def b1crs2b2crs(body1: str, body2: str, xb1crs: numpy.ndarray, jd: Union[float, numpy.ndarray], dist_unit: float, vel_unit: float) -> numpy.ndarray:
3044
3044
  """
3045
- Translate phase vectors from one CRS c/s to other CRS c/s.
3045
+ Translate phase vectors from one CRS c/s to another CRS c/s.
3046
3046
 
3047
3047
  Parameters:
3048
3048
  -----------
@@ -3050,10 +3050,14 @@ def b1crs2b2crs(body1: str, body2: str, xb1crs: numpy.ndarray, jd: Union[float,
3050
3050
 
3051
3051
  The name of the first body.
3052
3052
 
3053
+ Options: 'sun', 'mercury', 'venus', 'earth', 'moon', 'mars', 'jupiter', 'saturn', 'uranus', 'neptune'.
3054
+
3053
3055
  `body2` : str
3054
3056
 
3055
3057
  The name of the second (target) body.
3056
3058
 
3059
+ Options: 'sun', 'mercury', 'venus', 'earth', 'moon', 'mars', 'jupiter', 'saturn', 'uranus', 'neptune'.
3060
+
3057
3061
  `xb1crs` : numpy.ndarray, shape (6,), (6,n)
3058
3062
 
3059
3063
  6D vector or array of 6D column phase vectors in the CRS coordinate system of body1.
@@ -3620,6 +3624,26 @@ def nbp_rv_earth(t: float, s: numpy.ndarray, stm_req: bool, sources: dict, data:
3620
3624
 
3621
3625
  'RMoon' (The radius of the Moon in the units of distance)
3622
3626
 
3627
+ 'SunGM' (The nondimensional gravitational parameter of the Sun)
3628
+
3629
+ 'MercuryGM' (The nondimensional gravitational parameter of Mercury)
3630
+
3631
+ 'VenusGM' (The nondimensional gravitational parameter of Venus)
3632
+
3633
+ 'EarthGM' (The nondimensional gravitational parameter of the Earth)
3634
+
3635
+ 'MoonGM' (The nondimensional gravitational parameter of the Moon)
3636
+
3637
+ 'MarsGM' (The nondimensional gravitational parameter of Mars)
3638
+
3639
+ 'JupiterGM' (The nondimensional gravitational parameter of Jupiter)
3640
+
3641
+ 'SaturnGM' (The nondimensional gravitational parameter of Saturn)
3642
+
3643
+ 'UranusGM' (The nondimensional gravitational parameter of Uranus)
3644
+
3645
+ 'NeptuneGM' (The nondimensional gravitational parameter of Neptune)
3646
+
3623
3647
  The units dictionary can be created by the kiam.prepare_units_dict() function.
3624
3648
 
3625
3649
  The gravitational parameter in the specified units should be 1.0.
@@ -3771,6 +3795,26 @@ def nbp_rv_moon(t: float, s: numpy.ndarray, stm_req: bool, sources: dict, data:
3771
3795
 
3772
3796
  'RMoon' (The radius of the Moon in the units of distance)
3773
3797
 
3798
+ 'SunGM' (The nondimensional gravitational parameter of the Sun)
3799
+
3800
+ 'MercuryGM' (The nondimensional gravitational parameter of Mercury)
3801
+
3802
+ 'VenusGM' (The nondimensional gravitational parameter of Venus)
3803
+
3804
+ 'EarthGM' (The nondimensional gravitational parameter of the Earth)
3805
+
3806
+ 'MoonGM' (The nondimensional gravitational parameter of the Moon)
3807
+
3808
+ 'MarsGM' (The nondimensional gravitational parameter of Mars)
3809
+
3810
+ 'JupiterGM' (The nondimensional gravitational parameter of Jupiter)
3811
+
3812
+ 'SaturnGM' (The nondimensional gravitational parameter of Saturn)
3813
+
3814
+ 'UranusGM' (The nondimensional gravitational parameter of Uranus)
3815
+
3816
+ 'NeptuneGM' (The nondimensional gravitational parameter of Neptune)
3817
+
3774
3818
  The units dictionary can be created by the kiam.prepare_units_dict() function.
3775
3819
 
3776
3820
  The gravitational parameter in the specified units should be 1.0.
@@ -3949,6 +3993,26 @@ def nbp_ee_earth(t: float, s: numpy.ndarray, stm_req: bool, sources: dict, data:
3949
3993
 
3950
3994
  'RMoon' (The radius of the Moon in the units of distance)
3951
3995
 
3996
+ 'SunGM' (The nondimensional gravitational parameter of the Sun)
3997
+
3998
+ 'MercuryGM' (The nondimensional gravitational parameter of Mercury)
3999
+
4000
+ 'VenusGM' (The nondimensional gravitational parameter of Venus)
4001
+
4002
+ 'EarthGM' (The nondimensional gravitational parameter of the Earth)
4003
+
4004
+ 'MoonGM' (The nondimensional gravitational parameter of the Moon)
4005
+
4006
+ 'MarsGM' (The nondimensional gravitational parameter of Mars)
4007
+
4008
+ 'JupiterGM' (The nondimensional gravitational parameter of Jupiter)
4009
+
4010
+ 'SaturnGM' (The nondimensional gravitational parameter of Saturn)
4011
+
4012
+ 'UranusGM' (The nondimensional gravitational parameter of Uranus)
4013
+
4014
+ 'NeptuneGM' (The nondimensional gravitational parameter of Neptune)
4015
+
3952
4016
  The units dictionary can be created by the kiam.prepare_units_dict() function.
3953
4017
 
3954
4018
  The gravitational parameter in the specified units should be 1.0.
@@ -4126,6 +4190,26 @@ def nbp_ee_moon(t: float, s: numpy.ndarray, stm_req: bool, sources: dict, data:
4126
4190
 
4127
4191
  'RMoon' (The radius of the Moon in the units of distance)
4128
4192
 
4193
+ 'SunGM' (The nondimensional gravitational parameter of the Sun)
4194
+
4195
+ 'MercuryGM' (The nondimensional gravitational parameter of Mercury)
4196
+
4197
+ 'VenusGM' (The nondimensional gravitational parameter of Venus)
4198
+
4199
+ 'EarthGM' (The nondimensional gravitational parameter of the Earth)
4200
+
4201
+ 'MoonGM' (The nondimensional gravitational parameter of the Moon)
4202
+
4203
+ 'MarsGM' (The nondimensional gravitational parameter of Mars)
4204
+
4205
+ 'JupiterGM' (The nondimensional gravitational parameter of Jupiter)
4206
+
4207
+ 'SaturnGM' (The nondimensional gravitational parameter of Saturn)
4208
+
4209
+ 'UranusGM' (The nondimensional gravitational parameter of Uranus)
4210
+
4211
+ 'NeptuneGM' (The nondimensional gravitational parameter of Neptune)
4212
+
4129
4213
  The units dictionary can be created by the kiam.prepare_units_dict() function.
4130
4214
 
4131
4215
  The gravitational parameter in the specified units should be 1.0.
@@ -4177,7 +4261,7 @@ def nbp_ee_moon(t: float, s: numpy.ndarray, stm_req: bool, sources: dict, data:
4177
4261
  return FKIAMToolbox.equationsmodule.knbp_ee_moon(t, s)
4178
4262
  def nbp_rv_body(body: str, t: float, s: numpy.ndarray, stm_req: bool, sources: dict, data: dict, units_data: dict) -> numpy.ndarray:
4179
4263
  """
4180
- Right-hand side of the n-body problem equations of motion wrt the specified body (except Earth and Moon) in terms of
4264
+ Right-hand side of the n-body problem equations of motion wrt the specified body in terms of
4181
4265
  the position and velocity variables.
4182
4266
 
4183
4267
  Parameters:
@@ -4277,6 +4361,26 @@ def nbp_rv_body(body: str, t: float, s: numpy.ndarray, stm_req: bool, sources: d
4277
4361
 
4278
4362
  'RMoon' (The radius of the Moon in the units of distance)
4279
4363
 
4364
+ 'SunGM' (The nondimensional gravitational parameter of the Sun)
4365
+
4366
+ 'MercuryGM' (The nondimensional gravitational parameter of Mercury)
4367
+
4368
+ 'VenusGM' (The nondimensional gravitational parameter of Venus)
4369
+
4370
+ 'EarthGM' (The nondimensional gravitational parameter of the Earth)
4371
+
4372
+ 'MoonGM' (The nondimensional gravitational parameter of the Moon)
4373
+
4374
+ 'MarsGM' (The nondimensional gravitational parameter of Mars)
4375
+
4376
+ 'JupiterGM' (The nondimensional gravitational parameter of Jupiter)
4377
+
4378
+ 'SaturnGM' (The nondimensional gravitational parameter of Saturn)
4379
+
4380
+ 'UranusGM' (The nondimensional gravitational parameter of Uranus)
4381
+
4382
+ 'NeptuneGM' (The nondimensional gravitational parameter of Neptune)
4383
+
4280
4384
  The units dictionary can be created by the kiam.prepare_units_dict() function.
4281
4385
 
4282
4386
  The gravitational parameter in the specified units should be 1.0.
@@ -4324,6 +4428,7 @@ def nbp_rv_body(body: str, t: float, s: numpy.ndarray, stm_req: bool, sources: d
4324
4428
  """
4325
4429
  _set_nbp_parameters(stm_req, sources, data, units_data)
4326
4430
  with _package_folder_contex():
4431
+ FKIAMToolbox.equationsmodule.central_body = body.capitalize()
4327
4432
  return FKIAMToolbox.equationsmodule.knbp_rv_body(t, s)
4328
4433
  def prepare_sources_dict() -> dict:
4329
4434
  """
@@ -4505,7 +4610,6 @@ def propagate_nbp(central_body: str, tspan: numpy.ndarray, x0: numpy.ndarray, so
4505
4610
  -----------
4506
4611
  `central_body`: str
4507
4612
 
4508
-
4509
4613
  Name of the central body
4510
4614
 
4511
4615
  `tspan`: numpy.ndarray, shape (n,)
@@ -670,6 +670,8 @@ class Trajectory:
670
670
 
671
671
  'r' plots the distance to the origin of the coordinate system.
672
672
 
673
+ 'm' plots the mass of the spacecraft (if self.vars == 'rvm').
674
+
673
675
  2. 'a', 'e', 'inc', 'Om', 'w', 'th' if self.vars in ['oe', 'oem', 'oe_stm']
674
676
 
675
677
  'a' plots the semi-major axis wrt time
@@ -684,6 +686,8 @@ class Trajectory:
684
686
 
685
687
  'th' plots the true anomaly wrt time
686
688
 
689
+ 'm' plots the mass of the spacecraft (if self.vars == 'oem').
690
+
687
691
  3. 'h', 'ex', 'ey', 'ix', 'iy', 'L' if self.vars in ['ee', 'eem', 'ee_stm']
688
692
 
689
693
  'h' plots h = sqrt(p/mu) wrt time
@@ -698,6 +702,8 @@ class Trajectory:
698
702
 
699
703
  'L' plots L = theta + omega + Omega wrt time
700
704
 
705
+ 'm' plots the mass of the spacecraft (if self.vars == 'eem').
706
+
701
707
  `draw` : bool
702
708
 
703
709
  If True (by default), the fig plotly object will be returned and figure will be showed.
@@ -757,6 +763,8 @@ class Trajectory:
757
763
  else:
758
764
  rlabel = 'r, nondimensional'
759
765
  fig = kiam.plot(self.times, norm(self.states[0:3, :], axis=0), xlabel=tlabel, ylabel=rlabel)
766
+ elif self.vars == 'rvm' and variables == 'm':
767
+ fig = kiam.plot(self.times, self.states[6, :], xlabel=tlabel, ylabel='Mass, kg')
760
768
  else:
761
769
  raise 'Unknown variables to show.'
762
770
  elif self.vars in ['oe', 'oem', 'oe_stm']:
@@ -785,6 +793,8 @@ class Trajectory:
785
793
  elif variables == 'th':
786
794
  ylabel = 'True anomaly, degrees'
787
795
  fig = kiam.plot(self.times, self.states[5, :] / math.pi * 180, xlabel=tlabel, ylabel=ylabel)
796
+ elif self.vars == 'rvm' and variables == 'm':
797
+ fig = kiam.plot(self.times, self.states[6, :], xlabel=tlabel, ylabel='Mass, kg')
788
798
  else:
789
799
  raise 'Unknown classical orbital element. Elements: a, e, inc, Om, w, th.'
790
800
  elif self.vars in ['ee', 'eem', 'ee_stm']:
@@ -811,6 +821,8 @@ class Trajectory:
811
821
  elif variables == 'L':
812
822
  ylabel = 'True longitude, degrees'
813
823
  fig = kiam.plot(self.times, self.states[5, :] / math.pi * 180, xlabel=tlabel, ylabel=ylabel)
824
+ elif self.vars == 'rvm' and variables == 'm':
825
+ fig = kiam.plot(self.times, self.states[6, :], xlabel=tlabel, ylabel='Mass, kg')
814
826
  else:
815
827
  raise 'Unknown equinoctial orbital element. Elements: h, ex, ey, ix, iy, L.'
816
828
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kiam-astro
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: KIAM Astrodynamics Toolbox
5
5
  Home-page: https://github.com/shmaxg/KIAMToolbox
6
6
  Author: Maksim Shirobokov
@@ -20,7 +20,7 @@ Classifier: Operating System :: POSIX :: Linux
20
20
  Classifier: Programming Language :: Fortran
21
21
  Classifier: Programming Language :: Python :: 3
22
22
  Classifier: Topic :: Scientific/Engineering
23
- Requires-Python: == 3.9
23
+ Requires-Python: >=3.9.0, <=3.9.16
24
24
  License-File: LICENSE
25
25
 
26
26
  Astrodynamics toolbox made in Keldysh Institute of Applied Mathematics for preliminary space mission analysis.
@@ -2,14 +2,14 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="kiam_astro",
5
- version="3.0.0",
5
+ version="3.0.2",
6
6
  url="https://github.com/shmaxg/KIAMToolbox",
7
7
  author="Maksim Shirobokov",
8
8
  author_email="shmaxg@gmail.com",
9
9
  description='KIAM Astrodynamics Toolbox',
10
10
  long_description='Astrodynamics toolbox made in Keldysh Institute of Applied Mathematics for preliminary space mission analysis.',
11
11
  keywords=['astrodynamics', 'spacecraft', 'mission analysis', 'kiam'],
12
- python_requires='== 3.9',
12
+ python_requires='>=3.9.0, <=3.9.16',
13
13
  packages=find_packages(),
14
14
  package_data={'kiam_astro': ['D:\\YandexDisk\\Python\\KIAMToolbox\\kiam_astro\\*']},
15
15
  include_package_data=True,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes