Skip to content

Let the Newton relaxation factor recover after an oscillation (optional) - #7299

Draft
hnil wants to merge 1 commit into
OPM:masterfrom
hnil:newton-relax-recovery
Draft

Let the Newton relaxation factor recover after an oscillation (optional)#7299
hnil wants to merge 1 commit into
OPM:masterfrom
hnil:newton-relax-recovery

Conversation

@hnil

@hnil hnil commented Aug 9, 2026

Copy link
Copy Markdown
Member

The oscillation damping only ever reduces the relaxation factor within a substep, so one detection early on damps every later iteration. --newton-relax-recovery=K walks the factor back up after K consecutive contracting iterations (default 0 = today's behaviour).

Measured over 508 opm-tests decks at K=2: Newton −3.65%, failed substeps 371 → 299, accepted residuals slightly tighter, no status changes, improvement in every deck class. Open question: four group-control decks pick up 1-2 new failed substeps each.

🤖 Generated with Claude Code

@hnil hnil added the manual:enhancement This is an enhancement/improvent that needs to be documented in the manual label Aug 10, 2026
@bska

bska commented Aug 10, 2026

Copy link
Copy Markdown
Member

jenkins build this please

…mental)

detectOscillations reduces the relaxation factor by relax-increment each time it
fires, but the factor only ever decreases within a substep: a single detection
early on damps every remaining iteration at up to 0.5x. Measured cost of that
latch: switching the whole mechanism off (--use-update-stabilization=false) is
+1.7% Newton and 371 -> 551 failed substeps over 508 decks, so the damping is
load-bearing, yet 195 of those decks still run better without it.

--newton-relax-recovery=K walks the factor back up by relax-increment once the
residuals have contracted for K iterations in a row, capped at 1.0, so the
damping is spent where it is needed and released afterwards. Default 0 keeps
today's latched behaviour.

On STONE2_MOD1 at K=2 the factor recovers 18 times against 53 detections.
INFOSTEP unchanged at defaults on SPE1CASE2_RADIAL and STONE2_MOD1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hnil
hnil force-pushed the newton-relax-recovery branch from 57edb6d to 060f830 Compare August 11, 2026 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual:enhancement This is an enhancement/improvent that needs to be documented in the manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants