amdis-core merge requestshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests2019-12-16T12:34:17Zhttps://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/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 cppcleanhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/108correct some small typos2019-09-27T14:53:08ZPraetorius, Simoncorrect some small typoshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/107Restructuring of Matrix and Vector and linear-algebra backends2019-09-27T07:37:45ZPraetorius, SimonRestructuring of Matrix and Vector and linear-algebra backends### Summary
Restructuring of Matrix and Vector and linear-algebra backends
### Details
* Restructuring the vector and matrix backend wrappers
* Added init-finalize also for vectors
* Require gather/scatter operations instead of direct...### Summary
Restructuring of Matrix and Vector and linear-algebra backends
### Details
* Restructuring the vector and matrix backend wrappers
* Added init-finalize also for vectors
* Require gather/scatter operations instead of direct vector/matrix access
* Rewritten the interpolation
* Added ParallelIndexSet and DOFMapping to be used also in other backendshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/106derive some method from the super class in MacroGridFactory2019-09-24T12:15:06ZPraetorius, Simonderive some method from the super class in MacroGridFactoryhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/105add NodeIndices.hpp to CMakeLists2019-09-24T11:59:11ZPraetorius, Simonadd NodeIndices.hpp to CMakeListshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/104add AllTrueBitSetVector.hpp to CMakeLists2019-09-24T11:37:23ZPraetorius, Simonadd AllTrueBitSetVector.hpp to CMakeLists