-
Notifications
You must be signed in to change notification settings - Fork 97
fix: change validation for region statistics for by resvol constraint #3829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe, to not expose the statistics component to the user, you can add in the well solver's registerDataOnMesh()
:
if( !wellControls.referenceReservoirRegion().empty() )
{
// we need a statistics component for reference region pressure
m_referenceRegionStats = taskManager.registerGroup<SinglePhaseStatistics>( "internalStats" )
.setRestartFlags(NO_WRITE);
m_referenceRegionStats.registerDataOnMeshRecursive(meshBodies);
}
m_referenceRegionStats
would be a pointer or an std::optional
, then you can call its execute()
before reading it in updateVolRateForConstraint()
} | ||
|
||
void CompositionalMultiphaseWell::updateVolRatesForConstraint( WellElementSubRegion & subRegion ) | ||
void CompositionalMultiphaseWell::updateVolRatesForConstraint( ElementRegionManager const & elemManager, WellElementSubRegion & subRegion ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(same for SinglePhaseWell
)
void CompositionalMultiphaseWell::updateVolRatesForConstraint( ElementRegionManager const & elemManager, WellElementSubRegion & subRegion ) | |
void CompositionalMultiphaseWell::updateVolRatesForConstraint( ElementRegionManager const & elemManager, | |
WellElementSubRegion & subRegion ) |
* @param targetIndex the targetIndex of the subRegion | ||
*/ | ||
void updateVolRatesForConstraint( WellElementSubRegion & subRegion ); | ||
void updateVolRatesForConstraint( ElementRegionManager const & elemManager, WellElementSubRegion & subRegion ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(same for SinglePhaseWell
)
void updateVolRatesForConstraint( ElementRegionManager const & elemManager, WellElementSubRegion & subRegion ); | |
void updateVolRatesForConstraint( ElementRegionManager const & elemManager, | |
WellElementSubRegion & subRegion ); |
We are testing the current state of the branch |
No success. I'll create a branch / PR on top of this one to contribute on this issue |
Reservoir volume constraint needs region average quantities for computing fluid properties. The ave quantities are computed via tasks such as CompositionalMultiphaseStatistics (and SinglePhaseStatistics equivalent) that are triggered in event section
Previously validation attempted to check if compute statistics wrappers were present on region. This was incorrect. but maybe the region should own the statistics object.
New check looks at if region ave quantities are zero.
integrated tests are forthcoming..