Skip to content

General support for nodal constraints#877

Merged
kmokstad merged 6 commits into
OPM:masterfrom
kmokstad:master
May 29, 2026
Merged

General support for nodal constraints#877
kmokstad merged 6 commits into
OPM:masterfrom
kmokstad:master

Conversation

@kmokstad
Copy link
Copy Markdown
Contributor

@kmokstad kmokstad commented May 27, 2026

The handling of constraints on nodes is moved to ASMbase such that it can be used for patches of any type. Also adding functionality to have any nodes within the same patch share common DOFs and generalized linear couplings between nodal points within the patch.

@kmokstad
Copy link
Copy Markdown
Contributor Author

jenkins build this with downstreams please

(or nodes) within the same patch that share location
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 PR generalizes nodal constraint and node-set handling by moving it into ASMbase, enabling consistent use across different patch types and adding support for intra-patch nodal couplings/shared DOFs.

Changes:

  • Centralizes node set storage/parsing in ASMbase, adds node-set conversion to internal indices during preprocessing, and introduces APIs for nodal couplings/self-interconnection.
  • Updates SIM XML/HDF5 and geometry parsing to support nodes0 sets and modernizes several control-flow patterns.
  • Extends integer parsing to accept comma-separated lists and adds a unit test for that format.

Reviewed changes

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

Show a summary per file
File Description
src/Utility/Utilities.C Extends parseIntegers parsing behavior (now supports commas).
src/Utility/Test/TestUtilities.C Adds coverage for comma-separated integer parsing.
src/SIM/SIMinput.C Refactors patch/tag parsing; adds nodes0 behavior for node sets and streamlines HDF5 reads.
src/SIM/SIMbase.C Adds node-set conversion step during preprocessing; minor type update for debug helper.
src/ASM/ASMu2DLag.h Removes node-set API/members from this patch type (now owned by ASMbase).
src/ASM/ASMu2DLag.C Adjusts includes/ctors and boundary-node retrieval to align with node-set move.
src/ASM/ASMu1DLag.C Adds missing include for ASM utilities.
src/ASM/ASMsupel.h Removes node-set API/members from this patch type (now owned by ASMbase).
src/ASM/ASMsupel.C Removes superseded node-set implementation.
src/ASM/ASMs1D.h Removes node-set API/members from this patch type (now owned by ASMbase).
src/ASM/ASMs1D.C Removes superseded node-set implementation/copying.
src/ASM/ASMbase.h Adds node-set API/storage, new nodal coupling/self-interconnect APIs, and type aliases.
src/ASM/ASMbase.C Implements node-set management/conversion and new nodal coupling/self-interconnect logic.
CMakeLists.txt Removes an interface debug define propagation.

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

Comment thread src/Utility/Utilities.C
Comment thread src/ASM/ASMbase.h Outdated
Comment thread src/ASM/ASMbase.C Outdated
kmokstad added 5 commits May 28, 2026 13:57
placed in ASMbase such that it can be used by all sub-classes
Changed: Use utl::findIndex() instead of std::find() + std:distance().
Changed: Reduce scope of some temporaries using new if-syntax.
@kmokstad kmokstad merged commit 2a0fc42 into OPM:master May 29, 2026
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.

2 participants