Skip to content

wells: fracture contributions to connection transmissibility - #7353

Draft
hnil wants to merge 1 commit into
OPM:masterfrom
hnil:pr/fracture-connection-trans
Draft

wells: fracture contributions to connection transmissibility#7353
hnil wants to merge 1 commit into
OPM:masterfrom
hnil:pr/fracture-connection-trans

Conversation

@hnil

@hnil hnil commented Aug 24, 2026

Copy link
Copy Markdown
Member

Lets a dynamically created fracture contribute to an existing perforation's connection transmissibility.

New WellIndexFracture holds the extra connection factor plus reference values reserved for interpolating pressure between fracture solves. WellInterfaceGeneric::addFracturePerforations() records and updates the contributions in place — storage is allocated on first use, at most one fracture per cell is assumed, and an unknown cell is warned about once per well and cell. closeCompletions() clears the fracture contribution along with the regular well index.

getTw() then adds the fracture factor to every conservation quantity before the D-factor adjustment.

On the hot path, deliberately cheap. getTw() runs for every connection of every well on every assembly. A well with no registered fracture perforations carries no extra state and pays a single empty() check; nothing upstream registers any today, so that is the cost for every existing run.

Needed by the fracture model in opm-flowgeomechanics, which creates connections during the simulation. Builds on the per-connection fracture containers from #7311.

New WellIndexFracture (own header): the extra connection factor a
dynamically created fracture contributes to an existing perforation, with
reference values reserved for pressure interpolation between fracture
solves. WellInterfaceGeneric::addFracturePerforations() records/updates the
contributions in place (storage allocated on first use; at most one
fracture per cell assumed; unknown cells warned once per well/cell via
OpmLog). closeCompletions() clears the fracture contribution together with
the regular well index.

getTw() adds the fracture factor to every conservation quantity before the
D-factor adjustment. Wells without registered fracture perforations carry
no extra state and take a single empty() check -- no behavior change.

The pre-existing addPerforations() extension point is left untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hnil hnil added the manual:enhancement This is an enhancement/improvent that needs to be documented in the manual label Aug 24, 2026
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.

1 participant