Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
D
dorie
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 31
    • Issues 31
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 9
    • Merge Requests 9
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • dorie
  • dorie
  • Issues
  • #169

Closed
Open
Opened Nov 25, 2019 by Lukas Riedel@lriedel🛀Owner

Use BCGS_AMG_SSOR solver for finite volume methods

Description

We currently use the AMG_4_DG solver in all cases. As its name suggests, the solver is optimized for solving DG problems by separating them into a CG and DG subspace. As finite volume spaces are essentially DG spaces of order zero, this solver works, but it likely performs many no-ops. Specifically, the CG subspace of the problem should be empty. We can therefore switch to a more direct solver.

Proposal

Use the BCGS_AMG_SSOR solver for the finite volume method. It uses the same overall routines as the AMG_4_DG, which should ensure that the results remain comparable. It uses AMG for preconditioning, BiCGStab for solving the problem, and SSOR for smoothing the solution.

The PDELab class is called Dune::PDELab::ISTLBackend_BCGS_AMG_SSOR and defined in the dune/pdelab/backend/istl/ovlpistlsolverbackend.hh header. The class must replace the other linear solver via a conditional type definition based on the polynomial order of the problem. Initialization of the solver object is also different and must be controlled via if constexpr.

How to test the implementation?

Test suite still succeeds.

Related issues

Edited Nov 25, 2019 by Lukas Riedel
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: dorie/dorie#169