diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 634972e1f81b2a907afdf834de126b89644d22e6..86987392ea20c73f3294fd77ed1ce4c3750a0ace 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,11 @@ image: dorie/dune-env:2.5.1 variables: DUNE_CONTROL_PATH: /opt/dune:$CI_PROJECT_DIR DUNECONTROL: ./dune-common/bin/dunecontrol + CMAKE_FLAGS: + -DDUNE_PYTHON_VIRTUALENV_SETUP=True + -DDUNE_PYTHON_ALLOW_GET_PIP=True + MAKE_FLAGS: + -j 2 before_script: - cd /opt/dune @@ -10,91 +15,128 @@ before_script: stages: - build - test - - deploy build:main: stage: build - tags: - - demeter script: - - CMAKE_FLAGS="-DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" MAKE_FLAGS="-j 2" $DUNECONTROL --only=dorie all - - $DUNECONTROL --only=dorie make build_tests + - CMAKE_FLAGS="$CMAKE_FLAGS" + MAKE_FLAGS="$MAKE_FLAGS" + $DUNECONTROL --only=dorie all + - MAKE_FLAGS="$MAKE_FLAGS" + $DUNECONTROL --only=dorie make build_tests artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake - expire_in: 3 days + expire_in: 1 day build:update_dune: stage: build - tags: - - demeter only: - master script: - $DUNECONTROL update - $DUNECONTROL exec "rm -rf build-cmake" - - CMAKE_FLAGS="-DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" MAKE_FLAGS="-j 2" $DUNECONTROL --module=dorie all - - $DUNECONTROL --only=dorie make build_tests + - CMAKE_FLAGS="$CMAKE_FLAGS" + MAKE_FLAGS="$MAKE_FLAGS" + $DUNECONTROL --module=dorie all + - MAKE_FLAGS="$MAKE_FLAGS" + $DUNECONTROL --only=dorie make build_tests artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake - expire_in: 3 days + expire_in: 1 day build:debug: stage: build - tags: - - demeter + allow_failure: true script: - - CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" MAKE_FLAGS="-j 2" $DUNECONTROL --only=dorie all - - $DUNECONTROL --only=dorie make build_tests + - CMAKE_FLAGS=" + $CMAKE_FLAGS + -DCMAKE_BUILD_TYPE=Debug + -DCMAKE_CXX_FLAGS_DEBUG='-Werror'" + MAKE_FLAGS="$MAKE_FLAGS" + $DUNECONTROL --only=dorie all + - MAKE_FLAGS="$MAKE_FLAGS" + $DUNECONTROL --only=dorie make build_tests -test:main: +test:exec_cmds: + stage: test + dependencies: + - build:main + script: + - $DUNECONTROL --only=dorie configure + - $DUNECONTROL --only=dorie make test_dorie_exec + artifacts: + name: "$CI_JOB_NAME" + paths: + - $CI_PROJECT_DIR/build-cmake/Testing + expire_in: 1 day + +test:ode: stage: test - tags: - - demeter dependencies: - build:main - allow_failure: true script: - $DUNECONTROL --only=dorie configure - - ARGS="--output-on-failure -j 2" $DUNECONTROL --only=dorie make test + - $DUNECONTROL --only=dorie make test_run_ode artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/Testing - expire_in: 1 week + expire_in: 1 day -test:update_dune: +test:ode-update_dune: stage: test - tags: - - demeter dependencies: - build:update_dune only: - master - allow_failure: true script: - $DUNECONTROL --only=dorie configure - - ARGS="--output-on-failure -j 2" $DUNECONTROL --only=dorie make test + - $DUNECONTROL --only=dorie make test_run_ode artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/Testing - expire_in: 1 week + expire_in: 1 day -deploy:build_docs: - stage: deploy - tags: - - demeter +test:parallel: + stage: test dependencies: - build:main script: - $DUNECONTROL --only=dorie configure - - $DUNECONTROL --only=dorie make doc + - $DUNECONTROL --only=dorie make test_run_parallel artifacts: name: "$CI_JOB_NAME" paths: - - $CI_PROJECT_DIR/build-cmake/doc - expire_in: 1 week \ No newline at end of file + - $CI_PROJECT_DIR/build-cmake/Testing + expire_in: 1 day + +test:reference: + stage: test + dependencies: + - build:main + script: + - $DUNECONTROL --only=dorie configure + - $DUNECONTROL --only=dorie make test_run_ref + artifacts: + name: "$CI_JOB_NAME" + paths: + - $CI_PROJECT_DIR/build-cmake/Testing + expire_in: 1 day + +test:mass_conserve: + stage: test + dependencies: + - build:main + script: + - $DUNECONTROL --only=dorie configure + - $DUNECONTROL --only=dorie make test_mass_conservation + artifacts: + name: "$CI_JOB_NAME" + paths: + - $CI_PROJECT_DIR/build-cmake/Testing + expire_in: 1 day \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 68fec07334c05fd7468a25529b5f017905a494f2..f97b2637392fd6b8f77284c7675f2c4b0f1d213e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,12 @@ string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) if(CMAKE_BUILD_TYPE_UPPER MATCHES DEBUG) set(CMAKE_VERBOSE_MAKEFILE ON) endif() -set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Werror") + +# option to change DG scheme via config file +option(EXPERIMENTAL_DG_FEATURES + "Enable experimental DG settings through the config file" + OFF +) # option to change DG scheme via config file option(EXPERIMENTAL_DG_FEATURES @@ -41,6 +46,7 @@ dune_require_cxx_standard(MODULE "dorie" VERSION 14) # add subdirectories add_subdirectory("bin") add_subdirectory("m4") +add_subdirectory("cmake/modules") add_subdirectory("dune") add_subdirectory("lib") add_subdirectory("python") @@ -48,7 +54,6 @@ add_subdirectory("doc") if(dune-testtools_FOUND) add_subdirectory("testing") endif() -add_subdirectory("cmake/modules") # finalize the dune project, e.g. generating config.h etc. finalize_dune_project(GENERATE_CONFIG_H_CMAKE) diff --git a/python/testtools/dorie/testtools/dorie_run/muphi.py b/python/testtools/dorie/testtools/dorie_run/muphi.py index 82f51755db923e154f6d7ea232815398bb7d5e76..4b51f2f227c9a5e36010518e55805bbb36b32868 100644 --- a/python/testtools/dorie/testtools/dorie_run/muphi.py +++ b/python/testtools/dorie/testtools/dorie_run/muphi.py @@ -54,4 +54,5 @@ def evaluate(iniinfo,runtime): l2 = np.sqrt(np.mean(np.square(diff))) # RMS error print("L2: {:.2e}".format(l2)) - return bool(l2 < 5E-3) + meantol = float(iniinfo['_reference.meantol']) + return bool(l2 < meantol) diff --git a/python/utilities/dorie/utilities/fuzzy_compare_grid.py b/python/utilities/dorie/utilities/fuzzy_compare_grid.py index bbdaaaa28c2f5f47d160349c76b33cad71b526cf..fa3efae51b3e58a6d1066a68cf199d7a23f8e1ec 100644 --- a/python/utilities/dorie/utilities/fuzzy_compare_grid.py +++ b/python/utilities/dorie/utilities/fuzzy_compare_grid.py @@ -75,7 +75,7 @@ def _compare_max_norm(residuals, atol, rtol): def _compare_l2_norm(residuals, grid, abstol): passed = True for var, res in residuals.items(): - l2 = np.sqrt(grid.integrate(res**2) / grid.integrate(1)) + l2 = np.sqrt(np.sum(grid.integrate(res**2) / grid.integrate(1))) if np.all(l2 > abstol): print("Data in variable {} does not match".format(var)) print("\tL2 error: {}".format(l2)) @@ -83,7 +83,7 @@ def _compare_l2_norm(residuals, grid, abstol): return passed -def compare(grid1,grid2,abstol=1E-6,reltol=1E-3,strict=False): +def compare(grid1,grid2,abstol=1E-7,reltol=1E-7,strict=False): if not isinstance(grid1,BaseGrid) or not isinstance(grid2,BaseGrid): raise TypeError("Inputs must be of type BaseGrid (got: {} and {})"\ .format(type(grid1),type(grid2))) diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index 66f18a2e7761d60f062f47db202ece46e5433c6e..e1df16bf1e92f02863ffe969da76aa4cce7f62ec 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -1,4 +1,5 @@ message(STATUS "Handling system tests") +MESSAGE(STATUS "DUNE Libraries: ${DUNE_LIBS}") function(dorie_add_system_test target metaini) configure_file(${metaini}.in ${CMAKE_CURRENT_LIST_DIR}/${metaini}) @@ -9,54 +10,79 @@ function(dorie_add_system_test_dependency test1 test2) set_tests_properties(${test1} PROPERTIES DEPENDS ${test2}) endfunction() -# dorie run -dorie_add_system_test(dorie ode_homogeneous_1.mini) -dorie_add_system_test(dorie ode_homogeneous_2.mini) -dorie_add_system_test(dorie ode_homogeneous_3.mini) +# dorie run: ODE tests +dorie_add_system_test(dorie ode_homogeneous_sand.mini) +dorie_add_system_test(dorie ode_homogeneous_silt.mini) +dorie_add_system_test(dorie ode_layered.mini) +dorie_add_system_test(dorie ode_linear_interpolator.mini) -dorie_add_system_test(dorie ode_heterogeneous_1.mini) -dorie_add_system_test(dorie ode_heterogeneous_2.mini) -dorie_add_system_test(dorie ode_heterogeneous_3.mini) +# add target for ODE tests +add_custom_target(test_run_ode + COMMAND ctest --output-on-failure --tests-regex ^dorie_ode.+$) -dorie_add_system_test(dorie ode_evaporation.mini) -dorie_add_system_test(dorie ode_linear_interpolator.mini) +# dorie run: Reference tests +dorie_add_system_test(dorie-rfg parfield_muphi.mini) dorie_add_system_test(dorie muphi.mini) -dorie_add_system_test_dependency(dorie_muphi dorie-rfg_muphi_pfg) -dorie_add_system_test(dorie reference_2d.mini) -dorie_add_system_test(dorie reference_3d.mini) -dorie_add_system_test(dorie reference_evaporation.mini) -dorie_add_system_test(dorie reference_interpolators.mini) +set_tests_properties(dorie-rfg_ref_muphi_pfg PROPERTIES FIXTURES_SETUP muphi_ref) +set_tests_properties(dorie_ref_muphi PROPERTIES FIXTURES_REQUIRED muphi_ref) + +add_custom_target(test_run_ref + COMMAND ctest --output-on-failure --tests-regex ^.+_ref_.+$ +) + +# dorie_add_system_test(dorie reference_2d.mini) +# dorie_add_system_test(dorie reference_3d.mini) +# dorie_add_system_test(dorie reference_evaporation.mini) +# dorie_add_system_test(dorie reference_interpolators.mini) # dorie in parallel dorie_add_system_test(dorie parallel_reference.mini) dorie_add_system_test(dorie parallel_reference_compare.mini) -dorie_add_system_test_dependency(dorie_parallel_reference_compare_0000 dorie_parallel_reference_0000) -dorie_add_system_test_dependency(dorie_parallel_reference_compare_0001 dorie_parallel_reference_0000) -dorie_add_system_test_dependency(dorie_parallel_reference_compare_0002 dorie_parallel_reference_0001) -dorie_add_system_test_dependency(dorie_parallel_reference_compare_0003 dorie_parallel_reference_0001) -# dorie mass conservation -configure_file(mass_conservation.mini.in ${CMAKE_CURRENT_SOURCE_DIR}/mass_conservation.mini) -dune_add_system_test( - SOURCE test-mass-conservation.cc - BASENAME mass-conservation - CREATED_TARGETS test-mass-conservation - INIFILE mass_conservation.mini) -dune_target_link_libraries(${test-mass-conservation} ${DUNE_LIBS}) +set_tests_properties(dorie_parallel_reference_0000 PROPERTIES FIXTURES_SETUP dorie_par) +set_tests_properties(dorie_parallel_reference_0001 PROPERTIES FIXTURES_SETUP dorie_par) +set_tests_properties(dorie_parallel_reference_compare_0000 PROPERTIES FIXTURES_REQUIRED dorie_par) +set_tests_properties(dorie_parallel_reference_compare_0001 PROPERTIES FIXTURES_REQUIRED dorie_par) +set_tests_properties(dorie_parallel_reference_compare_0002 PROPERTIES FIXTURES_REQUIRED dorie_par) +set_tests_properties(dorie_parallel_reference_compare_0003 PROPERTIES FIXTURES_REQUIRED dorie_par) + +add_custom_target(test_run_parallel + COMMAND ctest --output-on-failure --tests-regex ^dorie_parallel_.+$ +) -# dorie pfg +# dorie exec tests dorie_add_system_test(dorie-rfg parfield.mini) -dorie_add_system_test(dorie-rfg parfield_muphi.mini) -dorie_add_system_test(dorie-rfg correlation.mini) -dorie_add_system_test(dorie-rfg correlation_parallel.mini) -# dorie plot +dorie_add_system_test(dorie run.mini) +set_tests_properties(dorie-rfg_exec_0000 PROPERTIES FIXTURES_SETUP dorie_run) +set_tests_properties(dorie_exec_run PROPERTIES FIXTURES_REQUIRED dorie_run) + dorie_add_system_test(dorie plot.mini) -dorie_add_system_test_dependency(dorie_plot dorie_reference_2d_0000) +dorie_add_system_test_dependency(dorie_exec_plot dorie_exec_run) +set_tests_properties(dorie_exec_run PROPERTIES FIXTURES_SETUP dorie_plot) +set_tests_properties(dorie_exec_plot PROPERTIES FIXTURES_REQUIRED dorie_plot) -# dorie create dorie_add_system_test(dorie create.mini) +add_custom_target(test_dorie_exec + COMMAND ctest --output-on-failure --tests-regex ^.+_exec.+$ +) + +# dorie mass conservation +configure_file(mass_conservation.mini.in ${CMAKE_CURRENT_SOURCE_DIR}/mass_conservation.mini) +dune_add_system_test( + SOURCE test-mass-conservation.cc + BASENAME dorie_mass_conservation + CREATED_TARGETS mc_target + INIFILE mass_conservation.mini +) +message(STATUS "target called ${mc_target}") +dune_target_link_libraries(${mc_target} ${DUNE_LIBS}) + +add_custom_target(test_mass_conservation + COMMAND ctest --output-on-failure --tests-regex ^dorie_mass_conservation_.+$ +) + # dune excludes test targets from 'make all'; undo that here where applicable set_property(TARGET dorie PROPERTY EXCLUDE_FROM_ALL 0) set_property(TARGET dorie-rfg PROPERTY EXCLUDE_FROM_ALL 0) \ No newline at end of file diff --git a/testing/bcs/infiltration_2d.dat b/testing/bcs/infiltration_2d.dat index 30e587c1289857e89890588470c890842a1cfeff..9e761a99fc33083051d5c3abf75be0feed7356a8 100644 --- a/testing/bcs/infiltration_2d.dat +++ b/testing/bcs/infiltration_2d.dat @@ -1,18 +1,6 @@ -# BC DATA FILE 2D - Author: L. Riedel - 2015-08-27 -# -# Specify intersection coordinates of segments. First, state the number n of coordinates you will place. -# Beginning and end of borders will be added automatically. Thus, every side will have n+1 segments. -# State "-1" to apply a Neumann boundary of flux j=0 to one entire border ("No flow boundary"). -# For No Flow Boundaries no BCs have to be stated. -# 3 Segments: 0: 0.0 <-> 0.4 ; 1: 0.4 <-> 0.8 ; 2: 0.8 <-> width spatial_resolution_north 0 -# 1 Segment: 0: 0.0 <-> width spatial_resolution_south 0 -# 1 Segment with no flow BC: 0: 0.0 <-> height spatial_resolution_west -1 spatial_resolution_east -1 -# number of times at which BCs are defined. number_BC_change_times 1 -# Definition of BCs. Order of boundaries as above. Boundary numeration runs along respective standard basis vector. -# If you want the BC type to change and you have set "boundary.interpolateBCvalues = true", you will have to state the same time stamp twice and change BC type in between. -0 neumann -3e-6 dirichlet 0 +0 neumann -5.55e-6 dirichlet 0 \ No newline at end of file diff --git a/testing/correlation.mini.in b/testing/correlation.mini.in deleted file mode 100644 index 845911231a39d3c89522e0d1e4c4ca3f07541195..0000000000000000000000000000000000000000 --- a/testing/correlation.mini.in +++ /dev/null @@ -1,23 +0,0 @@ -include ${CMAKE_BINARY_DIR}/doc/default_files/parfield.ini - -__name = correlation -_test_command = pfg -_asset_path = "${CMAKE_CURRENT_LIST_DIR}" -_evaluation = correlation - -[_correlation] -reltol = 0.2 - -[general] -generator = fft -overwrite = true - -[generator] -dimensions = 2, 3 | expand dim -extensions = 1 1, 1 1 1 | expand dim - -[generator.fft] -outputPath = fft_fields | unique -N = 2048 2048, 128 128 128 | expand dim -variance = 0.2 -correlationLengths = .004 .005, .05 .06 .08 | expand dim diff --git a/testing/correlation_parallel.mini.in b/testing/correlation_parallel.mini.in deleted file mode 100644 index 48feadf5741143a5cd54b9f171fc9d6fcbb6e46c..0000000000000000000000000000000000000000 --- a/testing/correlation_parallel.mini.in +++ /dev/null @@ -1,25 +0,0 @@ -include ${CMAKE_BINARY_DIR}/doc/default_files/parfield.ini - -__name = correlation_parallel -_test_command = pfg -_test_command_options = --parallel 2 -m=--allow-run-as-root -_asset_path = "${CMAKE_CURRENT_LIST_DIR}" -_data_path = {_asset_path}/parfield-data -_evaluation = correlation - -[_correlation] -reltol = 0.2 - -[general] -generator = fft -overwrite = true - -[generator] -dimensions = 2, 3 | expand dim -extensions = 1 1, 1 1 1 | expand dim - -[generator.fft] -outputPath = correlation_parallel | unique -N = 2048 2048, 128 128 128 | expand dim -variance = 0.2 -correlationLengths = .004 .005, .05 .06 .08 | expand dim diff --git a/testing/create.mini.in b/testing/create.mini.in index 9eef7211984ba388412e6ce13ea2ca93193888ca..7d447cbf215de26ebdf12c6f1df3a2b77f05bfd7 100644 --- a/testing/create.mini.in +++ b/testing/create.mini.in @@ -1,4 +1,4 @@ -__name = create +__name = exec_create _test_command = create _test_command_options = -f _test_target = None diff --git a/testing/muphi.mini.in b/testing/muphi.mini.in index c0f622bc8d66f974c83a9db9899fdabaf043c392..c79e35713d3f4236c674f715ee4fd5c523b37e7a 100644 --- a/testing/muphi.mini.in +++ b/testing/muphi.mini.in @@ -1,10 +1,11 @@ include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini -__name = muphi +__name = ref_muphi _test_command = run _asset_path = "${CMAKE_CURRENT_LIST_DIR}" _evaluation = muphi _reference.path = {_asset_path}/references/muphi/ +_reference.meantol = 5E-3 output.fileName = muphi | unique name output.outputPath = muphi | unique name diff --git a/testing/ode_evaporation.mini.in b/testing/ode_evaporation.mini.in deleted file mode 100644 index d528482856c4be0b4240041cc1f81b371e155e70..0000000000000000000000000000000000000000 --- a/testing/ode_evaporation.mini.in +++ /dev/null @@ -1,32 +0,0 @@ -include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini - -__name = ode_evaporation -_test_command = run -_asset_path = "${CMAKE_CURRENT_LIST_DIR}" -_evaluation = ode - -output.fileName = ode_evaporation | unique -output.outputPath = ode_evaporation | unique -output.verbose = 0 - -time.end = 1E7 -time.maxTimestep = 1E7 -time.startTimestep = 1E4 - -grid.gridType = rectangular, gmsh | expand gridtype -grid.cells = 1 100 -grid.initialLevel = 3 -grid.gridFile = "{_asset_path}/meshes/square.msh" - -boundary.file = "{_asset_path}/bcs/evaporation_2d.dat" - -parameters.arrayFile = "{_asset_path}/parfields/sand.h5", "{_asset_path}/parfields/silt.h5" | expand distribution - -[_ode] -flux = 2e-7 -head_abstol = 1E-5, 1E-4 | expand gridtype -flux_abstol = 1E-9, 4E-9 | expand gridtype - -[NewtonParameters] -AbsoluteLimit = 1E-8 -Reduction = 1E-8 diff --git a/testing/ode_heterogeneous_1.mini.in b/testing/ode_heterogeneous_1.mini.in deleted file mode 100644 index 014325ed0f2bfb77cbe28275c81065169611c018..0000000000000000000000000000000000000000 --- a/testing/ode_heterogeneous_1.mini.in +++ /dev/null @@ -1,34 +0,0 @@ -include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini - -__name = ode_heterogeneous_1 -_test_command = run -_asset_path = "${CMAKE_CURRENT_LIST_DIR}" -_evaluation = ode - -output.fileName = ode_homogeneous_1 | unique -output.outputPath = ode_homogeneous_1 | unique -output.verbose = 0 - -boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" - -parameters.arrayFile = "{_asset_path}/parfields/layered.h5" - -time.end = 1E7 -time.maxTimestep = 1E7 -time.startTimestep = 1E4 - -adaptivity.useAdaptivity = false - -grid.FEorder = 1 -grid.gridType = rectangular -grid.initialLevel = 0 -grid.cells = 1 10, 1 640 | expand prec - -[_ode] -flux = -3e-6 -head_abstol = 2E-3, 3E-5 | expand prec -flux_abstol = 6E-8, 7E-9 | expand prec - -[NewtonParameters] -AbsoluteLimit = 1E-10 -Reduction = 1E-10 \ No newline at end of file diff --git a/testing/ode_homogeneous_2.mini.in b/testing/ode_homogeneous_2.mini.in deleted file mode 100644 index 26aa3b8a0d8df53f2063211d2d4ddd79219ff00e..0000000000000000000000000000000000000000 --- a/testing/ode_homogeneous_2.mini.in +++ /dev/null @@ -1,32 +0,0 @@ -include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini - -__name = ode_homogeneous_2 -_test_command = run -_asset_path = "${CMAKE_CURRENT_LIST_DIR}" -_evaluation = ode - -output.fileName = ode_homogeneous_2 | unique -output.outputPath = ode_homogeneous_2 | unique -output.verbose = 0 - -boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" - -parameters.arrayFile = "{_asset_path}/parfields/sand.h5" - -time.end = 1E7 -time.maxTimestep = 1E7 -time.startTimestep = 1E4 - -grid.FEorder = 2 -grid.gridType = rectangular -grid.initialLevel = 0 -grid.cells = 1 5, 1 40 | expand prec - -[_ode] -flux = -3e-6 -head_abstol = 7E-5, 3E-8 | expand prec -flux_abstol = 6E-8, 9E-10 | expand prec - -[NewtonParameters] -AbsoluteLimit = 1E-10 -Reduction = 1E-10 \ No newline at end of file diff --git a/testing/ode_homogeneous_3.mini.in b/testing/ode_homogeneous_3.mini.in deleted file mode 100644 index f35b9bb07a96e75e00d957bf2cfddabdf2fc7f8e..0000000000000000000000000000000000000000 --- a/testing/ode_homogeneous_3.mini.in +++ /dev/null @@ -1,32 +0,0 @@ -include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini - -__name = ode_homogeneous_3 -_test_command = run -_asset_path = "${CMAKE_CURRENT_LIST_DIR}" -_evaluation = ode - -output.fileName = ode_homogeneous_3 | unique -output.outputPath = ode_homogeneous_3 | unique -output.verbose = 0 - -boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" - -parameters.arrayFile = "{_asset_path}/parfields/sand.h5" - -time.end = 1E7 -time.maxTimestep = 1E7 -time.startTimestep = 1E4 - -grid.FEorder = 3 -grid.gridType = rectangular -grid.initialLevel = 0 -grid.cells = 1 5, 1 40 | expand prec - -[_ode] -flux = -3e-6 -head_abstol = 2E-5, 2E-8 | expand prec -flux_abstol = 7E-10, 3E-13 | expand prec - -[NewtonParameters] -AbsoluteLimit = 1E-10 -Reduction = 1E-10 \ No newline at end of file diff --git a/testing/ode_homogeneous_1.mini.in b/testing/ode_homogeneous_sand.mini.in similarity index 56% rename from testing/ode_homogeneous_1.mini.in rename to testing/ode_homogeneous_sand.mini.in index a068f4a0d6678a9ab65d2726389c29cc174200d5..496777e9ef082f130f493850e3fea694206a7a2e 100644 --- a/testing/ode_homogeneous_1.mini.in +++ b/testing/ode_homogeneous_sand.mini.in @@ -1,12 +1,12 @@ include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini -__name = ode_homogeneous_1 +__name = ode_homogeneous_sand _test_command = run _asset_path = "${CMAKE_CURRENT_LIST_DIR}" _evaluation = ode -output.fileName = ode_homogeneous_1 | unique -output.outputPath = ode_homogeneous_1 | unique +output.fileName = ode_homogeneous_sand | unique +output.outputPath = ode_homogeneous_sand | unique output.verbose = 0 boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" @@ -19,16 +19,19 @@ time.startTimestep = 1E4 adaptivity.useAdaptivity = false -grid.FEorder = 1 +grid.FEorder = 1, 2, 3 | expand prec grid.gridType = rectangular grid.initialLevel = 0 -grid.cells = 1 10, 1 640 | expand prec +grid.cells = 1 160, 1 40, 1 20 | expand prec [_ode] -flux = -3e-6 -head_abstol = 6E-4, 2E-7 | expand prec -flux_abstol = 2E-8, 3E-12 | expand prec +flux = -5.55e-6 +head_abstol = 3E-6, 2E-8, 6E-8 | expand prec +flux_abstol = 5E-11, 1E-9, 3E-12 | expand prec [NewtonParameters] AbsoluteLimit = 1E-10 -Reduction = 1E-10 \ No newline at end of file +Reduction = 1E-10 + +[dg] +penaltyFactor = 10 \ No newline at end of file diff --git a/testing/ode_heterogeneous_3.mini.in b/testing/ode_homogeneous_silt.mini.in similarity index 50% rename from testing/ode_heterogeneous_3.mini.in rename to testing/ode_homogeneous_silt.mini.in index bae2c7a2d9c7076c4f93060348b3d65ab93706ce..07ffeeb511d93472c8ce7f3fa7c177570ac75786 100644 --- a/testing/ode_heterogeneous_3.mini.in +++ b/testing/ode_homogeneous_silt.mini.in @@ -1,17 +1,17 @@ include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini -__name = ode_heterogeneous_3 +__name = ode_homogeneous_silt _test_command = run _asset_path = "${CMAKE_CURRENT_LIST_DIR}" _evaluation = ode -output.fileName = ode_homogeneous_3 | unique -output.outputPath = ode_homogeneous_3 | unique +output.fileName = ode_homogeneous_silt | unique +output.outputPath = ode_homogeneous_silt | unique output.verbose = 0 boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" -parameters.arrayFile = "{_asset_path}/parfields/layered.h5" +parameters.arrayFile = "{_asset_path}/parfields/silt.h5" time.end = 1E7 time.maxTimestep = 1E7 @@ -19,16 +19,19 @@ time.startTimestep = 1E4 adaptivity.useAdaptivity = false -grid.FEorder = 3 +grid.FEorder = 1, 2, 3 | expand prec grid.gridType = rectangular grid.initialLevel = 0 -grid.cells = 1 10, 1 160 | expand prec +grid.cells = 1 160, 1 40, 1 20 | expand prec [_ode] -flux = -3e-6 -head_abstol = 3E-4, 2E-5 | expand prec -flux_abstol = 2E-8, 4E-9 | expand prec +flux = -5.55e-6 +head_abstol = 6E-6, 4E-6, 9E-6 | expand prec +flux_abstol = 2E-9, 2E-8, 3E-9 | expand prec [NewtonParameters] AbsoluteLimit = 1E-10 -Reduction = 1E-10 \ No newline at end of file +Reduction = 1E-10 + +[dg] +penaltyFactor = 10 \ No newline at end of file diff --git a/testing/ode_heterogeneous_2.mini.in b/testing/ode_layered.mini.in similarity index 58% rename from testing/ode_heterogeneous_2.mini.in rename to testing/ode_layered.mini.in index 36728f3afae8a5f0bf339d1ad1ae192a1242154e..938ce9934942cf3a5527281f088ea83c2fd4b889 100644 --- a/testing/ode_heterogeneous_2.mini.in +++ b/testing/ode_layered.mini.in @@ -1,12 +1,12 @@ include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini -__name = ode_heterogeneous_2 +__name = ode_layered _test_command = run _asset_path = "${CMAKE_CURRENT_LIST_DIR}" _evaluation = ode -output.fileName = ode_homogeneous_2 | unique -output.outputPath = ode_homogeneous_2 | unique +output.fileName = ode_layered | unique +output.outputPath = ode_layered | unique output.verbose = 0 boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" @@ -19,16 +19,19 @@ time.startTimestep = 1E4 adaptivity.useAdaptivity = false -grid.FEorder = 2 +grid.FEorder = 1, 2, 3 | expand prec grid.gridType = rectangular grid.initialLevel = 0 -grid.cells = 1 10, 1 320 | expand prec +grid.cells = 1 160, 1 40, 1 20 | expand prec [_ode] -flux = -3e-6 -head_abstol = 6E-4, 2E-5 | expand prec -flux_abstol = 4E-8, 4E-9 | expand prec +flux = -5.55e-6 +head_abstol = 3E-5, 4E-8, 4E-6 | expand prec +flux_abstol = 5E-10, 4E-9, 5E-11 | expand prec [NewtonParameters] AbsoluteLimit = 1E-10 -Reduction = 1E-10 \ No newline at end of file +Reduction = 1E-10 + +[dg] +penaltyFactor = 10 \ No newline at end of file diff --git a/testing/ode_linear_interpolator.mini.in b/testing/ode_linear_interpolator.mini.in index dc541e7ef3cd907f211a030838ead2283fd1aa2e..20fbe931ca5059d53d282188c13bf27e9c66ce0e 100644 --- a/testing/ode_linear_interpolator.mini.in +++ b/testing/ode_linear_interpolator.mini.in @@ -13,11 +13,15 @@ time.end = 1E7 time.maxTimestep = 1E7 time.startTimestep = 1E4 -adaptivity.threshold = 1E-9 adaptivity.useAdaptivity = false, true | expand gridtype +adaptivity.markingStrategy = threshold +adaptivity.refinementFraction = 1E-8 +adaptivity.coarseningFraction = 1E-9 +adaptivity.threshold = 5E-8 + grid.gridType = rectangular, gmsh | expand gridtype grid.cells = 1 100 -grid.initialLevel = 2, 0 | expand gridtype +grid.initialLevel = 0 grid.gridFile = "{_asset_path}/meshes/square.msh" boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" @@ -26,10 +30,10 @@ parameters.arrayFile = "{_asset_path}/parfields/corners.h5" parameters.interpolation = linear [_ode] -flux = -3e-6 -head_abstol = 1E-5, 5E-4 | expand gridtype -flux_abstol = 1E-8, 2E-7 | expand gridtype +flux = -5.55e-6 +head_abstol = 3E-5, 2E-4 | expand gridtype +flux_abstol = 2E-9, 7E-8 | expand gridtype [NewtonParameters] -AbsoluteLimit = 1E-8 -Reduction = 1E-8 +AbsoluteLimit = 1E-10 +Reduction = 1E-10 diff --git a/testing/parfield.mini.in b/testing/parfield.mini.in index a3c3cc22b3bb3b5d1226f3dfe9e597dd831254da..671206fa03030f550cb9640f7adb8588299f17e5 100644 --- a/testing/parfield.mini.in +++ b/testing/parfield.mini.in @@ -1,6 +1,6 @@ include ${CMAKE_BINARY_DIR}/doc/default_files/parfield.ini -__name = pfg +__name = exec _test_command = pfg _asset_path = "${CMAKE_CURRENT_LIST_DIR}" _data_path = {_asset_path}/parfield-data diff --git a/testing/parfield_muphi.mini.in b/testing/parfield_muphi.mini.in index da8af6932a9a1bfaef4cf50d03a46809b377d2e7..e1d3e5ee34d2d95a9dfa3cf589dc4c7822000f71 100644 --- a/testing/parfield_muphi.mini.in +++ b/testing/parfield_muphi.mini.in @@ -1,6 +1,6 @@ include ${CMAKE_BINARY_DIR}/doc/default_files/parfield.ini -__name = muphi_pfg +__name = ref_muphi_pfg _test_command = pfg [general] diff --git a/testing/parfields/layered.h5 b/testing/parfields/layered.h5 index d1ce12bb4a601f9a418a8c51dabbddc23d44fc95..23e22bdb559e1b066f37551d7e76682cb1b0a304 100644 Binary files a/testing/parfields/layered.h5 and b/testing/parfields/layered.h5 differ diff --git a/testing/plot.mini.in b/testing/plot.mini.in index b16c5e824d0cd4321162e718c9cb33bcd70f7090..c7f97b1de19f151383e6ca4d48277565ff2afc07 100644 --- a/testing/plot.mini.in +++ b/testing/plot.mini.in @@ -1,3 +1,3 @@ -__name = plot +__name = exec_plot _test_command = plot -_test_target = reference_2d_0000.pvd +_test_target = run.pvd diff --git a/testing/run.mini.in b/testing/run.mini.in new file mode 100644 index 0000000000000000000000000000000000000000..412854bd7b4ba7dcbf477630c5be66be52e0fda5 --- /dev/null +++ b/testing/run.mini.in @@ -0,0 +1,27 @@ +include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini + +__name = exec_run +_test_command = run +_asset_path = "${CMAKE_CURRENT_LIST_DIR}" + +output.fileName = run | unique name +output.outputPath = run | unique name +output.verbose = 0 + +time.end = 1E4 +time.maxTimestep = 1E4 +time.startTimestep = 5E2 + +adaptivity.useAdaptivity = false + +grid.dimensions = 2 +grid.initialLevel = 0 +grid.gridType = rectangular +grid.cells = 20 20 +grid.FEorder = 2 +grid.extensions = 1 1 +boundary.file = "{_asset_path}/bcs/infiltration_2d.dat" + +parameters.arrayFile = ${CMAKE_CURRENT_BINARY_DIR}/csv.h5 + +