PLOT = True s = Sphere() p = 3 diff_stencil_arm = 1 dim = 3 # As a byproduct of finding the banded grid, we already have its # closest points, so we don't really have to call s.closest_point() cp, distance, grid, dx = s.grid(num_blocks_per_dim=41, levels=1, p=p, diff_stencil_arm=diff_stencil_arm) cp2, distance2, _, _ = s.closest_point(grid) assert np.allclose(cp, cp2) assert np.allclose(distance, distance2) # Corners of the virtual grid, superset of `grid` ll = np.array(dim * [grid.min()]) - 3 * dx ur = np.array(dim * [grid.max()]) + 3 * dx virtual_grid_shape = np.abs(ur-ll) / dx + 1 # The (i,j,...) indices of the grid points, taking `ll` as origin. int_grid = np.round((grid - ll) / dx).astype(np.int) # Initial conditions th, phi, r = cart2sph(grid[:, 0], grid[:, 1], grid[:, 2]) u = np.cos(phi + np.pi / 2) # Let's keep a copy of the initial conditions
PLOT = False s = Sphere() p = 3 diff_stencil_arm = 1 dim = 3 # As a byproduct of finding the banded grid, we already have its # closest points, so we don't really have to call s.closest_point() cp, distance, grid, dx = s.grid(num_blocks_per_dim=41, levels=1, p=p, diff_stencil_arm=diff_stencil_arm) cp2, distance2, _, _ = s.closest_point(grid) assert np.allclose(cp, cp2) assert np.allclose(distance, distance2) # Corners of the virtual grid, superset of `grid` ll = np.array(dim * [grid.min()]) - 3 * dx ur = np.array(dim * [grid.max()]) + 3 * dx virtual_grid_shape = np.abs(ur - ll) / dx + 1 # The (i,j,...) indices of the grid points, taking `ll` as origin. int_grid = np.round((grid - ll) / dx).astype(np.int) # Initial conditions th, phi, r = cart2sph(grid[:, 0], grid[:, 1], grid[:, 2]) u = np.cos(phi + np.pi / 2) # Let's keep a copy of the initial conditions