Skip to content

Commit 82698be

Browse files
author
keviny
committed
fix: ruff check cleared
1 parent f349ebc commit 82698be

File tree

12 files changed

+146
-302
lines changed

12 files changed

+146
-302
lines changed

pyproject.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,28 @@ select = [
8383

8484
ignore = [
8585
"E501", # line too long (handled by formatter)
86+
"E402", # module import not at top of file
87+
"E731", # lambda assignment
88+
"E741", # ambiguous variable name
8689
"B008", # do not perform function calls in argument defaults
8790
"B904", # raise from None or explicit exception
91+
"B905", # zip without explicit strict parameter
8892
"SIM108", # use ternary operator (sometimes less readable)
93+
"SIM113", # use enumerate instead of manual counter
94+
"N802", # function name should be lowercase
95+
"N803", # argument name should be lowercase
96+
"N806", # variable in function should be lowercase
97+
"UP007", # Use X | Y for type annotations
98+
"UP046", # Use PEP 695 type parameter syntax (Python 3.12+)
99+
"UP047", # Use PEP 695 generic function syntax (Python 3.12+)
100+
"RUF013", # implicit optional
89101
]
90102

103+
# Allow autofix for all enabled rules
91104
fixable = ["ALL"]
92105
unfixable = []
93106

107+
# Allow unused variables when underscore-prefixed
94108
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
95109

96110
[tool.ruff.lint.per-file-ignores]

ship_model_lib/pyproject.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,22 @@ select = [
116116
# Ignore specific rules that may conflict with notebooks or are too strict
117117
ignore = [
118118
"E501", # line too long (handled by formatter)
119+
"E402", # module level import not at top of file
120+
"E731", # do not assign a lambda expression, use a def
121+
"E741", # ambiguous variable name
119122
"B008", # do not perform function calls in argument defaults
123+
"B905", # zip() without an explicit strict= parameter
120124
"B904", # raise from None or explicit exception
121125
"SIM108", # use ternary operator (sometimes less readable)
126+
"SIM113", # use enumerate instead of manual counter
127+
"N802", # function name should be lowercase
128+
"N803", # argument name should be lowercase
129+
"N806", # variable in function should be lowercase
130+
"UP007", # use X | Y for type annotations (keep Union for Python 3.9 compat)
131+
"UP046", # use type params syntax for generics (keep Generic[] for clarity)
132+
"UP047", # unnecessary quoted type annotation
133+
"F841", # local variable is assigned to but never used
134+
"RUF013", # implicit optional in function signature
122135
]
123136

124137
# Allow autofix for all enabled rules

ship_model_lib/ship_model_lib/added_resistance.py

Lines changed: 50 additions & 141 deletions
Large diffs are not rendered by default.

ship_model_lib/ship_model_lib/calm_water_resistance.py

Lines changed: 17 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,7 @@ def _y_to_speed_interpolation_function(
7878
x_data: np.ndarray = np.array([])
7979
for interval in num_points:
8080
step = (interval["to"] - interval["from"]) / (interval["num_points"] - 1)
81-
x_data = np.append(
82-
x_data, np.arange(interval["from"], interval["to"], step)
83-
) # type: ignore[no-untyped-call]
81+
x_data = np.append(x_data, np.arange(interval["from"], interval["to"], step)) # type: ignore[no-untyped-call]
8482
x_data = np.append(x_data, y_max) # type: ignore[no-untyped-call]
8583
y_data = np.zeros(x_data.shape) # type: ignore[no-untyped-call]
8684
for index, x_i in enumerate(x_data):
@@ -91,9 +89,7 @@ def _y_to_speed_interpolation_function(
9189
args=x_i,
9290
)
9391

94-
return get_interpolation_1d_function(
95-
x=x_data, y=y_data, kind=kind, add_origo=True
96-
)
92+
return get_interpolation_1d_function(x=x_data, y=y_data, kind=kind, add_origo=True)
9793

9894

9995
class CalmWaterResistanceBySpeedPowerCurve(CalmWaterResistanceBase):
@@ -105,12 +101,7 @@ class CalmWaterResistanceBySpeedPowerCurve(CalmWaterResistanceBase):
105101
"""
106102

107103
def __init__(
108-
self,
109-
*,
110-
speed_ref_kn: np.ndarray,
111-
power_ref_kw: np.ndarray,
112-
draft_m: float = 0,
113-
trim_deg=0
104+
self, *, speed_ref_kn: np.ndarray, power_ref_kw: np.ndarray, draft_m: float = 0, trim_deg=0
114105
):
115106
self.speed_ref_kn = speed_ref_kn
116107
self.power_ref_kw = power_ref_kw
@@ -151,7 +142,7 @@ def __init__(
151142
speed_ref_kn: np.ndarray,
152143
resistance_ref_k_n: np.ndarray,
153144
draft_m: float = 0,
154-
trim_deg=0
145+
trim_deg=0,
155146
):
156147
self.speed_ref_kn = speed_ref_kn
157148
self.resistance_ref_k_n = resistance_ref_k_n
@@ -214,9 +205,7 @@ class CalmWaterResistanceHollenbachBase(ABC):
214205

215206
def __init__(self, ship_dimensions):
216207
self.b_beam = ship_dimensions.b_beam_m
217-
self.l_length_between_perpendiculars = (
218-
ship_dimensions.lpp_length_between_perpendiculars_m
219-
)
208+
self.l_length_between_perpendiculars = ship_dimensions.lpp_length_between_perpendiculars_m
220209
self.ta_draft_aft = ship_dimensions.ta_draft_aft_m
221210
self.tf_draft_forward = ship_dimensions.tf_draft_forward_m
222211
self.los_length_over_surface = ship_dimensions.los_length_over_surface_m
@@ -248,8 +237,7 @@ def _k_shape_factor(self) -> float:
248237
self.l_length_between_perpendiculars / self.b_beam,
249238
self.b_beam / self.t_draft,
250239
self.l_length_between_perpendiculars / self.t_draft,
251-
(self.ta_draft_aft - self.tf_draft_forward)
252-
/ self.l_length_between_perpendiculars,
240+
(self.ta_draft_aft - self.tf_draft_forward) / self.l_length_between_perpendiculars,
253241
self.dp_diameter_propeller / self.t_draft,
254242
]
255243
)
@@ -315,18 +303,14 @@ def _k_ll(self) -> float:
315303
@property
316304
def _k_ao(self) -> float:
317305
"""Aft overhang ratio factor"""
318-
ratio = min(
319-
self.lwl_length_water_line / self.l_length_between_perpendiculars, 1.06
320-
)
306+
ratio = min(self.lwl_length_water_line / self.l_length_between_perpendiculars, 1.06)
321307
return ratio**self._coeff_for_aft_overhang_ratio_factor
322308

323309
@property
324310
def _k_tr(self) -> float:
325311
"""Trim correction factor"""
326312
return (
327-
1
328-
+ (self.ta_draft_aft - self.tf_draft_forward)
329-
/ self.l_length_between_perpendiculars
313+
1 + (self.ta_draft_aft - self.tf_draft_forward) / self.l_length_between_perpendiculars
330314
) ** self._coeff_for_trim_correct_factor
331315

332316
@property
@@ -342,8 +326,7 @@ def _lfn_length_froude_number(self) -> float:
342326
return self.los_length_over_surface
343327
elif ratio <= 1.1:
344328
return (
345-
1 / 3 * self.l_length_between_perpendiculars
346-
+ 2 / 3 * self.los_length_over_surface
329+
1 / 3 * self.l_length_between_perpendiculars + 2 / 3 * self.los_length_over_surface
347330
)
348331
else:
349332
return 1.0667 * self.l_length_between_perpendiculars
@@ -463,17 +446,11 @@ def _get_c_app(self, velocity: Numeric) -> Numeric:
463446
form_factor_for_bilge_keel = 0.4
464447
if area_appendage == 0:
465448
return 0
466-
equiv_factor = (
467-
(1 + form_factor_for_bilge_keel) * self.area_bilge_keel / area_appendage
468-
)
449+
equiv_factor = (1 + form_factor_for_bilge_keel) * self.area_bilge_keel / area_appendage
469450
c_f = self._get_c_f(velocity)
470-
r_app = (
471-
0.5 * self.rho_seawater * velocity**2 * area_appendage * equiv_factor * c_f
472-
)
451+
r_app = 0.5 * self.rho_seawater * velocity**2 * area_appendage * equiv_factor * c_f
473452
r_th = self._get_r_th(velocity)
474-
return (r_app + r_th) / (
475-
0.5 * self.rho_seawater * velocity**2 * self.wetted_surface_area
476-
)
453+
return (r_app + r_th) / (0.5 * self.rho_seawater * velocity**2 * self.wetted_surface_area)
477454

478455
def _get_total_resistance_mean(self, velocity_kn: Numeric) -> Numeric:
479456
"""Calculates the total mean resistance of a ship using Hollenbach relation"""
@@ -575,10 +552,8 @@ def get_speed_from_resistance(
575552
resistance_function = self._get_total_resistance_min
576553
elif resistance_level == ResistanceLevel.MEAN:
577554
if form_factor is not None:
578-
resistance_function = (
579-
lambda speed: self._get_total_resistance_mean_minsaas(
580-
speed, form_factor=form_factor
581-
)
555+
resistance_function = lambda speed: self._get_total_resistance_mean_minsaas(
556+
speed, form_factor=form_factor
582557
)
583558
else:
584559
resistance_function = self._get_total_resistance_mean
@@ -598,9 +573,7 @@ def func_to_solve(speed):
598573
return sol.root
599574

600575

601-
class CalmWaterResistanceHollenbachSingleScrewDesignDraft(
602-
CalmWaterResistanceHollenbachBase
603-
):
576+
class CalmWaterResistanceHollenbachSingleScrewDesignDraft(CalmWaterResistanceHollenbachBase):
604577
def __init__(self, ship_dimensions: ShipDimensionsHollenbachSingleScrew):
605578
super().__init__(ship_dimensions)
606579

@@ -636,9 +609,7 @@ def _get_coeff_for_high_froude_number_factor(self, fn: Numeric) -> Numeric:
636609
return fn / self._fn_critical
637610

638611

639-
class CalmWaterResistanceHollenbachSingleScrewBallastDraft(
640-
CalmWaterResistanceHollenbachBase
641-
):
612+
class CalmWaterResistanceHollenbachSingleScrewBallastDraft(CalmWaterResistanceHollenbachBase):
642613
_coeff_for_shape_factor: np.ndarray = np.array(
643614
[-0.8037, 0.2726, 0.7133, 0.6699, 0.0243, 0.0265, -0.0061, 0.2349, 0.0131]
644615
)
@@ -671,9 +642,7 @@ def _get_c_r_min(self, fn: Numeric):
671642
return self._get_c_r(fn)
672643

673644

674-
class CalmWaterResistanceHollenbachTwinScrewDesignDraft(
675-
CalmWaterResistanceHollenbachBase
676-
):
645+
class CalmWaterResistanceHollenbachTwinScrewDesignDraft(CalmWaterResistanceHollenbachBase):
677646
_coeff_for_shape_factor: np.ndarray = np.array(
678647
[-0.4319, 0.1685, 0.5637, 0.5891, 0.0033, 0.0134, -0.0005, 2.7932, 0.0072]
679648
)

ship_model_lib/ship_model_lib/data/create_table.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@
2525
# value = interpolate.PchipInterpolator(index, value)(df.index)
2626
interval = 180 / (value.size - 1)
2727
if interval != 10 and interval > 0:
28-
value = interpolate.PchipInterpolator(
29-
np.arange(0, 180 + interval, interval), value
30-
)(df.index)
28+
value = interpolate.PchipInterpolator(np.arange(0, 180 + interval, interval), value)(df.index)
3129
if interval > 0:
3230
df[new_column_name] = value
3331
df.to_csv("drag_coefficient.csv", index=True)

0 commit comments

Comments
 (0)