pyHoltrop

This still water resistance prediction method in this program has been described by:

  • J. Holtrop and G.G.J. Mennen, “An Approximate Power Prediction Method”, International Shipbuilding Progress, Vol. 89, 1982.

  • J. Holtrop, “A Statistical Reanalysis of Resistance and Propulsion Data”, International Shipbuilding Progress, Vol. 31, 1984.

from __future__ import annotations

from astropy import units as u
from astropy.units import imperial as ui
from astropy.units.quantity import Quantity
import matplotlib.pyplot as plt
import numpy as np

from berhoel.holtrop import Holtrop

ship = Holtrop(
    L=50.00 * u.m,
    B=Quantity(12.00, "m"),
    T_F=Quantity(3.10, "m"),
    T_A=Quantity(3.30, "m"),
    h_b=Quantity(0.0, "m"),
    Nab=Quantity(900.0, "m3"),
    S_app=[Quantity(50.0, "m2")],
    S=Quantity(584.9, "m2"),
    k_2=[3.0],  # 1 + k_2
    C_Stern=0.0,
    A_BT=Quantity(0.0, "m2"),
    i_E=Quantity(25.0, "deg"),
    C_M=0.78,
    lcb=-4.5,  # L aft of 1/2 L
    A_T=Quantity(10.0, "m2"),
    C_WP=0.80,
    # Related coefficients
    C_P=0.60096,
    C_B=0.46875,
)

x = np.linspace(0.1, 14, 20)

R = np.fromiter((ship.R(speed * ui.kn).to(u.kN).value for speed in x), float)
ax1 = plt.subplot(311)
ax1.plot(x, R, "-o", label="bases")
ax1.set_title("Total resistance predicted")

R_F = np.fromiter((ship.R_F(speed * ui.kn).to(u.kN).value for speed in x), float)
ax2 = plt.subplot(323)
ax2.plot(x, R_F, "-", label="bases")
ax2.set_title("Resitance according to ITTC-57")

R_W = np.fromiter((ship.R_W(speed * ui.kn).to(u.kN).value for speed in x), float)
ax3 = plt.subplot(324)
ax3.plot(x, R_W, "-", label="bases")
ax3.set_title("Wave resistance")

R_app = np.fromiter((ship.R_app(speed * ui.kn).to(u.kN).value for speed in x), float)
ax4 = plt.subplot(325)
ax4.plot(x, R_app, "-", label="bases")
ax4.set_title("Appendage resistance")

R_TR = np.fromiter((ship.R_TR(speed * ui.kn).to(u.kN).value for speed in x), float)
ax5 = plt.subplot(326)
ax5.plot(x, R_TR, "-", label="bases")
ax5.set_title("Resistance due to immersed transom")

plt.gcf().set_size_inches(7.5, 8)
plt.tight_layout()

plt.show()

(Source code, png, hires.png, pdf)

_images/plot_1.png

API documentation

holtrop

Ship resistance accoring to [Hol84].

References

[Hol84] (1,2)

J. Holtrop. A Statistical Re-Analysis of Resistance and Propulsion Data. International Shipbuilding Progress, 31:pp272–276, 1984.

[HM78]

J. Holtrop and G. G.J Mennen. A Statistical Power Prediction Method. International Shipbuilding Progress, 25:p. 253–256, 1978.

[HM+82]

Jan Holtrop, GGJ Mennen, and others. An approximate power prediction method. International shipbuilding progress, 29(335):166–170, 1982.

[Sch85]

Prof.Dr.–Ing. Herbert Schneekluth. Entwerfen von Schiffen: Vorlesungen. Koehler, 1985. ISBN 978-3-7822-0351-7.

[Sch88]

Prof.Dr.–Ing. Herbert Schneekluth. Hydromechanik Zum Schiffsentwurf. Koehler, 3., verb. u. erw. Aufl., 1988.

Contents:

Indices and tables