CHANGELOG.md 7.9 KB
Newer Older
Lukas Riedel's avatar
Lukas Riedel committed
1 2
# DORiE Changelog

Lukas Riedel's avatar
Lukas Riedel committed
3

Lukas Riedel's avatar
Lukas Riedel committed
4 5
## Unreleased

Lukas Riedel's avatar
Lukas Riedel committed
6
### Added
Lukas Riedel's avatar
Lukas Riedel committed
7 8 9 10
* [`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
Lukas Riedel's avatar
Lukas Riedel committed
11
* Grid function container to store transient grid functions !115
Lukas Riedel's avatar
Lukas Riedel committed
12
* Infrastructure for the input of Miller scaling fields. !110
Lukas Riedel's avatar
Lukas Riedel committed
13 14
* Logging framework [`spdlog`](https://github.com/gabime/spdlog) as
    Git submodule for all terminal output !106
Lukas Riedel's avatar
Lukas Riedel committed
15
* Support input of boundary segmentations !119
Lukas Riedel's avatar
Lukas Riedel committed
16
* Reconstruction of continuous fluxes using RT finite elements !105
Lukas Riedel's avatar
Lukas Riedel committed
17
* Custom DG finite element map for simplices based on Pk polynomials !125
Lukas Riedel's avatar
Lukas Riedel committed
18 19
* Initial conditions expressed as analytic functions using
    [muparser](http://beltoforion.de/article.php?a=muparser) !131
Lukas Riedel's avatar
Lukas Riedel committed
20
* Coupling between transient models for water flow and solute transport !96
Lukas Riedel's avatar
Lukas Riedel committed
21
* Initial conditions generated from H5 input data !130
22
* Linear interpolator for initial conditions and scaling fields !145, !156
Lukas Riedel's avatar
Lukas Riedel committed
23
* Parameterizations for hydrodynamic dispersion in solute transport !141
24
* Generic Python VTK file reader !143, !150, !178
25
* Define compile-time settings via CPP macros !144
26 27
* [Google Test](https://github.com/google/googletest) unit test framework
    as Git Submodule !159
28
* Upwinding options for Richards finite volume local operator !161
Lukas Riedel's avatar
Lukas Riedel committed
29
* Cookbook tutorial on infiltration into homogeneous sand !157
30
* GitLab Description Templates for Releases !166
31
* ParaView tutorial for analyzing DORiE output files !173
32 33
* Parameter XML files support tags for version changes !171
* Unit test for Parameter XML file parser !171
34
* CMake option to enable code coverage flags on all targets !172
35
* Steady state initial condition in Richards model !176
36
* Changes to config file parameters listed per version in user docs !175
37
* Control negative transport solution by a check policy !181
38
* DG solver for solute transport model !112
39
* Cookbook tutorial on using the random field generator !184
40
* Outflow boundary condition for Richards model !191
41
* Specify water content as initial condition in Richards model !187
42
* Documentation about model solver loop and time step adaptation schemes !190
Lukas Riedel's avatar
Lukas Riedel committed
43 44

### Changed
Lukas Riedel's avatar
Lukas Riedel committed
45 46 47 48 49
* 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
50
* Switch to the stable release branch `releases/2.6` of `dune-testtools` !97
Lukas Riedel's avatar
Lukas Riedel committed
51 52 53 54
* 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
55
* Extend run config file to contain data on multiple models !103
Lukas Riedel's avatar
Lukas Riedel committed
56
* DORiE now writes vertex data by default. !128
Lukas Riedel's avatar
Lukas Riedel committed
57
* Switch license from MIT to GPLv3 !135
Lukas Riedel's avatar
Lukas Riedel committed
58
* Specifying scaling field `extensions` and `offset` is now optional !133
Lukas Riedel's avatar
Lukas Riedel committed
59
* Generalized initial condition specification in config file !129
Lukas Riedel's avatar
Lukas Riedel committed
60
* Structure and setup of Sphinx user docs !126
Lukas Riedel's avatar
Lukas Riedel committed
61 62
* Switch to stable `dune-randomfield` release branch !151, !153
* System tests for executing `dorie pfg` module !153
Lukas Riedel's avatar
Lukas Riedel committed
63
* Finite volume solver for the Richards equation !132
64
* Build independent library and executable for each compile-time setting !144
65
* `SimulationBase` unit test now uses Google Test !159
66
* Deploy online documentation for each branch to private server !163
67
* Use YAML (instead of muPhi `.bcdat`) files for specifying BCs !121
68
* Unit and system tests report code coverage separately !172
69
* Improve docs on config file parameters and make default ones executable !183
70
* Upgrade `spdlog` submodule to v1.5.0 !192
Lukas Riedel's avatar
Lukas Riedel committed
71
* Update the contribution guidelines and the code of conduct !194
Lukas Riedel's avatar
Lukas Riedel committed
72

73
### Fixed
Lukas Riedel's avatar
Lukas Riedel committed
74 75
* Allow meta-ini files for unit tests !101
* Solver in `RichardsSimulation` was using the wrong time variable !116
Lukas Riedel's avatar
Lukas Riedel committed
76
* Shape of input datasets was flipped when loading scaling factors !124
77
* `dune_add_system_test` requires target with location after bugfix !165
78
* `make all` would not build the solver application target `dorie` !167
79 80
* Allow Neumman BC to be applied on a different direction other than gravity !121
* Transport model option `dirichletMode` was not working properly !121
81
* Use unsafe loader of PyYAML v5.2 for loading parameter scraper data !177
82
* CFL condition in explicit Transport model serves as time step upper limit !179
83
* Use apparent solute velocity instead of water flux in CFL condition !180
84

Lukas Riedel's avatar
Lukas Riedel committed
85
### Deprecated
86

Lukas Riedel's avatar
Lukas Riedel committed
87
### Removed
Lukas Riedel's avatar
Lukas Riedel committed
88
* Boundary conditions `evaporation` and `limitedInflux` !120
Lukas Riedel's avatar
Lukas Riedel committed
89

Lukas Riedel's avatar
Lukas Riedel committed
90

Lukas Riedel's avatar
Lukas Riedel committed
91 92 93 94 95 96 97 98 99
## 1.1.1 (2018-08-21)

### Added
* Documentation of Docker images and their usage in the CI/CD pipeline.

### Changed
* Rebuilds of the DUNE environment Docker image are now triggered by setting the
    CI variable `REBUILD_BASE_IMAGE` to a non-empty value. Previously, the
    builds in stage `setup` where triggered by any manual pipeline run.
Lukas Riedel's avatar
Lukas Riedel committed
100
* The test system folder was renamed from `testing` to [`test`](test).
101 102
* File `operator_DG.hh` is renamed  
    [`richards_operator_DG.hh`](dune/dorie/solver/richards_operator_DG.hh)
Lukas Riedel's avatar
Lukas Riedel committed
103

Lukas Riedel's avatar
Lukas Riedel committed
104 105 106 107
### Fixed
* Removed VTK output from `dorie_mass_conservation` executable, which would
    cause the corresponding test to fail if the designated output directory did
    not exist.
Lukas Riedel's avatar
Lukas Riedel committed
108
* Removed CI artifacts of `test` stage from `deploy` jobs.
Lukas Riedel's avatar
Lukas Riedel committed
109 110 111
* Correctly estimate the number of row entries in the matrix backend based on
    the DG discretization and proper static blocking. This can lead to a
    performance improvement for large problems.
Lukas Riedel's avatar
Lukas Riedel committed
112 113 114
* VTK output is now written _before_ the grid is adapted. Previously, the output
    displayed the adapted grid and not the one the solution was computed on.
* Grid adaptation is skipped after computing the final solution.
Lukas Riedel's avatar
Lukas Riedel committed
115 116
* Path to Pipeline artifacts for `test` stage. The artifacts are now correctly
    captured and can be viewed and downloaded from the GitLab web interface.
Lukas Riedel's avatar
Lukas Riedel committed
117 118
* Fix a bug in the boundary condition evaluation where an `end()` iterator
    was dereferenced without error.
Lukas Riedel's avatar
Lukas Riedel committed
119 120
* Re-introduced deployment of the documentation which can now be found online
    at https://dorie-doc.netlify.com/.
Lukas Riedel's avatar
Lukas Riedel committed
121

Lukas Riedel's avatar
Lukas Riedel committed
122

Lukas Riedel's avatar
Lukas Riedel committed
123
## 1.1.0 (2018-07-27)
Lukas Riedel's avatar
Lukas Riedel committed
124

Lukas Riedel's avatar
Lukas Riedel committed
125
### Added
Lukas Riedel's avatar
Lukas Riedel committed
126 127
* DORiE now employs a `SubsamplingVTKWriter` for higher output precision.
    Subsampling levels are controlled via the new key `output.subsamplingLevel`.
Santiago Ospina's avatar
Santiago Ospina committed
128 129 130
* Automatic deployment of `devel` and stable DORiE Docker Images to Docker Hub.
* Automatic update of the DUNE environment Docker Image for `master` builds.
* CI pipeline now also compiles a Debug build with the LLVM Clang compiler.
Lukas Riedel's avatar
Lukas Riedel committed
131
* Add `.gitattributes` for `CHANGELOG.md` to reduce merge conflicts with
Santiago Ospina's avatar
Santiago Ospina committed
132
    `merge=union`.
Lukas Riedel's avatar
Lukas Riedel committed
133
* Public API definition in documentation.
Lukas Riedel's avatar
Lukas Riedel committed
134

Lukas Riedel's avatar
Lukas Riedel committed
135
### Changed
Santiago Ospina's avatar
Santiago Ospina committed
136
* Update code base to *DUNE v2.6*.
Lukas Riedel's avatar
Lukas Riedel committed
137
* Raise software requirements to versions available on Ubuntu 18.04 LTS
Santiago Ospina's avatar
Santiago Ospina committed
138 139
    (Bionic Beaver).
* Switch VTK output from conforming to non-conforming.
Lukas Riedel's avatar
Lukas Riedel committed
140
* Use `multicore` build tag only for `test:parallel` build because the current
Santiago Ospina's avatar
Santiago Ospina committed
141
    GitLab Runner cannot handle the load.
Lukas Riedel's avatar
Lukas Riedel committed
142 143
* Use the `OVLP_AMG_4_DG` linear solver for all computations, including
    sequential ones. This significantly improves performance for large problems.
Lukas Riedel's avatar
Lukas Riedel committed
144
* Change compilation order which reduces RAM usage when compiling in parallel.
Santiago Ospina's avatar
Santiago Ospina committed
145
* Decentralization of the header system so that in most of the header files are 
Santiago Ospina's avatar
Santiago Ospina committed
146
	independent of each other.
Lukas Riedel's avatar
Lukas Riedel committed
147 148 149 150 151

### Deprecated
* `output.subsamplingLevel` is optional and defaults to 0 if not given
    explicitly in the config file. The key will become mandatory in future
    versions.
Lukas Riedel's avatar
Lukas Riedel committed
152

Lukas Riedel's avatar
Lukas Riedel committed
153 154
### Removed
* Complete doxygen documentation from Sphinx docs.
Lukas Riedel's avatar
Lukas Riedel committed
155

Lukas Riedel's avatar
Lukas Riedel committed
156
### Fixed
Lukas Riedel's avatar
Lukas Riedel committed
157 158
* The source code is now compatible to the Clang LLVM compiler.
    DORiE can now be compiled with the onboard compiler on macOS.
Lukas Riedel's avatar
Lukas Riedel committed
159 160
* Fix finite element map used for simplex grids. The old one did not implement
    a discontinuous function space.
Lukas Riedel's avatar
Lukas Riedel committed
161
* Allow warnings on ParMETIS not being available for parallel computations.
Lukas Riedel's avatar
Lukas Riedel committed
162 163


Lukas Riedel's avatar
Lukas Riedel committed
164 165
## 1.0.0 (2018-03-28)

166
First stable version.