def test_escape_polygon(): D = 400 v = 1 a = 0.1 hull, _ = make_hull_and_scale(np.random.random((10, 3))) pores = random_points_on_hull(hull) t = escape(D, v, a, pores, dt=1e-6, hull=hull, shape='polygon') assert t
def test_escape_ellipsoid(): D = 400 v = 1 a = 0.1 ABC = [3, 2, 1] pores = random_points_on_ellipsoid(ABC, v) t = escape(D, v, a, pores, shape='ellipsoid', dt=1e-6, ABC=ABC) assert t
def test_timeout_from_dt(): D = 400 v = 1 a = 0.1 r = sphere_vol_to_r(v) pores = fibonacci_spheres(1, r) t = escape(D, v, a, pores, max_steps=5, dt=1e-6) assert int(t) == 0
def test_escape_cube(): D = 400 v = 1 a = 0.1 r = sphere_vol_to_r(v) pores = random_points_on_cube_surface(1, r) t = escape(D, v, a, pores, shape='cube', dt=1e-6) assert t
def test_escape(): D = 400 v = 1 a = 0.1 r = sphere_vol_to_r(v) pores = fibonacci_spheres(1, r) t = escape(D, v, a, pores, dt=1e-6) assert t
def test_timeout_from_dt(): D = 400 v = 1 a = 0.1 r = sphere_vol_to_r(v) pores = points_on_cube_surface(1, r) t = escape(D, v, a, pores, shape='cube', max_steps=(1e3), dt=1) assert int(t) == 0
def test_avg_escape_sphere_time(): N = 10 D = 400 v = 1 a = 0.1 r = sphere_vol_to_r(v) pores = fibonacci_spheres(1, r) ts = np.mean([escape(D, v, a, pores, dt=1e-6) for _ in range(N)]) assert 0.001 < ts < 1
def test_avg_escape_sphere_time(): N = 50 D = 400 v = 1 a = 0.1 r = sphere_vol_to_r(v) pores = points_on_cube_surface(1, r) ts = np.mean([escape(D, v, a, pores, shape='cube') for _ in range(N)]) assert 0.01 < ts < 0.1