def test_CFD_convergence_order(stencil_index): func_stencil = stencil_size_range[stencil_index] grid = field.UniformPeriodicGrid(50, 2*np.pi) d = spatial.CompactFiniteDifferenceUniformGrid(1, 3, func_stencil, grid) assert convergence_list[stencil_index] == d.convergence_order
def test_CFD2_r2(): grid = field.UniformPeriodicGrid(100, 2 * np.pi) f = field.Field(grid, np.sin(grid.values)) d = spatial.CompactFiniteDifferenceUniformGrid(2, 5, 3, grid) df = d.operate(f) df0 = -np.sin (grid.values) error = np.max(np.abs(df.data - df0)) print(error) assert error < error_bound_2[2]
def test_CFD_error_estimate(stencil_index): func_stencil = stencil_size_range[stencil_index] grid = field.UniformPeriodicGrid(50, 2*np.pi) d = spatial.CompactFiniteDifferenceUniformGrid(1, 3, func_stencil, grid) error_est = d.error_estimate(1) error_ref = error_list[stencil_index] fraction_diff = np.abs(error_est - error_ref)/error_ref assert fraction_diff < 0.8