wells: fracture contributions to connection transmissibility - #7353
Draft
hnil wants to merge 1 commit into
Draft
Conversation
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>
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.
Lets a dynamically created fracture contribute to an existing perforation's connection transmissibility.
New
WellIndexFractureholds 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 singleempty()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.