amdis-core merge requestshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests2019-12-26T09:54:00Zhttps://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/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/132WIP: sparsity pattern2019-12-30T22:44:23ZPraetorius, SimonWIP: sparsity patternAdd a generic sparsity pattern type that is passed in the `init()` method of matrices.Add a generic sparsity pattern type that is passed in the `init()` method of matrices.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/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/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/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/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/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/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/118Feature/cleanup ctors dofvec pgb2020-01-06T17:34:42ZMüller, FelixFeature/cleanup ctors dofvec pgbThis MR does the following:
- Replace explicit type `DefaultGlobalBasis` in constructor argument of `DOFVector` and `ParallelGlobalBasis` with a concept check for `Dune::Functions::GlobalBasis` for the conversion of a `dune-functions`-st...This MR does the following:
- Replace explicit type `DefaultGlobalBasis` in constructor argument of `DOFVector` and `ParallelGlobalBasis` with a concept check for `Dune::Functions::GlobalBasis` for the conversion of a `dune-functions`-style basis into a `ParallelGlobalBasis`.
- Shorten interface methods of `ParallelGlobalBasis` (Cleanup)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.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/116cleanup wrap_or_share2019-10-11T08:07:27ZPraetorius, Simoncleanup wrap_or_shareCalrify the ownership of the arguments in `wrap_or_share`.Calrify the ownership of the arguments in `wrap_or_share`.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/115Disable tests for PETSc with nonmatching type2019-10-07T12:06:13ZMüller, FelixDisable tests for PETSc with nonmatching typeThe test fails using the `PETSc` backend with a failed static assert
```cpp
amdis/linearalgebra/petsc/Traits.hpp:19:5: static_assert(std::is_same<T,PetscScalar>::value, "");
```
This MR disables the tests with nonmatching types.The test fails using the `PETSc` backend with a failed static assert
```cpp
amdis/linearalgebra/petsc/Traits.hpp:19:5: static_assert(std::is_same<T,PetscScalar>::value, "");
```
This MR disables the tests with nonmatching types.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/114add cmake files to CMakeLists2019-09-30T18:22:11ZPraetorius, Simonadd cmake files to CMakeListshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/113Cleanup the constructors of MatrixBase, VectorBase, BiLinearForm, and LinearForm2019-09-30T19:48:39ZPraetorius, SimonCleanup the constructors of MatrixBase, VectorBase, BiLinearForm, and LinearFormhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/112WIP: applies c++17 language and library features2020-04-14T16:14:54ZPraetorius, SimonWIP: applies c++17 language and library featureshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/111Quadmath2019-09-30T07:55:10ZPraetorius, SimonQuadmathProvide support for quad-precision floating point numbersProvide support for quad-precision floating point numbershttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/110remove LagrangePreBasis forward declaration2019-09-27T17:39:35ZPraetorius, Simonremove LagrangePreBasis forward declarationhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/109some errors found by cppclean2019-09-27T15:49:39ZPraetorius, Simonsome errors found by cppclean