diff --git a/WENO.F90 b/WENO.F90 index 200d3a935ea354321c32066657855d5342a5d19a..f829dfe057a663f93ef02f815ce7c22737072dc5 100644 --- a/WENO.F90 +++ b/WENO.F90 @@ -688,7 +688,6 @@ subroutine consistent_part(nvars, generalized_fluxes, consistent) consistent(v) = generalized_fluxes(v,-2) - 8*generalized_fluxes(v,-1) & + 37*generalized_fluxes(v,0) + 37*generalized_fluxes(v,1) & - 8*generalized_fluxes(v,2) + generalized_fluxes(v,3) - consistent(v) = consistent(v)/60.0 end do end subroutine diff --git a/test.py b/test.py index 878e48c8519491c5462f3aab80328283fb844643..79b1b7ce45aa765b4eedba3d5c459f1ddbb699fe 100644 --- a/test.py +++ b/test.py @@ -100,96 +100,6 @@ def test_consistent_part_uniform_grid( u.compare_arrays(consistent_dev.get(), consistent_expected) -@pytest.mark.xfail -@pytest.mark.parametrize(("char_fluxes_str,combined_metric," - "R_str,dissipation_expected_str"), [ - (("1.09071563 1.23015152 1.23015152 7.52305259 0.232956271," - "0.467376796 -0.6627417 -0.6627417 1.47953026 0.312527304"), - 1.0, - ("1 0 0 0.45781246 0.45781246," - "1.58578644 0 0 1.43309957 0.0188860081," - "1.58578644 1.41421356 0 0.725992789 0.725992789," - "1.58578644 0 1.41421356 0.725992789 0.725992789," - "3.77207794 2.24264069 2.24264069 5.57860029 3.3359596"), - "1.67685514 4.82397437 3.99761177 3.99761177 22.1451964"), - (("0.0672231577 0.248528137 0.248528137 0.374562227 0.107250611," - "0.168354897 -0.0585786438 -0.0585786438 0.306026299 0.727493464"), - 1.0, - ("1 0 0 0.45781246 0.45781246," - "-1.58578644 0 0 -0.0188860081 -1.43309957," - "-1.58578644 1.41421356 0 -0.725992789 -0.725992789," - "-1.58578644 0 1.41421356 -0.725992789 -0.725992789," - "3.77207794 -2.24264069 -2.24264069 3.3359596 5.57860029"), - "-0.17685508 0.523974175 0.497611669 0.497611669 -2.49519635") - ]) -def test_dissipation_part_pos_uniform_grid( - ctx_factory, char_fluxes_str, combined_metric, R_str, - dissipation_expected_str): - prg = u.get_weno_program_with_root_kernel("dissipation_part_pos") - queue = u.get_queue(ctx_factory) - - nvars = 5 - - char_fluxes = u.expand_to_6( - u.transposed_array_from_string(char_fluxes_str)) - R = u.array_from_string(R_str) - dissipation_dev = u.empty_array_on_device(queue, nvars) - - prg(queue, nvars=nvars, - characteristic_fluxes=char_fluxes, - combined_frozen_metrics=combined_metric, - R=R, - dissipation_pos=dissipation_dev) - - dissipation_expected = u.array_from_string(dissipation_expected_str) - u.compare_arrays(dissipation_dev.get(), dissipation_expected) - - -@pytest.mark.xfail -@pytest.mark.parametrize(("char_fluxes_str,combined_metric," - "R_str,dissipation_expected_str"), [ - (("-0.168354897 -0.0585786438 -0.0585786438 -0.727493464 -0.306026299," - "-0.0672231577 0.248528137 0.248528137 -0.107250611 -0.374562227"), - 1.0, - ("1 0 0 0.45781246 0.45781246," - "1.58578644 0 0 1.43309957 0.0188860081," - "1.58578644 1.41421356 0 0.725992789 0.725992789," - "1.58578644 0 1.41421356 0.725992789 0.725992789," - "3.77207794 2.24264069 2.24264069 5.57860029 3.3359596"), - "0.17685508 0.523974175 0.497611669 0.497611669 2.49519635"), - (("-0.467376796 -0.6627417 -0.6627417 -0.312527304 -1.47953026," - "-1.09071563 1.23015152 1.23015152 -0.232956271 -7.52305259"), - 1.0, - ("1 0 0 0.45781246 0.45781246," - "-1.58578644 0 0 -0.0188860081 -1.43309957," - "-1.58578644 1.41421356 0 -0.725992789 -0.725992789," - "-1.58578644 0 1.41421356 -0.725992789 -0.725992789," - "3.77207794 -2.24264069 -2.24264069 3.3359596 5.57860029"), - "-1.67685514 4.82397437 3.99761177 3.99761177 -22.1451964") - ]) -def test_dissipation_part_neg_uniform_grid( - ctx_factory, char_fluxes_str, combined_metric, R_str, - dissipation_expected_str): - prg = u.get_weno_program_with_root_kernel("dissipation_part_neg") - queue = u.get_queue(ctx_factory) - - nvars = 5 - - char_fluxes = u.expand_to_6( - u.transposed_array_from_string(char_fluxes_str)) - R = u.array_from_string(R_str) - dissipation_dev = u.empty_array_on_device(queue, nvars) - - prg(queue, nvars=nvars, - characteristic_fluxes=char_fluxes, - combined_frozen_metrics=combined_metric, - R=R, - dissipation_neg=dissipation_dev) - - dissipation_expected = u.array_from_string(dissipation_expected_str) - u.compare_arrays(dissipation_dev.get(), dissipation_expected) - - @pytest.mark.slow @pytest.mark.parametrize(("states_str,fluxes_str,R_inv_str,wavespeeds_str," "fluxes_pos_expected_str,fluxes_neg_expected_str"), [