Commit d83971ed authored by Lukas Riedel's avatar Lukas Riedel

Merge branch '46-rework-system-tests'

Resolve "Rework system tests"

See merge request !29

Closes #46
parents dac2a4e1 6e161f09
......@@ -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
......@@ -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)
......
......@@ -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)
......@@ -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)))
......
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
# 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
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
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
__name = create
__name = exec_create
_test_command = create
_test_command_options = -f
_test_target = None
......
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
......
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
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
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
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
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
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
......@@ -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
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
......
include ${CMAKE_BINARY_DIR}/doc/default_files/parfield.ini
__name = muphi_pfg
__name = ref_muphi_pfg
_test_command = pfg
[general]
......
__name = plot
__name = exec_plot
_test_command = plot
_test_target = reference_2d_0000.pvd
_test_target = run.pvd
include ${CMAKE_BINARY_DIR}/doc/default_files/config.ini
__name = ode_heterogeneous_1
__name = exec_run
_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 = run | unique name
output.outputPath = run | unique name
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
time.end = 1E4
time.maxTimestep = 1E4
time.startTimestep = 5E2
adaptivity.useAdaptivity = false
grid.FEorder = 1
grid.gridType = rectangular
grid.dimensions = 2
grid.initialLevel = 0
grid.cells = 1 10, 1 640 | expand prec
grid.gridType = rectangular