Skip to content

Support UDA for WINJMULT item 2 - #7287

Draft
vkip wants to merge 2 commits into
OPM:masterfrom
vkip:winjmult_uda
Draft

Support UDA for WINJMULT item 2#7287
vkip wants to merge 2 commits into
OPM:masterfrom
vkip:winjmult_uda

Conversation

@vkip

@vkip vkip commented Aug 6, 2026

Copy link
Copy Markdown
Member

Depends on OPM/opm-common#5273

@vkip vkip added the manual:enhancement This is an enhancement/improvent that needs to be documented in the manual label Aug 6, 2026
@vkip
vkip requested a lite review from Copilot August 6, 2026 18:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds support for using UDA/UDQ expressions as the WINJMULT “fracture pressure” (item 2), enabling injection multiplier behavior to be driven by SummaryState-updated UDQ values.

Changes:

  • Evaluate WINJMULT fracture pressure via UDA::eval_well_uda(...) using SummaryState in WellInterfaceGeneric::getInjMult().
  • Thread SummaryState through getInjMult() call sites in both standard and multisegment wells.
  • Add a focused unit test plus new regression/restart/parallel test registrations for WINJMULT+UDQ cases.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/test_wellmodel.cpp Adds a unit test verifying UDQ-driven fracture pressure affects WINJMULT as expected.
restartTests.cmake Registers a restarted-simulation comparison test for WINJMULT_UDQ_STDW.
regressionTests.cmake Adds WINJMULT_UDQ_* cases to the WINJMULT regression set.
parallelTests.cmake Registers a parallel simulation comparison test for WINJMULT_UDQ_MSW.
opm/simulators/wells/WellInterfaceGeneric.hpp Updates getInjMult() API to accept SummaryState.
opm/simulators/wells/WellInterfaceGeneric.cpp Implements UDA evaluation for fracture pressure in getInjMult().
opm/simulators/wells/StandardWell_impl.hpp Passes summaryState() into getInjMult() from the standard-well path.
opm/simulators/wells/MultisegmentWell_impl.hpp Passes summaryState() into getInjMult() from the multisegment-well path.

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

Comment on lines +285 to +289
const auto frac_press = static_cast<Scalar>(
UDA::eval_well_uda(injmult.fracture_pressure,
this->name(),
summary_state,
summary_state.get_udq_undefined()));
@vkip

vkip commented Aug 6, 2026

Copy link
Copy Markdown
Member Author

jenkins build this opm-common=5273 please

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