Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dorie
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
31
Issues
31
List
Boards
Labels
Service Desk
Milestones
Merge Requests
9
Merge Requests
9
Operations
Operations
Incidents
Environments
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
dorie
dorie
Commits
91e26287
Commit
91e26287
authored
Dec 18, 2019
by
Santiago Ospina De Los Ríos
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into cookbook-solute-transport-in-homogeneous-medium
parents
f23caac1
67d678fd
Changes
138
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
138 changed files
with
6224 additions
and
7455 deletions
+6224
-7455
.gitignore
.gitignore
+2
-1
.gitlab-ci.yml
.gitlab-ci.yml
+35
-29
.gitlab/issue_templates/bug-report.md
.gitlab/issue_templates/bug-report.md
+27
-14
.gitlab/issue_templates/patch-release.md
.gitlab/issue_templates/patch-release.md
+53
-0
.gitlab/issue_templates/task.md
.gitlab/issue_templates/task.md
+1
-1
.gitlab/issue_templates/version-rollout.md
.gitlab/issue_templates/version-rollout.md
+52
-0
.gitlab/merge_request_templates/MR-from-task.md
.gitlab/merge_request_templates/MR-from-task.md
+12
-6
.gitlab/merge_request_templates/patch-release.md
.gitlab/merge_request_templates/patch-release.md
+34
-0
CHANGELOG.md
CHANGELOG.md
+35
-136
CMakeLists.txt
CMakeLists.txt
+5
-2
CONTRIBUTING.md
CONTRIBUTING.md
+42
-18
README.md
README.md
+238
-145
cmake/modules/DorieCompileInstance.cmake
cmake/modules/DorieCompileInstance.cmake
+10
-2
cmake/modules/DorieTesting.cmake
cmake/modules/DorieTesting.cmake
+40
-3
doc/CMakeLists.txt
doc/CMakeLists.txt
+1
-1
doc/conf.py.in
doc/conf.py.in
+5
-0
doc/cookbook/1-infiltration-sand/CMakeLists.txt
doc/cookbook/1-infiltration-sand/CMakeLists.txt
+6
-6
doc/cookbook/1-infiltration-sand/result.gif
doc/cookbook/1-infiltration-sand/result.gif
+0
-0
doc/cookbook/1-infiltration-sand/tutorial-1.mini.in
doc/cookbook/1-infiltration-sand/tutorial-1.mini.in
+1
-1
doc/cookbook/1-infiltration-sand/tutorial.rst
doc/cookbook/1-infiltration-sand/tutorial.rst
+73
-69
doc/cookbook/2-paraview/tutorial.rst
doc/cookbook/2-paraview/tutorial.rst
+157
-0
doc/cookbook/7-transport-sand/CMakeLists.txt
doc/cookbook/7-transport-sand/CMakeLists.txt
+7
-7
doc/cookbook/7-transport-sand/config.ini
doc/cookbook/7-transport-sand/config.ini
+145
-0
doc/cookbook/7-transport-sand/tutorial-7.mini.in
doc/cookbook/7-transport-sand/tutorial-7.mini.in
+2
-2
doc/cookbook/7-transport-sand/tutorial.rst
doc/cookbook/7-transport-sand/tutorial.rst
+5
-5
doc/cookbook/CMakeLists.txt
doc/cookbook/CMakeLists.txt
+2
-2
doc/cookbook/index.rst
doc/cookbook/index.rst
+19
-18
doc/cookbook/restart.rst
doc/cookbook/restart.rst
+2
-2
doc/default_files/2d_infiltr.bcdat
doc/default_files/2d_infiltr.bcdat
+0
-6
doc/default_files/2d_solute.bcdat
doc/default_files/2d_solute.bcdat
+0
-7
doc/default_files/3d_infiltr.bcdat
doc/default_files/3d_infiltr.bcdat
+0
-14
doc/default_files/3d_solute.bcdat
doc/default_files/3d_solute.bcdat
+0
-15
doc/default_files/CMakeLists.txt
doc/default_files/CMakeLists.txt
+4
-3
doc/default_files/README.md
doc/default_files/README.md
+78
-0
doc/default_files/common-parameters.xml
doc/default_files/common-parameters.xml
+14
-15
doc/default_files/field-parameters.xml
doc/default_files/field-parameters.xml
+18
-16
doc/default_files/infiltration.yml
doc/default_files/infiltration.yml
+20
-0
doc/default_files/richards-parameters.xml
doc/default_files/richards-parameters.xml
+34
-40
doc/default_files/solute.yml
doc/default_files/solute.yml
+12
-0
doc/default_files/transport-parameters.xml
doc/default_files/transport-parameters.xml
+3
-39
doc/examples/bc_files/2d_infiltr_point.bcdat
doc/examples/bc_files/2d_infiltr_point.bcdat
+0
-6
doc/examples/bc_files/3d_infiltr_point.bcdat
doc/examples/bc_files/3d_infiltr_point.bcdat
+0
-14
doc/figures/man-bcfile-segm1.png
doc/figures/man-bcfile-segm1.png
+0
-0
doc/index.rst
doc/index.rst
+9
-2
doc/introduction/data-io.rst
doc/introduction/data-io.rst
+4
-4
doc/man-cookbook.rst
doc/man-cookbook.rst
+0
-104
doc/manual/bcfile.rst
doc/manual/bcfile.rst
+171
-112
doc/manual/cli.rst
doc/manual/cli.rst
+3
-0
doc/manual/config-file.rst.in
doc/manual/config-file.rst.in
+9
-2
doc/manual/initial.rst
doc/manual/initial.rst
+2
-0
doc/python/utilities.rst
doc/python/utilities.rst
+0
-16
doc/python/vtk_readers.rst
doc/python/vtk_readers.rst
+97
-0
dune/dorie/CMakeLists.txt
dune/dorie/CMakeLists.txt
+0
-3
dune/dorie/common/boundary_condition/boundary_condition.hh
dune/dorie/common/boundary_condition/boundary_condition.hh
+138
-0
dune/dorie/common/boundary_condition/dirichlet.hh
dune/dorie/common/boundary_condition/dirichlet.hh
+87
-0
dune/dorie/common/boundary_condition/factory.hh
dune/dorie/common/boundary_condition/factory.hh
+337
-0
dune/dorie/common/boundary_condition/manager.hh
dune/dorie/common/boundary_condition/manager.hh
+425
-0
dune/dorie/common/boundary_condition/modules.dox
dune/dorie/common/boundary_condition/modules.dox
+36
-0
dune/dorie/common/boundary_condition/neumann.hh
dune/dorie/common/boundary_condition/neumann.hh
+78
-0
dune/dorie/common/boundary_condition/outflow.hh
dune/dorie/common/boundary_condition/outflow.hh
+41
-0
dune/dorie/common/gfs_helper.hh
dune/dorie/common/gfs_helper.hh
+5
-77
dune/dorie/common/time_controller.hh
dune/dorie/common/time_controller.hh
+0
-229
dune/dorie/common/time_step_controller.hh
dune/dorie/common/time_step_controller.hh
+275
-0
dune/dorie/common/typedefs.hh
dune/dorie/common/typedefs.hh
+87
-62
dune/dorie/common/utility.hh
dune/dorie/common/utility.hh
+26
-0
dune/dorie/model/base.hh
dune/dorie/model/base.hh
+26
-22
dune/dorie/model/coupling/richards_coupling.cc
dune/dorie/model/coupling/richards_coupling.cc
+4
-3
dune/dorie/model/coupling/richards_coupling.hh
dune/dorie/model/coupling/richards_coupling.hh
+12
-13
dune/dorie/model/factory.hh
dune/dorie/model/factory.hh
+1
-1
dune/dorie/model/richards/adaptivity/operator_error_indicator.hh
...rie/model/richards/adaptivity/operator_error_indicator.hh
+10
-8
dune/dorie/model/richards/flow_boundary.hh
dune/dorie/model/richards/flow_boundary.hh
+0
-122
dune/dorie/model/richards/local_operator_DG.hh
dune/dorie/model/richards/local_operator_DG.hh
+14
-37
dune/dorie/model/richards/local_operator_FV.hh
dune/dorie/model/richards/local_operator_FV.hh
+13
-12
dune/dorie/model/richards/richards.cc
dune/dorie/model/richards/richards.cc
+69
-41
dune/dorie/model/richards/richards.hh
dune/dorie/model/richards/richards.hh
+40
-20
dune/dorie/model/transport/local_operator_FV.hh
dune/dorie/model/transport/local_operator_FV.hh
+19
-23
dune/dorie/model/transport/solute_boundary.hh
dune/dorie/model/transport/solute_boundary.hh
+0
-167
dune/dorie/model/transport/transport.cc
dune/dorie/model/transport/transport.cc
+40
-23
dune/dorie/model/transport/transport.hh
dune/dorie/model/transport/transport.hh
+32
-21
dune/dorie/test/CMakeLists.txt
dune/dorie/test/CMakeLists.txt
+38
-0
dune/dorie/test/test-boundary-condition-manager.cc
dune/dorie/test/test-boundary-condition-manager.cc
+316
-0
dune/dorie/test/test-boundary-condition.cc
dune/dorie/test/test-boundary-condition.cc
+165
-0
dune/dorie/test/test-boundary-condition.mini.in
dune/dorie/test/test-boundary-condition.mini.in
+32
-0
dune/dorie/test/test-boundary-condition.yml
dune/dorie/test/test-boundary-condition.yml
+29
-0
dune/dorie/test/test-model-coupling.cc
dune/dorie/test/test-model-coupling.cc
+96
-0
dune/dorie/test/test-model-coupling.mini.in
dune/dorie/test/test-model-coupling.mini.in
+55
-0
dune/dorie/test/test-model-coupling/richards_bc.yml
dune/dorie/test/test-model-coupling/richards_bc.yml
+12
-0
dune/dorie/test/test-model-coupling/transport_bc.yml
dune/dorie/test/test-model-coupling/transport_bc.yml
+12
-0
dune/dorie/test/test-param-richards.mini.in
dune/dorie/test/test-param-richards.mini.in
+1
-4
dune/dorie/test/test-time-step-controller.cc
dune/dorie/test/test-time-step-controller.cc
+197
-0
dune/dorie/test/test-time-step-controller.mini.in
dune/dorie/test/test-time-step-controller.mini.in
+4
-0
python/dorie/dorie/cli/cmds.py.in
python/dorie/dorie/cli/cmds.py.in
+6
-1
python/dorie/dorie/parscraper/parameter.py
python/dorie/dorie/parscraper/parameter.py
+22
-6
python/dorie/dorie/parscraper/readers/xml.py
python/dorie/dorie/parscraper/readers/xml.py
+10
-3
python/dorie/dorie/parscraper/wrapper/scrape_folder.py
python/dorie/dorie/parscraper/wrapper/scrape_folder.py
+2
-2
python/dorie/dorie/parscraper/writers/rst.py
python/dorie/dorie/parscraper/writers/rst.py
+122
-51
python/dorie/dorie/test/param_defaults.xml
python/dorie/dorie/test/param_defaults.xml
+27
-0
python/dorie/dorie/test/test_vtkreader.py
python/dorie/dorie/test/test_vtkreader.py
+24
-1
python/dorie/dorie/test/test_xml_param_parser.py
python/dorie/dorie/test/test_xml_param_parser.py
+62
-0
python/dorie/dorie/test/vtkreader.pvd
python/dorie/dorie/test/vtkreader.pvd
+8
-0
python/dorie/dorie/utilities/vtktools/vtkreader.py
python/dorie/dorie/utilities/vtktools/vtkreader.py
+105
-16
python/dorie/wrapper/write_config.py
python/dorie/wrapper/write_config.py
+7
-15
test/bcs/infiltration.yml
test/bcs/infiltration.yml
+19
-0
test/bcs/infiltration_2d.dat
test/bcs/infiltration_2d.dat
+0
-6
test/bcs/infiltration_3d.dat
test/bcs/infiltration_3d.dat
+0
-14
test/bcs/infiltration_mesh.yml
test/bcs/infiltration_mesh.yml
+19
-0
test/bcs/mass_conservation.yml
test/bcs/mass_conservation.yml
+11
-0
test/bcs/mass_conservation_2d.dat
test/bcs/mass_conservation_2d.dat
+0
-6
test/bcs/muphi2d.dat
test/bcs/muphi2d.dat
+0
-18
test/bcs/solute.yml
test/bcs/solute.yml
+20
-0
test/bcs/solute_2d_const.dat
test/bcs/solute_2d_const.dat
+0
-6
test/bcs/solute_2d_pulse.dat
test/bcs/solute_2d_pulse.dat
+0
-7
test/bcs/solute_3d_const.dat
test/bcs/solute_3d_const.dat
+0
-14
test/bcs/solute_3d_pulse.dat
test/bcs/solute_3d_pulse.dat
+0
-15
test/conforming_flux_jumps.mini.in
test/conforming_flux_jumps.mini.in
+3
-3
test/const_solute.mini.in
test/const_solute.mini.in
+3
-3
test/create.mini.in
test/create.mini.in
+2
-2
test/maps/create_param_maps.py
test/maps/create_param_maps.py
+11
-0
test/mass_conservation.mini.in
test/mass_conservation.mini.in
+1
-1
test/meshes/3dcube.geo
test/meshes/3dcube.geo
+0
-0
test/meshes/3dcube.msh
test/meshes/3dcube.msh
+0
-308
test/meshes/cube-layered.geo
test/meshes/cube-layered.geo
+125
-0
test/meshes/cube.geo
test/meshes/cube.geo
+83
-0
test/meshes/cube.msh
test/meshes/cube.msh
+736
-0
test/meshes/fraction.msh
test/meshes/fraction.msh
+0
-642
test/meshes/square-layered.geo
test/meshes/square-layered.geo
+43
-0
test/meshes/square.geo
test/meshes/square.geo
+31
-0
test/meshes/square.msh
test/meshes/square.msh
+424
-329
test/meshes/square_hires.msh
test/meshes/square_hires.msh
+0
-4190
test/muphi.mini.in
test/muphi.mini.in
+1
-1
test/ode_homogeneous_sand.mini.in
test/ode_homogeneous_sand.mini.in
+1
-1
test/ode_homogeneous_silt.mini.in
test/ode_homogeneous_silt.mini.in
+1
-1
test/ode_layered.mini.in
test/ode_layered.mini.in
+1
-1
test/parallel_reference.mini.in
test/parallel_reference.mini.in
+1
-1
test/parallel_reference_compare.mini.in
test/parallel_reference_compare.mini.in
+1
-1
test/run.mini.in
test/run.mini.in
+1
-1
test/test-mass-conservation.cc
test/test-mass-conservation.cc
+7
-1
test/test-mass-conservation.hh
test/test-mass-conservation.hh
+23
-15
No files found.
.gitignore
View file @
91e26287
...
...
@@ -4,7 +4,8 @@ build-cmake/
# Exclude generated files
doc/manual/config-file.rst
doc/default_files/config.ini
doc/cookbook/tutorial-*/config.ini
doc/cookbook/1-infiltration-sand/config.ini
doc/cookbook/7-solute-transport/config.ini
python/dorie/wrapper/pf_from_file.py
python/dorie/wrapper/test_dorie.py
python/dorie/dorie/cli/cmds.py
...
...
.gitlab-ci.yml
View file @
91e26287
variables
:
DUNE_CONTROL_PATH
:
/opt/dune:$CI_PROJECT_DIR
DUNE_DIR
:
/opt/dune
DUNE_CONTROL_PATH
:
$DUNE_DIR:$CI_PROJECT_DIR
DUNECONTROL
:
./dune-common/bin/dunecontrol
CPUS_MULTICORE
:
4
CPUS_DIND
:
2
...
...
@@ -30,8 +31,9 @@ variables:
image
:
$DUNE_ENV_IMAGE
# Move into top-level DUNE directory
before_script
:
-
cd
/opt/dune
-
cd
$DUNE_DIR
# Provide SSH access via the SSH_PRIVATE_KEY and SSH_KNOWN_HOSTS variables
.ssh-access
:
&ssh_access
...
...
@@ -123,7 +125,7 @@ prep:update-dune-clang:
build:system-tests: &build-tests
stage
:
build
script
:
-
CMAKE_FLAGS="$CMAKE_FLAGS"
-
CMAKE_FLAGS="$CMAKE_FLAGS
-DCOVERAGE_REPORT=On
"
$DUNECONTROL --only=dorie configure
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS dorie-rfg
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS build_system_tests
...
...
@@ -136,20 +138,22 @@ build:system-tests: &build-tests
build:unit-tests:
<<
:
*build-tests
script
:
-
CMAKE_FLAGS="$CMAKE_FLAGS
-DCMAKE_BUILD_TYPE=
Debug
"
-
CMAKE_FLAGS="$CMAKE_FLAGS
-DCOVERAGE_REPORT=On
-DCMAKE_BUILD_TYPE=
None
"
$DUNECONTROL --only=dorie configure
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS build_unit_tests
build:debug: &debug
stage
:
build
allow_failure
:
true
script
:
before_script
:
-
cd $DUNE_DIR
-
CMAKE_FLAGS="
$CMAKE_FLAGS
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_CXX_FLAGS_DEBUG='-Werror'"
$DUNECONTROL --only=dorie configure
script
:
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS dorie-rfg
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS build_unit_tests
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS richards_d2_r1 transport_d2_r0_t0
...
...
@@ -157,7 +161,9 @@ build:debug: &debug
build:debug-clang:
<<
:
*debug
image
:
${DUNE_ENV_IMAGE}-clang
script
:
before_script
:
-
cd $DUNE_DIR
# Choose Clang compiler explicitly
-
CMAKE_FLAGS="
$CMAKE_FLAGS
-DCMAKE_BUILD_TYPE=Debug
...
...
@@ -165,9 +171,6 @@ build:debug-clang:
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_CXX_FLAGS_DEBUG='-Werror'"
$DUNECONTROL --only=dorie configure
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS dorie-rfg
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS build_unit_tests
-
$DUNECONTROL --only=dorie make $MAKE_FLAGS transport_d2_r0_t0 transport_d2_r1_t0
build:docs:
stage
:
build
...
...
@@ -186,50 +189,53 @@ test:system-tests: &test
stage
:
test
dependencies
:
-
build:system-tests
needs
:
[
"
build:system-tests"
]
variables
:
GCOVR_PATHS
:
--root $CI_PROJECT_DIR
--exclude $CI_PROJECT_DIR/dune/dorie/test
--exclude $CI_PROJECT_DIR/plugins
script
:
-
$DUNECONTROL --only=dorie configure
-
$DUNECONTROL --only=dorie make system_tests
# Run coverage utility (will also run after failed job)
after_script
:
-
source $CI_PROJECT_DIR/build-cmake/activate
-
pip3 install gcovr
-
cd $CI_PROJECT_DIR/build-cmake
-
mkdir coverage
-
gcovr $GCOVR_PATHS --html --html-details -o coverage/report.html
# run again for coverage report in GitLab
-
gcovr $GCOVR_PATHS
coverage
:
'
/^TOTAL.*\s+(\d+\%)$/'
artifacts
:
name
:
"
$CI_JOB_NAME"
paths
:
-
$CI_PROJECT_DIR/build-cmake/test
-
$CI_PROJECT_DIR/build-cmake/coverage
expire_in
:
1 day
test:unit-tests:
<<
:
*test
dependencies
:
-
build:unit-tests
needs
:
[
"
build:unit-tests"
]
script
:
# install coverage reporter
-
$DUNECONTROL --only=dorie bexec
"./run-in-dune-env python3 -m pip install gcovr"
# perform the tests
-
$DUNECONTROL --only=dorie configure
-
$DUNECONTROL --only=dorie make unit_tests
# report coverage
-
cd $CI_PROJECT_DIR/build-cmake
-
mkdir -p dune/dorie/test/coverage
-
./run-in-dune-env gcovr
--root ../
--exclude ../dune/dorie/test
--exclude ../plugins
--html --html-details
-o dune/dorie/test/coverage/coverage.html
# run again for coverage report in GitLab
-
./run-in-dune-env gcovr
--root ../
--exclude ../dune/dorie/test
--exclude ../plugins
coverage
:
'
/^TOTAL.*\s+(\d+\%)$/'
artifacts
:
name
:
"
$CI_JOB_NAME"
paths
:
-
$CI_PROJECT_DIR/build-cmake/dune/dorie/test
-
$CI_PROJECT_DIR/build-cmake/coverage
expire_in
:
1 day
test:python-tests:
<<
:
*test
dependencies
:
[]
# TODO: Make empty once https://gitlab.com/gitlab-org/gitlab/issues/30631
# is resolved
needs
:
[
"
build:docs"
]
# Any quick job from previous stage
script
:
-
$DUNECONTROL --only=dorie configure
-
$DUNECONTROL --only=dorie make test_python
...
...
.gitlab/issue_templates/bug-report.md
View file @
91e26287
(One-sentence description of what kind of bug you would like to report)
_One-sentence description of what kind of bug you would like to report_
###
#
Summary
(Summarise the encountered bug concisely)
### Summary
_Summarise the encountered bug concisely_
###
#
Steps to reproduce
(How can this be reproduced? If you can, point to specific files/configurations where the bug occurs)
### Steps to reproduce
_How can this be reproduced? If you can, point to specific files/configurations where the bug occurs_
###
#
What is the current _bug_ behaviour?
(More about the behaviour of the bug)
### What is the current _bug_ behaviour?
_More about the behaviour of the bug_
###
#
What is the expected _correct_ behaviour?
(Which behaviour would you have expected?)
### What is the expected _correct_ behaviour?
_Which behaviour would you have expected?_
###
#
Relevant logs, screenshots, files...?
(Anything that helps reproducing the bug)
### Relevant logs, screenshots, files...?
_Anything that helps reproducing the bug_
<!-- Put very long log outputs within the <pre></pre>
tags below -->
<!-- If this doesn't apply, delete the whole <details></details>
block -->
...
...
@@ -28,8 +28,21 @@
</pre>
</details>
#### Reproducing input
_Do you have input files reproducing the problem? Insert them here:_
#### Ideas how to fix this?
(Add them here, if you have any.)
| Input data | |
| - | - |
| Simulation Case | _Description goes here_ |
| PFG config file | _if any_ |
| Grid mapping file | _if any_ |
| GMSH grid file | _if any_ |
| Boundary Condition file | |
| Parameterization file | |
| Run config file | |
/label ~bug
\ No newline at end of file
### Ideas how to fix this?
_Add them here, if you have any._
/label ~Bug
.gitlab/issue_templates/patch-release.md
0 → 100644
View file @
91e26287
<!-- _Set the title to: "Patch Release: X.Y.Z" -->
<!-- Replace X.Y.Z with the actual version numbers everywhere -->
We're releasing patch version
`X.Y.Z`
for branch
`X.Y-stable`
! :tada:
### 1 — List of MRs to be Included
List the MRs and the commit SHA of their respective merge commits here.
Placing them in chronological order here ensures fewer issues when
cherry-picking them!
The MRs are indicated by the ~"Pick into X.Y" label.
| MR | Merge Commit SHA |
| -- | ---------------- |
| ! | ... |
### 2 — On GitLab
Use the "patch-release" template for creating a new Merge Request.
-
[
] [Create a branch
][
new branch
]
`X.Y-patch`
from
`X.Y-stable`
-
[
] [Create a Merge Request
][
new mr
]
with source branch
`X.Y-patch`
and
target branch
`X.Y-stable`
: !
-
[ ] Merge this MR: !
-
[
] [Create tag
][
new tag
]
`X.Y.Z`
from branch
`X.Y-stable`
-
Message:
```
Version X.Y.Z (YYYY-MM-DD)
```
-
Release Notes:
```
# Version X.Y.Z (YYYY-MM-DD)
-> Copy appropriate entries from MR changelog here <-
```
-
[
] Update "Release" [project badge
][
badge
]
<!-- only if applicable -->
### 3 — On Docker Hub
-
[
] Update [description on DockerHub
][
DockerHub description
]
-
[ ] Push new
`latest`
tag to DockerHub
<!-- only if applicable -->
### 4 — All done? :white_check_mark:
Close this issue!
/label ~Release
[
new branch
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/branches/new
[
new mr
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/merge_requests/new
[
new tag
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/tags/new
[
DockerHub description
]:
https://hub.docker.com/r/dorie/dorie
[
badge
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/edit
.gitlab/issue_templates/task.md
View file @
91e26287
...
...
@@ -8,7 +8,7 @@
### Related issues
See #
...
See #
<!--
PLEASE READ THIS
...
...
.gitlab/issue_templates/version-rollout.md
0 → 100644
View file @
91e26287
<!-- _Set the title to: "Release: X.Y.0" -->
<!-- Replace X.Y with the actual version numbers everywhere -->
We're rolling out version
`X.Y.0`
! :tada:
### 1 — In the Code
-
[ ]
`master`
: Update version numbers in
`VERSION`
,
`CHANGELOG.md`
,
`dune.module`
to
`X.Y.0`
.
-
[ ]
`master`
: Update all
`version="unreleased"`
tags in the default config
file XML sources to
`version="X.Y.0"`
.
-
[
] `master`: Update all [version directives
][
sphinx-ver-dir
]
with version
`unreleased`
in the user docs to
`X.Y.0`
.
### 2 — On GitLab
-
[
] [Create branch
][
new branch
]
`X.Y-stable`
from
`master`
-
[
] [Create label
][
new label
]
~"Pick into X.Y"
-
[
] [Create tag
][
new tag
]
`X.Y.0`
from branch
`X.Y-stable`
-
Message:
```
Version X.Y.0 (YYYY-MM-DD)
```
-
Release Notes:
```
# Version X.Y.0 (YYYY-MM-DD)
-> Insert version changelog here! <-
```
Shortcut to the most up-to-date
[
CHANGELOG.md
][
changelog
]
-
[
] Update "Release" [project badge
][
badge
]
<!-- only if applicable -->
### 3 — In the Code
-
[ ]
`master`
: Update version numbers in
`VERSION`
,
`CHANGELOG.md`
,
`dune.module`
to
`X.Y+1-pre`
.
### 4 — On Docker Hub
-
[
] Update [description on DockerHub
][
DockerHub description
]
-
[ ] Push new
`latest`
tag to DockerHub
<!-- only if applicable -->
### 5 — All done? :white_check_mark:
Close this issue!
/label ~Release
[
new branch
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/branches/new
[
new tag
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/tags/new
[
changelog
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/blob/master/CHANGELOG.md
[
new label
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/-/labels/new
[
DockerHub description
]:
https://hub.docker.com/r/dorie/dorie
[
badge
]:
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/edit
[
sphinx-ver-dir
]:
https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-versionadded
.gitlab/merge_request_templates/MR-from-task.md
View file @
91e26287
### What does this MR do?
_Fill this in_
### Is there something that needs to be double checked?
<!-- Is there something a reviewer should look out for _especially_? -->
_Fill this in_
### Can this MR be accepted?
-
[ ] Implemented ...
-
[ ] Added test to ...
-
...
-
[ ] Pipeline passing
-
[ ] ...
-
[ ] Added/Updated tests:
-
[ ] ...
-
[ ] Added/Updated documentation
-
[ ] Pipeline passing
<!-- please check for new warnings -->
-
[ ] Squash option set
<!-- unless there's a good reason -->
-
[ ] Delete branch option set
<!-- unless there's a good reason -->
-
[ ] Added entry to
`CHANGELOG.md`
_**Assignee:** If the Squash option is set, check/update the commit message right before merging!_
### Related issues
Closes #
, # and #
Closes #
<!-- For automatic closing, do not forget the commas between issue numbers-->
...
...
.gitlab/merge_request_templates/patch-release.md
0 → 100644
View file @
91e26287
<!-- _Set the title to: "Resolve "Patch Release: X.Y.Z"" -->
<!-- Replace X.Y.Z with the actual version numbers everywhere -->
We're releasing patch version
`X.Y.Z`
for branch
`X.Y-stable`
! :tada:
### Release Issue
<!-- DO NOT use automatic Issue resolution here! -->
The MRs to be considered in this update are listed in #
### Tasks
-
[ ] Cherry-pick the listed commits into
`X.Y-patch`
-
[ ]
`CHANGELOG.md`
: Move appropriate entries into new section
-
[ ] Update version numbers in
`VERSION`
,
`CHANGELOG.md`
,
`dune.module`
-
[ ] Update
`version="unreleased"`
tags in the default config file XML
sources
<!-- only if applicable -->
-
[ ] Update Sphinx version directives with version
`unreleased`
in the user
docs.
<!-- only if applicable -->
#### Help on Cherry-Picking
Cherry-picking merge commits requires specifying the "mainline" parent, which
should always be number 1. Append a line indicating a cherry-pick to the commit
message with the
`-x`
argument. The following should do the trick:
```
bash
git cherry-pick
-m
1
-x
<commits>
```
Replace
`<commits>`
with the Commit SHAs listed above, separated by a single
whitespace each. Make sure they are in chronological order to reduce the
number of merge conflicts! Fix such conflicts as unintrusively as possible.
### Can this MR be merged?
-
[ ] Pipeline passing
<!-- please check for new warnings -->
-
[ ] Delete branch option set
<!-- unless there's a good reason -->
### Related Issues
CHANGELOG.md
View file @
91e26287
...
...
@@ -4,34 +4,14 @@
## Unreleased
### Added
*
DORiE now depends on
[
`yaml-cpp`
](
https://github.com/jbeder/yaml-cpp/
)
, a
library for reading YAML files. The version required is >=5.2.0.
*
New classes representing parameterizations. Every parameterization must now
derive from
`RichardsParameterization`
, and return function objects
representing parameterization functions.
*
Added a abstract base class
[
`SimulationBase`
](
dune/dorie/interface/base_simulation.hh
)
that models the concept of simulation steps so that they
can be later coupled with other simulations.
*
Added an abstract base class
[
`SimulationBase`
](
dune/dorie/common/simulation_base.hh
)
that models the concept of simulation steps so that they
can be later coupled with other simulations.
*
New classes representing parameterizations. Every parameterization must now
derive from
`RichardsParameterization`
, and return function objects
representing parameterization functions.
*
CMake module
`DorieTesting.cmake`
. The module contains multiple functions
which facilitate registering tests in the two new testing categories:
System tests and Unit tests. Unit tests are compiled with appropriate flags
for code coverage reports.
*
Code coverage reports for unit tests. Detailed reports can be retrieved from
the artifacts of the
`test:unit-tests`
test in the folder
`build-cmake/test/coverage`
. The total coverage is reported to GitLab.
*
New class
[
`SimulationTransport`
](
dune/dorie/interface/transport_simulation.hh
)
which solves the transport equation with a finite volume scheme for give
grid functions of water content and velocity.
*
[
`yaml-cpp`
](
https://github.com/jbeder/yaml-cpp/
)
v5.2.0 or greater as
dependency !81
*
Abstract base class for Models !87
*
Finite volume solver for passive transport model !93 !88
*
Grid function container to store transient grid functions !115
*
Infrastructure for the input of Miller scaling fields. !110
*
Add logging framework 'spdlog' as submodule !106
*
Logging framework
[
`spdlog`
](
https://github.com/gabime/spdlog
)
as
Git submodule for all terminal output !106
*
Support input of boundary segmentations !119
*
Reconstruction of continuous fluxes using RT finite elements !105
*
Custom DG finite element map for simplices based on Pk polynomials !125
...
...
@@ -39,113 +19,34 @@
[
muparser
](
http://beltoforion.de/article.php?a=muparser
)
!131
*
Coupling between transient models for water flow and solute transport !96
*
Initial conditions generated from H5 input data !130
*
Generic Python VTK file reader !143
*
Linear interpolator for initial conditions and scaling fields !145, !156
*
Parameterizations for hydrodynamic dispersion in solute transport !141
*
Generic Python VTK file reader !143, !150
*
Generic Python VTK file reader !143, !150
, !178
*
Define compile-time settings via CPP macros !144
*
[
Google Test
](
https://github.com/google/googletest
)
unit test framework
as Git Submodule !159
*
Upwinding options for Richards finite volume local operator !161
*
Cookbook tutorial on infiltration into homogeneous sand !157
*
GitLab Description Templates for Releases !166
*
ParaView tutorial for analyzing DORiE output files !173
*
Parameter XML files support tags for version changes !171
*
Unit test for Parameter XML file parser !171
*
CMake option to enable code coverage flags on all targets !172
*
Changes to config file parameters listed per version in user docs !175
### Changed
*
`Simulation`
is renamed
`RichardsSimulation`
and moved to
[
richards.hh
](
dune/dorie/model/richards/richards.hh
)
.
*
`RichardsSimulation`
now has its own
`RichardsSimulationTraits`
derived from
`BaseTraits`
, which defines all its member types.
`BaseTraits`
now have
reduced content and are intended to be shared between models/simulations.
*
Data structures for storing and accessing parameters. The new class
`FlowParameters`
maps parameter sets and scaling factors to every grid cell
on the coarsest grid level, and only stores one set of parameters for
each soil layer. Before querying the parameterization functions, users need
to call
`FlowParameters::bind`
with a grid entity to cache the appropriate
data. All classes and functions querying parameter data have been updated.
The old parameterization classes located in
[
`param_base.hh`
](
dune/dorie/solver/param_base.hh
)
,
[
`param_factory.hh`
](
dune/dorie/solver/param_factory.hh
)
, and
[
`param_van_genuchten.hh`
](
dune/dorie/solver/param_van_genuchten.hh
)
are still used for reading in data for the new storage scheme.
The respective objects are freed once a simulation commences.
*
Grid adaptation now is done in two steps: (1) mark entities of the grid to
refine/coarse and (2) adapt the grid and project the degrees of freedom on
the new grid.
The old parameterization classes have been removed.
*
`RichardsSimulation`
now uses one vector of coefficients instead of two, which
now is a
`shared_ptr`
instead a
`unique_ptr`
.
*
Every
`VTKAdapter`
is now able to be used as
`GridFunctionAdapter`
of the
solution vector.
*
`GradientFluxAdapter`
was reimplemented and renamed
`WaterFluxAdapter`
.
*
Every grid function adapter has its own file and are gathered in the
subdirectory
[
dune/dorie/model/richards/adapters
](
dune/dorie/model/richards/adapters
)
.
*
`VTKAdapters`
are now managed with
`shared_ptr`
instead of references.
*
`OutputWriter`
class is deprecated in favor of an minimal extension of the
usual
`VTKSequenceWriter`
for grid functions called
`GridFunctionVTKSequenceWriter`
.
*
`RichardsSimulation`
now models the
`SimulationBase`
class (See details in
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/issues/94). For this,
several methods were renamed with basically no change in behaviour.
*
`RichardsSimulation`
and
`TimeController`
are able to receive a suggestion for
the next timestep.
*
Static const
`bool`
s for adaptivity and output writing in
`BaseTraits`
were
removed in favor of run-time policies (See details in
https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/issues/94).
*
Swich to the stable release branch
`releases/2.6`
of
`dune-testtools`
.
*
The
`build`
CI stage now explicitly builds system tests and unit tests. The
job
`build:main`
has been removed. The
`build:debug`
jobs now build the
unit test targets.
*
Merge Python packages into single new package
`dorie`
.
*
Executables and files of unit-tests and system-tests are now located in
[
`dune/dorie/test/`
](
dune/dorie/test/
)
and
[
`test/`
](
test/
)
respectively.
*
The
`dorie`
CLI has been moved into the DORiE Python package. It can now only
be invoked after activating the DUNE virtual environment. The usage
instructions in docs and
`README.md`
have been updated accordingly.
*
Soil architecture and parameter input has been completely revised.
DORiE now expects a YAML file containing parameterization data and separate
domain mapping data which can be supplied through the input GMSH file, or as
H5 dataset. See the documentation for more information. Several keys in the
main routine config file have been changed.
See [#86](https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/issues/86).
*
The Parameter Field Generator (PFG) module has been revised and does not
write parameterization data anymore.
It can be used to create mappings for heterogeneous media through the
binary converter, or continuous scaling fields (feature pending).
Several keys in the PFG config file have been changed.
See [#86](https://ts-gitlab.iup.uni-heidelberg.de/dorie/dorie/issues/86).
*
Improved and refurbished
`Dorie::H5File`
.
The source file was renamed to `dune/dorie/common/util_h5file.hh`. The
`read_dataset` function is now capable of directly opening dataset paths
that contain groups.
*
The following changes were done in order to have a consistent API to support
different models:
* Folder structure has changed to a model based structure: in the main
[C++ source directory](dune/dorie/) there now is a `common` folder, and
a folder for `model` containing the source files for each model.
* The API has been updated to support several models: from now, categories
that target a specific model has to be preceded by a keyword
identifying the corresponding model (e.g. `richards.initial`,
`richards.output`, etc.), while common categories stay with no prefix
at all (e.g. `grid`, `adaptivity`, etc.).
* The parameter scraper now accepts the argument `--model <model>` which
adds the prefix `<model>.` to every category in the scraper. This helps
to be able to use the method `sub()` from the `ParameterTree` object.
It dumps its data into a YAML file which is then loaded for writing
the default configuration files and the cheat sheet.
*
Use logging framework 'spdlog' for all terminal output !106
*
DORiE now writes vertex data by default. #129
*
Data structures for storing and accessing parameter information !55
*
Split unit tests into separate CI job with coverage reports !98
*
Split grid adaptivity process into marking and actual adaptation !91
*
Rework VTK adapters and VTK output writer !64
*
`RichardsSimulation`
now implements the abstract simulation base class !89
*
Switch to the stable release branch
`releases/2.6`
of
`dune-testtools`
!97
*
Merge Python packages into single new package
`dorie`
!100
*
Move
`dorie`
Command Line Interface script into Python package !102
*
Parameterization data input via YAML and H5 files !82
*
Simplify H5 reader to only read datasets !109
*
Extend run config file to contain data on multiple models !103
*
DORiE now writes vertex data by default. !128
*
Switch license from MIT to GPLv3 !135
*
Specifying scaling field
`extensions`
and
`offset`
is now optional !133
*
Generalized initial condition specification in config file !129
...
...
@@ -156,27 +57,25 @@
*
Build independent library and executable for each compile-time setting !144
*
`SimulationBase`
unit test now uses Google Test !159
*
Deploy online documentation for each branch to private server !163
*
Use YAML (instead of muPhi
`.bcdat`
) files for specifying BCs !121
*
Unit and system tests report code coverage separately !172
### Fixed
*
Solver in
`RichardsSimulation`
was using the wrong time variable.