Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit b18ae9c
Merge: 67515f6 9a8e0c1
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 25 18:15:24 2024 -0400

    Merge branch 'develop' into bug/airbrakes-postprocess

commit 67515f6
Author: MateusStano <[email protected]>
Date:   Thu Apr 25 23:02:11 2024 +0200

    ENH: automatically disable time overshoot for controllers

commit f60c53b
Merge: 4974e8d 3df7586
Author: MateusStano <[email protected]>
Date:   Thu Apr 25 22:53:10 2024 +0200

    Merge branch 'bug/airbrakes-postprocess' of https://github.com/RocketPy-Team/RocketPy into bug/airbrakes-postprocess

commit 4974e8d
Author: MateusStano <[email protected]>
Date:   Thu Apr 25 22:52:48 2024 +0200

    BUG: initialize state derivatives for controllers

commit a49baf4
Author: MateusStano <[email protected]>
Date:   Thu Apr 25 22:52:13 2024 +0200

    MNT: move controller initialization to private method

commit 9a8e0c1
Merge: 14375ed 2cbaa77
Author: MateusStano <[email protected]>
Date:   Thu Apr 25 15:37:05 2024 -0300

    Merge pull request #580 from RocketPy-Team/mnt/modularize-rocket-draw

    MNT: Modularize Rocket Draw

commit 2cbaa77
Merge: 822a89e 14375ed
Author: MateusStano <[email protected]>
Date:   Thu Apr 25 11:44:22 2024 -0300

    Merge branch 'develop' into mnt/modularize-rocket-draw

commit 3df7586
Merge: bf8c68b 14375ed
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 25 06:49:58 2024 -0400

    Merge branch 'develop' into bug/airbrakes-postprocess

commit 14375ed
Merge: c31c6f8 b899064
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 25 06:47:36 2024 -0400

    Merge pull request #588 from RocketPy-Team/enh/exponential-backoff-decorator

    ENH: Exponential backoff decorator (fix #449)

commit c31c6f8
Merge: a011c5a 684b997
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 25 06:45:26 2024 -0400

    Merge pull request #587 from RocketPy-Team/mnt/delete-cached-property

    DEP: delete deprecated rocketpy.tools.cached_property

commit b899064
Author: Gui-FernandesBR <[email protected]>
Date:   Fri Apr 19 12:13:23 2024 -0400

    DEV: adds PR 588 to the CHANGELOG

commit a8a185e
Author: Gui-FernandesBR <[email protected]>
Date:   Fri Apr 19 12:08:58 2024 -0400

    TST: Fix tests with Environment class after exponential_backoff decorator was used

commit d0fbcd7
Author: Gui-FernandesBR <[email protected]>
Date:   Fri Apr 19 12:07:45 2024 -0400

    MNT: Refactor code to use the exponential_backoff decorator

commit ccd78af
Author: Gui-FernandesBR <[email protected]>
Date:   Fri Apr 19 12:07:17 2024 -0400

    ENH: Add exponential backoff decorator to tools.py

commit 684b997
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 18 21:47:19 2024 -0400

    DEV: Adds PR 587 to the CHANGELOG.md

commit bb0f46a
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 18 21:41:38 2024 -0400

    MNT: refactors cached_property imports

commit afb3b32
Author: dyu056 <[email protected]>
Date:   Fri Jan 26 00:35:36 2024 +1300

    Completed changes

commit bf8c68b
Merge: aaa3f7b a011c5a
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 18 21:17:06 2024 -0400

    Merge branch 'develop' into bug/airbrakes-postprocess

commit a011c5a
Merge: 624cc15 6b26f61
Author: Gui-FernandesBR <[email protected]>
Date:   Thu Apr 18 15:12:40 2024 -0400

    Merge pull request #585 from RocketPy-Team/enh/swap-diff-for-flow-rate

    BUG: Swap `rocket.total_mass.differentiate` for `motor.total_mass_flow rate`

commit 6b26f61
Author: MateusStano <[email protected]>
Date:   Wed Apr 17 22:19:16 2024 +0200

    DEV: changelog

commit 8ee2c95
Author: MateusStano <[email protected]>
Date:   Wed Apr 17 22:16:59 2024 +0200

    ENH: create rocket total_mass_flow_rate attribute

commit aaa3f7b
Author: MateusStano <[email protected]>
Date:   Mon Apr 15 16:52:49 2024 +0200

    DOCS: change accelerations names in docs

commit 7fe3d0b
Author: MateusStano <[email protected]>
Date:   Mon Apr 15 16:12:39 2024 +0200

    ENH: optmize post process loop

commit a66fc53
Author: MateusStano <[email protected]>
Date:   Mon Apr 15 15:18:37 2024 +0200

    ENH: add reset function

commit b9a97a4
Author: MateusStano <[email protected]>
Date:   Mon Apr 15 15:06:01 2024 +0200

    ENH: add warning for improper time_overshoot

commit 830ea15
Author: MateusStano <[email protected]>
Date:   Mon Apr 15 15:05:31 2024 +0200

    ENH: refactor retrieve arrays cached properties and controller sim post processing

commit e2a94c8
Author: MateusStano <[email protected]>
Date:   Tue Apr 9 18:03:08 2024 +0200

    TST: fix tests

commit e5c7533
Author: MateusStano <[email protected]>
Date:   Tue Apr 9 17:59:22 2024 +0200

    ENH: use mass_flow_rate instead of differentiate

commit 822a89e
Merge: e3e1a59 624cc15
Author: MateusStano <[email protected]>
Date:   Sun Apr 7 13:52:02 2024 +0200

    Merge branch 'develop' into mnt/modularize-rocket-draw

commit e3e1a59
Author: MateusStano <[email protected]>
Date:   Thu Apr 4 14:53:37 2024 +0200

    DEV: fix changelog order

commit 624cc15
Merge: 0a4d89b 61bf4d7
Author: Pedro Henrique Marinho Bressan <[email protected]>
Date:   Tue Apr 2 14:23:05 2024 -0300

    Merge pull request #565 from RocketPy-Team/doc/environment-docstring

    DOC: Improvements of Environment docstring phrasing.

commit 61bf4d7
Author: Pedro Bressan <[email protected]>
Date:   Mon Apr 1 15:00:10 2024 -0300

    MNT: add docs change to CHANGELOG.

commit 9c1a461
Author: Pedro Bressan <[email protected]>
Date:   Mon Apr 1 14:47:03 2024 -0300

    DOC: fix typing issues regarding Environment docs.

commit 4776208
Author: Pedro Henrique Marinho Bressan <[email protected]>
Date:   Fri Mar 29 08:47:18 2024 -0300

    DOC: Update Longitude value ranges.

    Co-authored-by: Gui-FernandesBR <[email protected]>

commit 32a28c1
Merge: 27dd73d 0a4d89b
Author: Pedro Henrique Marinho Bressan <[email protected]>
Date:   Thu Mar 28 18:26:46 2024 -0300

    Merge branch 'develop' into doc/environment-docstring

commit 27dd73d
Author: Pedro Bressan <[email protected]>
Date:   Thu Mar 28 18:24:23 2024 -0300

    DOC: standardize grammar on time zones.

commit 4b42c9e
Author: Pedro Bressan <[email protected]>
Date:   Thu Mar 28 18:20:01 2024 -0300

    DOC: clarify timezones and dates Environment docs.

commit 95b61ef
Author: Pedro Bressan <[email protected]>
Date:   Thu Mar 28 16:38:17 2024 -0300

    DOC: specify latitude and longitude defaults.

commit 6b84c03
Author: Pedro Bressan <[email protected]>
Date:   Mon Mar 25 19:53:37 2024 -0300

    DOC: improve wording of Environment init.

    Co-authored-by: Gui-FernandesBR <[email protected]>

commit 826efcc
Author: Pedro Bressan <[email protected]>
Date:   Sun Mar 24 16:47:14 2024 -0300

    DOC: specify datum as optional.

commit a2aa714
Author: Pedro Bressan <[email protected]>
Date:   Sun Mar 24 16:41:39 2024 -0300

    DOC: add examples and improvements to Environment gravity docstring.

commit 51bdd91
Author: MateusStano <[email protected]>
Date:   Sun Mar 24 15:14:45 2024 +0100

    MNT: changelog

commit 6805e32
Author: MateusStano <[email protected]>
Date:   Sun Mar 24 14:05:00 2024 +0100

    MNT: refactor rocket drawing plot methods

commit 3cc91e7
Merge: f637a9d 65b3315
Author: Pedro Henrique Marinho Bressan <[email protected]>
Date:   Thu Feb 29 20:06:09 2024 -0300

    Merge branch 'develop' into doc/environment-docstring

commit f637a9d
Author: Pedro Bressan <[email protected]>
Date:   Thu Feb 29 17:49:38 2024 -0300

    STY: run black for code linting.

commit 9198ac7
Author: Pedro Bressan <[email protected]>
Date:   Thu Feb 29 17:46:23 2024 -0300

    DOC: phrasing improvements of Environment docstring.
  • Loading branch information
MateusStano committed Apr 29, 2024
1 parent cef72a0 commit 5f8f1f4
Show file tree
Hide file tree
Showing 20 changed files with 534 additions and 324 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,23 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Added

- ENH: Exponential backoff decorator (fix #449) [#588](https://github.com/RocketPy-Team/RocketPy/pull/588)
- ENH: Add new stability margin properties to Flight class [#572](https://github.com/RocketPy-Team/RocketPy/pull/572)
- ENH: adds `Function.remove_outliers` method [#554](https://github.com/RocketPy-Team/RocketPy/pull/554)

### Changed

- DEP: delete deprecated rocketpy.tools.cached_property [#587](https://github.com/RocketPy-Team/RocketPy/pull/587)
- 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)
- DOC: Convert CompareFlights example notebooks to .rst files [#576](https://github.com/RocketPy-Team/RocketPy/pull/576)
- MNT: Refactor inertia calculations using parallel axis theorem [#573] (https://github.com/RocketPy-Team/RocketPy/pull/573)
- ENH: Optional argument to show the plot in Function.compare_plots [#563](https://github.com/RocketPy-Team/RocketPy/pull/563)

### Fixed

- 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)

## [v1.2.2] - 2024-03-22
Expand Down
369 changes: 255 additions & 114 deletions rocketpy/environment/environment.py

Large diffs are not rendered by default.

8 changes: 2 additions & 6 deletions rocketpy/environment/environment_analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import datetime
import json
from collections import defaultdict
from functools import cached_property

import netCDF4
import numpy as np
Expand All @@ -22,11 +23,6 @@
from ..units import convert_units
from .environment import Environment

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property

# TODO: the average_wind_speed_profile_by_hour and similar methods could be more abstract than currently are


Expand Down Expand Up @@ -441,7 +437,7 @@ def __localize_input_dates(self):

def __find_preferred_timezone(self):
if self.preferred_timezone is None:
# Use local timezone based on lat lon pair
# Use local time zone based on lat lon pair
try:
timezonefinder = import_optional_dependency("timezonefinder")
tf = timezonefinder.TimezoneFinder()
Expand Down
6 changes: 1 addition & 5 deletions rocketpy/mathutils/function.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,14 @@
import warnings
from collections.abc import Iterable
from copy import deepcopy
from functools import cached_property
from inspect import signature
from pathlib import Path

import matplotlib.pyplot as plt
import numpy as np
from scipy import integrate, linalg, optimize

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property

NUMERICAL_TYPES = (float, int, complex, np.ndarray, np.integer, np.floating)


Expand Down
3 changes: 2 additions & 1 deletion rocketpy/mathutils/vector_matrix.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from cmath import isclose
from functools import cached_property
from itertools import product

from rocketpy.tools import cached_property, euler_to_quaternions
from rocketpy.tools import euler_to_quaternions


class Vector:
Expand Down
7 changes: 2 additions & 5 deletions rocketpy/motors/hybrid_motor.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from functools import cached_property

from rocketpy.tools import parallel_axis_theorem_from_com

from ..mathutils.function import Function, funcify_method, reset_funcified_methods
Expand All @@ -7,11 +9,6 @@
from .motor import Motor
from .solid_motor import SolidMotor

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property


class HybridMotor(Motor):
"""Class to specify characteristics and useful operations for Hybrid
Expand Down
7 changes: 1 addition & 6 deletions rocketpy/motors/liquid_motor.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import warnings
from functools import cached_property

import numpy as np

Expand All @@ -13,11 +13,6 @@
from ..prints.liquid_motor_prints import _LiquidMotorPrints
from .motor import Motor

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property


class LiquidMotor(Motor):
"""Class to specify characteristics and useful operations for Liquid
Expand Down
6 changes: 1 addition & 5 deletions rocketpy/motors/motor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import re
import warnings
from abc import ABC, abstractmethod
from functools import cached_property

import numpy as np

Expand All @@ -9,11 +10,6 @@
from ..prints.motor_prints import _MotorPrints
from ..tools import parallel_axis_theorem_from_com, tuple_handler

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property


class Motor(ABC):
"""Abstract class to specify characteristics and useful operations for
Expand Down
7 changes: 2 additions & 5 deletions rocketpy/motors/solid_motor.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from functools import cached_property

import numpy as np
from scipy import integrate

Expand All @@ -6,11 +8,6 @@
from ..prints.solid_motor_prints import _SolidMotorPrints
from .motor import Motor

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property


class SolidMotor(Motor):
"""Class to specify characteristics and useful operations for solid motors.
Expand Down
5 changes: 1 addition & 4 deletions rocketpy/motors/tank_geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@

cache = lru_cache(maxsize=None)

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property
from functools import cached_property


class TankGeometry:
Expand Down
7 changes: 2 additions & 5 deletions rocketpy/plots/flight_plots.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
from functools import cached_property

import matplotlib.pyplot as plt
import numpy as np

try:
from functools import cached_property
except ImportError:
from ..tools import cached_property


class _FlightPlots:
"""Class that holds plot methods for Flight class.
Expand Down
46 changes: 30 additions & 16 deletions rocketpy/plots/rocket_plots.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,8 @@ def draw(self, vis_args=None, plane="xz"):
plt.show()

def _draw_aerodynamic_surfaces(self, ax, vis_args):
"""Draws the aerodynamic surfaces and saves the position of the points
of interest for the tubes."""
# List of drawn surfaces with the position of points of interest
# and the radius of the rocket at that point
drawn_surfaces = []
Expand All @@ -250,6 +252,8 @@ def _draw_aerodynamic_surfaces(self, ax, vis_args):
return drawn_surfaces

def _draw_nose_cone(self, ax, surface, position, drawn_surfaces, vis_args):
"""Draws the nosecone and saves the position of the points of interest
for the tubes."""
x_nosecone = -self.rocket._csys * surface.shape_vec[0] + position
y_nosecone = surface.shape_vec[1]
ax.plot(
Expand Down Expand Up @@ -277,6 +281,8 @@ def _draw_nose_cone(self, ax, surface, position, drawn_surfaces, vis_args):
)

def _draw_tail(self, ax, surface, position, drawn_surfaces, vis_args):
"""Draws the tail and saves the position of the points of interest
for the tubes."""
x_tail = -self.rocket._csys * surface.shape_vec[0] + position
y_tail = surface.shape_vec[1]
ax.plot(
Expand All @@ -302,13 +308,30 @@ def _draw_tail(self, ax, surface, position, drawn_surfaces, vis_args):
drawn_surfaces.append((surface, position, surface.bottom_radius, x_tail[-1]))

def _draw_fins(self, ax, surface, position, drawn_surfaces, vis_args):
"""Draws the fins and saves the position of the points of interest
for the tubes."""
num_fins = surface.n
x_fin = -self.rocket._csys * surface.shape_vec[0] + position
y_fin = surface.shape_vec[1] + surface.rocket_radius
rotation_angles = [2 * np.pi * i / num_fins for i in range(num_fins)]

for angle in rotation_angles:
x_rotated, y_rotated = self._rotate_points(x_fin, y_fin, angle)
# Create a rotation matrix for the current angle around the x-axis
rotation_matrix = np.array([[1, 0], [0, np.cos(angle)]])

# Apply the rotation to the original fin points
rotated_points_2d = np.dot(rotation_matrix, np.vstack((x_fin, y_fin)))

# Extract x and y coordinates of the rotated points
x_rotated, y_rotated = rotated_points_2d

# Project points above the XY plane back into the XY plane (set z-coordinate to 0)
x_rotated = np.where(
rotated_points_2d[1] > 0, rotated_points_2d[0], x_rotated
)
y_rotated = np.where(
rotated_points_2d[1] > 0, rotated_points_2d[1], y_rotated
)
ax.plot(
x_rotated,
y_rotated,
Expand All @@ -318,22 +341,8 @@ def _draw_fins(self, ax, surface, position, drawn_surfaces, vis_args):

drawn_surfaces.append((surface, position, surface.rocket_radius, x_rotated[-1]))

def _rotate_points(self, x_fin, y_fin, angle):
# Create a rotation matrix for the current angle around the x-axis
rotation_matrix = np.array([[1, 0], [0, np.cos(angle)]])

# Apply the rotation to the original fin points
rotated_points_2d = np.dot(rotation_matrix, np.vstack((x_fin, y_fin)))

# Extract x and y coordinates of the rotated points
x_rotated, y_rotated = rotated_points_2d

# Project points above the XY plane back into the XY plane (set z-coordinate to 0)
x_rotated = np.where(rotated_points_2d[1] > 0, rotated_points_2d[0], x_rotated)
y_rotated = np.where(rotated_points_2d[1] > 0, rotated_points_2d[1], y_rotated)
return x_rotated, y_rotated

def _draw_tubes(self, ax, drawn_surfaces, vis_args):
"""Draws the tubes between the aerodynamic surfaces."""
for i, d_surface in enumerate(drawn_surfaces):
# Draw the tubes, from the end of the first surface to the beginning
# of the next surface, with the radius of the rocket at that point
Expand Down Expand Up @@ -373,6 +382,7 @@ def _draw_tubes(self, ax, drawn_surfaces, vis_args):
return radius, last_x

def _draw_motor(self, last_radius, last_x, ax, vis_args):
"""Draws the motor from motor patches"""
total_csys = self.rocket._csys * self.rocket.motor._csys
nozzle_position = (
self.rocket.motor_position + self.rocket.motor.nozzle_position * total_csys
Expand Down Expand Up @@ -400,6 +410,7 @@ def _draw_motor(self, last_radius, last_x, ax, vis_args):
self._draw_nozzle_tube(last_radius, last_x, nozzle_position, ax, vis_args)

def _generate_motor_patches(self, total_csys, ax, vis_args):
"""Generates motor patches for drawing"""
motor_patches = []

if isinstance(self.rocket.motor, SolidMotor):
Expand Down Expand Up @@ -478,6 +489,7 @@ def _generate_motor_patches(self, total_csys, ax, vis_args):
return motor_patches

def _draw_nozzle_tube(self, last_radius, last_x, nozzle_position, ax, vis_args):
"""Draws the tube from the last surface to the nozzle position."""
# Check if nozzle is beyond the last surface, if so draw a tube
# to it, with the radius of the last surface
if self.rocket._csys == 1:
Expand Down Expand Up @@ -518,6 +530,7 @@ def _draw_nozzle_tube(self, last_radius, last_x, nozzle_position, ax, vis_args):
)

def _draw_rail_buttons(self, ax, vis_args):
"""Draws the rail buttons of the rocket."""
try:
buttons, pos = self.rocket.rail_buttons[0]
lower = pos
Expand All @@ -532,6 +545,7 @@ def _draw_rail_buttons(self, ax, vis_args):
pass

def _draw_center_of_mass_and_pressure(self, ax):
"""Draws the center of mass and center of pressure of the rocket."""
# Draw center of mass and center of pressure
cm = self.rocket.center_of_mass(0)
ax.scatter(cm, 0, color="#1565c0", label="Center of Mass", s=10)
Expand Down
13 changes: 10 additions & 3 deletions rocketpy/rocket/aero_surface.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import warnings
from abc import ABC, abstractmethod
from functools import cached_property

import numpy as np
from scipy.optimize import fsolve
Expand Down Expand Up @@ -1978,8 +1977,9 @@ def __init__(
brakes drag coefficient will be used for the entire rocket instead.
Default is False.
deployment_level : float, optional
Current deployment level, ranging from 0 to 1. Deployment level is the
fraction of the total airbrake area that is Deployment. Default is 0.
Initial deployment level, ranging from 0 to 1. Deployment level is
the fraction of the total airbrake area that is Deployment. Default
is 0.
name : str, optional
Name of the air brakes. Default is "AirBrakes".
Expand All @@ -1997,6 +1997,7 @@ def __init__(
self.reference_area = reference_area
self.clamp = clamp
self.override_rocket_drag = override_rocket_drag
self.initial_deployment_level = deployment_level
self.deployment_level = deployment_level
self.prints = _AirBrakesPrints(self)
self.plots = _AirBrakesPlots(self)
Expand All @@ -2023,6 +2024,12 @@ def deployment_level(self, value):
)
self._deployment_level = value

def _reset(self):
"""Resets the air brakes to their initial state. This is ran at the
beginning of each simulation to ensure the air brakes are in the correct
state."""
self.deployment_level = self.initial_deployment_level

def evaluate_center_of_pressure(self):
"""Evaluates the center of pressure of the aerodynamic surface in local
coordinates.
Expand Down
4 changes: 4 additions & 0 deletions rocketpy/rocket/rocket.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ class Rocket:
Function of time expressing the total mass of the rocket,
defined as the sum of the propellant mass and the rocket
mass without propellant.
Rocket.total_mass_flow_rate : Function
Time derivative of rocket's total mass in kg/s as a function
of time as obtained by the thrust source of the added motor.
Rocket.thrust_to_weight : Function
Function of time expressing the motor thrust force divided by rocket
weight. The gravitational acceleration is assumed as 9.80665 m/s^2.
Expand Down Expand Up @@ -760,6 +763,7 @@ def add_motor(self, motor, position):
self.motor.center_of_dry_mass_position * _ + self.motor_position
)
self.nozzle_position = self.motor.nozzle_position * _ + self.motor_position
self.total_mass_flow_rate = self.motor.total_mass_flow_rate
self.evaluate_dry_mass()
self.evaluate_total_mass()
self.evaluate_center_of_dry_mass()
Expand Down
Loading

0 comments on commit 5f8f1f4

Please sign in to comment.