def test_p_star(): gamma = 1.4 W_l = np.array([1, 6, 4]) W_r = np.array([2, 6, 2]) c_l, c_r = compute_c_from_primitives(W_l, W_r, gamma) pstar_waves, ustar_waves = compute_star(W_l, c_l, W_r, c_r, gamma) riemann = Riemann(W_l, W_r, gamma) riemann.update() assert_equal(pstar_waves, riemann.p_star) assert_equal(ustar_waves, riemann.u_star)
def test_almost_vacuum(): W_l = np.array([1.0, -2.0, 0.4]) W_r = np.array([1.0, 2.0, 0.4]) gamma = 1.4 riemann = Riemann(W_l, W_r, gamma) riemann.update() assert(riemann.p_star > 0.0) assert_equal(riemann.u_star, 0.0) assert_equal(np.array(riemann.left_wave.speed), -np.array(riemann.right_wave.speed))
def test_almost_vacuum(): W_l = np.array([1.0, -2.0, 0.4]) W_r = np.array([1.0, 2.0, 0.4]) gamma = 1.4 riemann = Riemann(W_l, W_r, gamma) riemann.update() assert (riemann.p_star > 0.0) assert_equal(riemann.u_star, 0.0) assert_equal(np.array(riemann.left_wave.speed), -np.array(riemann.right_wave.speed))
def test_vacuum(): x0 = 0.5 gamma = 1.4 W_l = np.array([1.0, -20, 1.0]) W_r = np.array([1.0, 20, 1.0]) riemann = Riemann(W_l, W_r, gamma, x0) try: riemann.update() except waves.VacuumCondition: return raise AssertionError