Fix reuse of NOX::Nln::Adapter by resetting state#2003
Merged
maxiludwig merged 1 commit into4C-multiphysics:mainfrom Apr 29, 2026
Merged
Fix reuse of NOX::Nln::Adapter by resetting state#2003maxiludwig merged 1 commit into4C-multiphysics:mainfrom
maxiludwig merged 1 commit into4C-multiphysics:mainfrom
Conversation
bgoderbauer
approved these changes
Apr 28, 2026
There was a problem hiding this comment.
Pull request overview
Fixes incorrect reuse behavior in NOX::Nln::Adapter where consecutive solve() calls could incorrectly report convergence due to retained solver state, by resetting the NOX solver with the current initial guess before each solve.
Changes:
- Reset NOX solver state at the start of
NOX::Nln::Adapter::solve()vianox_solver_->reset(*x_nox_). - Add a regression test to ensure repeated
solve()calls on the same adapter re-run iterations and converge to updated targets.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/solver_nonlin_nox/4C_solver_nonlin_nox_adapter.cpp |
Resets solver state before each solve() to prevent stale convergence status across reuses. |
src/solver_nonlin_nox/tests/4C_solver_nonlin_nox_adapter_test.cpp |
Adds regression coverage for repeated solves updating the target and reinitializing solver state. |
davidrudlstorfer
approved these changes
Apr 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description and Context
NOX::Nln::Adaptertransient reuse by resetting solver state with the current initial guess before eachsolve()call (nox_solver_->reset(*x_nox_)).SolverNonlinNoxAdapter.RepeatedSolveReinitializesStateto verify two consecutive solve() calls on the same adapter re-run and converge to updated targets.Related Issues and Pull Requests
#1807