Non-dimensional stability constant C' = 0.0357 > 0 and the ship is straight-line stable
For xG' = -0.10, non-dimensional stability constant C' = -0.0147 < 0 and the ship is not straight-line stable
Solution 2
A ship model has the following non-dimensional hydrodynamic derivatives:
\(Y_v' = -0.42\)
\(Y_r' = -0.15\)
\(N_v' = -0.08\)
\(N_r' = -0.18\)
\(m' = 0.85\)
\(x_G' = 0.05\)
Calculate the non-dimensional stability constant \(C'\).
If the ship is found to be unstable, what is the minimum change needed in \(N_v'\) to make it stable while keeping all other parameters constant?
(a) Non-dimensional stability constant C' = 0.0134 > 0
(b) Minimum Nv' required for stability: -0.0934
Change needed in Nv': -0.0134
Solution 3
A ship has a length of \(200\) m and the following non-dimensional parameters:
\(Y_v' = -0.40\)
\(Y_r' = -0.13\)
\(N_v' = -0.07\)
\(N_r' = -0.17\)
\(m' = 0.82\)
Calculate the range of \(x_G'\) values for which the ship will be straight-line stable.
Convert this range to actual distances from midship in meters assuming that BCS origin is at midship.
Code
def solve_problem3():# Given parameters Y_v_prime =-0.40 Y_r_prime =-0.13 N_v_prime =-0.07 N_r_prime =-0.17 m_prime =0.82 L =200# Calculate x_G_prime where C' = 0 x_G_prime_crit = (N_r_prime - ((Y_r_prime - m_prime) * N_v_prime / Y_v_prime)) / m_prime# Convert to actual distance x_G_crit = x_G_prime_crit * Lprint(f"(a) For straight-line stability: x_G' > {x_G_prime_crit:.4f}\n")print(f"(b) Distance from midship: x_G > {x_G_crit:.2f} m\n")solve_problem3()
(a) For straight-line stability: x_G' > -0.0046
(b) Distance from midship: x_G > -0.91 m
Solution 4
Consider a ship of length \(200\) m with a design speed of \(U=12\) m/s. Let the non-dimensional stability parameters of the ship be as given below:
\(A'= 0.15\)
\(B'=0.20\)
\(C'=0.05\)
During its nominal operation, the ship experiences a momentary gust of wind. After the disturbance has just passed, the ship has the following state:
\(v=0.5 ~m/s\)
\(r=0.01 ~rad/s\)
\(\dot{v} = -0.01 ~m/s^2\)
\(\dot{r} = -0.0006 ~rad/s^2\)
How long does it take for the sway velocity to become \(0.25 ~m/s\) after the disturbance has just passed?
How long does it take for the yaw velocity to become \(0.005 ~rad/s\) after the disturbance has just passed?
Code
import numpy as npdef solve_problem4(): U =12 L =200 Ap =0.15 Bp =0.20 Cp =0.05 v0 =0.5 r0 =0.01 v0d =-0.01 r0d =-0.0006 v_new =0.25 r_new =0.005 v0p = v0 / U r0p = r0 * L / U v0dp = v0d * L / U**2 r0dp = r0d * L**2/ U**2 s1p = (- Bp + np.sqrt(Bp**2-4*Ap*Cp)) / (2*Ap) s2p = (- Bp - np.sqrt(Bp**2-4*Ap*Cp)) / (2*Ap) s1 = s1p * U / L s2 = s2p * U / L A_mat = np.array([ [1, 1], [s1p, s2p] ]) bv_vec = np.array([v0p, v0dp]) br_vec = np.array([r0p, r0dp]) v_amp = np.linalg.solve(A_mat, bv_vec) * U r_amp = np.linalg.solve(A_mat, br_vec) * U / Lprint(f"Velocity amplitudes v1 = {v_amp[0]:.2f} m/s, v2 = {v_amp[1]:.2f} m/s")print(f"Yaw rate amplitudes r1 = {r_amp[0]:.2f} rad/s, r2 = {r_amp[1]:.2f} rad/s\n") t1 = np.log(v_new / v_amp[0]) / s1 t2 = np.log(r_new / r_amp[1]) / s2print(f"(a) Time for v to reach {v_new:.2f} m/s is {t1:.2f} seconds")print(f"(b) Time for r to reach {r_new:.3f} m/s is {t2:.2f} seconds")solve_problem4()
Velocity amplitudes v1 = 0.50 m/s, v2 = 0.00 m/s
Yaw rate amplitudes r1 = 0.00 rad/s, r2 = 0.01 rad/s
(a) Time for v to reach 0.25 m/s is 34.66 seconds
(b) Time for r to reach 0.005 m/s is 11.55 seconds