Feature/observer
This MR replaces the current mechanism for automatic updates of Dune-bases and DOFVector
s with an observer pattern mixin.
Adds:
-
AdaptiveGrid
wrapper class to be handed out to the user. This allows addition of functionality to Dune-grid types. It is expected to be used instead of a regular grid by the user whenever possible. -
ParallelGlobalBasis
class expected to be used instead of a regular Dune-basis. TheCommunication
object is now paired directly with a basis within this object. - Mixin classes
Observer
andSignals
for adding automatic update functionality to other classes. - Observer unit test
-
SharedPtr.hpp
providing wrapping of objects andshared_ptr
/unique_ptr
intoshared_ptr
s - free function
makeGlobalBasis
to generate aParallelGlobalBasis
from a prebasis
Removes:
-
GridTransfer[Manager].hpp
since those are no longer used. DOFVectorInterface.hpp
Changes:
- Lots of changes due to
feature/petsc_backend
, see !78 (merged). - Interface changes to several classes to use the new
Observed[Grid, Basis]
objects when needed. -
DOFVector
now creates a newDataTransfer
on copy. This change is independent of this MR and may be cherry-picked. - Restructured
preAdapt
/adapt
/postAdapt
callbacks inDataTransfer
andDOFVector
-
MeshCreator
now returns anAdaptiveGrid
TODOs:
-
Cleanup of initial commit -
Clearer names for the new classes -
Test of Observer hierarchy (skipped subjects, multiple subjects) - see discussion below
Edited by Müller, Felix