diff --git a/tests/unit/test_channel_root.py b/tests/unit/test_channel_root.py index aaa6194..49a9e1f 100644 --- a/tests/unit/test_channel_root.py +++ b/tests/unit/test_channel_root.py @@ -13,9 +13,11 @@ from .test_numerical_operators import compile_run @pytest.mark.parametrize("shift", [0, 1]) @pytest.mark.parametrize("profile", [0, 1]) -def test_actual_kernel_uniform_parity(tmp_path, shift, profile): +@pytest.mark.parametrize("clamp,damping", [(1, ".5f"), (0, ".8f")]) +def test_actual_kernel_uniform_parity(tmp_path, shift, profile, clamp, damping): """Nonuniform ghosts, corners, top wall, global profile and outlet halo donor.""" - defines = dict(USE_DDF_SHIFTING=shift, INLET_PROFILE=profile) + defines = dict(USE_DDF_SHIFTING=shift, INLET_PROFILE=profile, + OUTLET_BACKFLOW_CLAMP=clamp, OUTLET_SRT_NEQ_DAMP=damping) uniform = np.array(compile_run(tmp_path, "channel_root.cpp", dict( defines, UNIFORM=1, NX=24, NY=20)), np.float32) assert np.isfinite(uniform).all() diff --git a/tests/validation/multigrid/test_channel_root_gpu.py b/tests/validation/multigrid/test_channel_root_gpu.py index 80c96e2..5e66415 100644 --- a/tests/validation/multigrid/test_channel_root_gpu.py +++ b/tests/validation/multigrid/test_channel_root_gpu.py @@ -82,9 +82,11 @@ class ChannelRootGPU(unittest.TestCase): def test_uniform_matched_root(self): with CudaContext(0) as context: for shifted in (False, True): - for profile in ("uniform", "parabolic"): + for profile, clamp, damping in (("uniform", True, .5), ("parabolic", True, .5), + ("parabolic", False, .8)): cfg = LBMConfig(nx=24, ny=20, viscosity=.1, velocity=.025, - ddf_shifting=shifted, inlet_profile=profile) + ddf_shifting=shifted, inlet_profile=profile, + outlet_backflow_clamp=clamp, outlet_srt_neq_damp=damping) initial = _encode_physical(state(cfg.ny, cfg.nx), shifted) expected = run_root(cfg, context, initial) self.assertTrue(np.isfinite(expected).all())