amdis-core merge requestshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests2020-11-24T12:00:42Zhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/163Restructuring of the Matrix/Vector/Constraint Assembly2020-11-24T12:00:42ZMüller, FelixRestructuring of the Matrix/Vector/Constraint AssemblyFirst part of restructuring of the matrix/vector assembly.
This adds a class `Assembler` that is responsible for global assembly of the system matrix, rhs and constraints. The previously present assembler classes are renamed to make the...First part of restructuring of the matrix/vector assembly.
This adds a class `Assembler` that is responsible for global assembly of the system matrix, rhs and constraints. The previously present assembler classes are renamed to make their local behaviour clearer.
The changes were made in such a way that the local contributions to the system matrix/vector can be modified easily once the constraints support that.
Relates to #10.
Requires !164.Praetorius, SimonPraetorius, Simonhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/162Replace explicit type Dune::DefaultGlobalBasis in ctor argument with concept ...2020-03-12T12:59:30ZMüller, FelixReplace explicit type Dune::DefaultGlobalBasis in ctor argument with concept checkPraetorius, SimonPraetorius, Simonhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/161Cleanup DiscreteFunctions2020-02-08T20:49:55ZPraetorius, SimonCleanup DiscreteFunctionshttps://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/159simplify solver info2020-02-08T22:37:13ZPraetorius, Simonsimplify solver infohttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/158removed some headers from amdis and moved them to independent repository dune...2020-02-08T22:52:48ZPraetorius, Simonremoved some headers from amdis and moved them to independent repository dune-blockedhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/157generator function writer2020-02-07T14:49:28ZPraetorius, Simongenerator function writerAdd generator functions for BackupWriter and GMshWriterAdd generator functions for BackupWriter and GMshWriterhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/156corrected creator for sequential istl communication2020-02-03T10:36:41ZPraetorius, Simoncorrected creator for sequential istl communicationhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/155Restructure and cleanup the amdis source directory2020-02-09T00:13:57ZPraetorius, SimonRestructure and cleanup the amdis source directoryThis MR makes one big change: rename `src/amdis/ -> amdis/`. This pattern is followed by dune and boost and other libraries.This MR makes one big change: rename `src/amdis/ -> amdis/`. This pattern is followed by dune and boost and other libraries.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/154Add unused examples to CMakeLists2020-02-03T09:47:02ZMüller, FelixAdd unused examples to CMakeLists- Add the examples `neumann.cc`, `periodic.cc`, `traversal.cc`, `treecontainer.cc` to `CMakeLists.txt` to prevent bitrot
- Fix some errors with the examples above
- Create `examples/output/` and copy `examples/macro/` to build directory ...- Add the examples `neumann.cc`, `periodic.cc`, `traversal.cc`, `treecontainer.cc` to `CMakeLists.txt` to prevent bitrot
- Fix some errors with the examples above
- Create `examples/output/` and copy `examples/macro/` to build directory via cmakehttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/153Bug in setDatatransfer to DataTransferOperation2020-02-02T11:30:48ZPraetorius, SimonBug in setDatatransfer to DataTransferOperationhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/152Add overload for LagrangeBasis with single node2020-01-31T14:46:46ZMüller, FelixAdd overload for LagrangeBasis with single nodeThis MR provides an overload to `LagrangePreBasisCreatorImpl` to return a single-node prebasis `lagrange<k>()` when using `LagrangeBasis<Grid, k>`.This MR provides an overload to `LagrangePreBasisCreatorImpl` to return a single-node prebasis `lagrange<k>()` when using `LagrangeBasis<Grid, k>`.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/151workaround for communicators in blocked bases, use SequentialCommunication if...2020-01-31T16:35:53ZPraetorius, Simonworkaround for communicators in blocked bases, use SequentialCommunication if not flat MultiIndexThis workaround is implemented to at least allow that blocked bases compile with `ParallelGlobalBasis`. By default, if the basis is blocked, i.e. the MultiIndex is not a flat MultiIndex, the basis uses a `SequentialCommunication` instead...This workaround is implemented to at least allow that blocked bases compile with `ParallelGlobalBasis`. By default, if the basis is blocked, i.e. the MultiIndex is not a flat MultiIndex, the basis uses a `SequentialCommunication` instead of a backend communication object.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/150initialize solver preconditioner correctly2020-01-31T18:16:53ZPraetorius, Simoninitialize solver preconditioner correctlyhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/149allow to pass bool parameter to stokes operator2020-02-03T09:47:54ZPraetorius, Simonallow to pass bool parameter to stokes operatorhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/148mtl krylov runner create precon2020-01-31T17:42:05ZPraetorius, Simonmtl krylov runner create preconCreate the preconditioner in the `runner::init()` method, to allow to register preconditioners even after runner is constructed.Create the preconditioner in the `runner::init()` method, to allow to register preconditioners even after runner is constructed.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/147Wrap DistributedCommunication::RemoteIndices in unique_ptr to fix move issue ...2020-01-24T12:58:37ZMüller, FelixWrap DistributedCommunication::RemoteIndices in unique_ptr to fix move issue in c++14Due to missing copy elision in c++14 the PETSc Comm object `DistributedCommunication` is required to have a copy or move constructor in the statement (`ParallelGlobalBasis.hpp:89`)
```cpp
, comm_(CommunicationCreator<Comm>::create(st...Due to missing copy elision in c++14 the PETSc Comm object `DistributedCommunication` is required to have a copy or move constructor in the statement (`ParallelGlobalBasis.hpp:89`)
```cpp
, comm_(CommunicationCreator<Comm>::create(static_cast<Super const&>(*this), name + "->solver"))
```
Since the member `Dune::RemoteIndices` declares a private copy and no move constructor we need to wrap it into a `unique_ptr` to provide move semantics.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/146moved the sparsity pattern update method to the bilinear form2020-01-10T19:17:32ZPraetorius, Simonmoved the sparsity pattern update method to the bilinear formhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/145Added missing include2020-01-07T18:04:06ZMüller, FelixAdded missing includeAdded missing include for `Dune::range`Added missing include for `Dune::range`https://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 tests