Skip to content
Snippets Groups Projects
  1. Apr 11, 2020
  2. Apr 10, 2020
    • Christian Engwer's avatar
      [!379] cleanup the ParameterTree configurations of preconditioners · d9b455cb
      Christian Engwer authored
      Merge branch 'feature/cleanup_preconditioner_configs' into 'master'
      
      ref:core/dune-istl\>
      
      ### Summary
      
      This MR adds missing documentation for ParameterTree arguments and replaces
      repeated constructors by delegating constructors.
      
      See merge request [core/dune-istl!379]
      
        [core/dune-istl!379]: gitlab.dune-project.org/core/dune-istl/merge_requests/379
      d9b455cb
    • Christian Engwer's avatar
      [!378] Add missing constructor to RestartedFCGSolver · 4ea38710
      Christian Engwer authored
      Merge branch 'issue/fcg_solver_constructor' into 'master'
      
      ref:core/dune-istl\>
      
      ### Summary
      
      Add missing constructor (with operator, precon, and parameter-tree) to
      RestartedFCGSolver
      
      ### Details
      
      The constructor with operator, precon, and parameter-tree, but without
      scalar-product was just missing and is added by this MR for consistency with
      all the other iterative solvers.
      
      See merge request [core/dune-istl!378]
      
        [core/dune-istl!378]: gitlab.dune-project.org/core/dune-istl/merge_requests/378
      4ea38710
    • Christian Engwer's avatar
      [!377] Add ParameterTree Constructors for direct solvers · e1486457
      Christian Engwer authored
      Merge branch 'feature/direct_solver_constructors' into 'master'
      
      ref:core/dune-istl\>
      
      ### Summary
      
      Add ParameterTree constructors for direct solvers
      
      ### Details
      
      To be consistent with other linear solvers, a constructor with a ParameterTree
      argument is added to all direct solvers. Mostly the verbosity level is read
      from the configuration, but SuperLU also reads the *reuseVector* parameter.
      
      See merge request [core/dune-istl!377]
      
        [core/dune-istl!377]: gitlab.dune-project.org/core/dune-istl/merge_requests/377
      e1486457
  3. Apr 09, 2020
  4. Apr 07, 2020
  5. Apr 05, 2020
    • Andreas Dedner's avatar
      [!374] missing APPEND in add_library for python target added · da53c670
      Andreas Dedner authored
      Merge branch 'bugfix/MissingAppend' into 'master'
      
      See merge request [core/dune-istl!374]
      
        [core/dune-istl!374]: Nonecore/dune-istl/merge_requests/374
      da53c670
    • Andreas Dedner's avatar
    • Oliver Sander's avatar
      [!370] Rewrite doc of the BCRSMatrix 'implicit' build mode · 95b8fa3c
      Oliver Sander authored
      Merge branch 'explain-implicit-buildmode' into 'master'
      
      ref:core/dune-istl\> Circumstances forced me to finally learn what the
      BCRSMatrix 'implicit' build mode really does, and where its limitations come
      from. I had to read the code for that. As it turns out, the documentation of
      the mode is quite misleading. My main gripe is that the code uses two
      different auxiliary data structures, but the documentation calls them both
      'overflow'. This problem even extends to the variable naming in the code.
      Behold: the parameter 'overflowsize' is NOT the size of the member 'overflow'.
      It doesn't even have anything to do with that member\...
      
      To improve the situation, this patch does three things:
      
      1.  It rewrites the documentation. In particular, the 'overflow area' is now
          clearly distinguished from the 'compression buffer'. The latter is a new
          word I introduce.
      
      2.  It renames the BCRSMatrix method parameter _overflowsize to
          compressionBufferSize, because that is what it is: That parameter has
          nothing to do with the 'overflow' data member, or even the concept of
          'overflowing' in general.
      
      3.  It renames the exception 'ImplicitModeOverflowExhausted' to
          'ImplicitModeCompressionBufferExhausted', for the same reason. This is the
          only interface changes. The code keeps the old exception for
          backward-compatibility, but makes it trigger a deprecation warning.
      
      See merge request [core/dune-istl!370]
      
        [core/dune-istl!370]: gitlab.dune-project.org/core/dune-istl/merge_requests/370
      95b8fa3c
  6. Apr 04, 2020
    • Christoph Grüninger's avatar
      [!372] Fix make build_tests without optional dependencies · 9635a36e
      Christoph Grüninger authored
      Merge branch 'fix/non-mpi-build' into 'master'
      
      ref:core/dune-istl\> When MPI is not available or explicitly disabled with the
      CMake build option -DCMAKE_IDSABLE_FIND_PACKAGE_MPI=TRUE, some tests were
      unable to build. I've either fixed or disabled those tests (for those tests
      that were testing MPI-only features).
      
      I've also fixed overlappingschawarztest, which did not build when SuperLU was
      not found.
      
      The commit concerning MPI should probably be backported to the releases/2.7
      branch, as it is affected by the same build failures. The fix for
      overlappingschwarztest only appeared after commit
      05f80ffa which fixed a bug which previously
      disabled the test. Since this commit is not on the releases/2.7 branch, there
      is probably no need to backport my fix for overlappingschwarztest.
      
      See merge request [core/dune-istl!372]
      
        [core/dune-istl!372]: gitlab.dune-project.org/core/dune-istl/merge_requests/372
      9635a36e
    • Felix Gruber's avatar
      overlappingschwarztest: remove broken runtime check · e5ead46f
      Felix Gruber authored
      This test should not be necessary anymore, since commit
      05f80ffa fixed the CMAKE_GUARD argument
      for this test, so that it is not compiled anymore if either UMFPACK or
      SuperLU are missing.
      
      That line had to be removed as it did not compile if either UMFPACK or
      SuperLU were missing. For example while I had UMFPACK installed but not
      SuperLU, gcc gave me the following error message for the removed line:
      
      …/dune/istl/test/overlappingschwarztest.cc:260:17: error: ‘HAVE_SUPERLU’ was not declared in this scope
      e5ead46f
    • Andreas Dedner's avatar
      [!369] Feature/add python bindings · d645bec5
      Andreas Dedner authored
      Merge branch 'feature/addPythonBindings' into 'master'
      
      See merge request [core/dune-istl!369]
      
        [core/dune-istl!369]: Nonecore/dune-istl/merge_requests/369
      d645bec5
    • Felix Gruber's avatar
      make tests succeed when MPI is disabled · be46d889
      Felix Gruber authored
      When MPI is not available or explicitly disabled with the CMake build
      option -DCMAKE_IDSABLE_FIND_PACKAGE_MPI=TRUE, some tests were unable to
      build.
      
      The tests created from solverfactorytest.cc.in and part of
      scalarproductstest.cc use Dune::OwnerOverlapCopyCommunication which is
      defined behind `#if HAVE_MPI` and is thus not available in a non-MPI
      build. I've thus disabled those tests when MPI is unavailable.
      
      The matrixmarkettest did not work without MPI, as it contained some code
      using the wrong template parameters when HAVE_MPI was not set. Those
      template paramters have been fixed now.
      
      I've confirmed, that after my changes `make build_tests` succeeds to
      build all tests and that those tests run without failure.
      be46d889
    • Andreas Dedner's avatar
    • Andreas Dedner's avatar
      f699b101
  7. Apr 03, 2020
  8. Mar 30, 2020
  9. Mar 29, 2020
    • Oliver Sander's avatar
      Rewrite doc of the BCRSMatrix 'implicit' build mode · a1feed88
      Oliver Sander authored
      Circumstances forced me to finally learn what the BCRSMatrix 'implicit'
      build mode really does, and where its limitations come from.  I had
      to read the code for that.  As it turns out, the documentation of the
      mode is quite misleading.  My main gripe is that the code uses two
      different auxiliary data structures, but the documentation calls them
      both 'overflow'.  This problem even extends to the variable naming
      in the code.  Behold: the parameter 'overflowsize' is NOT the size
      of the member 'overflow'.  It doesn't even have anything to do with
      that member...
      
      To improve the situation, this patch does three things:
      a) It rewrites the documentation.  In particular, the 'overflow area'
         is now clearly distinguished from the 'compression buffer'.
         The latter is a new word I introduce.
      b) It renames the BCRSMatrix method parameter _overflowsize to
         compressionBufferSize, because that is what it is:  That parameter
         has nothing to do with the 'overflow' data member, or even the
         concept of 'overflowing' in general.
      c) It renames the exception 'ImplicitModeOverflowExhausted' to
         'ImplicitModeCompressionBufferExhausted', for the same reason.
         This is the only interface changes.  The code keeps the old
         exception for backward-compatibility, but makes it trigger a
         deprecation warning.
      a1feed88
  10. Mar 27, 2020
  11. Mar 20, 2020
  12. Mar 19, 2020
  13. Mar 16, 2020
  14. Mar 11, 2020
    • Markus Blatt's avatar
      [!349] Add support for overlapping and non-overlapping solvers to factory · b86fd33a
      Markus Blatt authored
      Merge branch 'feature/parallel-solver-factory' into 'master'
      
      ref:core/dune-istl\> This is my proposal for supporting the parallel solvers
      in dune-istl with the solver factory.
      
      Summary of the changes:
      
      -   The parallel operators let one get the underlying communication object.
          This is needed to pass it to the parallel preconditioners
      -   The solver factory passes the Operator instead of the matrix to the
          preconditioner factory. Thus AMG can be constructed without creating
          another operator from the matrix and we can determine whether we are
          parallel or not by the operator.
      -   For the parallel solvers we need to initialize the factory with the
          corresponding parallel operator.
      
      Note that further refactoring might be required to support e.g. the
      grid-communcation-based parallelization approaches sometime used in PdeLab.
      
      This is one part of the work proposed in [#82]
      
      See merge request [core/dune-istl!349]
      
        [#82]: gitlab.dune-project.org/NoneNone/issues/82
        [core/dune-istl!349]: gitlab.dune-project.org/core/dune-istl/merge_requests/349
      b86fd33a
Loading