## Release notes # 6.0.5 (in preparation) ### Features: - Axis aligned bounding box: - Is now a from the right half-open interval. - Removed template from class declaration. - 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 `-l` for OGS cli and testrunner to specify verbosity of logging, #1056 - Rework tools: - CreateBoundaryConditionsAlongPolyline - AddTopLayer - ResetPropertyInPolygonalRegion - removeMeshElements - MeshLib: Class MeshElementGrid implements a grid data structure supporting search operations - GeoMapper: Cleanup - GeoLib: - Fix bugs (lineSegmentIntersects, Polygon::splitPolygonAtIntersection, Grid) - FileIO: - Rework GMSH interface - Process geometries located other than in the x-y-plane - Respect the scaling factor for Stations - fix mem leaks ### Infrastructure - Minimum Boost version: 1.56.0, #943 - Boost requirement is now header-only, #940 - Optional support for VTK 7, #1083 - Test data is now a git submodule, #1000 - In-code defined Jenkins jobs, #970 - Jenkins now [tests also with clang sanitizers](https://svn.ufz.de:8443/job/OGS-6/job/Docker/job/clang-sanitizer/), #958 ### Documentation - Speed up builds with [ccache](http://docs.opengeosys.org/docs/devguide/advanced/using-ccache), #938 ### Fixes # 6.0.4 ### 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 Element's value member. - The penalty method to impose first-type boundary conditions was substituted with a non-penalty method for LIS and Eigen linear solvers. - Support for multiple nodal variables is extended to the boundary conditions, the sparsity pattern. - 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 linear solver library being used. ### Infrastructure - Added CMake option `OGS_CPU_ARCHITECTURE`, #858, [downloadable binaries](http://docs.opengeosys.org/download) build by Jenkins should now run on more CPUs - 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`) - Added CMake options for enabling Clang sanitizer: - `OGS_ADDRESS_SANITIZER` - `OGS_UNDEFINED_BEHAVIOR_SANITIZER` - 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`. - CMake configuration uses [ccache](https://ccache.samba.org/) if available. ### Documentation - Added [offline viewable Doxygen documentation](http://docs.opengeosys.org/docs/devguide/documentation/offline-documentation-viewer) ### Fixes - Fix all ogs-internal warnings on all OS. - Move eigen solver compute call to solve(); different fix for 0237275 # 6.0.3 ### 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. - Mesh generator can create surface meshes according to a given function - Utilities: - MoveGeometry - 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. - Implemented [OctTree](https://github.com/ufz/ogs/pull/714) for fast searching points and nodes - Volumetric and surface grid - ElementSearcher NodeSearcher improvements - Generalized the computation of rotation matrix to xy ### Fixes - 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 ### Infrastructure - Replace quickcheck with autocheck. See https://github.com/thejohnfreeman/autocheck.git 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 - 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  ## Next steps The next big step will be the implementation of a parallelization scheme using PETSc library ### In development - OGS#PETSc interface for parallel computing - Solving of time dependent problems ### Planned - Implementation of a linear parabolic pde solver - Extending the linear elliptic solver to non-linear problems # 6.0.2 | Released on 2015/06/15, [GitHub Release Link](https://github.com/ufz/ogs/releases/tag/6.0.2) ## Release notes The second release of ogs6 introduces Neumann boundary conditions and VTK result output. ### Features: - [Neumann boundary conditions](http://docs.opengeosys.org/docs/benchmarks/elliptic/groundwater-flow-neumann) - 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), - Refactored mesh property classes to [enable VTK output](https://github.com/ufz/ogs/pull/692) - 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), - Extend computation of shape matrices to lower dimensional elements embedded in higher dimensional space [#655](https://github.com/ufz/ogs/pull/655) - 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) - Add gradual refinement to the structured mesh generator [PR #539](https://github.com/ufz/ogs/pull/539) - Add a command line tool "queryMesh" to search mesh information [PR #665](https://github.com/ufz/ogs/pull/665) - 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) ### Fixes - Performance optimizations in VTK mesh conversion, [PR #695](https://github.com/ufz/ogs/pull/695) - Improve layered prism mesh construction - Fix a lot of warnings on gcc/clang/msvc compilers improving the code ### 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 - [Groundwater flow (Neumann)](http://docs.opengeosys.org/docs/benchmarks/elliptic/groundwater-flow-neumann):  ## Next steps ### In development - Heterogeneous fields (for e.g. hydraulic conductivity parameters) - Octree data structures for fast searches - OGS#PETSc interface for parallel computing ### Planned - Parallelization scheme using PETSc library - Extending the linear elliptic solver to non-linear problems -------------------------------------------------------------------------------- # 6.0.1 | 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. ## Important links: - Getting started tutorial: http://docs.opengeosys.org/docs/quickstart - Descriptions of selected benchmarks: http://docs.opengeosys.org/docs/benchmarks - Source code access: https://github.com/ufz/ogs - Developer guide: http://docs.opengeosys.org/docs/devguide ## Release notes The first version ogs6 is dedicated for elliptic problems. ### Features: - 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 ### Fixes - DenseMatrix Gauss algorithm pivoting ## Test examples  - 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) ## Next steps ### In development - OGS#PETSc interface for parallel computing (02/2015*planned) - Neuman boundary conditions (03/2015*planned) ### Planned - Parabolic solver