diff --git a/CHANGELOG.md b/CHANGELOG.md index ed80182ab..dc5457371 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,14 +42,23 @@ straightforward as possible. - -## [v1.1.3] - 2023-11-29 +## [v1.1.4] - 2023-12-07 -Here we write upgrading notes for brands. It's a team effort to make them as -straightforward as possible. +You can install this version by running `pip install rocketpy==1.1.4` + +### Fixed + +- DOC: Change from % to ! in the first cell to run properly in Colab. [#496](https://github.com/RocketPy-Team/RocketPy/pull/496) +- FIX: changes Generic Motor exhaust velocity to cached property [#497](https://github.com/RocketPy-Team/RocketPy/pull/497) + +## [v1.1.3] - 2023-11-30 + +You can install this version by running `pip install rocketpy==1.1.3` ### Fixed -- FIX: Broken Function.get_value_opt for N-Dimensional Functions [#492](https://github.com/RocketPy-Team/RocketPy/pull/492/files) +- FIX: Broken Function.get_value_opt for N-Dimensional Functions [#492](https://github.com/RocketPy-Team/RocketPy/pull/492) +- FIX: Never ending Flight simulations when using a GenericMotor [#497](https://github.com/RocketPy-Team/RocketPy/pull/497) ## [v1.1.2] - 2023-11-25 diff --git a/docs/conf.py b/docs/conf.py index 820d3f347..8881e55db 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,7 +24,7 @@ author = "RocketPy Team" # The full version, including alpha/beta/rc tags -release = "1.1.3" +release = "1.1.4" # -- General configuration --------------------------------------------------- diff --git a/docs/notebooks/deployable_payload_example.ipynb b/docs/notebooks/deployable_payload_example.ipynb index b753f9bca..fb96eb06d 100644 --- a/docs/notebooks/deployable_payload_example.ipynb +++ b/docs/notebooks/deployable_payload_example.ipynb @@ -44,8 +44,8 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install rocketpy netCDF4\n", - "%git clone https://github.com/RocketPy-Team/RocketPy.git" + "!pip install rocketpy netCDF4\n", + "!git clone https://github.com/RocketPy-Team/RocketPy.git" ] }, { diff --git a/docs/notebooks/dispersion_analysis/dispersion_analysis.ipynb b/docs/notebooks/dispersion_analysis/dispersion_analysis.ipynb index 3ecdf1ad7..a15dc210f 100644 --- a/docs/notebooks/dispersion_analysis/dispersion_analysis.ipynb +++ b/docs/notebooks/dispersion_analysis/dispersion_analysis.ipynb @@ -37,7 +37,7 @@ "metadata": {}, "outputs": [], "source": [ - "%git clone https://github.com/RocketPy-Team/RocketPy.git\n", + "!git clone https://github.com/RocketPy-Team/RocketPy.git\n", "import os\n", "\n", "os.chdir(\"RocketPy/docs/notebooks/dispersion_analysis\")" @@ -66,8 +66,7 @@ }, "outputs": [], "source": [ - "%pip install netCDF4\n", - "%pip install rocketpy" + "!pip install rocketpy" ] }, { diff --git a/docs/notebooks/dispersion_analysis/parachute_drop_from_helicopter.ipynb b/docs/notebooks/dispersion_analysis/parachute_drop_from_helicopter.ipynb index 91b48a0f8..e9709ff14 100644 --- a/docs/notebooks/dispersion_analysis/parachute_drop_from_helicopter.ipynb +++ b/docs/notebooks/dispersion_analysis/parachute_drop_from_helicopter.ipynb @@ -31,7 +31,7 @@ "metadata": {}, "outputs": [], "source": [ - "%git clone https://github.com/giovaniceotto/RocketPy.git\n", + "!git clone https://github.com/giovaniceotto/RocketPy.git\n", "import os\n", "\n", "os.chdir(\"RocketPy/docs/notebooks/dispersion_analysis\")" @@ -60,8 +60,7 @@ }, "outputs": [], "source": [ - "%pip install netCDF4\n", - "%pip install rocketpy" + "!pip install rocketpy" ] }, { diff --git a/docs/notebooks/getting_started_colab.ipynb b/docs/notebooks/getting_started_colab.ipynb index 2ba6d3bd9..4ba05dd70 100644 --- a/docs/notebooks/getting_started_colab.ipynb +++ b/docs/notebooks/getting_started_colab.ipynb @@ -22,10 +22,9 @@ "We start by setting up our environment. To run this notebook, we will need:\n", "\n", "- RocketPy\n", - "- netCDF4 (to get weather forecasts)\n", "- Data files (we will clone RocketPy's repository for these)\n", "\n", - "Therefore, let's run the following lines of code:\n" + "Therefore, let's run the following lines of code:" ] }, { @@ -38,8 +37,8 @@ }, "outputs": [], "source": [ - "%pip install rocketpy netCDF4\n", - "%git clone https://github.com/giovaniceotto/RocketPy.git" + "!pip install rocketpy\n", + "!git clone https://github.com/giovaniceotto/RocketPy.git" ] }, { @@ -70,16 +69,6 @@ "Here we go through a simplified rocket trajectory simulation to get you started. Let's start by importing the rocketpy module.\n" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, { "cell_type": "code", "execution_count": 1, @@ -101,7 +90,7 @@ "id": "ImgkhEkZNVE8" }, "source": [ - "If you are using Jupyter Notebooks, it is recommended to run the following line to make matplotlib plots which will be shown later interactive and higher quality.\n" + "It is recommended to run the following line to make matplotlib plots which will be shown later interactive and higher quality.\n" ] }, { diff --git a/docs/user/installation.rst b/docs/user/installation.rst index ab6b0c9d9..6884720d4 100644 --- a/docs/user/installation.rst +++ b/docs/user/installation.rst @@ -19,7 +19,7 @@ If you want to choose a specific version to guarantee compatibility, you may ins .. code-block:: shell - pip install rocketpy==1.1.3 + pip install rocketpy==1.1.4 Optional Installation Method: ``conda`` diff --git a/rocketpy/motors/hybrid_motor.py b/rocketpy/motors/hybrid_motor.py index 92f386177..45fc2b819 100644 --- a/rocketpy/motors/hybrid_motor.py +++ b/rocketpy/motors/hybrid_motor.py @@ -1,4 +1,4 @@ -from ..mathutils.function import funcify_method, reset_funcified_methods +from ..mathutils.function import Function, funcify_method, reset_funcified_methods from ..plots.hybrid_motor_plots import _HybridMotorPlots from ..prints.hybrid_motor_prints import _HybridMotorPrints from .liquid_motor import LiquidMotor @@ -372,7 +372,9 @@ def exhaust_velocity(self): self.exhaust_velocity : Function Gas exhaust velocity of the motor. """ - return self.total_impulse / self.propellant_initial_mass + return Function( + self.total_impulse / self.propellant_initial_mass + ).set_discrete_based_on_model(self.thrust) @funcify_method("Time (s)", "Mass (kg)") def propellant_mass(self): diff --git a/rocketpy/motors/motor.py b/rocketpy/motors/motor.py index 1af08d7f1..0ed7277d0 100644 --- a/rocketpy/motors/motor.py +++ b/rocketpy/motors/motor.py @@ -1224,7 +1224,9 @@ def exhaust_velocity(self): self.exhaust_velocity : Function Gas exhaust velocity of the motor. """ - return self.total_impulse / self.propellant_initial_mass + return Function( + self.total_impulse / self.propellant_initial_mass + ).set_discrete_based_on_model(self.thrust) @funcify_method("Time (s)", "Mass Flow Rate (kg/s)") def mass_flow_rate(self): diff --git a/rocketpy/motors/solid_motor.py b/rocketpy/motors/solid_motor.py index fc7109392..8572167ca 100644 --- a/rocketpy/motors/solid_motor.py +++ b/rocketpy/motors/solid_motor.py @@ -381,7 +381,9 @@ def exhaust_velocity(self): self.exhaust_velocity : Function Gas exhaust velocity of the motor. """ - return self.total_impulse / self.propellant_initial_mass + return Function( + self.total_impulse / self.propellant_initial_mass + ).set_discrete_based_on_model(self.thrust) @property def propellant_initial_mass(self): diff --git a/setup.py b/setup.py index b2e475b26..a2a219faa 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ setuptools.setup( name="rocketpy", - version="1.1.3", + version="1.1.4", install_requires=necessary_require, extras_require={ "env_analysis": env_analysis_require,