Skip to content

Commit 86fa64a

Browse files
committed
ENH: Add orbital flight simulation capabilities
1 parent fb236c6 commit 86fa64a

27 files changed

Lines changed: 7651 additions & 18 deletions

pyproject.toml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,19 @@ build-backend = "setuptools.build_meta"
3333

3434
[tool.setuptools]
3535
packages = { find = { where = ["."], include = ["rocketpy*"] } }
36+
[tool.setuptools.package-data]
37+
"rocketpy.plots" = ["assets/*.stl"]
38+
"rocketpy.environment" = ["data/*.npz"]
3639

3740

3841
[tool.setuptools.dynamic]
3942
dependencies = { file = ["requirements.txt"] }
4043

4144

4245
[project.optional-dependencies]
46+
performance = [
47+
"numba>=0.60",
48+
]
4349
tests = [
4450
"pytest",
4551
"pytest-coverage",
@@ -68,7 +74,17 @@ monte-carlo = [
6874
"contextily>=1.0.0; python_version < '3.14'",
6975
]
7076

71-
all = ["rocketpy[env-analysis]", "rocketpy[monte-carlo]"]
77+
animation = [
78+
"pyvista[jupyter]>=0.45",
79+
"imageio",
80+
"imageio-ffmpeg>=0.5"
81+
]
82+
83+
all = [
84+
"rocketpy[env-analysis]",
85+
"rocketpy[monte-carlo]",
86+
"rocketpy[animation]",
87+
]
7288

7389

7490
[tool.coverage.report]

rocketpy/__init__.py

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,41 @@
11
from ._logging import enable_logging, logger, set_log_level
22
from .control import _Controller
3-
from .environment import Environment, EnvironmentAnalysis
3+
from .environment import (
4+
Atmosphere,
5+
AnalyticalEphemeris,
6+
AtmosphericState,
7+
CelestialBody,
8+
DefaultGravity,
9+
Environment,
10+
EnvironmentAnalysis,
11+
ExponentialAtmosphere,
12+
Gravity,
13+
HarrisPriesterAtmosphere,
14+
LayeredAtmosphere,
15+
NRLMSISE00,
16+
SphericalGravity,
17+
SphericalHarmonicGravity,
18+
SpiceEphemeris,
19+
VacuumAtmosphere,
20+
VerticalGravity,
21+
ZeroGravity,
22+
ZonalGravity,
23+
)
424
from .mathutils import (
25+
EarthDatum,
26+
Epoch,
27+
FlightState,
528
Function,
29+
NUMBA_AVAILABLE,
30+
OrbitalElements,
631
PiecewiseFunction,
32+
ReferenceFrame,
33+
WGS84,
34+
VectorFunction,
735
funcify_method,
36+
gcrf_to_rtn_matrix,
37+
itrf_to_topocentric,
38+
numbify,
839
reset_funcified_methods,
940
)
1041
from .motors import (
@@ -51,10 +82,16 @@
5182
from .sensitivity import SensitivityModel
5283
from .sensors import Accelerometer, Barometer, GnssReceiver, Gyroscope
5384
from .simulation import (
85+
EarthRadiationPressure,
5486
Event,
5587
Flight,
88+
FlightOrbit,
5689
MonteCarlo,
5790
MultivariateRejectionSampler,
91+
PlanetaryRadiationPressure,
92+
RelativisticCorrection,
93+
SolarRadiationPressure,
94+
ThirdBodyGravity,
5895
)
5996
from .stochastic import (
6097
CustomSampler,

rocketpy/environment/__init__.py

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,48 @@
33
considered private and should be used with caution.
44
"""
55

6+
from .atmosphere import (
7+
Atmosphere,
8+
AtmosphericState,
9+
ExponentialAtmosphere,
10+
FunctionAtmosphere,
11+
HarrisPriesterAtmosphere,
12+
LayeredAtmosphere,
13+
NRLMSISE00,
14+
VacuumAtmosphere,
15+
)
16+
from .celestial_body import AnalyticalEphemeris, CelestialBody, SpiceEphemeris
617
from .environment import Environment
718
from .environment_analysis import EnvironmentAnalysis
19+
from .gravity import (
20+
DefaultGravity,
21+
Gravity,
22+
SphericalGravity,
23+
SphericalHarmonicGravity,
24+
VerticalGravity,
25+
ZeroGravity,
26+
ZonalGravity,
27+
)
828

9-
__all__ = ["Environment", "EnvironmentAnalysis"]
29+
__all__ = [
30+
"AnalyticalEphemeris",
31+
"Atmosphere",
32+
"AtmosphericState",
33+
"CelestialBody",
34+
"DefaultGravity",
35+
"Environment",
36+
"EnvironmentAnalysis",
37+
"ExponentialAtmosphere",
38+
"FunctionAtmosphere",
39+
"Gravity",
40+
"HarrisPriesterAtmosphere",
41+
"LayeredAtmosphere",
42+
"NRLMSISE00",
43+
"SphericalGravity",
44+
"SphericalHarmonicGravity",
45+
"SpiceEphemeris",
46+
"VacuumAtmosphere",
47+
"VerticalGravity",
48+
"ZeroGravity",
49+
"ZonalGravity",
50+
]

0 commit comments

Comments
 (0)