Skip to content

Commit 50b3f23

Browse files
authoredJan 16, 2023
Merge pull request #267 from RocketPy-Team/enh/dispersion_class/review
Enh/dispersion class/review
2 parents 14411da + eba0060 commit 50b3f23

14 files changed

+2588
-2592
lines changed
 

‎docs/notebooks/dispersion_analysis/dispersion_class_usage.ipynb

+649
Large diffs are not rendered by default.

‎docs/user/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Welcome to RocketPy's user documentation!
1212
../notebooks/environment_analysis_class_usage.ipynb
1313
../notebooks/environment_analysis_EuroC_example.ipynb
1414
../notebooks/dispersion_analysis/dispersion_analysis.ipynb
15+
../notebooks/dispersion_analysis/dispersion_class_usage.ipynb
1516
../notebooks/utilities_usage.ipynb
1617
../matlab/matlab.rst
1718

‎getting_started Dispersion.ipynb

-672
This file was deleted.

‎rocketpy/AeroSurfaces.py

+19
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ class Fins(ABC):
215215
Geometrical relation used to simplify lift and roll calculations
216216
Fins.liftInterferenceFactor : float
217217
Factor of Fin-Body interference in the lift coefficient
218+
218219
"""
219220

220221
def __init__(
@@ -230,14 +231,17 @@ def __init__(
230231
):
231232
"""Initialize Fins class.
232233
234+
233235
Parameters
234236
----------
235237
n : int
236238
Number of fins, from 2 to infinity.
239+
237240
rootChord : int, float
238241
Fin root chord in meters.
239242
span : int, float
240243
Fin span in meters.
244+
241245
distanceToCM : int, float
242246
Fin set position relative to rocket unloaded center of
243247
mass, considering positive direction from center of mass to
@@ -248,6 +252,7 @@ def __init__(
248252
cantAngle : int, float, optional
249253
Fins cant angle with respect to the rocket centerline. Must
250254
be given in degrees.
255+
251256
airfoil : tuple, optional
252257
Default is null, in which case fins will be treated as flat plates.
253258
Otherwise, if tuple, fins will be considered as airfoils. The
@@ -277,10 +282,12 @@ def __init__(
277282
# Store values
278283
self.n = n
279284
self.rocketRadius = rocketRadius
285+
280286
self.airfoil = airfoil
281287
self.distanceToCM = distanceToCM
282288
self.cantAngle = cantAngle
283289
self.rootChord = rootChord
290+
284291
self.span = span
285292
self.name = name
286293
self.d = d
@@ -328,6 +335,7 @@ def evaluateLiftCoefficient(self):
328335
if not self.airfoil:
329336
# Defines clalpha2D as 2*pi for planar fins
330337
clalpha2D = Function(lambda mach: 2 * np.pi / self.__beta(mach))
338+
331339
else:
332340
# Defines clalpha2D as the derivative of the
333341
# lift coefficient curve for a specific airfoil
@@ -792,6 +800,7 @@ def __init__(
792800
+ 4 * (rootChord + 2 * tipChord) * rocketRadius * span**2
793801
+ 6 * (rootChord + tipChord) * span * rocketRadius**2
794802
) / 12
803+
795804
rollDampingInterferenceFactor = 1 + (
796805
((tau - λ) / (tau)) - ((1 - λ) / (tau - 1)) * np.log(tau)
797806
) / (
@@ -855,10 +864,12 @@ def evaluateCenterOfPressure(self):
855864
- self.rootChord * self.tipChord / (self.rootChord + self.tipChord)
856865
)
857866
)
867+
858868
self.cpx = 0
859869
self.cpy = 0
860870
self.cpz = cpz
861871
self.cp = (self.cpx, self.cpy, self.cpz)
872+
862873
return self.cp
863874

864875
def draw(self):
@@ -1024,6 +1035,7 @@ class EllipticalFins(Fins):
10241035
Geometrical relation used to simplify lift and roll calculations
10251036
Fins.liftInterferenceFactor : float
10261037
Factor of Fin-Body interference in the lift coefficient
1038+
10271039
"""
10281040

10291041
def __init__(
@@ -1039,9 +1051,11 @@ def __init__(
10391051
):
10401052
"""Initialize EllipticalFins class.
10411053
1054+
10421055
Parameters
10431056
----------
10441057
n : int
1058+
10451059
Number of fins, from 2 to infinity.
10461060
rootChord : int, float
10471061
Fin root chord in meters.
@@ -1090,9 +1104,11 @@ def __init__(
10901104
name : str
10911105
Name of fin set.
10921106
1107+
10931108
Returns
10941109
-------
10951110
None
1111+
10961112
"""
10971113

10981114
super().__init__(
@@ -1152,6 +1168,7 @@ def __init__(
11521168
* (span / 3 + np.pi * rocketRadius / 4)
11531169
* (span**2 - rocketRadius**2)
11541170
)
1171+
11551172
rollForcingInterferenceFactor = (1 / np.pi**2) * (
11561173
(np.pi**2 / 4) * ((tau + 1) ** 2 / tau**2)
11571174
+ ((np.pi * (tau**2 + 1) ** 2) / (tau**2 * (tau - 1) ** 2))
@@ -1278,6 +1295,7 @@ def draw(self):
12781295

12791296

12801297
class Tail:
1298+
12811299
"""Class that defines a tail for the rocket. Currently only accepts
12821300
conical tails.
12831301
@@ -1321,6 +1339,7 @@ class Tail:
13211339
Tail.surfaceArea : float
13221340
Surface area of the tail. Has the unit of meters squared.
13231341
1342+
13241343
"""
13251344

13261345
def __init__(

0 commit comments

Comments
 (0)
Please sign in to comment.