Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Schwimmstabilität von Körpern

Dieses Notebook im Webbrowser ausführen: Open in marimo

Der Link öffnet schwimmstabilitaet.py als interaktives marimo-Notebook, das vollständig im Webbrowser läuft, ohne dass etwas installiert werden muss.

  1. Warten Sie einen Moment, bis Python im Browser geladen ist (das dauert nur beim ersten Start länger).

  2. Klicken Sie auf den gelben Ausführen-Button (▶︎, unten rechts), um alle Zellen auszuführen.

  3. Bearbeiten Sie beliebige Code-Zellen und führen Sie sie erneut aus: marimo aktualisiert automatisch alle davon abhängigen Zellen.

  4. Ihre Änderungen bleiben nur im Browser-Tab erhalten. Um sie zu behalten, speichern Sie das Notebook über das Menü (☰, oben rechts) > Export… > Python.

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 Fg=ρk⋅g⋅Vk=ρk⋅g⋅[bx⋅by⋅h−(h−w)⋅(bx−2w)⋅(by−2w)] 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 Vv=Fg/(ρf⋅g) 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=Vv/(bx⋅by) d = V_v / \left(b_x \cdot b_y\right) und des Freibords f=h−d 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 I0=bx3⋅by12I_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 hgh_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 hvh_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 hgvh_{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 hMh_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.