Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ The following image shows how the four main classes interact with each other:
A typical workflow starts with importing these classes from RocketPy:

```python
from rocketpy import Environment, Rocket, SolidMotor, Flight
from rocketpy import Environment, Rocket, SolidMotor, Flight, HemisphericalParachute
```

An optional step is to import datetime, which is used to define the date of the simulation:
Expand Down Expand Up @@ -255,7 +255,7 @@ tail = calisto.add_tail(
You may want to add parachutes to your rocket as well:

```python
main = calisto.add_parachute(
main = HemisphericalParachute(
name="main",
cd_s=10.0,
trigger=800, # ejection altitude in meters
Expand All @@ -267,7 +267,7 @@ main = calisto.add_parachute(
porosity=0.0432,
)

drogue = calisto.add_parachute(
drogue = HemisphericalParachute(
name="drogue",
cd_s=1.0,
trigger="apogee", # ejection at apogee
Expand All @@ -278,6 +278,9 @@ drogue = calisto.add_parachute(
height=1.5,
porosity=0.0432,
)

calisto.add_parachute(main)
calisto.add_parachute(drogue)
```

Finally, you can create a Flight object to simulate your trajectory. To get help on the Flight class, use:
Expand Down
19 changes: 14 additions & 5 deletions docs/examples/andromeda_flight_sim.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,14 @@
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"from rocketpy import Environment, Flight, Function, Rocket, SolidMotor\n",
"from rocketpy import (\n",
" Environment,\n",
" Flight,\n",
" Function,\n",
" HemisphericalParachute,\n",
" Rocket,\n",
" SolidMotor,\n",
")\n",
"\n",
"plt.style.use(\"seaborn-v0_8-colorblind\")"
]
Expand Down Expand Up @@ -258,7 +265,7 @@
},
{
"cell_type": "code",
"execution_count": 64,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -276,13 +283,15 @@
" position=0.3546,\n",
")\n",
"\n",
"Drogue = Andromeda.add_parachute(\n",
"Drogue = HemisphericalParachute(\n",
" \"Drogue\", cd_s=0.84665922014, trigger=\"apogee\", sampling_rate=100, lag=0\n",
")\n",
"\n",
"Main = Andromeda.add_parachute(\n",
"Main = HemisphericalParachute(\n",
" \"Main\", cd_s=8.362919643856031, trigger=500, sampling_rate=100, lag=0\n",
")"
")\n",
"Andromeda.add_parachute(Drogue)\n",
"Andromeda.add_parachute(Main)"
]
},
{
Expand Down
18 changes: 13 additions & 5 deletions docs/examples/bella_lui_flight_sim.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -40,7 +40,14 @@
"import numpy as np\n",
"from scipy.signal import savgol_filter\n",
"\n",
"from rocketpy import Environment, Flight, Function, Rocket, SolidMotor"
"from rocketpy import (\n",
" Environment,\n",
" Flight,\n",
" Function,\n",
" HemisphericalParachute,\n",
" Rocket,\n",
" SolidMotor,\n",
")"
]
},
{
Expand Down Expand Up @@ -422,18 +429,19 @@
},
{
"cell_type": "code",
"execution_count": 44,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Drogue = bella_lui.add_parachute(\n",
"Drogue = HemisphericalParachute(\n",
" \"Drogue\",\n",
" cd_s=parameters.get(\"CdS_drogue\")[0],\n",
" trigger=\"apogee\",\n",
" sampling_rate=105,\n",
" lag=parameters.get(\"lag_rec\")[0],\n",
" noise=(0, 8.3, 0.5),\n",
")"
")\n",
"bella_lui.add_parachute(Drogue)"
]
},
{
Expand Down
8 changes: 5 additions & 3 deletions docs/examples/camoes_flight_sim.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
" Environment,\n",
" Flight,\n",
" Function,\n",
" HemisphericalParachute,\n",
" Rocket,\n",
" SolidMotor,\n",
")\n",
Expand Down Expand Up @@ -299,17 +300,18 @@
},
{
"cell_type": "code",
"execution_count": 85,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def drogue_trigger(p, h, y):\n",
" return True if y[5] < 5 and y[2] > 300 else False\n",
"\n",
"\n",
"Drogue = CAMOES.add_parachute(\n",
"Drogue = HemisphericalParachute(\n",
" \"Drogue\", cd_s=0.33, sampling_rate=400, lag=1.5, trigger=drogue_trigger\n",
")"
")\n",
"CAMOES.add_parachute(Drogue)"
]
},
{
Expand Down
16 changes: 10 additions & 6 deletions docs/examples/defiance_flight_sim.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import datetime\n",
"\n",
"from rocketpy import Environment, Flight, Function, Rocket\n",
"from rocketpy import Environment, Flight, Function, HemisphericalParachute, Rocket\n",
"from rocketpy.motors import CylindricalTank, Fluid, HybridMotor\n",
"from rocketpy.motors.tank import MassFlowRateBasedTank"
]
Expand Down Expand Up @@ -185,7 +185,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -221,11 +221,15 @@
"\n",
"defiance.add_tail(top_radius=0.07, bottom_radius=0.064, length=0.0597, position=0.1)\n",
"\n",
"defiance.add_parachute(name=\"main\", cd_s=2.2, trigger=305, sampling_rate=100, lag=0)\n",
"Main = HemisphericalParachute(\n",
" name=\"main\", cd_s=2.2, trigger=305, sampling_rate=100, lag=0\n",
")\n",
"\n",
"defiance.add_parachute(\n",
"Drogue = HemisphericalParachute(\n",
" name=\"drogue\", cd_s=1.55, trigger=\"apogee\", sampling_rate=100, lag=0\n",
")"
")\n",
"defiance.add_parachute(Main)\n",
"defiance.add_parachute(Drogue)"
]
},
{
Expand Down
12 changes: 7 additions & 5 deletions docs/examples/genesis_flight_sim.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"from rocketpy import Environment, Flight, Function, Rocket\n",
"from rocketpy import Environment, Flight, Function, HemisphericalParachute, Rocket\n",
"from rocketpy.motors import SolidMotor\n",
"\n",
"plt.style.use(\"seaborn-v0_8-colorblind\")"
Expand Down Expand Up @@ -267,11 +267,11 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Drogue = GENESIS.add_parachute(\n",
"Drogue = HemisphericalParachute(\n",
" name=\"Drogue\",\n",
" cd_s=0.285005285533666,\n",
" trigger=\"apogee\",\n",
Expand All @@ -280,14 +280,16 @@
" noise=(0, 8.3, 0.5),\n",
")\n",
"\n",
"Main = GENESIS.add_parachute(\n",
"Main = HemisphericalParachute(\n",
" name=\"Main\",\n",
" cd_s=1.1,\n",
" trigger=870,\n",
" sampling_rate=105,\n",
" lag=1,\n",
" noise=(0, 8.3, 0.5),\n",
")"
")\n",
"GENESIS.add_parachute(Drogue)\n",
"GENESIS.add_parachute(Main)"
]
},
{
Expand Down
11 changes: 6 additions & 5 deletions docs/examples/halcyon_flight_sim.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import datetime\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from rocketpy import Environment, Flight, Function, Rocket\n",
"from rocketpy import Environment, Flight, Function, HemisphericalParachute, Rocket\n",
"from rocketpy.motors import CylindricalTank, Fluid, HybridMotor\n",
"from rocketpy.motors.tank import MassFlowRateBasedTank\n",
"\n",
Expand Down Expand Up @@ -416,17 +416,18 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Main = HALCYON.add_parachute(\n",
"Main = HemisphericalParachute(\n",
" name=\"Main\",\n",
" cd_s=9.621,\n",
" trigger=\"apogee\",\n",
" sampling_rate=100,\n",
" lag=5,\n",
")"
")\n",
"HALCYON.add_parachute(Main)"
]
},
{
Expand Down
18 changes: 13 additions & 5 deletions docs/examples/juno3_flight_sim.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,20 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"from rocketpy import Environment, Flight, Function, Rocket, SolidMotor\n",
"from rocketpy import (\n",
" Environment,\n",
" Flight,\n",
" Function,\n",
" HemisphericalParachute,\n",
" Rocket,\n",
" SolidMotor,\n",
")\n",
"from rocketpy.simulation.flight_data_importer import FlightDataImporter\n",
"\n",
"plt.style.use(\"seaborn-v0_8-colorblind\")"
Expand Down Expand Up @@ -333,18 +340,19 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"drogue = juno.add_parachute(\n",
"drogue = HemisphericalParachute(\n",
" \"Drogue\",\n",
" cd_s=0.885,\n",
" trigger=\"apogee\",\n",
" sampling_rate=105,\n",
" noise=(0, 8.3, 0.5),\n",
" lag=0.5,\n",
")"
")\n",
"juno.add_parachute(drogue)"
]
},
{
Expand Down
Loading
Loading