Skip to content

Commit

Permalink
Merge branch 'develop' into docs/bme-2022-flight-sim
Browse files Browse the repository at this point in the history
  • Loading branch information
LUCKIN13 committed Dec 14, 2024
2 parents 33a354d + 17207ca commit 02872c0
Show file tree
Hide file tree
Showing 287 changed files with 47,223 additions and 60,308 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions .github/clear-local-branches.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Delete local branches that no longer exists on remote (windows command line)
git branch -vv | Where-Object { $_ -match 'gone\]' } | ForEach-Object { $_.Trim().Split()[0] } | ForEach-Object { git branch -D $_ }
10 changes: 9 additions & 1 deletion .github/workflows/test-pytest-slow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ on:
schedule:
- cron: "0 17 * * 5" # at 05:00 PM, only on Friday
timezone: "America/Sao_Paulo"
push:
branches:
- main
paths:
- "**.py"
- ".github/**"
- "pyproject.toml"
- "requirements*"

defaults:
run:
Expand All @@ -15,7 +23,7 @@ jobs:
strategy:
matrix:
fail-fast: false
python-version: [3.9, 3.12]
python-version: [3.9, 3.13]

env:
OS: ${{ matrix.os }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_pytest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.9, 3.12]
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.9, 3.13]
env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.python-version }}
Expand Down
17 changes: 11 additions & 6 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"autoDocstring.docstringFormat": "numpy",
"cSpell.enableFiletypes": [
"python",
"jupyter",
"markdown",
"restructuredtext"
],
"cSpell.enabledFileTypes": {
"plaintext": true,
"python": true,
"jupyter": true,
"markdown": true,
"tex": true,
"rst": true
},
"cSpell.language": "en-US",
"cSpell.words": [
"Abdulklech",
Expand Down Expand Up @@ -231,6 +233,7 @@
"polystyle",
"powerseries",
"Prandtl",
"pressurant",
"prettytable",
"Projeto",
"prometheus",
Expand All @@ -242,6 +245,7 @@
"pytest",
"pytz",
"quantile",
"Radau",
"Rdot",
"referece",
"relativetoground",
Expand All @@ -263,6 +267,7 @@
"SBMT",
"scilimits",
"searchsorted",
"seblm",
"seealso",
"setrail",
"simplekml",
Expand Down
62 changes: 58 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,67 @@ Attention: The newest changes should be on top -->

### Added

- ENH: create a dataset of pre-registered motors. See #664 [#744](https://github.com/RocketPy-Team/RocketPy/pull/744)
- DOC: add Defiance flight example [#742](https://github.com/RocketPy-Team/RocketPy/pull/742)
- ENH: Allow for Alternative and Custom ODE Solvers. [#748](https://github.com/RocketPy-Team/RocketPy/pull/748)

### Changed

-

### Fixed

-

## [v1.7.1] - 2024-12-07


### Changed

- REL: update version to 1.7.1 in configuration files [#750](https://github.com/RocketPy-Team/RocketPy/pull/750)
- MNT: Refactor Tank's testing Assertion with CAD data. [#678](https://github.com/RocketPy-Team/RocketPy/pull/678)

### Fixed

- BUG: Correctly update atmospheric conditions after changing date and location [#743](https://github.com/RocketPy-Team/RocketPy/pull/743)


## [v1.7.0] - 2024-11-30

### Added

- DOC: GENESIS Flight Example [#734](https://github.com/RocketPy-Team/RocketPy/pull/734)
- DOC: Camoes Flight Example [#733](https://github.com/RocketPy-Team/RocketPy/pull/733)
- ENH: Callback function for collecting additional data from Monte Carlo sims [#702](https://github.com/RocketPy-Team/RocketPy/pull/702)
- ENH: Implement optional plot saving [#597](https://github.com/RocketPy-Team/RocketPy/pull/597)

### Changed

- REL: update version to 1.7.0 in configuration files [#741](https://github.com/RocketPy-Team/RocketPy/pull/741)
- MNT: Place filename save parameter to the end. [#739](https://github.com/RocketPy-Team/RocketPy/pull/739)
- DOC: improvements to developers documentation [#732](https://github.com/RocketPy-Team/RocketPy/pull/732)

### Fixed

- BUG: Allow multiple sets of stochastic fins [#737](https://github.com/RocketPy-Team/RocketPy/pull/737)
- BUG: forecast and reanalysis models - Update ECMWF dictionary values [#736](https://github.com/RocketPy-Team/RocketPy/pull/736)
- BUG: forecast and reanalysis models - move wind_speed to correct position [#735](https://github.com/RocketPy-Team/RocketPy/pull/735)
- BUG: Sideslip Angle and Damping Coefficient Calculation [#729](https://github.com/RocketPy-Team/RocketPy/pull/729)
- DOC: fixed documentation about spherical caps [#728](https://github.com/RocketPy-Team/RocketPy/pull/728)

## [v1.6.2] - 2024-11-08

### Added

- ENH: add structural to total mass ratio for motor and rocket [#713](https://github.com/RocketPy-Team/RocketPy/pull/713)

### Changed

- REL: bumps up rocketpy version to v1.6.2 [#724](https://github.com/RocketPy-Team/RocketPy/pull/724)

### Fixed

- BUG: fix export ellipses to kml function [#712](https://github.com/RocketPy-Team/RocketPy/pull/712)

## [v1.6.1] - 2024-10-10

Expand All @@ -50,6 +103,7 @@ Attention: The newest changes should be on top -->

### Fixed

- BUG: Fix Motor Zero Dry Mass Check [#710](https://github.com/RocketPy-Team/RocketPy/pull/710)
- BUG: Fix Environment.max_expected_height for custom atmosphere [#707](https://github.com/RocketPy-Team/RocketPy/pull/707)
- BUG: Initialize _Controller Init Parameters [#703](https://github.com/RocketPy-Team/RocketPy/pull/703)
- BUG: Rail Buttons Not Accepted in Add Surfaces [#701](https://github.com/RocketPy-Team/RocketPy/pull/701)
Expand All @@ -75,7 +129,7 @@ Attention: The newest changes should be on top -->
- DOC: Halcyon Flight Example [#681](https://github.com/RocketPy-Team/RocketPy/pull/681)
- ENH: Adds GenericMotor.load_from_eng_file() method [#676](https://github.com/RocketPy-Team/RocketPy/pull/676)
- ENH: Introducing local sensitivity analysis [#575](https://github.com/RocketPy-Team/RocketPy/pull/575)
- ENH: Add STFT function to Function class [#620](https://github.com/RocketPy-Team/RocketPy/pull/620)
- ENH: Add STFT function to Function class [#620](https://github.com/RocketPy-Team/RocketPy/pull/620)
- ENH: Rocket Axis Definition [#635](https://github.com/RocketPy-Team/RocketPy/pull/635)

### Changed
Expand Down Expand Up @@ -178,7 +232,7 @@ You can install this version by running `pip install rocketpy==1.3.0`
- MNT: refactor u_dot parachute method [#596](https://github.com/RocketPy-Team/RocketPy/pull/596)
- BLD: Change setup.py to pyproject.toml [#589](https://github.com/RocketPy-Team/RocketPy/pull/589)
- DEP: delete deprecated rocketpy.tools.cached_property [#587](https://github.com/RocketPy-Team/RocketPy/pull/587)
- ENH: Flight simulation speed up [#581](https://github.com/RocketPy-Team/RocketPy/pull/581)
- ENH: Flight simulation speed up [#581](https://github.com/RocketPy-Team/RocketPy/pull/581)
- MNT: Modularize Rocket Draw [#580](https://github.com/RocketPy-Team/RocketPy/pull/580)
- DOC: Improvements of Environment docstring phrasing [#565](https://github.com/RocketPy-Team/RocketPy/pull/565)
- MNT: Refactor flight prints module [#579](https://github.com/RocketPy-Team/RocketPy/pull/579)
Expand All @@ -195,7 +249,7 @@ You can install this version by running `pip install rocketpy==1.3.0`
- BUG: Fix minor type hinting problems [#598](https://github.com/RocketPy-Team/RocketPy/pull/598)
- BUG: Optional Dependencies Naming in pyproject.toml. [#592](https://github.com/RocketPy-Team/RocketPy/pull/592)
- BUG: Swap rocket.total_mass.differentiate for motor.total_mass_flow rate [#585](https://github.com/RocketPy-Team/RocketPy/pull/585)
- BUG: export_eng 'Motor' method would not work for liquid motors. [#559](https://github.com/RocketPy-Team/RocketPy/pull/559)
- BUG: export_eng 'Motor' method would not work for liquid motors. [#559](https://github.com/RocketPy-Team/RocketPy/pull/559)

## [v1.2.2] - 2024-03-22

Expand Down Expand Up @@ -225,7 +279,7 @@ You can install this version by running `pip install rocketpy==1.2.0`
- DOC: add juno3 flight example [#513](https://github.com/RocketPy-Team/RocketPy/pull/513)
- ENH: add Function.low_pass_filter method [#508](https://github.com/RocketPy-Team/RocketPy/pull/508)
- ENH: Air Brakes [#426](https://github.com/RocketPy-Team/RocketPy/pull/426)
-
-

### Changed

Expand Down
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@
<br>

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/RocketPy-Team/rocketpy/blob/master/docs/notebooks/getting_started_colab.ipynb)
[![PyPI](https://img.shields.io/pypi/v/rocketpy?color=g)](https://pypi.org/project/rocketpy/)
[![Documentation Status](https://readthedocs.org/projects/rocketpyalpha/badge/?version=latest)](https://docs.rocketpy.org/en/latest/?badge=latest)
[![PyPI](https://img.shields.io/pypi/v/rocketpy?color=g)](https://pypi.org/project/rocketpy/)
![Conda Version](https://img.shields.io/conda/v/conda-forge/rocketpy?color=g)
[![codecov](https://codecov.io/gh/RocketPy-Team/RocketPy/graph/badge.svg?token=Ecc3bsHFeP)](https://codecov.io/gh/RocketPy-Team/RocketPy)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Contributors](https://img.shields.io/github/contributors/RocketPy-Team/rocketpy)](https://github.com/RocketPy-Team/RocketPy/graphs/contributors)
[![Chat on Discord](https://img.shields.io/discord/765037887016140840?logo=discord)](https://discord.gg/b6xYnNh)
[![Sponsor RocketPy](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/RocketPy-Team)
[![Chat on Discord](https://img.shields.io/discord/765037887016140840?logo=discord)](https://discord.gg/b6xYnNh)
[![Instagram](https://img.shields.io/badge/Instagram-E4405F?style=flat&logo=instagram&logoColor=white)](https://www.instagram.com/rocketpyteam)
[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=flat&logo=linkedin&logoColor=white)](https://www.linkedin.com/company/rocketpy)
[![DOI](https://img.shields.io/badge/DOI-10.1061%2F%28ASCE%29AS.1943--5525.0001331-blue.svg)](http://dx.doi.org/10.1061/%28ASCE%29AS.1943-5525.0001331)

<br>

# RocketPy

RocketPy is the next-generation trajectory simulation solution for High-Power Rocketry. The code is written as a [Python](http://www.python.org) library and allows for a complete 6 degrees of freedom simulation of a rocket's flight trajectory, including high-fidelity variable mass effects as well as descent under parachutes. Weather conditions, such as wind profiles, can be imported from sophisticated datasets, allowing for realistic scenarios. Furthermore, the implementation facilitates complex simulations, such as multi-stage rockets, design and trajectory optimization and dispersion analysis.
Expand Down Expand Up @@ -80,6 +80,9 @@ Flight data and rocket parameters used in this comparison were kindly provided b
| NDRT launch vehicle | Apogee time (s) | 16.77 | 17.10 | **-1.90 %** |
| NDRT launch vehicle | Maximum velocity (m/s) | 172.86 | 168.95 | **2.31 %** |

Over years of development and testing, RocketPy has been validated across an expanding range of flight scenarios.
For more information on these validated flights, visit our [Flight Examples](https://docs.rocketpy.org/en/latest/examples/index.html) page in the documentation.

# Documentation

Check out documentation details using the links below:
Expand Down Expand Up @@ -161,7 +164,7 @@ env = Environment(
latitude=32.990254,
longitude=-106.974998,
elevation=1400,
)
)

tomorrow = datetime.date.today() + datetime.timedelta(days=1)

Expand All @@ -182,7 +185,7 @@ A sample Motor object can be created by the following code:

```python
Pro75M1670 = SolidMotor(
thrust_source="data/motors/Cesaroni_M1670.eng",
thrust_source="data/motors/cesaroni/Cesaroni_M1670.eng",
dry_mass=1.815,
dry_inertia=(0.125, 0.125, 0.002),
center_of_dry_mass_position=0.317,
Expand Down Expand Up @@ -215,8 +218,8 @@ calisto = Rocket(
radius=0.0635,
mass=14.426, # without motor
inertia=(6.321, 6.321, 0.034),
power_off_drag="data/calisto/powerOffDragCurve.csv",
power_on_drag="data/calisto/powerOnDragCurve.csv",
power_off_drag="data/rockets/calisto/powerOffDragCurve.csv",
power_on_drag="data/rockets/calisto/powerOnDragCurve.csv",
center_of_mass_without_motor=0,
coordinate_system_orientation="tail_to_nose",
)
Expand Down Expand Up @@ -352,7 +355,7 @@ You can also become a [sponsor](https://github.com/sponsors/RocketPy-Team) and h

If you are actively using RocketPy in one of your projects, reaching out to our core team via [Discord](https://discord.gg/b6xYnNh) and providing feedback can help improve RocketPy a lot!

And if you are interested in going one step further, please read [CONTRIBUTING.md](https://github.com/RocketPy-Team/RocketPy/blob/master/CONTRIBUTING.md) for details on our code of conduct and learn more about how you can contribute to the development of this next-gen trajectory simulation solution for rocketry.
And if you are interested in going one step further, please read the [development documentation](https://docs.rocketpy.org/en/latest/development/index.html) to learn more about how you can contribute to the development of this next-gen trajectory simulation solution for rocketry.

## License

Expand Down
File renamed without changes.
File renamed without changes.
59 changes: 0 additions & 59 deletions data/calisto/NACA0012-radians.csv

This file was deleted.

26 changes: 26 additions & 0 deletions data/motors/aerotech/AeroTech_HP-L1000W.eng
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
; per AT announcement 5/8/14
L1000 54 635 18 1.4000000000000001 2.194 AT
0.004 10.664
0.011 1268.961
0.04 1322.279
0.195 1226.307
0.249 1268.961
0.296 1242.303
0.372 1252.966
0.416 1215.644
0.6 1226.307
0.788 1215.644
1.066 1183.653
1.261 1167.658
1.507 1125.004
1.746 1087.681
1.865 1050.359
1.995 1045.027
2.093 911.733
2.158 746.448
2.263 554.504
2.389 405.215
2.577 191.944
2.693 85.308
2.761 42.654
3.0 0.0
36 changes: 36 additions & 0 deletions data/motors/aerotech/AeroTech_K1000T.eng
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
; Based on AT Instruction Sheet by C. Kobel 3/17/2010
K1000T-P 75 396 P 1.182 2.575 AT
0.0040 895.149
0.015 1119.762
0.025 1093.337
0.095 1096.640
0.200 1109.853
0.300 1116.459
0.400 1123.065
0.500 1132.975
0.600 1139.581
0.700 1136.278
0.800 1136.278
0.900 1136.278
1.000 1139.581
1.100 1132.975
1.200 1129.672
1.300 1126.369
1.400 1119.762
1.500 1109.853
1.600 1096.640
1.700 1063.609
1.800 1017.365
1.900 971.121
2.000 914.968
2.100 868.724
2.180 865.421
2.200 878.634
2.218 858.815
2.269 670.536
2.300 578.048
2.332 445.923
2.356 336.920
2.389 224.613
2.436 105.7
2.500 0.0
Loading

0 comments on commit 02872c0

Please sign in to comment.