amdis-core merge requestshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests2019-08-21T15:03:23Zhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/82extended search directories to find MTL2019-08-21T15:03:23ZPraetorius, Simonextended search directories to find MTLhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/81check for cxx flags with -pedantic-errors flag2019-08-21T14:23:48ZPraetorius, Simoncheck for cxx flags with -pedantic-errors flaghttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/78PETSc backend2019-09-27T16:42:16ZPraetorius, SimonPETSc backend### Summary
Implementation of the parallel linear algebra backend PETSc
### Summary
Implementation of the parallel linear algebra backend PETSc
https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/77WIP: Solver and Preconditioners for istl backend2019-09-27T14:16:00ZPraetorius, SimonWIP: Solver and Preconditioners for istl backend### Summary
Restructuring the solver and preconditioner creators in for istl backend to allow arbitrary recursive nesting### Summary
Restructuring the solver and preconditioner creators in for istl backend to allow arbitrary recursive nestinghttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/73Restricted integration to interior elements2019-08-21T11:28:04ZMüller, FelixRestricted integration to interior elementsThis avoids summing up elements twice when using the `integrate()` function in parallel with overlapping grids.This avoids summing up elements twice when using the `integrate()` function in parallel with overlapping grids.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/72change ellipt to run in parallel2019-09-28T13:03:24ZPraetorius, Simonchange ellipt to run in parallelhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/70sum up parallel integrals2019-06-14T08:36:25ZPraetorius, Simonsum up parallel integralshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/69add coefficient type to DefaultProblemTraits2019-06-12T10:32:42ZPraetorius, Simonadd coefficient type to DefaultProblemTraitshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/63allow current directory for output and make it default2019-06-08T12:16:51ZPraetorius, Simonallow current directory for output and make it defaulthttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/62do not overwrite dirichlet node classification when iterating over intersections2019-06-08T12:16:28ZPraetorius, Simondo not overwrite dirichlet node classification when iterating over intersectionshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/61Filewriter abstraction2019-09-30T08:47:53ZPraetorius, SimonFilewriter abstraction### Summary
Abstraction of the filewriter interface to allow more writers
### Details
The filewriter interface is specified and a creator class added for some writer file formats. ### Summary
Abstraction of the filewriter interface to allow more writers
### Details
The filewriter interface is specified and a creator class added for some writer file formats. https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/60Added missing file BackupRestor.hpp to CMakeLists2019-05-16T11:29:28ZPraetorius, SimonAdded missing file BackupRestor.hpp to CMakeListshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/59change AMDiS::init to Environment in BackupRestoreTest2019-05-12T12:29:41ZPraetorius, Simonchange AMDiS::init to Environment in BackupRestoreTesthttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/58Add generalized derivative and local-to-global adapter to handle the global d...2019-06-08T13:02:21ZPraetorius, SimonAdd generalized derivative and local-to-global adapter to handle the global derivatives uniformly### Summary
Cleanup of Gridfunctions, i.e. separate order, derivative and gridfunction concepts. Add generalized derivative with gradient, divergence and partial derivatives. Add a local-to-global adapter similar to the one found in dune...### Summary
Cleanup of Gridfunctions, i.e. separate order, derivative and gridfunction concepts. Add generalized derivative with gradient, divergence and partial derivatives. Add a local-to-global adapter similar to the one found in dune-localfunctions.
### Details
1. Cleanup of Gridfunctions:
The `GridFunctionConcepts` is split into several parts, `Order.hpp`, `Derivative.hpp` and `GridFunction.hpp` for a cleaner structure. Thereby, the free functions `order()`, `derivative()` and `localFunctions()` now redirect to the corresponding member functions when those member functions are available.
2. Generalized derivatives:
The function `derivative()` is extended by an argument characterizing the type of the derivative, i.e. `tag::gradient`, `tag::divergence`, or `tag::partial` where the last one accepts an argument for the component of the partial derivative. In order to determine the range type of the grid functions, a class `DerivativeTraits` is added, parametrized with the derivative type and the function signature. For the discrete function it is possible to calculate all three derivative types. This is tested in `GradienTest` finally.
3. Local-to-Global adapter:
The calculation of global derivatives from local-basis and geometry Jacobians is abstracted and put into the new class `LocalToGlobalBasisAdapter` that performes cached evaluation of the local basis jacobians and geometry jacobians and the transforms those into global derivatives. This class can be used in the localoperators and is partially adapted already.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/57allo parallel execution of backup-restore tests2019-05-11T22:23:58ZPraetorius, Simonallo parallel execution of backup-restore testsCorrects a bug introduced by MR of backup-restore feature. The test now writes in different files, to allow parallel execution without race conditions.Corrects a bug introduced by MR of backup-restore feature. The test now writes in different files, to allow parallel execution without race conditions.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/56corrected solver creator for istl solvers and preconditioners2019-05-12T08:39:39ZPraetorius, Simoncorrected solver creator for istl solvers and preconditionersCorrected a bug introduced by MR for coefficient types. The test of the `field_type` of matrices was replaced.Corrected a bug introduced by MR for coefficient types. The test of the `field_type` of matrices was replaced.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/52add fake container-like datastructure with all no-op2019-05-08T14:17:38ZPraetorius, Simonadd fake container-like datastructure with all no-opThis fake container con be used as argument to functions expecting a container that is filled or accessed somehow, if you do not want to do anything.
TODO:
* [x] Needs a testThis fake container con be used as argument to functions expecting a container that is filled or accessed somehow, if you do not want to do anything.
TODO:
* [x] Needs a testhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/51add hybrid utility SwitchCases for dynamic and static dispatching2019-05-08T15:56:54ZPraetorius, Simonadd hybrid utility SwitchCases for dynamic and static dispatchingThis is a hybrid variant of `Dune::switchCases` with runtime and compiletime index sets.
TODO:
* [x] Add a test for switch casesThis is a hybrid variant of `Dune::switchCases` with runtime and compiletime index sets.
TODO:
* [x] Add a test for switch caseshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/50add static size information for Eigen matrix type2019-05-08T23:04:22ZPraetorius, Simonadd static size information for Eigen matrix typeTODO:
* [x] Add a test for static size informationTODO:
* [x] Add a test for static size informationhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/45Provide access function for vectors and matrices2019-05-03T23:00:20ZPraetorius, SimonProvide access function for vectors and matricesFor a general access of matrices and vectors, using various bracket types, the MR introduces the function `access(vector, i)` and `access(matrix, i,j)` that redirects to the specific implementation. Additionally Concepts are added to tes...For a general access of matrices and vectors, using various bracket types, the MR introduces the function `access(vector, i)` and `access(matrix, i,j)` that redirects to the specific implementation. Additionally Concepts are added to test whether an object can be accessed like a vector or matrix.