Skip to content

Pass only retained nodes to MueLu#1638

Merged
amgebauer merged 1 commit into4C-multiphysics:mainfrom
amgebauer:pass_only_retained_nodes_to_muelu
Jan 7, 2026
Merged

Pass only retained nodes to MueLu#1638
amgebauer merged 1 commit into4C-multiphysics:mainfrom
amgebauer:pass_only_retained_nodes_to_muelu

Conversation

@amgebauer
Copy link
Copy Markdown
Member

Filtering eliminated nodes before passing them to MueLu. Eliminated nodes occur in periodic boundary conditions.

On the way, I had to fix some consts to make it possible.

Closes #1634

Part of #1600

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request filters eliminated nodes (slave nodes in periodic boundary conditions) before passing node coordinates to the MueLu solver. The main change introduces a new function extract_retained_node_coordinates that creates a filtered node map excluding PBC slave nodes. Additionally, the PR adds const correctness to various PBC-related functions and methods throughout the codebase.

  • Introduces extract_retained_node_coordinates to filter out PBC slave nodes before passing to MueLu
  • Adds const correctness to PBC-related getters and iterators
  • Updates map access patterns from operator[] to at() for const maps

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/core/fem/src/discretization/4C_fem_discretization_utils.cpp Implements new extract_retained_node_coordinates function that filters PBC slave nodes
src/core/fem/src/discretization/4C_fem_discretization_utils.hpp Declares the new extract_retained_node_coordinates function
src/sti/4C_sti_monolithic.cpp Replaces extract_node_coordinates with extract_retained_node_coordinates
src/scatra/4C_scatra_timint_meshtying_strategy_s2i.cpp Replaces extract_node_coordinates with extract_retained_node_coordinates, but has incomplete type declaration
src/scatra/4C_scatra_timint_implicit_service.cpp Replaces extract_node_coordinates with extract_retained_node_coordinates
src/core/linear_solver/src/method/4C_linear_solver_method_parameters.cpp Replaces extract_node_coordinates with extract_retained_node_coordinates
src/core/fem/src/discretization/4C_fem_discretization.hpp Adds const qualifiers to PBC-related getter methods
src/core/fem/src/discretization/4C_fem_discretization.cpp Implements const versions of PBC getter methods
src/core/fem/src/discretization/4C_fem_discretization_faces.cpp Updates to use const PBC maps and replaces operator[] with at()
src/core/fem/src/discretization/4C_fem_discretization_partition.cpp Adds const qualifier to PBC map pointer
src/core/fem/src/dofset/4C_fem_dofset_pbc.hpp Adds const qualifiers and [[nodiscard]] to getter methods
src/fluid_ele/4C_fluid_ele.hpp Adds const qualifier to PBC connectivity parameter
src/fluid_ele/4C_fluid_ele_intfaces.cpp Updates to use const auto for PBC iterators
src/fluid_ele/4C_fluid_ele_intfaces_calc.cpp Adds const qualifier to PBC connectivity pointer
src/fluid_turbulence/4C_fluid_turbulence_boxfilter.cpp Adds const qualifiers to PBC map pointers
src/core/fem/src/general/utils/4C_fem_general_utils_superconvergent_patch_recovery.cpp Adds const qualifiers and uses auto for PBC iterators
src/core/fem/src/general/utils/4C_fem_general_l2_projection.cpp Adds const qualifier to PBC map pointer

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@amgebauer amgebauer force-pushed the pass_only_retained_nodes_to_muelu branch from 6091b6d to f3ffd47 Compare December 30, 2025 11:57
maxfirmbach
maxfirmbach previously approved these changes Jan 2, 2026
Copy link
Copy Markdown
Contributor

@maxfirmbach maxfirmbach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

mayrmt
mayrmt previously approved these changes Jan 2, 2026
@amgebauer amgebauer dismissed stale reviews from mayrmt and maxfirmbach via 15cc755 January 7, 2026 14:08
@amgebauer amgebauer force-pushed the pass_only_retained_nodes_to_muelu branch from f3ffd47 to 15cc755 Compare January 7, 2026 14:08
@amgebauer amgebauer enabled auto-merge January 7, 2026 14:09
@amgebauer amgebauer merged commit a1c2476 into 4C-multiphysics:main Jan 7, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] MueLu does not work properly with periodic boundary conditions

4 participants