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

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

5 6 7
### Added

* Extended Miller scaling adapter with additional porosity scaling !122
8 9 10
* Coding style tools and instructions.
    [`clang-format-hook`](https://github.com/barisione/clang-format-hooks)
    as Git submodule !203
11
* Automatically trigger DUNE Docker image builds using `rules` !213
12
* JOSS paper and showcase source files, and `CITATION.cff` file !198
13

14 15 16 17
### Changed

* Linerar solver for finite volumes changed from `AMG_4_DG` to
    `BCGS_AMG_SSOR` !204
18
* Simplify installation instructions !205
19
* Update Docker base image to Ubuntu Focal Fossa 20.04 LTS !189
20
* Improve the pipeline by resolving several minor issues !214
21
* Increase performance of `PVDReader` when reading many VTK files !216
Lukas Riedel's avatar
Lukas Riedel committed
22

23 24
### Fixed

25
* Fix installation procedure !207
26
* Compiler warnings for unused variables in `dune/dorie/common/h5file.hh` !206
27
* Ensure UTF-8 locale definition in Docker images !210
28
* `grid.extensions` values were erroneously read when loading GMSH grids #193
Lukas Riedel's avatar
Lukas Riedel committed
29
* Compiling failed on macOS because C++11 was selected as standard #198
30
* Flux reconstruction now considers volume elements without DOFs !219
31

Lukas Riedel's avatar
Lukas Riedel committed
32 33
## 2.0.0 (2020-05-14)

Lukas Riedel's avatar
Lukas Riedel committed
34
### Added
35

Lukas Riedel's avatar
Lukas Riedel committed
36 37
* [`yaml-cpp`](https://github.com/jbeder/yaml-cpp/) v5.2.0 or greater as
    dependency !81
38 39
* Abstract base class for Models !87 !159
* Finite volume solver for passive transport model !93 !88 !179 !180 !181
Lukas Riedel's avatar
Lukas Riedel committed
40
* Grid function container to store transient grid functions !115
41
* Infrastructure for the input of Miller scaling fields !110 !124 !133
Lukas Riedel's avatar
Lukas Riedel committed
42
* Logging framework [`spdlog`](https://github.com/gabime/spdlog) as
43
    Git submodule for all terminal output !106 !192
Lukas Riedel's avatar
Lukas Riedel committed
44
* Support input of boundary segmentations !119
Lukas Riedel's avatar
Lukas Riedel committed
45
* Reconstruction of continuous fluxes using RT finite elements !105
Lukas Riedel's avatar
Lukas Riedel committed
46
* Custom DG finite element map for simplices based on Pk polynomials !125
Lukas Riedel's avatar
Lukas Riedel committed
47 48
* Initial conditions expressed as analytic functions using
    [muparser](http://beltoforion.de/article.php?a=muparser) !131
Lukas Riedel's avatar
Lukas Riedel committed
49
* Coupling between transient models for water flow and solute transport !96
Lukas Riedel's avatar
Lukas Riedel committed
50
* Initial conditions generated from H5 input data !130
51
* Linear interpolator for initial conditions and scaling fields !145, !156
Lukas Riedel's avatar
Lukas Riedel committed
52
* Parameterizations for hydrodynamic dispersion in solute transport !141
53
* Generic Python VTK file reader !143, !150, !178
54
* Define compile-time settings via CPP macros !144
55 56
* [Google Test](https://github.com/google/googletest) unit test framework
    as Git Submodule !159
57
* Finite volume solver for the Richards equation !132 !161
Lukas Riedel's avatar
Lukas Riedel committed
58
* Cookbook tutorial on infiltration into homogeneous sand !157
59
* GitLab Description Templates for Releases !166
60
* ParaView tutorial for analyzing DORiE output files !173
61 62
* Parameter XML files support tags for version changes !171
* Unit test for Parameter XML file parser !171
63
* CMake option to enable code coverage flags on all targets !172
64
* Steady state initial condition in Richards model !176
65
* Changes to config file parameters listed per version in user docs !175
66
* DG solver for solute transport model !112
67
* Cookbook tutorial on using the random field generator !184
68
* Outflow boundary condition for Richards model !191
69
* Specify water content as initial condition in Richards model !187
70
* Documentation about model solver loop and time step adaptation schemes !190
71
* Documentation about the parallel features of several classes and methods !197
Lukas Riedel's avatar
Lukas Riedel committed
72 73

### Changed
74

Lukas Riedel's avatar
Lukas Riedel committed
75 76 77 78 79
* 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
80
* Switch to the stable release branch `releases/2.6` of `dune-testtools` !97
Lukas Riedel's avatar
Lukas Riedel committed
81 82 83 84
* 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
85
* Extend run config file to contain data on multiple models !103
Lukas Riedel's avatar
Lukas Riedel committed
86
* DORiE now writes vertex data by default. !128
Lukas Riedel's avatar
Lukas Riedel committed
87
* Switch license from MIT to GPLv3 !135
Lukas Riedel's avatar
Lukas Riedel committed
88
* Generalized initial condition specification in config file !129
Lukas Riedel's avatar
Lukas Riedel committed
89
* Structure and setup of Sphinx user docs !126
Lukas Riedel's avatar
Lukas Riedel committed
90 91
* Switch to stable `dune-randomfield` release branch !151, !153
* System tests for executing `dorie pfg` module !153
92
* Build independent library and executable for each compile-time setting !144
93
* Deploy online documentation for each branch to private server !163
94
* Use YAML (instead of muPhi `.bcdat`) files for specifying BCs !121
95
* Unit and system tests report code coverage separately !172
96
* Improve docs on config file parameters and make default ones executable !183
Lukas Riedel's avatar
Lukas Riedel committed
97
* Update the contribution guidelines and the code of conduct !194
Lukas Riedel's avatar
Lukas Riedel committed
98

99
### Fixed
100 101

* Allow meta-ini files for unit tests #105
Lukas Riedel's avatar
Lukas Riedel committed
102
* Solver in `RichardsSimulation` was using the wrong time variable !116
103 104 105
* `dune_add_system_test` requires target with location after bugfix #161
* `make all` would not build the solver application target `dorie` #162
* Allow Neumman BC to be applied on a different direction than gravity #136
106
* Use unsafe loader of PyYAML v5.2 for loading parameter scraper data !177
107
* Steps were not synchronized when timestep suggestions differed in parallel #187
108

Lukas Riedel's avatar
Lukas Riedel committed
109
### Deprecated
110

Lukas Riedel's avatar
Lukas Riedel committed
111
### Removed
Lukas Riedel's avatar
Lukas Riedel committed
112

113
* Boundary conditions `evaporation` and `limitedInflux` !120
Lukas Riedel's avatar
Lukas Riedel committed
114

Lukas Riedel's avatar
Lukas Riedel committed
115 116 117
## 1.1.1 (2018-08-21)

### Added
118

Lukas Riedel's avatar
Lukas Riedel committed
119 120 121
* Documentation of Docker images and their usage in the CI/CD pipeline.

### Changed
122

Lukas Riedel's avatar
Lukas Riedel committed
123 124 125
* 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
126
* The test system folder was renamed from `testing` to [`test`](test).
127 128
* File `operator_DG.hh` is renamed  
    [`richards_operator_DG.hh`](dune/dorie/solver/richards_operator_DG.hh)
Lukas Riedel's avatar
Lukas Riedel committed
129

Lukas Riedel's avatar
Lukas Riedel committed
130
### Fixed
131

Lukas Riedel's avatar
Lukas Riedel committed
132 133 134
* 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
135
* Removed CI artifacts of `test` stage from `deploy` jobs.
Lukas Riedel's avatar
Lukas Riedel committed
136 137 138
* 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
139 140 141
* 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
142 143
* 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
144 145
* Fix a bug in the boundary condition evaluation where an `end()` iterator
    was dereferenced without error.
Lukas Riedel's avatar
Lukas Riedel committed
146 147
* 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
148

Lukas Riedel's avatar
Lukas Riedel committed
149
## 1.1.0 (2018-07-27)
Lukas Riedel's avatar
Lukas Riedel committed
150

Lukas Riedel's avatar
Lukas Riedel committed
151
### Added
152

Lukas Riedel's avatar
Lukas Riedel committed
153 154
* DORiE now employs a `SubsamplingVTKWriter` for higher output precision.
    Subsampling levels are controlled via the new key `output.subsamplingLevel`.
155 156 157
* 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
158
* Add `.gitattributes` for `CHANGELOG.md` to reduce merge conflicts with
159
    `merge=union`.
Lukas Riedel's avatar
Lukas Riedel committed
160
* Public API definition in documentation.
Lukas Riedel's avatar
Lukas Riedel committed
161

Lukas Riedel's avatar
Lukas Riedel committed
162
### Changed
163

164
* Update code base to *DUNE v2.6*.
Lukas Riedel's avatar
Lukas Riedel committed
165
* Raise software requirements to versions available on Ubuntu 18.04 LTS
166 167
    (Bionic Beaver).
* Switch VTK output from conforming to non-conforming.
Lukas Riedel's avatar
Lukas Riedel committed
168
* Use `multicore` build tag only for `test:parallel` build because the current
169
    GitLab Runner cannot handle the load.
Lukas Riedel's avatar
Lukas Riedel committed
170 171
* 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
172
* Change compilation order which reduces RAM usage when compiling in parallel.
Santiago Ospina's avatar
Santiago Ospina committed
173
* Decentralization of the header system so that in most of the header files are 
174
    independent of each other.
Lukas Riedel's avatar
Lukas Riedel committed
175 176

### Deprecated
177

Lukas Riedel's avatar
Lukas Riedel committed
178 179 180
* `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
181

Lukas Riedel's avatar
Lukas Riedel committed
182
### Removed
183

Lukas Riedel's avatar
Lukas Riedel committed
184
* Complete doxygen documentation from Sphinx docs.
Lukas Riedel's avatar
Lukas Riedel committed
185

Lukas Riedel's avatar
Lukas Riedel committed
186
### Fixed
187

Lukas Riedel's avatar
Lukas Riedel committed
188 189
* 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
190 191
* 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
192
* Allow warnings on ParMETIS not being available for parallel computations.
Lukas Riedel's avatar
Lukas Riedel committed
193

Lukas Riedel's avatar
Lukas Riedel committed
194 195
## 1.0.0 (2018-03-28)

196
First stable version.