From 2d263c761bba76f97306ce81c8fdfb7033b211d1 Mon Sep 17 00:00:00 2001 From: Timo Koch <timo.koch@iws.uni-stuttgart.de> Date: Mon, 12 Feb 2018 14:02:15 +0100 Subject: [PATCH] [test][1p] Add incompressible test with numeric differentiation --- .../1p/implicit/incompressible/CMakeLists.txt | 37 ++++++++++++++++--- .../1p/implicit/incompressible/test_1pfv.cc | 2 +- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/test/porousmediumflow/1p/implicit/incompressible/CMakeLists.txt b/test/porousmediumflow/1p/implicit/incompressible/CMakeLists.txt index 259bf65e4f..457e1b1980 100644 --- a/test/porousmediumflow/1p/implicit/incompressible/CMakeLists.txt +++ b/test/porousmediumflow/1p/implicit/incompressible/CMakeLists.txt @@ -1,33 +1,58 @@ dune_symlink_to_source_files(FILES "test_1p.input") -# using tpfa +# using tpfa and analytical Jacobian dune_add_test(NAME test_1p_incompressible_tpfa SOURCES test_1pfv.cc - COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleTpfa + COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleTpfa NUMDIFFMETHOD=DiffMethod::analytic COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy --files ${CMAKE_SOURCE_DIR}/test/references/1ptestcc-reference.vtu ${CMAKE_CURRENT_BINARY_DIR}/1ptestcctpfa-00001.vtu --command "${CMAKE_CURRENT_BINARY_DIR}/test_1p_incompressible_tpfa test_1p.input -Problem.Name 1ptestcctpfa") -# using mpfa +# using mpfa and analytical Jacobian dune_add_test(NAME test_1p_incompressible_mpfa SOURCES test_1pfv.cc - COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleMpfa + COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleMpfa NUMDIFFMETHOD=DiffMethod::analytic COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy --files ${CMAKE_SOURCE_DIR}/test/references/1ptestcc-reference.vtu ${CMAKE_CURRENT_BINARY_DIR}/1ptestccmpfa-00001.vtu --command "${CMAKE_CURRENT_BINARY_DIR}/test_1p_incompressible_mpfa test_1p.input -Problem.Name 1ptestccmpfa") -# using box +# using box and analytical Jacobian dune_add_test(NAME test_1p_incompressible_box SOURCES test_1pfv.cc - COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleBox + COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleBox NUMDIFFMETHOD=DiffMethod::analytic COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py CMD_ARGS --script fuzzy --files ${CMAKE_SOURCE_DIR}/test/references/1ptestbox-reference.vtu ${CMAKE_CURRENT_BINARY_DIR}/1ptestbox-00001.vtu --command "${CMAKE_CURRENT_BINARY_DIR}/test_1p_incompressible_box test_1p.input -Problem.Name 1ptestbox") + +# using tpfa and numeric differentiation +dune_add_test(NAME test_1p_incompressible_tpfa_numdiff + SOURCES test_1pfv.cc + COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleTpfa NUMDIFFMETHOD=DiffMethod::numeric + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/1ptestcc-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/1ptestcctpfa_numdiff-00001.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_1p_incompressible_tpfa_numdiff test_1p.input + -Problem.Name 1ptestcctpfa_numdiff + -Assembly.NumericDifference.PriVarMagnitude 1e5") + +# using box and numeric differentiation +dune_add_test(NAME test_1p_incompressible_box_numdiff + SOURCES test_1pfv.cc + COMPILE_DEFINITIONS TYPETAG=OnePIncompressibleBox NUMDIFFMETHOD=DiffMethod::numeric + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/1ptestbox-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/1ptestbox_numdiff-00001.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_1p_incompressible_box_numdiff test_1p.input + -Problem.Name 1ptestbox_numdiff + -Assembly.NumericDifference.PriVarMagnitude 1e5") + set(CMAKE_BUILD_TYPE Release) diff --git a/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc b/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc index 70d729ffad..3691b9f81d 100644 --- a/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc +++ b/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc @@ -100,7 +100,7 @@ int main(int argc, char** argv) try vtkWriter.write(0.0); // make assemble and attach linear system - using Assembler = FVAssembler<TypeTag, DiffMethod::analytic>; + using Assembler = FVAssembler<TypeTag, NUMDIFFMETHOD>; auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables); using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); auto A = std::make_shared<JacobianMatrix>(); -- GitLab