def test_celerity_deep(): h = 10000 # very deep omega = 2 * np.pi / 1.0 # short period wave k = waves.wave_number(waves.g, omega, h) # short waves C = waves.celerity(k, h, waves.g) # should be for deep water assert np.isclose(C, waves.g / omega, rtol=1e-15, atol=0.0)
def test_celerity_inf(): # does it work with infinate depth? h = np.inf omega = 2 * np.pi / 100.0 # long-ish wave (but still short for inf deep!) k = waves.wave_number(waves.g, omega, h) # short waves C = waves.celerity(k, h, waves.g) # should be for deep water assert np.isclose(C, waves.g / omega, rtol=1e-15, atol=0.0)
def test_celerity_shallow(): h = 1 # shallow k = 2*pi/10000 # long waves C = waves.celerity(k, h, g) assert np.allclose(C, np.sqrt(g * h), rtol=1e-7) # should be for shallow
def test_celerity_deep(): h = 10000 # very deep omega = 2*pi/1 # short period wave k = waves.wave_number(g, omega, h) # short waves C = waves.celerity(k, h, g) assert C == g / omega # should be for deep water -- in this case exact!
def test_celerity_shallow(): h = 1.0 # shallow k = 2 * np.pi / 10000 # long waves C = waves.celerity(k, h, waves.g) assert np.allclose(C, np.sqrt(waves.g * h), rtol=1e-7) # should be for shallow