Fuse relperm and capillary-pressure evaluation behind one problem hook - #7304
Draft
hnil wants to merge 1 commit into
Draft
Fuse relperm and capillary-pressure evaluation behind one problem hook#7304hnil wants to merge 1 commit into
hnil wants to merge 1 commit into
Conversation
The intensive quantities now ask the problem for relperms and capillary pressures through a single call, updateRelpermsAndCapillaryPressures(), when the problem provides it; the default implementation on FlowProblem performs exactly the previous two operations (updateRelperms + MaterialLaw::capillaryPressures), dispatched via asImp_() so derived-problem updateRelperms overrides remain effective. Problems without the method keep the old two-call path. No functional change; this creates the single override point needed for table-based saturation-function representations that produce kr and pc from one lookup pass. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
hnil
force-pushed
the
pr-fused-relperm-pc
branch
from
August 11, 2026 12:05
7469e5e to
1a0b962
Compare
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.
NFC. The intensive quantities ask the problem for relperms and capillary pressures through one call when the problem provides
updateRelpermsAndCapillaryPressures(); the FlowProblem default does exactly the previous two operations (dispatched viaasImp_()so derivedupdateRelpermsoverrides stay effective). Problems without the method keep the old two-call path.Verified: identical iteration counts on NORNE_ATW2013_SHORT, both dispatch paths.
Motivation — measured on Norne (44 927 cells, eval3, standalone harness, identical states and checksums):
With EHYSTR active, as Norne actually runs: 201.6 → 24.6 ns/cell for the table-based path. In flow, Props/update 10.9 → 8.5 s (−23 %), iteration counts unchanged.
This PR is only the override point; the implementations above are separate (OPM/opm-common#5284).
🤖 Generated with Claude Code