amdis-core merge requestshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests2020-04-14T17:27:31Zhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/170use concept aliases in BoundaryConditions2020-04-14T17:27:31ZPraetorius, Simonuse concept aliases in BoundaryConditionshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/168use explicit refinement Intervals in subsampling vtk writer2020-04-08T22:03:16ZPraetorius, Simonuse explicit refinement Intervals in subsampling vtk writerhttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/167remove old compilers with c++14 from gitlab-ci2020-04-09T06:53:15ZPraetorius, Simonremove old compilers with c++14 from gitlab-cihttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/166Keep unchanged sparsity pattern2020-07-11T12:27:36ZMüller, FelixKeep unchanged sparsity patternAdd:
* `bool` argument to `BiLinearForm::init` to force pattern update
* `BiLinearForm::setSymmetryStructure` function
* `MatrixFacade::init()` setting all matrix entries to zero while keeping the pattern intact
* Implementations...Add:
* `bool` argument to `BiLinearForm::init` to force pattern update
* `BiLinearForm::setSymmetryStructure` function
* `MatrixFacade::init()` setting all matrix entries to zero while keeping the pattern intact
* Implementations `MatrixBackend::init()`
Change:
* `SymmetryStructure` is now provided to the `SparsityPattern` and no longer used in `MatrixFacade::init`
* `SparsityPattern::init` calls are replaced by constructor calls
* `BiLinearForm::init` either rebuilds the pattern or just sets entries to zero, depending on a flag
* `BiLinearForm` sets a pattern rebuild flag instead of immediately rebuilding it when observing a basis change
* `BiLinearForm` also tracks changes to its operators to set the pattern rebuild flag
* `SymmetryStructure` is now supposed to be set by the user after adding operatorshttps://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/165Use 2.6 Dune::Factorial2020-03-12T13:00:17ZMüller, FelixUse 2.6 Dune::FactorialReplace the 2.7 `Dune::factorial` call by the 2.6 equivalent to maintain compatibility.Replace the 2.7 `Dune::factorial` call by the 2.6 equivalent to maintain compatibility.https://gitlab.math.tu-dresden.de/amdis/amdis-core/-/merge_requests/164Replace explicit type LocalView by template with concept check2020-03-12T13:03:19ZMüller, FelixReplace explicit type LocalView by template with concept checkThis allows using not only `Dune::DefaultLocalView` but also `Dune::SubspaceLocalView` or other classes implementing the interface.This allows using not only `Dune::DefaultLocalView` but also `Dune::SubspaceLocalView` or other classes implementing the interface.https://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/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/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/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/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`