Skip to content
Snippets Groups Projects
  1. May 13, 2016
  2. May 07, 2016
  3. May 03, 2016
    • Jö Fahlke's avatar
      Merge branch 'feature/abort-on-invalid-defect' into 'master' · 538d99fa
      Jö Fahlke authored
      Abort CGSolver when the defect is invalid
      
      The first commit introduces the exception `SolverAbort`, derived from `ISTLError`.
      
      The second commit makes `CGSolver` abort by throwing `SolverAbort` when the defect becomes invalid (infinite or NaN).  The check is done in every iteration before the convergence check.
      
      These two commits fix #12.
      
      The third and fourth commit make `BiCGStab` and `GMRes` throw `SolverAbort` when they detect a breakdown.  `SolverAbort` seemed more specific when the `ISTLError` they were throwing before.
      
      The fifth commit documents when `SolverAbort` is thrown at the moment.
      
      The sixth commit adds a unit tests that tries to trigger `SolverAbort` and makes sure that it is actually thrown.  It does this for the NaN-check in `CGSolver` and for the "abs(h) < EPSILON"-check in `BiCGSTABSolver` -- there a more conditions in `BiCGSTABSolver` and `RestartedGMResSolver` that throw, but I don't know how to trigger them.
      
      
      
      See merge request !36
      538d99fa
  4. Apr 11, 2016
    • Jö Fahlke's avatar
      [test][SolverAbort] Check that the solver aborts when given an unsolvable system to solve. · c024db84
      Jö Fahlke authored
      Here we try to solve A*x=b for x, with
      ```
            / 1  1 \       / 1 \
        A = |      |,  b = |   |,
            \ 1  1 /       \ 2 /
      ```
      which has no solution.  In the CGSolver, the this leads to a NaN defect after
      46 iterations.  In BiCGSTABSolver this leads to "abs(h) < EPSILON" after 1.5
      iterations.
      
      BiCGSTABSolver and RestartedGMResSolver also throw SolverAbort when they
      detect "breakdown", checking for that is left as a todo.
      c024db84
  5. Mar 31, 2016
  6. Mar 22, 2016
  7. Mar 21, 2016
  8. Mar 18, 2016
    • Markus Blatt's avatar
      Merge branch 'feature/fix-fastamg-buildhierarchy' into 'master' · 17be7684
      Markus Blatt authored
      [bugfix] Fixes access to non-existing parallel info in FastAMG::recalculateHierachy
      
      recalculateHierarchy() assumed that there is information avaiable
      that is only there in parallel runs. This failed miserably.
      
      This commit fixes this be implementing dummy versions for
      redistributing matrices in  a sequential run and does not
      query any parallel stuff any more
      
      This closes #11.
      
      See merge request !34
      17be7684
    • Markus Blatt's avatar
      Merge branch 'feature/make-matrixredisttest-compile-again' into... · 3fa6173f
      Markus Blatt authored
      Merge branch 'feature/make-matrixredisttest-compile-again' into 'feature/fix-fastamg-buildhierarchy'
      
      [matrixredistribute.hh] Fix missing #include <dune/istl/paamg/pinfo.hh>.
      
      The previous commit made fastamg compile, but broke compilation of
      matrixredisttest for me.  This makes matrixredisttest compile again.
      
      See merge request !35
      3fa6173f
  9. Mar 17, 2016
  10. Mar 15, 2016
    • Oliver Sander's avatar
      Specialize FieldTraits for MultiTypeBlockVector · ca9342c0
      Oliver Sander authored
      This allows other code to access field_type and real_type for a MultiTypeBlockVector
      using the FieldTraits class.  Caveat: in principle, individual entries of a
      MultiTypeBlockVector could use different field_types.  The implementation always
      returns the first one.
      ca9342c0
  11. Mar 14, 2016
  12. Mar 11, 2016
  13. Mar 09, 2016
  14. Mar 08, 2016
    • Carsten Gräser's avatar
      [amg][bugfix] Fix dirichlet processing in FastAMG · da8bed73
      Carsten Gräser authored
      The comment and surroundig code indicate that FastAMG should
      solve during pre() for dirichlet entries. This is determined
      by checking if a row does contain a diagonal entry while
      all other entries are zero.
      
      The check for this was buggy because hasDiagonal was always false.
      Now it's set to true if a diagonal entry is found and nonzero.
      da8bed73
  15. Mar 07, 2016
  16. Mar 04, 2016
    • Oliver Sander's avatar
      Remove the 'block' array · dfcfb6d5
      Oliver Sander authored
      This array was a left-over from the VariableBlockVector class.  In short,
      it stores the length of each matrix row.  Of course that is redundant,
      because all rows in a dense matrix have the same length.
      
      This patch makes the class allocate less memory, and use the known row
      size to compute the offsets into the data array.  In principle, the code
      becomes faster by this, but I am not convinced that the effect will be
      measurable.
      
      Still, even without measurable speedup: this patch is an improvement,
      because it makes the code simpler.
      dfcfb6d5
  17. Feb 29, 2016
  18. Feb 28, 2016
  19. Feb 27, 2016
  20. Feb 26, 2016
  21. Feb 25, 2016
    • Steffen Müthing's avatar
      Merge branch 'matrix-loadbalance-to-more' into 'master' · 1b544df3
      Steffen Müthing authored
      Matrix loadbalance to more
      
      There was a problem when having the global matrix and using load balance
      to distribute it. This is fixed by the MR.
      
      These changes should be cherrypicked to the release, too.
      
      See merge request !28
      1b544df3
    • Markus Blatt's avatar
      [bugfix] Cater for the case that we load balance to more processes. · 2841f4ba
      Markus Blatt authored
      One of the use cases for load balancing a matrix is reading it globally
      on one process and then calling the load balancer to distribute it among
      the processes. Unfortunately this did not work due to a bug that prevented
      the correct remapping of the domain numbers from the load balancers. This
      lead to negative rank numbers.
      
      With this commit we use yet unassigned process numbers for domains that
      are not yet mapped (due to having no dofs before the load balancing).
      2841f4ba
    • Markus Blatt's avatar
    • Christoph Grüninger's avatar
      Merge branch 'feature/fix-tests-on-make-all' into 'master' · 63839914
      Christoph Grüninger authored
      [cmake][bugfix] Correct handling of the EXCLUDE_FROM_ALL property:
      
      The signature of `dune_add_test`, that takes the `TARGET` from the user
      produced excluded targets if added in a directory that has the directory
      property `EXCLUDE_FROM_ALL` set. The correct solution IMO is to not use
      that property on test subdirectories anymore (it is a relic from the old
      testing magic), because we rely on `dune_add_test` to handle exclusion.
      
      See core/dune-common#21 for details.
      
      See merge request !27
      63839914
Loading