Skip to content
Snippets Groups Projects

Feature/observer

Merged Müller, Felix requested to merge feature/observer into master
  1. Oct 09, 2019
    • Müller, Felix's avatar
      Redesign of automatic basis, communicator and DOFVector updates · 707a73ff
      Müller, Felix authored
      Major changes:
        Add wrapper class AdaptiveGrid<Grid> to be used instead of a
          dune-grid within AMDiS. This provides most of the grid interface
          and supports automatic updates of bases.
        Change: MeshCreator now returns an AdaptiveGrid
        Change: ProblemStat uses AdaptiveGrid internally and returns an
          object of that type
        Add class ParallelGlobalBasis<Basis> as a replacement for a
          dune-functions basis. This implements the complete interface and
          can be used as a replacement for a regular basis in all contexts.
          It supports automatic updates.
        Add free function makeGlobalBasis to make a ParallelGlobalBasis
        Change: AMDiS basis creators now return a ParallelGlobalBasis
        Change: ProblemStat uses ParallelGlobalBasis internally and returns
          an object of that type
        Add classes Observer/Signals. Classes can derive from those to take
          part in the automatic update feature.
        Add update(Event const& e) methods to classes using the feature
          above. They implement the action to be done when the registered
          Event is triggered.
        Remove GridTransfer[-Manager] and replace with the new
          Observer/Signals implementation
        Change: linear algebra communicator is now a part of
          ParallelGlobalBasis
        Add wrapper for DataTransfer objects that can be used instead of a
          base class pointer and performs deep-copy operations on copy
          construction and assignment
        Change: DOFVector DataTransfer member is now stored using the new
          wrapper class DataTransferWrapper
        Change: preAdapt, adapt, postAdapt callbacks are now called after
          calling the respective grid function. Classes that previously used
          any of them had their methods changed accordingly.
      
      Minor changes:
        Remove Comm argument for ctor of [Bi-]LinearForm, DOFVector
        Change ctor argument from Comm to Basis in
          linearalgebra/<impl>/[Matrix-, Vector-]Backend.hpp
        Simplify DOFVector copy/move by defaulting
        Remove DOFVector::resize override
        Remove DOFVectorInterface.hpp
        Change: linearalgebra/Traits.hpp includes the backend-specific
          Traits file. This is required to break an include loop.
        Add global 'solver category' initfile parameter used by the ISTL
          backend communicator when no parameter  at prefix + '->category'
          is found
        Fix commented out parts in DOFVectorTest, DiscreteFunctionTest
        Add unit test for Observer functionality
        Add helper function wrap_or_share (see amdis/common/SharedPtr.hpp)
        Fix backend = ISTL check for ISTLCommTest in CMakeLists
      707a73ff
Loading