amdis-core merge requestshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests2019-12-28T12:46:57Zhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/137communicator construction2019-12-28T12:46:57ZPraetorius, Simoncommunicator constructionhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/139cmake have package rename2019-12-28T11:15:26ZPraetorius, Simoncmake have package renamerenamed `HAVE_XXX` into `AMDIS_HAS_XXX` and updated Hypre cmake configurationrenamed `HAVE_XXX` into `AMDIS_HAS_XXX` and updated Hypre cmake configurationhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/138the install script now compiles all dune modules and creates an opts file2019-12-28T11:13:43ZPraetorius, Simonthe install script now compiles all dune modules and creates an opts filehttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/135writers for general gridfunction2019-12-26T13:55:04ZPraetorius, Simonwriters for general gridfunctionGeneralize the `VtkWriter` and `DuneVtkWriter` to accept general gridfunction instead of just `DiscreteFunction`.Generalize the `VtkWriter` and `DuneVtkWriter` to accept general gridfunction instead of just `DiscreteFunction`.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/134discretefunction with child function2019-12-26T09:54:00ZPraetorius, Simondiscretefunction with child functionAdd `child()` to `DiscreteFunction` to have a similar interface as `DOFVector`.Add `child()` to `DiscreteFunction` to have a similar interface as `DOFVector`.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/125DiscreteFunction vs. DOFVectorView2019-12-25T23:53:43ZPraetorius, SimonDiscreteFunction vs. DOFVectorViewRemoved DOFVectorView in favor of DiscreteFunction. Removed DOFVectorView in favor of DiscreteFunction. https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/131Simplify observer2019-12-25T10:18:47ZPraetorius, SimonSimplify observerThis MR redesigns the `Observer` class and the `Notifier` (former `Signals`) class to have a simpler interface and to allow to observe multiple classes of the same type. This is accomplished by using additional tags in the observer templ...This MR redesigns the `Observer` class and the `Notifier` (former `Signals`) class to have a simpler interface and to allow to observe multiple classes of the same type. This is accomplished by using additional tags in the observer template type list and in the `updateImpl()` method.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/133removed dependency on dune-functions interpolate due to breaking changes2019-12-23T20:38:49ZPraetorius, Simonremoved dependency on dune-functions interpolate due to breaking changeshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/130removed dependency on dune-functions interpolate due to breaking changes2019-12-20T17:00:13ZPraetorius, Simonremoved dependency on dune-functions interpolate due to breaking changeshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/128Issue/cleanup concepts2019-12-16T13:36:32ZPraetorius, SimonIssue/cleanup conceptsSimple renaming of `requires_` to `require`. Maybe we should also remove the whole `Concepts::models` trick and replace it with dune-common's version. It is not better, it is just already in the library.Simple renaming of `requires_` to `require`. Maybe we should also remove the whole `Concepts::models` trick and replace it with dune-common's version. It is not better, it is just already in the library.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/129no-mpi issues in PETSc backend2019-12-16T12:46:13ZPraetorius, Simonno-mpi issues in PETSc backendSome issues that were overseen in the last MRSome issues that were overseen in the last MRhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/127added check to add_amdis_executable that chosen Grid exists2019-12-16T12:35:37ZPraetorius, Simonadded check to add_amdis_executable that chosen Grid existsTest whether AlbertaGrid and ALUGrid are found whenever these grids are explicitly requested in `add_amdis_executable`.Test whether AlbertaGrid and ALUGrid are found whenever these grids are explicitly requested in `add_amdis_executable`.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/126replaced implementation of static Size template with generic constexpr function2019-12-16T12:35:23ZPraetorius, Simonreplaced implementation of static Size template with generic constexpr functionThis follows some pattern found in dune/functions and in MTL. The new name is `static_size()`, but the old variable template `Size_v` still exists. Especially when just asking for the size of a template parameter, the variable template i...This follows some pattern found in dune/functions and in MTL. The new name is `static_size()`, but the old variable template `Size_v` still exists. Especially when just asking for the size of a template parameter, the variable template is more suitable.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/124cleanup of headers and itl solvers in mtl backend2019-12-28T14:34:22ZPraetorius, Simoncleanup of headers and itl solvers in mtl backend- added Hypro preconditioner
- added krylov preconditioner
- removed unused itl headers
- use just 1 preconditioner instead of left+right precon- added Hypro preconditioner
- added krylov preconditioner
- removed unused itl headers
- use just 1 preconditioner instead of left+right preconhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/123removed some forward declarations from GlobalIdSet2019-12-16T12:34:17ZPraetorius, Simonremoved some forward declarations from GlobalIdSethttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/122Optimize compile builds using ccache and gold linker2019-12-06T17:53:40ZPraetorius, SimonOptimize compile builds using ccache and gold linkerCCache may improve the compile time by a factor 50 or more. Additionally, the gold-linker is used if available, to improve link time as well.CCache may improve the compile time by a factor 50 or more. Additionally, the gold-linker is used if available, to improve link time as well.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/120fixed no-mpi bug in istl backend2019-12-06T16:05:25ZPraetorius, Simonfixed no-mpi bug in istl backendThis communication creator was not specialized in case of not HAVE_MPI. This is resolved in this MR. Relates to issue #6This communication creator was not specialized in case of not HAVE_MPI. This is resolved in this MR. Relates to issue #6https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/121No-MPI build with PETSC backend fixed2019-12-06T15:37:49ZPraetorius, SimonNo-MPI build with PETSC backend fixedThis parallel mpi communicator namespace was used in a no MPI context. This is resolver here. Relates to issue #6This parallel mpi communicator namespace was used in a no MPI context. This is resolver here. Relates to issue #6https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/119dune 2.7 updated some preconditioners in istl such that some precompiler file...2019-12-06T13:48:05ZPraetorius, Simondune 2.7 updated some preconditioners in istl such that some precompiler files had to be fixedin dune istl the SeqGS preconditioner changed from a class to a typedef to SeqSOR. A typedef can not be explicitly instantiated, leading to a compiler error. This is resolved in this MR.in dune istl the SeqGS preconditioner changed from a class to a typedef to SeqSOR. A typedef can not be explicitly instantiated, leading to a compiler error. This is resolved in this MR.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/117Rewriting adaptive grid2019-10-21T16:11:10ZPraetorius, SimonRewriting adaptive grid### Summary
The class `AdaptiveGrid` is now a real dune grid, is derived from `GridDefaultImplementation` and can be used wherever a grid/gridview is expected.
### More
Additionally to make `AdaptiveGrid` a dune grid, I have removed...### Summary
The class `AdaptiveGrid` is now a real dune grid, is derived from `GridDefaultImplementation` and can be used wherever a grid/gridview is expected.
### More
Additionally to make `AdaptiveGrid` a dune grid, I have removed the static `instance` method. It was necessary, to always create an AdaptiveGrid before any function providing a `const Grid&` can use it (like the `makeGlobalBasis` function. Thus, this is the same, as requiring that the user always constructs an AdaptiveGrid. This can be done with a regular constructor. Since then the grid is created and the GridView returns the correct AdaptiveGrid on `grid()`, the GridView can be directly passed to the ParallelGlobalBasis.
### Implications
- The ProblemStat always stores an AdaptiveGrid.
- The DefaultProblemStatTraits define the AdaptiveGrid as Grid
- The ParallelGlobalBasis can be created with any dune grid, including the AdaptiveGrid.
- Automatic adaption is only provided if the AdaptiveGrid is used.
- The user can pass a non-adaptive Grid to ProblemStat, that is automatically wrapped in the AdaptiveGrid class.