Dropped pipe
Last week I had an interesting problem to review at work: For a falling body through the water column, I needed to find the impact energy if it hit infrastructure on seabed. I haven’t ever done this before, which itself is a question, isn’t it?
I brought this up during a FaceTime call with my daughter at university. She said she had written a paper in her pre-university IB diploma years entitled, “Investigating the relationship between the radius of a body and terminal velocity”, and emailed a copy. She used honey as the medium, and determined the submerged mass of the falling body, honey’s viscosity, et al. How cool is that?
Back to the problem, one can find a wide variety of examples online using a spherical object, and you’d wonder why. It’s because much of the theory is from Stoke’s Law. For his experiments, George Stokes used a sphere as the falling body. Whereas my falling body was a pipe with open ends, and I had to calculate its drag force. While Stoke’s Law itself is not directly applicable, since it uses properties of a sphere, the basic approach by Stokes for calculating the terminal velocity is still valid.
Impact energy
Impact energy (W) of a falling body through fluid can be expressed as follows:
$$ W = \frac{1}{2} m v^2 $$
where, m is the submerged mass of the object, and v is the velocity of the falling object.
Terminal velocity
From first principles, as the pipe falls through seawater, its gravitational force (Fg) is resisted by its drag force (Fd). The maximum velocity achievable by a falling object is known as the terminal velocity (vt), at which Fg = Fd and buoyancy.
$$ F_g = F_d $$
$$ m g = F_{dn} + F_{dt} $$
Fdn is drag force for a cross section normal to the direction of motion, which uses the normal coefficient of drag, Cdn. Whereas Fdt is the drag (frictional) force generated due to the surface area that is parallel to the direction of motion, and which uses the tangential coefficient of drag, Cdt.
$$ F_{dn} = \frac{1}{2} \rho C_{dn} A v^2 $$
where, ρ is the seawater density, and A is the cross sectional area of the pipe.
$$ F_{dt} = \frac{1}{2} \rho C_{dt} \pi D L v^2 $$
where, D and L are pipe diameter and length respectively. Notice that in Fdt, I have used only the outer surface. If the diameter is sufficiently large, then one could also potentially consider drag from pipe’s inner surface. To keep the problem simple, I have chosen to ignore it because flow through pipe may modify its Cdt value, since Reynolds number (an indicator of fluid flow) may change (potentially making it a turbulent flow) when considered within the pipe. Also, the Cdt value is already so low at 0.008 for the outer surface, that ignoring surface friction inside the pipe is not too inaccurate.
In the above, Fd formulation is for a pipe falling vertically (i.e., with its longitudinal axis parallel to the direction of motion). This is the worst case since any change in the angle of incidence relative to the direction of motion increases drag substantially due to projected surface area times the drag coefficient.
This then becomes:
$$ mg = \frac{1}{2} \rho (C_{dn} A + C_{dt} \pi D L) v_t^2 $$
Finding terminal velocity (vt) from above is straight forward, as below:
$$ v_t = \sqrt{\frac{mg}{\frac{1}{2} \rho (C_{dn} A + C_{dt} \pi D L)}} $$
Once the terminal velocity is known, we can find the time it takes the dropped pipe from surface to reach seabed using the following expression:
$$ y(t) = y_0 - \left(\frac{v_t^2}{g}\right) \cdot \ln \cosh\left(\frac{gt}{v_t}\right) $$
where, y(t) is the altitude w.r.t. time, g is the acceleration due to gravity, y0 is the initial altitude, t is time elapsed, and vt is of course the terminal velocity.
To determine intermediate velocity of a falling object, the following can be used:
$$ v(t) = v_t \cdot \tanh\left(\frac{g t}{v_t}\right) $$
For a problem I was reviewing, the plots look somewhat like these with code furnished below for generating them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Time versus velocity and depth of a dropped pipe through seawater
2020 ckunte
"""
import numpy as np
import matplotlib.pyplot as plt
# Legend:
# v_t -- terminal velocity (m/s)
# t -- time (s)
g = 9.81 # acceleration due to gravity (m/s^2)
def tvelo(v_t, t):
# v_t -- terminal velocity
# t -- time
v = v_t * np.tanh(g * t / v_t)
plt.plot(t, v, linewidth=2)
plt.xlabel("Time, t (s)")
plt.ylabel("Velocity, v (m/s)")
plt.grid(True)
plt.savefig("t_v.png")
plt.close()
pass
def tdepth(y0, v_t, t):
y = y0 - (v_t ** 2 / g) * np.log(np.cosh(g * t / v_t))
plt.plot(t, y, linewidth=2)
plt.xlabel("Time, t (s)")
plt.ylabel("Depth, d (m)")
plt.axhline(y=-168.5, color="r", linestyle=":")
plt.grid(True)
plt.savefig("t_d.png")
plt.close()
pass
def main():
tvelo(13.654, np.arange(0.1, 10.0, 0.01))
tdepth(0.0, 13.654, np.arange(0.1, 14.0, 0.01))
pass
if __name__ == "__main__":
main()