2021-11-01 Projects

Last time

  • Geometric multigrid

  • Multigrid as factorization

  • Algebraic multigrid/smoothed aggregation

Today

  • Running multigrid with PETSc

  • Projects

  • GitHub codesearch, JOSS search

  • Decide what’s next: Finite Element or Finite Volume

Running multigrid in PETSc

Geometric multigrid

  • When PETSc manages the distribution (DM)

    • DMDA for structured grids

    • DMPlex for unstructured

    • DMForest for octrees with p4est

  • dm_refine 2 or -da_refine 2 for regular refinement.

  • -pc_type mg

  • -pc_mg_galerkin

  • -pc_mg_levels 4 can set non-default

  • -ksp_view and check solvers on levels

    • Chebyshev/SOR

Algebraic multigrid

GAMG (smoothed aggregation)

  • -pc_type gamg

  • -pc_gamg_threshold 0.01

  • -pc_gamg_esteig_ksp_monitor

  • -mg_levels_2_esteig_ksp_monitor

BoomerAMG (--download-hypre)

  • -pc_type hypre

  • -pc_hypre_boomeramg_strong_threshold 0.75

Searching for projects

GitHub codesearch

  • Check Insights -> Contributors

    • Sustained versus short-term activity

    • Number of stakeholders

    • git shortlog -se --since=2016 | sort -n

  • Community signals

    • Code of Conduct

    • Contributing guidelines, pull request templates

    • Active review and mentoring in pull requests

  • Continuous integration

    • Actions tab, also report in pull requests

    • Pipelines for repositories on GitLab

Journals

Journal of Open Source Software

  • Papers on mature software with many users

  • Immature research software with a few users, but best practices and intent to grow

Geoscientific Model Development

  • Blends software and methods work