Skip to content
Snippets Groups Projects
  1. Jul 12, 2016
  2. Jun 03, 2016
  3. May 28, 2016
  4. May 13, 2016
  5. May 07, 2016
  6. 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
  7. 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
  8. Mar 31, 2016
  9. Mar 22, 2016
  10. Mar 21, 2016
  11. 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
  12. Mar 17, 2016
  13. 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
  14. Mar 14, 2016
  15. Mar 11, 2016
  16. Mar 09, 2016
  17. 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
  18. Mar 07, 2016
  19. 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
  20. Feb 29, 2016
  21. Feb 28, 2016
Loading