amdis-core merge requestshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests2020-01-10T18:19:15Zhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/144Add a destructor to Notifier to prevent Segfault w/o extending the Lifetime o...2020-01-10T18:19:15ZMüller, FelixAdd a destructor to Notifier to prevent Segfault w/o extending the Lifetime of Objects via shared_ptrAlso extended the testsAlso extended the testshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/104add AllTrueBitSetVector.hpp to CMakeLists2019-09-24T11:37:23ZPraetorius, Simonadd AllTrueBitSetVector.hpp to CMakeListshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/97Add attach function with callback to GridTransfer2019-09-23T10:17:31ZPraetorius, SimonAdd attach function with callback to GridTransferhttps://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/69add coefficient type to DefaultProblemTraits2019-06-12T10:32:42ZPraetorius, Simonadd coefficient type to DefaultProblemTraitshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/6Add coefficient type to ElementMatrix and ElementVector2019-05-01T11:05:53ZPraetorius, SimonAdd coefficient type to ElementMatrix and ElementVectorTry to allow different coefficient types than `double`, e.g. `float` or `Dune::Float128`. The Test with `Float128` requires some changes in dune. So, it is skipped here.
I'm not sure about the design: How to specify the type of the co...Try to allow different coefficient types than `double`, e.g. `float` or `Dune::Float128`. The Test with `Float128` requires some changes in dune. So, it is skipped here.
I'm not sure about the design: How to specify the type of the coefficients (element matrix/vector type)? Currently, I have just added a `CoefficientType` member type to the `ProblemStatTraits` class. Maybe we should discuss to define the backend of DOFMatrix and DOFVector there and derived the coefficient type from these container classes.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/265Add correct break condition to operator-list assemble method2021-01-11T16:17:38ZPraetorius, SimonAdd correct break condition to operator-list assemble methodhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/42add cxx feature test for auto templates2019-05-03T16:15:14ZPraetorius, Simonadd cxx feature test for auto templateshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/228Add deduction guides to DiscreteFunction to allow construction from DOFVector2020-10-29T15:55:49ZPraetorius, SimonAdd deduction guides to DiscreteFunction to allow construction from DOFVectorhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/18add doxygen closing comment bracket2019-03-21T15:53:16ZPraetorius, Simonadd doxygen closing comment brackethttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/252Add enumerate algorithm and remove exclusive_scan2020-11-30T20:54:32ZPraetorius, SimonAdd enumerate algorithm and remove exclusive_scanhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/48Add explicit return type for lambdas2019-05-08T09:18:35ZPraetorius, SimonAdd explicit return type for lambdasIf there is an error within a lambda in a recursive hierarchy of calls, the return type might not be extracted correctly and I get an additional error `using xyz before deduction of auto` or something similar. This might be reduced, by e...If there is an error within a lambda in a recursive hierarchy of calls, the return type might not be extracted correctly and I get an additional error `using xyz before deduction of auto` or something similar. This might be reduced, by explicitly stating the return type of a lambda if known.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/7add expression abs() to gridfunctions2019-03-20T15:23:04ZPraetorius, Simonadd expression abs() to gridfunctionshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/193add extended TreeContainer implementation and replace TreeData2020-07-27T19:51:14ZPraetorius, Simonadd extended TreeContainer implementation and replace TreeDatahttps://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/46add functionality to remove an added marker2019-05-03T21:51:12ZPraetorius, Simonadd functionality to remove an added markerhttps://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/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/160Add mkdocs documentation2020-04-14T19:08:46ZPraetorius, SimonAdd mkdocs documentationhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/105add NodeIndices.hpp to CMakeLists2019-09-24T11:59:11ZPraetorius, Simonadd NodeIndices.hpp to CMakeLists