Skip to content

Commit

Permalink
better torque fromulation for the turning steamboat
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter230655 committed Aug 26, 2024
1 parent bd4328e commit df52308
Show file tree
Hide file tree
Showing 2 changed files with 482 additions and 0 deletions.
17 changes: 17 additions & 0 deletions examples-gallery/plot_Mississippi_steamboat.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,23 @@

Tdrag = -cS*aS * u*AS.z.cross(AS.y)
forces.append((AS, Tdrag))
# %%
# If :math:`u \neq 0`, the boat will rotate and a drag torque will act on it.
# Let's look at the situation from the center of the boat to its bow. At a
# distance :math:`r` from the center, The speed of a point a r is :math:`u \cdot r`.
# The area is :math:`dr`, hence the force is :math:`-c_S (u \cdot r)^2 dr`. The
# leverage at this point is :math:`r`, hence the torque is
# :math:`-c_S (u \cdot r)^2 \cdot r dr`.
# Hence total torque is:
# :math:`-c_S u^2 \int_{0}^{a_S/2} r^3 \, dr` =
# :math:`\frac{1}{4} c_S u^2 \frac{a_S}{16}`
#
# The same is from the center to the stern, hence the total torque is
# :math:`\frac{1}{32} c_S u^2 a_S^4`.
# Same again across the front, with :math:`b_S` instead of :math:`a_S`, hence
# the total torque is :math:`\frac{1}{32} c_S u^2 b_S^4`.
tB = -cS*u**2*(aS**4 + bS**4)/32 * sm.tanh(20*u) * N.z
forces.append((AS, tB))

# %%
# Set up the rigid bodies
Expand Down
Loading

0 comments on commit df52308

Please sign in to comment.