Obliczenie sił dla obiektu pod wodą w kształcie torpedy¶

Dane¶

In [4]:
from IPython.display import display, HTML
HTML("""
<style>
.jp-RenderedText pre {
    font-size: 18pt;
    color: #ff0015;
}
</style>
""")
Out[4]:
In [3]:
import math
# Dane
rho = 1000  # gęstość wody [kg/m³]
V = 5       # prędkość [m/s]
D = 0.18     # średnica kuli/torpedy [m]
mu = 1.002e-3  # lepkość dynamiczna wody [Pa·s]

# Obliczenie liczby Reynoldsa
Re = (rho * V * D) / mu
print(f"{Re=}")
Re=898203.5928143712

Dla dużych Re > 1000 mamy przepływ turbuletny, który kształtuje się na poziome¶

Cd = 0,47 i przyjmowany dla naszego obiektu tak samo jak dla kuli¶

In [2]:
# Dane dodatkowe
Cd = 0.47  # współczynnik oporu
g = 9.81   # przyspieszenie ziemskie [m/s²]

# Powierzchnia przekroju kuli
A_kuli = math.pi * (D**2) / 4

# Siła oporu hydrodynamicznego
F_d_kuli = 0.5 * Cd * rho * A_kuli * (V**2)

# Dane dla torpedy
L = 1.8  # długość torpedy [m]
Cd_torpeda = 0.05  # szacowany współczynnik oporu dla torpedy

# Liczba Reynoldsa dla torpedy
Re_torpeda = (rho * V * L) / mu

# Powierzchnia czołowa torpedy (przybliżenie jako walec)
A_torpeda = D * L

Siła oporu dla obiektu w kształcie torpedy¶

In [3]:
F_d_torpeda = 0.5 * Cd_torpeda * rho * A_torpeda * (V**2)
print(f"{F_d_torpeda=}")
F_d_torpeda=202.5

Siła oporu dla linki¶

In [4]:
d_linka = 0.008  # średnica linki [m]
l_linka = 8      # długość linki [m]
Cd_linka = 1.2   # współczynnik oporu dla linki - walec w przepływie równoległym

# Powierzchnia boczna linki
A_linka = math.pi * d_linka * l_linka
F_d_linka = 0.5 * Cd_linka * rho * A_linka * (V**2)
print(f"{F_d_linka=}")
F_d_linka=3015.9289474462016

Całkowita siła oporu¶

połowa oporu linki dlatego że jest pod kątem i siła nie jest na końcu lecz rozłożona wzdłuż całej jej długości¶

tutaj chyba wchodzimy w równania różniczkowe¶

In [5]:
F_d_calkowita = F_d_torpeda + F_d_linka/2 
print(f"{F_d_calkowita=} N  {F_d_calkowita/g} kg")
F_d_calkowita=1710.4644737231008 N  174.3592735701428 kg

Kąt linki i głębokość obiektu przy podanych powyżej parametrach¶

przyjąłem małą siłę wyporu - patrz kod.¶

trzeba by było to skorygować dla wiekszego pustego zbiornika i uwzględnić też wszystkie inne elementy budowy obiektu¶

In [6]:
# Masa przedmiotu
m = 30  # masa [kg]

# Siła ciężkości
F_g = m * g

# Objętość wyporu dla walca o
O_k = math.pi*(D/2)**2 * 0.5  # długość walca 0,5m

# Szacowana objętość dla przedmiotu 
O_b = O_k

# Siła wyporu
F_b = F_g - rho*O_b

# Kąt linki
theta_rad = math.atan(F_b / F_d_calkowita)
theta_deg = math.degrees(theta_rad)
print(f"{theta_deg=}")

# Długość linki
l = l_linka  # długość linki [m]
# Głębokość kuli
h = l * math.sin(theta_rad)
print(f"{m=}kg {V=}m/s {l=} {h=}")
theta_deg=9.34818480110377
m=30kg V=5m/s l=8 h=1.2994695452970229

Moc potrzebna do poruszania obiektem (z linką) pod wodą z zadaną prędkością¶

In [7]:
P = F_d_calkowita * V
KM = 735   # przeliczik Watów na KM konie mechaniczne
print(f"{P=} W   {P/KM} KM")
P=8552.322368615503 W   11.63581274641565 KM