Feature/observer
This MR replaces the current mechanism for automatic updates of Dune-bases and DOFVectors with an observer pattern mixin.
Adds:
-
AdaptiveGridwrapper 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. -
ParallelGlobalBasisclass expected to be used instead of a regular Dune-basis. TheCommunicationobject is now paired directly with a basis within this object. - Mixin classes
ObserverandSignalsfor adding automatic update functionality to other classes. - Observer unit test
-
SharedPtr.hppproviding wrapping of objects andshared_ptr/unique_ptrintoshared_ptrs - free function
makeGlobalBasisto generate aParallelGlobalBasisfrom a prebasis
Removes:
-
GridTransfer[Manager].hppsince 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. -
DOFVectornow creates a newDataTransferon copy. This change is independent of this MR and may be cherry-picked. - Restructured
preAdapt/adapt/postAdaptcallbacks inDataTransferandDOFVector -
MeshCreatornow 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