Schwimmstabilität von Körpern#
About
This is a special exercise on hydromechanics in German. The notebook can be downloaded here.
Freibord und Eintauchtiefe#
Parameterdefinitionen:
rho_k = 870. # kg / m3 - Holzdichte
rho_f = 1000. # kg / m3 - Wasserdichte
g = 9.81 # N / kg - Gravitationskonstante
b_x = 1.5 # m - Kastenbreite
b_y = 2.0 # m - Kastenlänge
h = 1.5 # m - Kastenhöhe
w = 0.01 # m - Wandstärke
Berechnung der Gewichtskraft \( F_g = \rho_k \cdot g \cdot V_k = \rho_k \cdot g \cdot \left[b_x \cdot b_y \cdot h - \left(h - w\right) \cdot \left(b_x - 2 w\right) \cdot \left(b_y - 2 w\right)\right] \) :
V_k = b_x * b_y * h - (b_x - 2 * w) * (b_y - 2 * w) * (h - w)
F_g = V_k * rho_k * g
print(f'Koerpervolumen V_k = {V_k:.2f} m3\nGewichtskraft: {F_g:.2f} N')
Koerpervolumen V_k = 0.13 m3
Gewichtskraft: 1141.12 N
Berechnung des Verdrängungsvolumens \( V_v = F_g / \left(\rho_f \cdot g \right) \) :
V_v = F_g / (rho_f * g)
print(f'Verdraengungsvolumen: {V_v:.2f} m3')
Verdraengungsvolumen: 0.12 m3
Berechnung der Eintauchtiefe \( d = V_v / \left(b_x \cdot b_y\right) \) und des Freibords \( f = h - d \) :
d = V_v / b_x * b_y
f = h - d
print(f'Eintauchtiefe d = {d:.2f} m\nFreibord f = {f:.2f} m')
if f >= 0:
print("Schwimmender Körper")
if f < 0:
print("Der Körper geht unter.")
Eintauchtiefe d = 0.16 m
Freibord f = 1.34 m
Schwimmender Körper
Schwimmstabilität#
Flächenträgheitsmoment#
Berechnung des Flächenträgheitsmoments \(I_0 = \frac{b_{\text{x}} ^3 \cdot b_{\text{y}} }{12}\) bezüglich 0:
I_0 = b_x**3 * b_y / 12
print(f'Flaechentraegheitsmoment I_0 = {I_0:.2f} m4')
Flaechentraegheitsmoment I_0 = 0.56 m4
Höhenlagen#
Höhe \(h_g\) des Gewichtsschwerpunkts:
V_k_lat_waende = 2 * (b_y - 2 * w) * (h - w) * w
V_k_front_back = 2 * b_x * (h - w) * w
V_k_boden = b_x * b_y * w
h_g = ((V_k_lat_waende + V_k_front_back) * (w + h / 2) + V_k_boden * w / 2) / V_k
print(f'h_g = {h_g:.2f} m')
h_g = 0.59 m
Höhe \(h_v\) des Verdrängungsschwerpunkts:
h_v = d / 2
print(f'Hoehe des Verdraengungsschwerpunkts h_v = {h_v:.2f} m')
Hoehe des Verdraengungsschwerpunkts h_v = 0.08 m
Höhendifferenz \(h_{gv}\) zwischen Gewichtsschwerpunkt und Verdrängungsschwerpunkt:
h_gv = h_g - h_v
print(f'Hoehendifferenz h_gv = {h_gv:.2f} m')
Hoehendifferenz h_gv = 0.51 m
Höhe \(h_M\) des Metazentrums und Schwimmstabilität:
h_M = I_0 / V_v - h_gv
print(f'Hoehe des Metazentrums h_M = {h_M:.2f} m')
if h_M > 0:
print("Stabile Lage.")
elif h_M < 0:
print("Labile Lage.")
else:
print("Indifferente Lage.")
Hoehe des Metazentrums h_M = 4.32 m
Stabile Lage.