CHANGELOG.md 30 KB
Newer Older
1
2
3
# OpenGeoSys changelog

## Unreleased
4

Lars Bilke's avatar
6.4.3    
Lars Bilke committed
5
[Please see the wiki-page](https://gitlab.opengeosys.org/ogs/ogs/-/wikis/Release-notes-6.4.4)
6

7
----
Lars Bilke's avatar
Lars Bilke committed
8

Lars Bilke's avatar
6.4.3    
Lars Bilke committed
9
10
11
12
## 6.4.3

[Changelog for OpenGeoSys 6.4.3](https://gitlab.opengeosys.org/ogs/ogs/-/wikis/Release-notes-6.4.3)

13
## 6.4.2
Lars Bilke's avatar
Lars Bilke committed
14
15

[Changelog for OpenGeoSys 6.4.2](https://gitlab.opengeosys.org/ogs/ogs/-/wikis/Release-notes-6.4.2)
Lars Bilke's avatar
Lars Bilke committed
16

17
## 6.4.1
Lars Bilke's avatar
Lars Bilke committed
18
19
20

[Changelog for OpenGeoSys 6.4.1](https://gitlab.opengeosys.org/ogs/ogs/-/wikis/Release-notes-6.4.1)

21
## 6.4.0
Lars Bilke's avatar
Lars Bilke committed
22
23
24

[Changelog for OpenGeoSys 6.4.0](https://gitlab.opengeosys.org/ogs/ogs/-/wikis/Release-notes-6.4.0)

25
## 6.3.3
Lars Bilke's avatar
Lars Bilke committed
26
27
28

[Changelog for OpenGeoSys 6.3.3](https://gitlab.opengeosys.org/ogs/ogs/-/wikis/Release-notes-6.3.3)

29
## 6.3.2
Lars Bilke's avatar
Lars Bilke committed
30
31
32

[Changelog for OpenGeoSys 6.3.2](https://gitlab.opengeosys.org/ogs/ogs/-/releases/6.3.2)

33
## 6.3.1
Lars Bilke's avatar
Lars Bilke committed
34
35
36

[Changelog for OpenGeoSys 6.3.1](https://github.com/ufz/ogs/blob/master/web/content/releases/6.3.1.md)

37
## 6.3.0
38
39

[Changelog for OpenGeoSys 6.3.0](https://github.com/ufz/ogs/blob/master/web/content/releases/6.3.0.md)
40

41
## 6.2.2
42
43
44

[Changelog for OpenGeoSys 6.2.2](https://github.com/ufz/ogs/blob/master/web/content/releases/6.2.2.md)

45
## 6.2.1
Lars Bilke's avatar
Lars Bilke committed
46

47
[Changelog for OpenGeoSys 6.2.1](https://github.com/ufz/ogs/blob/master/web/content/releases/6.2.1.md)
Lars Bilke's avatar
Lars Bilke committed
48

49
## 6.2.0
50

51
[Changelog for OpenGeoSys 6.2.0](https://github.com/ufz/ogs/blob/master/web/content/releases/6.2.0.md)
52

53
## 6.1.0
54

55
[Changelog for OpenGeoSys 6.1.0](https://github.com/ufz/ogs/blob/master/web/content/releases/6.1.0.md)
56

57
## 6.0.8
58
59
60
61
62
63

The highlight of the release is the implementation of the Lower-Interface
Elements for both the small deformation process (M) and hydro-mechanics process
(HM) allowing fractures to be incorporated in the solution domain.
For the liquid flow and two-phase flow processes several material models for the
fluids pressure, density, permeability, and viscosity were added.
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
64

Lars Bilke's avatar
Lars Bilke committed
65
### Features
Tom Fischer's avatar
Tom Fischer committed
66

Lars Bilke's avatar
Lars Bilke committed
67
68
69
70
71
- Implementation of hydro-mechanics (HM) with LIE. [#1537](https://github.com/ufz/ogs/pull/1537)-[#1541](https://github.com/ufz/ogs/pull/1541)
- Implementation of small deformation (M) with LIE. [#1452](https://github.com/ufz/ogs/pull/1452)
- Fracture constitutive models. [#1434](https://github.com/ufz/ogs/pull/1434)
- Hydro-Mechanics process. [#1508](https://github.com/ufz/ogs/pull/1508)
- First version of monolithic hydro-thermal process implementation with
Lars Bilke's avatar
Lars Bilke committed
72
   Boussinesq approximation using constant viscosity. [#1534](https://github.com/ufz/ogs/pull/1534)
Lars Bilke's avatar
Lars Bilke committed
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
- Two phase flow process with pp model implementation. [#1530](https://github.com/ufz/ogs/pull/1530)
- Richards flow process implementation. [#1473](https://github.com/ufz/ogs/pull/1473)
- Liquid process. [#1468](https://github.com/ufz/ogs/pull/1468)
- Classes for relative permeability models. [#1531](https://github.com/ufz/ogs/pull/1531)
- Classes for capillary models. [#1517](https://github.com/ufz/ogs/pull/1517), [#1578](https://github.com/ufz/ogs/pull/1578)
- Ehlers single-surface yield function constitutive relation model. [#1556](https://github.com/ufz/ogs/pull/1556)
- Support scaling, GMRES, and Pardiso in Eigen linear solvers. [#1509](https://github.com/ufz/ogs/pull/1509) [#1510](https://github.com/ufz/ogs/pull/1510)
- Piecewise linear Monotonic curve and a generic curve parser. [#1529](https://github.com/ufz/ogs/pull/1529)
- Support searching boundary nodes in MeshLib::NodeSearch. [#1459](https://github.com/ufz/ogs/pull/1459)
- Support specifying the shape function order in process variables. [#1503](https://github.com/ufz/ogs/pull/1503)
- Command line option --unbuffered-std-out to deactivate buffer for standard output. [#1514](https://github.com/ufz/ogs/pull/1514)
- CMake option OGS_FATAL_ABORT for debugging. [#1432](https://github.com/ufz/ogs/pull/1432)
- Set the default OGS_LOG_LEVEL to debug in release builds. [#1522](https://github.com/ufz/ogs/pull/1522)
- Add integration order in input files. [#1464](https://github.com/ufz/ogs/pull/1464)
- Migrated Data Explorer to Qt5. [#1622](https://github.com/ufz/ogs/pull/1622), [#1625](https://github.com/ufz/ogs/pull/1625)
- Benchmarks can be run on specific configurations only by using the new parameter
Lars Bilke's avatar
Lars Bilke committed
89
   `REQUIREMENTS` in `AddTest()` (in CMake). [#1610](https://github.com/ufz/ogs/pull/1610)
Tom Fischer's avatar
Tom Fischer committed
90

91
### Utilities
Lars Bilke's avatar
Lars Bilke committed
92

Norihiro Watanabe's avatar
Norihiro Watanabe committed
93
New utilities:
Lars Bilke's avatar
Lars Bilke committed
94
95
96
97

- createQuadraticMesh [#1500](https://github.com/ufz/ogs/pull/1500)
- convertToLinearMesh [#1554](https://github.com/ufz/ogs/pull/1554)
- postLIE [#1555](https://github.com/ufz/ogs/pull/1555)
Norihiro Watanabe's avatar
Norihiro Watanabe committed
98
99
100

New features:

Lars Bilke's avatar
Lars Bilke committed
101
- extend NodeReordering to correct ordering of nonlinear nodes [#1519](https://github.com/ufz/ogs/pull/1519)
Norihiro Watanabe's avatar
Norihiro Watanabe committed
102

Lars Bilke's avatar
Lars Bilke committed
103
### Infrastructure
104

Lars Bilke's avatar
Lars Bilke committed
105
106
107
- Ctest now works on Windows too by removing time-wrappers. [#1480](https://github.com/ufz/ogs/pull/1480)
- Moved to public Jenkins instance at jenkins.opengeosys.org. [#1505](https://github.com/ufz/ogs/pull/1505)
- Doxygen warnings parser in Jenkins will mark a build as unstable
Lars Bilke's avatar
Lars Bilke committed
108
   if there are Doxygen warnings. [#1585](https://github.com/ufz/ogs/pull/1585)
Lars Bilke's avatar
Lars Bilke committed
109
- Benchmarking on Jenkins now saves the standard output into a file for each
Lars Bilke's avatar
Lars Bilke committed
110
   test. [#1528](https://github.com/ufz/ogs/pull/1528)
111

Lars Bilke's avatar
Lars Bilke committed
112
### Fixes
Norihiro Watanabe's avatar
Norihiro Watanabe committed
113

Lars Bilke's avatar
Lars Bilke committed
114
115
116
117
118
119
120
121
- Fix LocalToGlobalIndexMap with multiple variables and with multiple components. [#1433](https://github.com/ufz/ogs/pull/1433) [#1440](https://github.com/ufz/ogs/pull/1440)
- Fix PropertyVector<T*> for multi-component case. [#1441](https://github.com/ufz/ogs/pull/1441)
- Fix checking IDs of nonlinear nodes. [#1495](https://github.com/ufz/ogs/pull/1495)
- Fix incorrect use of getNumberOfBaseNodes(). [#1515](https://github.com/ufz/ogs/pull/1515)
- Fix computing sparsity pattern for mixed shape function order cases. [#1548](https://github.com/ufz/ogs/pull/1548)
- Fix that iterations and residuals were not printed when Eigen linear solver fails. [#1499](https://github.com/ufz/ogs/pull/1499)
- Fix all of the Doxygen warnings in the code. [#1569](https://github.com/ufz/ogs/pull/1569) [#1573](https://github.com/ufz/ogs/pull/1573)
- Fix all of the input file/keyword documentation and its generation.
122

123
## 6.0.7
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
124

Lars Bilke's avatar
Lars Bilke committed
125
### Features
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
126
127
128
129
130
131
132

The main features of this release is the implementation of two new processes,
the small deformation, and the heat conduction.  Some extensions were done to
the DOF table to be able to manage multi-component/multi-variable processes.
Also, during implementation of the Robin boundary conditions, the base classes
for boundary conditions were generalized.

Lars Bilke's avatar
Lars Bilke committed
133
- Add small deformation process with linear elastic material model. The
Lars Bilke's avatar
Lars Bilke committed
134
   implementation is based on the Kelvin mapping. [#1340](https://github.com/ufz/ogs/pull/1340)
Lars Bilke's avatar
Lars Bilke committed
135
136
137
- Added B-Matrices and Kelvin mapping tools for deformation processes. [#1359](https://github.com/ufz/ogs/pull/1359)
- Heat conduction process implementation. [#1328](https://github.com/ufz/ogs/pull/1328)
- Finalize support for multicomponent boundary conditions adding configuration
Lars Bilke's avatar
Lars Bilke committed
138
   parser. [#1343](https://github.com/ufz/ogs/pull/1343)
Lars Bilke's avatar
Lars Bilke committed
139
140
141
142
- Added uniform Robin boundary condition. [#1336](https://github.com/ufz/ogs/pull/1336)
- Added a generic natural boundary condition class. [#1337](https://github.com/ufz/ogs/pull/1337)
- Added Robin boundary condition. [#1336](https://github.com/ufz/ogs/pull/1336)
- Reworked the Parameter class. It now serves as a basis for BCs and ICs.
Lars Bilke's avatar
Lars Bilke committed
143
   [#1357](https://github.com/ufz/ogs/pull/1357), [#1356](https://github.com/ufz/ogs/pull/1356)
Lars Bilke's avatar
Lars Bilke committed
144
145
146
147
- Added time-dependent Dirichlet BCs. [#1380](https://github.com/ufz/ogs/pull/1380)
- Add calculation of surface flux, tests for groundwater flow. [#1429](https://github.com/ufz/ogs/pull/1429)
- Implemented numerical Jacobian assembly for Newton-Raphson solver. [#1352](https://github.com/ufz/ogs/pull/1352)
- Added the new parameter type "Group" which can be used for setting material
Lars Bilke's avatar
Lars Bilke committed
148
   ID dependent values. [#1426](https://github.com/ufz/ogs/pull/1426)
Lars Bilke's avatar
Lars Bilke committed
149
- Added fluid property class and several fluid density and viscosity models
Lars Bilke's avatar
Lars Bilke committed
150
   based on it. [#1398](https://github.com/ufz/ogs/pull/1398), [#1435](https://github.com/ufz/ogs/pull/1435)
Lars Bilke's avatar
Lars Bilke committed
151
- Enabled solving of axially symmetric problems on 2D meshes for all currently
Lars Bilke's avatar
Lars Bilke committed
152
   implemented processes. [#1443](https://github.com/ufz/ogs/pull/1443)
Lars Bilke's avatar
Lars Bilke committed
153
154
- Added time measurement for assembly and solvers. [#1322](https://github.com/ufz/ogs/pull/1322)
- Added named functions, out of which expressions can be built up at run-time
Christoph Lehmann's avatar
Christoph Lehmann committed
155
   from the prj file, which can be used to output additional nodal quantities.
Lars Bilke's avatar
Lars Bilke committed
156
   [#1314](https://github.com/ufz/ogs/pull/1314), [#1315](https://github.com/ufz/ogs/pull/1315)
Lars Bilke's avatar
Lars Bilke committed
157
- Added component-wise norms, and flexible convergence criteria for nonlinear
Lars Bilke's avatar
Lars Bilke committed
158
   solvers. [#1349](https://github.com/ufz/ogs/pull/1349), [#1342](https://github.com/ufz/ogs/pull/1342)
Lars Bilke's avatar
Lars Bilke committed
159
- Restructured the time loop. [#1364](https://github.com/ufz/ogs/pull/1364)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
160

161
### Utilities
Lars Bilke's avatar
Lars Bilke committed
162

Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
163
New utilities:
Lars Bilke's avatar
Lars Bilke committed
164
165

- createNeumannBc: The tool integrates the given element property and writes
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
166
167
   the computed data as a PropertyVector with the name `node_aggregated_gwn`
   into the mesh. The tool also outputs an OGS-5 direct source term (Neumann
Lars Bilke's avatar
Lars Bilke committed
168
   boundary condition) data file. [#1346](https://github.com/ufz/ogs/pull/1346)
Lars Bilke's avatar
Lars Bilke committed
169
170
171
- scaleProperty for simple rescaling of mesh properties. [#1347](https://github.com/ufz/ogs/pull/1347)
- convertGEO for geometric file conversion, e.g. gli to glm. [#1360](https://github.com/ufz/ogs/pull/1360)
- swapNodeCoordinateAxes to swap node coordinate values, e.g. XY to XZ plane.
Lars Bilke's avatar
Lars Bilke committed
172
   [#1361](https://github.com/ufz/ogs/pull/1361)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
173
New feature:
Lars Bilke's avatar
Lars Bilke committed
174
175
176
- Support tetrahedra types in generateStructuredMesh. [#1353](https://github.com/ufz/ogs/pull/1353)

### Infrastructure
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
177

Lars Bilke's avatar
Lars Bilke committed
178
- Migrated all important Jenkins jobs to script-based
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
179
180
181
   [Jenkins Pipeline](https://jenkins.io/doc/pipeline/)
   functionality.  For an introduction see
   [docs.opengeosys.org - Continuous Integration](https://docs.opengeosys.org/docs/devguide/development-workflows/continuous-integration).
Lars Bilke's avatar
Lars Bilke committed
182
   [#1392](https://github.com/ufz/ogs/pull/1392), [#1396](https://github.com/ufz/ogs/pull/1396), [#1404](https://github.com/ufz/ogs/pull/1404), [#1411](https://github.com/ufz/ogs/pull/1411), [#1424](https://github.com/ufz/ogs/pull/1424), [#1428](https://github.com/ufz/ogs/pull/1428), [#1436](https://github.com/ufz/ogs/pull/1436)
Lars Bilke's avatar
Lars Bilke committed
183
- Moved CMake logic for packaging executable dependencies (such as shared libs)
184
   to the install and package targets instead of running after each executable
Lars Bilke's avatar
Lars Bilke committed
185
   gets build. [#1458](https://github.com/ufz/ogs/pull/1458)
Lars Bilke's avatar
Lars Bilke committed
186
- Increase minimum clang compiler version to 3.5 in course of updating travis
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
187
   build environment to Ubuntu LTS 14.04. [#1448](https://github.com/ufz/ogs/pull/1448)
Lars Bilke's avatar
Lars Bilke committed
188
- Added a script that generates crosslinked Doxygen pages out of ctest input
Lars Bilke's avatar
Lars Bilke committed
189
   files [#1348](https://github.com/ufz/ogs/pull/1348)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
190

Lars Bilke's avatar
Lars Bilke committed
191
192
193
### Fixes

- Fix an issue that a shape vector was defined as a column vector. Corrected to
Lars Bilke's avatar
Lars Bilke committed
194
   a row vector . [#1288](https://github.com/ufz/ogs/pull/1288)
Lars Bilke's avatar
Lars Bilke committed
195
- Fix usage of `boost::optional<T const&>`, which has changed in version 1.61.
Lars Bilke's avatar
Lars Bilke committed
196
   [#1385](https://github.com/ufz/ogs/pull/1385)
Lars Bilke's avatar
Lars Bilke committed
197
198
199
200
201
202
203
204
205
206
- Fix Grid (enlarge bounding box to fit all points). [#1369](https://github.com/ufz/ogs/pull/1369)
- Fix mapping of geometries to mesh surfaces. [#1327](https://github.com/ufz/ogs/pull/1327). [#1368](https://github.com/ufz/ogs/pull/1368)
- Fix transmitting raster data to element properties. [#1347](https://github.com/ufz/ogs/pull/1347)
- Fixed missing XSD files in packages. [#1410](https://github.com/ufz/ogs/pull/1410)
- Fix a shape vector to a row vector. [#1288](https://github.com/ufz/ogs/pull/1288)
- Fix FEFLOW import. [#1397](https://github.com/ufz/ogs/pull/1397)
- Fix NodeReordering to check ordering of each element. [#1425](https://github.com/ufz/ogs/pull/1425)
- Fix builds linking shared VTK library. [#1431](https://github.com/ufz/ogs/pull/1431)
- Fix global Newton iteration counter. [#1341](https://github.com/ufz/ogs/pull/1341)
- Correct few loops over mesh nodes, which should run over the mesh subsets.
Lars Bilke's avatar
Lars Bilke committed
207
   [#1437](https://github.com/ufz/ogs/pull/1437)
Lars Bilke's avatar
Lars Bilke committed
208
209
210
- Fix shape function computation for 2D elements lying in the x-y-plane [#1318](https://github.com/ufz/ogs/pull/1318)
- Fix AddTest, s.t. ctest now really checks results. [#1325](https://github.com/ufz/ogs/pull/1325)
- Made Eigen preconditioner configurable. [#1367](https://github.com/ufz/ogs/pull/1367)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
211

212
## 6.0.6
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
213

Lars Bilke's avatar
Lars Bilke committed
214
215
216
### Features

- Add external ode-solver interface with [Sundials CVODE
Lars Bilke's avatar
Lars Bilke committed
217
   library](http://computation.llnl.gov/projects/sundials-suite-nonlinear-differential-algebraic-equation-solvers/cvode). [#1109](https://github.com/ufz/ogs/pull/1109)
Lars Bilke's avatar
Lars Bilke committed
218
- Add piecewise linear curves parser to the project files. The curves are
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
219
220
221
   specified by two vectors, the coordinates and values. They can be used for
   example to map temporal dependencies (time-dependent boundary conditions) or
   as approximations of coefficient dependencies (e.g. pressure-saturation
Lars Bilke's avatar
Lars Bilke committed
222
   curves). [#1149](https://github.com/ufz/ogs/pull/1149)
Lars Bilke's avatar
Lars Bilke committed
223
- Extend the LocalAssemblerInterface by adding default implementations of
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
224
   pre/postTimestep and assembleJacobian functions. The current time and time
Lars Bilke's avatar
Lars Bilke committed
225
   step size are passed in the preTimestep call to the particular processes. [#1214](https://github.com/ufz/ogs/pull/1214)
Lars Bilke's avatar
Lars Bilke committed
226
- Add support multi-variable/multi-component in the DOF table interface and
Lars Bilke's avatar
Lars Bilke committed
227
   extend the initial conditions to multi-components. [#1224](https://github.com/ufz/ogs/pull/1224)
Lars Bilke's avatar
Lars Bilke committed
228
- Major rework of the general process interface. That also affects the
Christoph Lehmann's avatar
Christoph Lehmann committed
229
   interface of concrete processes and local assemblers.
Lars Bilke's avatar
Lars Bilke committed
230
   least squares optimization. [#1145](https://github.com/ufz/ogs/pull/1145)
Lars Bilke's avatar
Lars Bilke committed
231
232
- Added functionality for the output of secondary variables. [#1171](https://github.com/ufz/ogs/pull/1171)
- Added material properties for zeolite adsorption and Calcium oxide/hydroxide
Lars Bilke's avatar
Lars Bilke committed
233
   reactions. [#1178](https://github.com/ufz/ogs/pull/1178)
Lars Bilke's avatar
Lars Bilke committed
234
- Transferred the TES process, a monolithically coupled THC model for simulating
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
235
   thermochemical energy storage devices, from OGS5. [#1181](https://github.com/ufz/ogs/pull/1181)
Lars Bilke's avatar
Lars Bilke committed
236
237
238
239
240
241
- Introduced a general scheme for documenting OGS6 input file settings. #978
- Added copy constructor for the class Surface, minor improvements in GeoLib. [#1237](https://github.com/ufz/ogs/pull/1237)
- Added classes GeoLib::LineSegment and GeoLib::Polyline::SegmentIterator. [#1139](https://github.com/ufz/ogs/pull/1139)
- GMSHInterface can handle stations as constraints. [#1212](https://github.com/ufz/ogs/pull/1212)
- Added functionality to duplicate geometric data. [#1229](https://github.com/ufz/ogs/pull/1229)
- Station names can be modified in Data Explorer [#1273](https://github.com/ufz/ogs/pull/1273)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
242
243

### Infrastructure
Lars Bilke's avatar
Lars Bilke committed
244
245

- Fix circular dependencies on library level. This allows for dynamic linking
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
246
247
   which is faster than static and can be used in debug builds, where the
   compilation time is more important than the runtime.
Lars Bilke's avatar
Lars Bilke committed
248
249
250
251
252
253
254
255
256
257
  - Enable shared linking of ogs libraries. [#1133](https://github.com/ufz/ogs/pull/1133)
  - Break FileIO on ApplicationsLib dependency. [#1138](https://github.com/ufz/ogs/pull/1138)
  - Remove MeshLib on FileIO dependency. [#1143](https://github.com/ufz/ogs/pull/1143), [#1153](https://github.com/ufz/ogs/pull/1153)
  - Cleanup some of AssemblerLib dependencies. [#1166](https://github.com/ufz/ogs/pull/1166)
  - Split AssemblerLib and move to MathLib and NumLib [#1208](https://github.com/ufz/ogs/pull/1208)
  - Move InsituLib to MeshLib [#1208](https://github.com/ufz/ogs/pull/1208)
  - Remove MathLib depends on NumLib [#1208](https://github.com/ufz/ogs/pull/1208)
  - Remove dependency of FileIO on Data Explorer [#1302](https://github.com/ufz/ogs/pull/1302)
- Introduced Conan package manager for automatic fetching of build dependencies, [#1141](https://github.com/ufz/ogs/pull/1141)
- Inconsistent formatting of tabs and spaces was finally resolved: now all
Lars Bilke's avatar
Lars Bilke committed
258
   formatting, indentation and alignment, are done with four spaces. [#1201](https://github.com/ufz/ogs/pull/1201)
Lars Bilke's avatar
Lars Bilke committed
259
- Windows 32-bit builds are disallowed because they are not supported.
Lars Bilke's avatar
Lars Bilke committed
260
   Can be forced by setting OGS_32_BIT=ON. [#1230](https://github.com/ufz/ogs/pull/1230)
Lars Bilke's avatar
Lars Bilke committed
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
- Simplified FindEigen.cmake, [#1209](https://github.com/ufz/ogs/pull/1209)
- git diff --check is run in its own Travis job, [#1207](https://github.com/ufz/ogs/pull/1207)

- Moved some IO implementations from FileIO to BaseLib/IO, GeoLib/IO, MeshLib/IO, [#1182](https://github.com/ufz/ogs/pull/1182), [#1235](https://github.com/ufz/ogs/pull/1235)
- Eigen is not optional anymore [#1218](https://github.com/ufz/ogs/pull/1218)
- Removed OGS_USE_EIGENLIS CMake option. Use OGS_USE_LIS instead [#1251](https://github.com/ufz/ogs/pull/1251)

### Fixes

- Fix linking of Metis in MathLib. [#1147](https://github.com/ufz/ogs/pull/1147)
- Fix memory leaks in GMSHInterface. [#1212](https://github.com/ufz/ogs/pull/1212)
- Fix build with Lis [#1267](https://github.com/ufz/ogs/pull/1267)
- Fixing several small issues with NetCDF import [#1169](https://github.com/ufz/ogs/pull/1169)
- Restructure Applications related modules
  - Move DataHolderLib and FileIO under Applications [#1279](https://github.com/ufz/ogs/pull/1279)
- Remove calling std::abort within libraries. Exceptions are thrown instead. [#1245](https://github.com/ufz/ogs/pull/1245)
- Fix finding Boost with BOOST_ROOT CMake argument [#1287](https://github.com/ufz/ogs/pull/1287)
- Fix linking of Sundials CVODE library [#1197](https://github.com/ufz/ogs/pull/1197)
- Fixed issue where geometry names would be missing after merging geometries [#1295](https://github.com/ufz/ogs/pull/1295)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
280

281
## 6.0.5
282

Lars Bilke's avatar
Lars Bilke committed
283
284
285
286
287
### Features

- Added an ODE solver library that can solve transient and nonlinear processes
   (see <http://doxygen.opengeosys.org/df/d35/group__ODESolver.html>).
- Move up common Process parts from particular GroundwaterFlow process
288
   implementation. #951, #982
Lars Bilke's avatar
Lars Bilke committed
289
290
291
292
293
294
295
- Separate Dirichlet boundary condition class implementation. #963
- Split process output and post timestep. #998
- Added pre- and postTimestep and -Iteration hooks to processes. [#1094](https://github.com/ufz/ogs/pull/1094), [#1100](https://github.com/ufz/ogs/pull/1100), [#1101](https://github.com/ufz/ogs/pull/1101)
- New configuration tree parser
  - Checks configuration parameters more strictly, automatically prints error/warning messages.
  - Requires Boost >= 1.56 because of boost::optional with move semantics.
  - Command line argument `--config-warnings-nonfatal` that keeps OGS from terminating on warnings during
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
296
     configuration file parsing (errors still makes it terminate).
Lars Bilke's avatar
Lars Bilke committed
297
298
299
300
301
- Axis aligned bounding box:
  - Is now a from the right half-open interval.
  - Removed template from class declaration.
- MeshLib: Class MeshElementGrid implements a grid data structure supporting search operations.
- Added CMake option `OGS_EIGEN_DYNAMIC_SHAPE_MATRICES` that makes OGS use dynamically.
302
   allocated shape matrices.
Lars Bilke's avatar
Lars Bilke committed
303
- Added several cmake options for selecting which element types, dimensions and
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
304
   orders to be built. Selecting only few element types speeds up compilation
Lars Bilke's avatar
Lars Bilke committed
305
   significantly. [#1092](https://github.com/ufz/ogs/pull/1092)
Lars Bilke's avatar
Lars Bilke committed
306
307
308
- Command line argument `-l` for OGS cli and testrunner to specify verbosity of logging. [#1056](https://github.com/ufz/ogs/pull/1056)
- Added possibility to specify after which timesteps there shiuld be output.
- Added possibility to specify timesteps of different size for use with
309
   transient processes.
310
311

#### DataExplorer and utilities
Lars Bilke's avatar
Lars Bilke committed
312
313
314
315
316
317
318
319
320
321
322
323
324

- Added command line tool for creating layered meshes from raster files
- OGSFileConverter is now a separate library
- Raster file to structured grid conversion can now convert pixel values in user-defined scalar arrays
- All scalar arrays will be displayed in mesh information window in DataExplorer
- Added generation of structured meshes to DataExplorer
- Restructured mesh creation access in DataExplorer
- Mesh layers can be added to existing meshes in DataExplorer
- Rework tools:
  - CreateBoundaryConditionsAlongPolyline
  - AddTopLayer
  - ResetPropertyInPolygonalRegion
  - removeMeshElements
325
326
327

### Infrastructure

Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
328
329
- Minimum Boost version: 1.56.0. #943
- Boost requirement is now header-only. #940
Lars Bilke's avatar
Lars Bilke committed
330
331
- Optional support for VTK 7. [#1083](https://github.com/ufz/ogs/pull/1083)
- Test data is now a git submodule. [#1000](https://github.com/ufz/ogs/pull/1000)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
332
333
- In-code defined Jenkins jobs. #970
- Use [clang's address and undefined behaviour sanitizers](https://svn.ufz.de:8443/job/OGS-6/job/Docker/job/clang-sanitizer/) on Jenkins now. #958
Lars Bilke's avatar
Lars Bilke committed
334

335
336
### Documentation

Lars Bilke's avatar
Lars Bilke committed
337
- Speed up builds with [ccache](http://docs.opengeosys.org/docs/devguide/advanced/using-ccache), #938
338
- Overview of the new non-linear, transient solver in [ODESolver](see
Lars Bilke's avatar
Lars Bilke committed
339
  <http://doxygen.opengeosys.org/df/d35/group__ODESolver.html>) source code
340
  documentation.
341
342

### Fixes
Lars Bilke's avatar
Lars Bilke committed
343
344
345
346
347
348
349
350
351
352
353

- Fix bugs in GeoLib:
  - lineSegmentIntersects.
  - Polygon::splitPolygonAtIntersection.
  - Grid.
- GeoMapper: Refactoring few methods, c++11. #977
- Rework FileIO::GMSH interface
  - Process geometries located other than in the x-y-plane.
  - Respect the scaling factor for Stations.
  - Fix memory leaks.
  - Added/modified tests for GML-, GMS- and TetGen-files.
354

355
## 6.0.4
356

Lars Bilke's avatar
Lars Bilke committed
357
358
359
360
361
362
### Features

- Parallel computing framework for FEM by using PETSc, which also includes
  - Parallel input of partitioned mesh data.
  - Parallel output of solutions by using pvtu data format.
- New data structures for mesh properties are used everywhere replacing
Dmitrij Naumov's avatar
Dmitrij Naumov committed
363
   Element's value member.
Lars Bilke's avatar
Lars Bilke committed
364
- The penalty method to impose first-type boundary conditions was substituted
Dmitrij Naumov's avatar
Dmitrij Naumov committed
365
   with a non-penalty method for LIS and Eigen linear solvers.
Lars Bilke's avatar
Lars Bilke committed
366
- Support for multiple nodal variables is extended to the boundary conditions,
Dmitrij Naumov's avatar
Dmitrij Naumov committed
367
   the sparsity pattern.
Lars Bilke's avatar
Lars Bilke committed
368
369
- Passing of linear solver options from the project files is now possible.
- The global matrix and global vector type of indices is consistent with the
Dmitrij Naumov's avatar
Dmitrij Naumov committed
370
   linear solver library being used.
Lars Bilke's avatar
Lars Bilke committed
371
372
373

### Infrastructure

Lars Bilke's avatar
Typo    
Lars Bilke committed
374
- Added CMake option `OGS_CPU_ARCHITECTURE`, #858, [downloadable binaries](http://docs.opengeosys.org/download) build by Jenkins should now run on more CPUs
375
- Added CMake options for Boost, VTK and Eigen (`OGS_LIB_BOOST`, ...) to specify if libs are searched on the system first, then build them locally (`Default`), or you can specify to just use system libs (`System`) or force a local build (`Local`)
376
377
378
- Added CMake options for enabling Clang sanitizer:
  - `OGS_ADDRESS_SANITIZER`
  - `OGS_UNDEFINED_BEHAVIOR_SANITIZER`
Dmitrij Naumov's avatar
Dmitrij Naumov committed
379
380
381
- The zlib library is removed from ThirdParty directory.
- A LIS solver interface using Eigen's sparse matrices is now available through
  CMake option `OGS_USE_EIGENLIS`.
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
382
- CMake configuration uses [ccache](https://ccache.samba.org/) if available.
Lars Bilke's avatar
Lars Bilke committed
383

Lars Bilke's avatar
Lars Bilke committed
384
385
386
387
### Documentation

- Added [offline viewable Doxygen documentation](http://docs.opengeosys.org/docs/devguide/documentation/offline-documentation-viewer)

Dmitrij Naumov's avatar
Dmitrij Naumov committed
388
### Fixes
Lars Bilke's avatar
Lars Bilke committed
389
390
391

- Fix all ogs-internal warnings on all OS.
- Move eigen solver compute call to solve(); different fix for 0237275
Lars Bilke's avatar
Lars Bilke committed
392

393
## 6.0.3
Tom Fischer's avatar
Tom Fischer committed
394

Lars Bilke's avatar
Lars Bilke committed
395
396
397
398
399
400
401
### Features

- Mesh properties are now used for:
  - heterogeneous "initial conditions" (actually a start solution vector for the elliptic problem).
  - spatially heterogeneous hydraulic conductivity values in the groundwater flow process.
- First steps towards time dependent problems: Time loop integration for processes is provided.
- Interpolation of nodal quantities on elements using shape functions.
Lars Bilke's avatar
Lars Bilke committed
402
403
404

- Mesh generator can create surface meshes according to a given function

Lars Bilke's avatar
Lars Bilke committed
405
406
- Utilities:
- MoveGeometry
Lars Bilke's avatar
Lars Bilke committed
407

Lars Bilke's avatar
Lars Bilke committed
408
409
- The DOF table handles now all of the provided element types: Hex 8 and 20, Line 2 and 3, Prism 6 and 15, Pyramid 5 and 13, Quad 4, 8, and 9, Tet 4 and 10, Triangle 3 and 6.
- Eigen linear solver library can be used for solution of the linear systems of equations.
Tom Fischer's avatar
Tom Fischer committed
410
411
412

- Implemented [OctTree](https://github.com/ufz/ogs/pull/714) for fast searching
  points and nodes
Lars Bilke's avatar
Lars Bilke committed
413
414
- Volumetric and surface grid
- ElementSearcher NodeSearcher improvements
Lars Bilke's avatar
Lars Bilke committed
415
416
417
418
- Generalized the computation of rotation matrix to xy

### Fixes

Lars Bilke's avatar
Lars Bilke committed
419
420
421
422
423
424
- FEFLOW interface supports element sets now.
- Reduce compilation times by using forward declarations and removing unnecessary includes and using explicit template instantiation for often required classes.
- GMSH2OGS: fixed bug in cases GMSH mesh does not contain line elements
- CreateBoundaryConditionsAlongPolylines: fixed bug concerning the GeoLib and point ids.
- PointVec corrected point id map
- Shape interface creates polylines in a consistent state
Lars Bilke's avatar
Lars Bilke committed
425
426

### Infrastructure
Lars Bilke's avatar
Lars Bilke committed
427
428

- Replace quickcheck with autocheck. See <https://github.com/thejohnfreeman/autocheck.git>
Lars Bilke's avatar
Lars Bilke committed
429
430
431
432
433
434
for more details on autocheck
- Added support for cross-compiling with [MXE](http://mxe.cc/): build native Windows binaries on Linux and Mac OS, see [Cross-Compiling help page](http://docs.opengeosys.org/docs/devguide/advanced/cross-compiling) and #767
- Migrated to new Travis infrastructure (faster build times), see #775
- Simplified CMake library linking, see #769

## Test examples
Lars Bilke's avatar
Lars Bilke committed
435

Lars Bilke's avatar
Lars Bilke committed
436
437
438
439
440
441
442
443
- Test case: groundwater flow in the Unstrut catchment (model consists approximately of 9e6 hexahedral cells)
  - Simulations using homogeneous and heterogeneous hydraulic conductivity
  - Integrated rivers as Dirichlet type boundary conditions
  - Integrated groundwater recharge (spatialy homogeneous) as Neumann boundary condition

![unstrut_heterogeneous_rivers_top_layer_diff_recharge-no_recharge](https://cloud.githubusercontent.com/assets/329493/10043383/f75b837a-61f2-11e5-952e-f75d5d5a195b.png)

## Next steps
Lars Bilke's avatar
Lars Bilke committed
444

Lars Bilke's avatar
Lars Bilke committed
445
446
447
 The next big step will be the implementation of a parallelization scheme using PETSc library

### In development
Lars Bilke's avatar
Lars Bilke committed
448

Lars Bilke's avatar
Lars Bilke committed
449
450
451
452
- OGS#PETSc interface for parallel computing
- Solving of time dependent problems

### Planned
Lars Bilke's avatar
Lars Bilke committed
453

Lars Bilke's avatar
Lars Bilke committed
454
455
- Implementation of a linear parabolic pde solver
- Extending the linear elliptic solver to non-linear problems
Tom Fischer's avatar
Tom Fischer committed
456

457
## 6.0.2
458

Lars Bilke's avatar
Lars Bilke committed
459
| Released on 2015/06/15, [GitHub Release Link](https://github.com/ufz/ogs/releases/tag/6.0.2)
460
461
462
463
464

## Release notes

The second release of ogs6 introduces Neumann boundary conditions and VTK result output.

Lars Bilke's avatar
Lars Bilke committed
465
### Features
466
467

- [Neumann boundary conditions](http://docs.opengeosys.org/docs/benchmarks/elliptic/groundwater-flow-neumann)
468
- Implement mesh properties for storage of data fields. This also includes mapped values (e.g. based on material id) [PR #542](https://github.com/ufz/ogs/pull/542), [PR #644](https://github.com/ufz/ogs/pull/644),
469
- Refactored mesh property classes to [enable VTK output](https://github.com/ufz/ogs/pull/692)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
470
- Extended the available elements to quadratic (e.g. Quad8) based on generalized "element rules".  [#572](https://github.com/ufz/ogs/pull/572), [PR #656](https://github.com/ufz/ogs/pull/656), [PR #657](https://github.com/ufz/ogs/pull/657),
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
471
- Extend computation of shape matrices to lower dimensional elements embedded in higher dimensional space [#655](https://github.com/ufz/ogs/pull/655)
472
473
474
- Builds with MinGW (GCC) on Windows, see [Developer Guide](http://docs.opengeosys.org/docs/devguide/getting-started/prerequisites) and the new MinGW platform instructions
- [Cross-compiling for Windows with MXE on Mac OS](http://docs.opengeosys.org/docs/devguide/advanced/cross-compiling)
- [Support for new cross-platform IDE CLion](http://docs.opengeosys.org/docs/devguide/development-workflows/development-ides#clion)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
475
- Add gradual refinement to the structured mesh generator [PR #539](https://github.com/ufz/ogs/pull/539)
476
- Add a command line tool "queryMesh" to search mesh information [PR #665](https://github.com/ufz/ogs/pull/665)
477
- Add a command line tool "AddTopLayer" to add an additional top layer (for example a soil layer, see also the [documentation](http://docs.opengeosys.org/docs/tools/meshing/addtoplayer)) [PR #649](https://github.com/ufz/ogs/pull/649)
478
479
480
481

### Fixes

- Performance optimizations in VTK mesh conversion, [PR #695](https://github.com/ufz/ogs/pull/695)
Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
482
483
484
- Improve layered prism mesh construction
- Fix a lot of warnings on gcc/clang/msvc compilers improving the code

485
486
487
488
489
490
491
### Infrastructure

- Test runtime is monitored at Jenkins for [normal](https://svn.ufz.de:8443/job/OGS-6/job/Tests_Linux/) and [nightly large tests](https://svn.ufz.de:8443/job/OGS-6/job/Tests_Linux_Large/)
- Utilities are build by separate Jenkins Jobs, e.g. [Win_Utils](https://svn.ufz.de:8443/job/OGS-6/job/Win_Utils/)

## Test examples

492
- [Groundwater flow (Neumann)](http://docs.opengeosys.org/docs/benchmarks/elliptic/groundwater-flow-neumann)
493
494
495
496
497

## Next steps

### In development

Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
498
499
- Heterogeneous fields (for e.g. hydraulic conductivity parameters)
- Octree data structures for fast searches
500
501
502
503
- OGS#PETSc interface for parallel computing

### Planned

Dmitry Yu. Naumov's avatar
Dmitry Yu. Naumov committed
504
505
- Parallelization scheme using PETSc library
- Extending the linear elliptic solver to non-linear problems
506

507
## 6.0.1
Lars Bilke's avatar
Lars Bilke committed
508
509
510
511
512

| Released 2015/03/02, [GitHub Release Link](https://github.com/ufz/ogs/releases/tag/6.0.1)

The 6th version of OpenGeoSys (OGS) is under way. After single and coupled FORTRAN modules in ROCKFLOW 1+2, the C version 3 with dynamic data structures, the object-oriented C++ parallelized version 4, completed with data integration and visualization tools by version 5; ogs6 - as an open source project - is aimed at performing on supercomputing platforms and providing complete workflows for solving of coupled multi-field problems in real world applications. The major paradigms of ogs6 are being developer-friendly, performing, and user-friendly.

513
### Important links
Lars Bilke's avatar
Lars Bilke committed
514

Lars Bilke's avatar
Lars Bilke committed
515
516
- Getting started tutorial: <http://docs.opengeosys.org/docs/quickstart>
- Descriptions of selected benchmarks: <http://docs.opengeosys.org/docs/benchmarks>
Lars Bilke's avatar
Lars Bilke committed
517

Lars Bilke's avatar
Lars Bilke committed
518
519
- Source code access: <https://github.com/ufz/ogs>
- Developer guide: <http://docs.opengeosys.org/docs/devguide>
Lars Bilke's avatar
Lars Bilke committed
520

521
### Release notes
Lars Bilke's avatar
Lars Bilke committed
522

Lars Bilke's avatar
Lars Bilke committed
523
524
The first version ogs6 is dedicated for elliptic problems.

525
#### Features
Lars Bilke's avatar
Lars Bilke committed
526
527
528
529
530
531
532
533
534

- Basic structures of processes
- Mathematical operations are based on Eigen3 library
- Linear solvers: DenseMatrix with Gauss elimination, and LIS (<http://www.ssisc.org/lis/>)
- XML based IO
- Standard finite element method (FEM)
- Available element types: lines, triangles, quads, hexahedra
- Dirichlet boundary conditions
- Linear elliptic solver (e.g. Groundwater flow) for scalar quantities in homogeneous media
Lars Bilke's avatar
Lars Bilke committed
535

536
#### Fixes
Lars Bilke's avatar
Lars Bilke committed
537

Lars Bilke's avatar
Lars Bilke committed
538
- DenseMatrix Gauss algorithm pivoting
Karsten Rink's avatar
Karsten Rink committed
539
540
- Fixing mem-leaks on DataExplorer start up
- Fixing resizing and layout issues in various DataExplorer dialogs
Lars Bilke's avatar
Lars Bilke committed
541

542
### Test examples
Lars Bilke's avatar
Lars Bilke committed
543

544
![First OGS process result](https://cloud.githubusercontent.com/assets/329493/6170573/ce9fd96c-b2d5-11e4-9936-a470e7be281f.png)
Lars Bilke's avatar
Lars Bilke committed
545

Lars Bilke's avatar
Lars Bilke committed
546
547
- Example 1: Unit square (access)
- Example 2: Unit cube (access): has 1000 hexahedra  elements with Dirichlet boundary conditions (u=1|x=0) and (u=-1|x=1)
Lars Bilke's avatar
Lars Bilke committed
548

549
### Next steps
Lars Bilke's avatar
Lars Bilke committed
550
551

### In development
Lars Bilke's avatar
Lars Bilke committed
552
553
554

- OGS#PETSc interface for parallel computing (02/2015*planned)
- Neuman boundary conditions (03/2015*planned)
Lars Bilke's avatar
Lars Bilke committed
555
556

### Planned
Lars Bilke's avatar
Lars Bilke committed
557
558

- Parabolic solver