Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major refactoring for parallel agglomerated multigrid #123

Merged
merged 39 commits into from
Aug 15, 2024
Merged

Conversation

fdrmrc
Copy link
Owner

@fdrmrc fdrmrc commented Aug 14, 2024

This PR hopefully provides a stable interface for agglomerated multigrid. Changes propagated almost everywhere, but meaningful new examples have been added:

  • time dependent monodomain problem, where agglomerated multigrid is used as a preconditioner
  • combination of matrix-free operator evaluation inside agglomerated multigrid

plus several utilities in utils.h and poly_utils.h that allow easy integration of the present infrastructure in existing codes.

The huge number of lines is due to the addition of two 3D ventricle meshes.

@fdrmrc fdrmrc added enhancement New feature or request parallel Related to distributed computing Applications Related to applications/examples snippets multigrid Related to multigrid labels Aug 14, 2024
@fdrmrc fdrmrc merged commit 2adffcb into main Aug 15, 2024
3 checks passed
@fdrmrc
Copy link
Owner Author

fdrmrc commented Aug 15, 2024

LinearOperator does not provide m() and n() and el() members, which are needed by the PreconditionChebychev class. As a temporary solution (before opening a PR upstream), I defined a new class LinearOperatorMG by copy-pasting the LinearOperator headers and adding the necessary members. Definitions are in /include/linear_operator_for_mg.h

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Applications Related to applications/examples snippets enhancement New feature or request multigrid Related to multigrid parallel Related to distributed computing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant