diff --git a/test/porousmediumflow/richards/implicit/lens/CMakeLists.txt b/test/porousmediumflow/richards/implicit/lens/CMakeLists.txt index b4238ba97b4f3352b9f21fe2853d466f10109e7a..79ad4cb188e73e32a18b3dc3ec0e75fd91ecef1c 100644 --- a/test/porousmediumflow/richards/implicit/lens/CMakeLists.txt +++ b/test/porousmediumflow/richards/implicit/lens/CMakeLists.txt @@ -4,6 +4,9 @@ add_input_file_links(FILES params.input) add_executable(test_richards_lens_tpfa EXCLUDE_FROM_ALL main.cc) target_compile_definitions(test_richards_lens_tpfa PUBLIC TYPETAG=RichardsLensCC PUBLIC DIFFMETHOD=DiffMethod::numeric) +add_executable(test_richards_lens_mpfa EXCLUDE_FROM_ALL main.cc) +target_compile_definitions(test_richards_lens_mpfa PUBLIC TYPETAG=RichardsLensCCMpfa PUBLIC DIFFMETHOD=DiffMethod::numeric) + add_executable(test_richards_lens_box EXCLUDE_FROM_ALL main.cc) target_compile_definitions(test_richards_lens_box PUBLIC TYPETAG=RichardsLensBox PUBLIC DIFFMETHOD=DiffMethod::numeric) @@ -69,6 +72,18 @@ dune_add_test(NAME test_richards_lens_tpfa_parallel_yasp ${CMAKE_CURRENT_BINARY_DIR}/s0002-test_richards_lens_tpfa_parallel_yasp-00007.pvtu --command "${MPIEXEC} -np 2 ${CMAKE_CURRENT_BINARY_DIR}/test_richards_lens_tpfa params.input -Problem.Name test_richards_lens_tpfa_parallel_yasp -Grid.Overlap 1") +dune_add_test(NAME test_richards_lens_mpfa_parallel_yasp + TARGET test_richards_lens_mpfa + LABELS porousmediumflow richards parallel + CMAKE_GUARD MPI_FOUND + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy --zeroThreshold {"process rank":100} + --files ${CMAKE_SOURCE_DIR}/test/references/test_richards_lens_tpfa_parallel-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/s0002-p0000-test_richards_lens_mpfa_parallel_yasp-00007.vtu + ${CMAKE_SOURCE_DIR}/test/references/test_richards_lens_tpfa-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/s0002-test_richards_lens_mpfa_parallel_yasp-00007.pvtu + --command "${MPIEXEC} -np 2 ${CMAKE_CURRENT_BINARY_DIR}/test_richards_lens_mpfa params.input -Problem.Name test_richards_lens_mpfa_parallel_yasp -Grid.Overlap 1") + # TODO: there is a small difference because of the precision loss when writing and reading to and from vtk with single precision # This is why we need a bit higher saturation threshold since pc-sw is very sensitive to pressure for saturations close to 0 dune_add_test(NAME test_richards_lens_tpfa_parallel_yasp_restart diff --git a/test/porousmediumflow/richards/implicit/lens/problem.hh b/test/porousmediumflow/richards/implicit/lens/problem.hh index 779e80aeebeb016f909bac024223930769b3a019..4300dbb94e7c7d2d926c55a31f73b0cfdb7e339b 100644 --- a/test/porousmediumflow/richards/implicit/lens/problem.hh +++ b/test/porousmediumflow/richards/implicit/lens/problem.hh @@ -36,6 +36,7 @@ #endif #include <dumux/discretization/cctpfa.hh> +#include <dumux/discretization/ccmpfa.hh> #include <dumux/discretization/box.hh> #include <dumux/porousmediumflow/problem.hh> @@ -57,6 +58,7 @@ namespace TTag { struct RichardsLens { using InheritsFrom = std::tuple<Richards>; }; struct RichardsLensBox { using InheritsFrom = std::tuple<RichardsLens, BoxModel>; }; struct RichardsLensCC { using InheritsFrom = std::tuple<RichardsLens, CCTpfaModel>; }; +struct RichardsLensCCMpfa { using InheritsFrom = std::tuple<RichardsLens, CCMpfaModel>; }; } // end namespace TTag #ifndef GRIDTYPE