Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • A amdis-core
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Graph
    • Compare revisions
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 6
    • Merge requests 6
  • Deployments
    • Deployments
    • Releases
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • amdis
  • amdis-core
  • Merge requests
  • !79

Feature/observer

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Müller, Felix requested to merge feature/observer into master Aug 20, 2019
  • Overview 109
  • Commits 1
  • Changes 47

This MR replaces the current mechanism for automatic updates of Dune-bases and DOFVectors 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. The Communication object is now paired directly with a basis within this object.
  • Mixin classes Observer and Signals for adding automatic update functionality to other classes.
  • Observer unit test
  • SharedPtr.hpp providing wrapping of objects and shared_ptr/unique_ptr into shared_ptrs
  • free function makeGlobalBasis to generate a ParallelGlobalBasis 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 new DataTransfer on copy. This change is independent of this MR and may be cherry-picked.
  • Restructured preAdapt/adapt/postAdapt callbacks in DataTransfer and DOFVector
  • MeshCreator now returns an AdaptiveGrid

TODOs:

  • Cleanup of initial commit
  • Clearer names for the new classes
  • Test of Observer hierarchy (skipped subjects, multiple subjects) - see discussion below
Edited Sep 27, 2019 by Müller, Felix
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feature/observer