Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • dumux dumux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 100
    • Issues 100
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 94
    • Merge requests 94
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • dumux-repositoriesdumux-repositories
  • dumuxdumux
  • Merge requests
  • !1950

WIP: Block-diagonal AMG in parallel

  • Review changes

  • Download
  • Patches
  • Plain diff
Closed Bernd Flemisch requested to merge feature/parallel-blockamg into feature/new-istl-linear-solvers Apr 06, 2020
  • Overview 41
  • Commits 58
  • Pipelines 1
  • Changes 32

Make the BlockDiagAMGBiCGSTABSolver work in parallel.

On the user side, this requires passing argument and template tuples. For the currently working test in multidomain/poroelastic/el1p, this amounts to

    using GridGeometries = std::tuple<OnePFVGridGeometry, PoroMechFVGridGeometry>;
    using LinearSolver = BlockDiagAMGBiCGSTABSolver<GridGeometries>;
    auto views = std::make_tuple(std::cref(leafGridView), std::cref(leafGridView));
    auto mappers = std::make_tuple(onePFvGridGeometry->dofMapper(), poroMechFvGridGeometry->dofMapper());
    auto groups = std::make_tuple(std::string("OneP"), std::string("PoroElastic"));
    auto linearSolver = std::make_shared<LinearSolver>(views, mappers, groups);
  1. Make it work for dumux-sediment.
  2. Make it work for YaspGrid, UGGrid and ALUGrid.
  3. Decide where to put what.
Edited Feb 22, 2023 by Timo Koch
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feature/parallel-blockamg