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
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

The TS-GitLab will have to shut down towards the end of the year — please think about migrating your projects to GitLab.com or GitHub.
(This is still a very early message, meant to keep you informed. There will be more urgent ones in the future.)

  • dorie
  • dorie
  • Issues
  • #169

Closed
Open
Created Nov 25, 2019 by Lukas Riedel@lriedelOwner

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 an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None