mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Enable UDA evaluation for groups
This commit is contained in:
@@ -50,10 +50,10 @@ BOOST_AUTO_TEST_CASE(AddWellsAndGroupToCollection) {
|
||||
|
||||
// Add groups to WellCollection
|
||||
const auto& fieldGroup = sched.getGroup2("FIELD", 2);
|
||||
collection.addField(fieldGroup, pu);
|
||||
collection.addField(fieldGroup, summaryState, pu);
|
||||
|
||||
collection.addGroup( sched.getGroup2( "G1", 2 ), fieldGroup.name(), pu);
|
||||
collection.addGroup( sched.getGroup2( "G2", 2 ), fieldGroup.name(), pu);
|
||||
collection.addGroup( sched.getGroup2( "G1", 2 ), fieldGroup.name(), summaryState, pu);
|
||||
collection.addGroup( sched.getGroup2( "G2", 2 ), fieldGroup.name(), summaryState, pu);
|
||||
|
||||
BOOST_CHECK_EQUAL("FIELD", collection.findNode("FIELD")->name());
|
||||
BOOST_CHECK_EQUAL("FIELD", collection.findNode("G1")->getParent()->name());
|
||||
@@ -89,9 +89,9 @@ BOOST_AUTO_TEST_CASE(EfficiencyFactor) {
|
||||
WellCollection collection;
|
||||
// Add groups to WellCollection
|
||||
const auto& fieldGroup = sched.getGroup2("FIELD", timestep);
|
||||
collection.addField(fieldGroup, pu);
|
||||
collection.addGroup( sched.getGroup2( "G1", timestep ), fieldGroup.name(), pu);
|
||||
collection.addGroup( sched.getGroup2( "G2", timestep ), fieldGroup.name(), pu);
|
||||
collection.addField( fieldGroup, summaryState, pu);
|
||||
collection.addGroup( sched.getGroup2( "G1", timestep ), fieldGroup.name(), summaryState, pu);
|
||||
collection.addGroup( sched.getGroup2( "G2", timestep ), fieldGroup.name(), summaryState, pu);
|
||||
|
||||
BOOST_CHECK_EQUAL(1.0, collection.findNode("FIELD")->efficiencyFactor());
|
||||
BOOST_CHECK_EQUAL(1.0, collection.findNode("G1")->getParent()->efficiencyFactor());
|
||||
|
||||
@@ -89,14 +89,15 @@ BOOST_AUTO_TEST_CASE(ConstructGroupFromGroup) {
|
||||
const Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
const Opm::Runspec runspec (deck);
|
||||
const Schedule sched(deck, grid, eclipseProperties, runspec);
|
||||
SummaryState summaryState;
|
||||
|
||||
for( const auto& grp_name : sched.groupNames() ) {
|
||||
const auto& group = sched.getGroup2(grp_name, 2);
|
||||
|
||||
std::shared_ptr<WellsGroupInterface> wellsGroup = createGroupWellsGroup(group, pu);
|
||||
std::shared_ptr<WellsGroupInterface> wellsGroup = createGroupWellsGroup(group, summaryState, pu);
|
||||
BOOST_CHECK_EQUAL(group.name(), wellsGroup->name());
|
||||
if (group.isInjectionGroup()) {
|
||||
const auto& injection = group.injectionProperties();
|
||||
const auto& injection = group.injectionControls(summaryState);
|
||||
|
||||
BOOST_CHECK_EQUAL(injection.surface_max_rate, wellsGroup->injSpec().surface_flow_max_rate_);
|
||||
BOOST_CHECK_EQUAL(injection.resv_max_rate, wellsGroup->injSpec().reservoir_flow_max_rate_);
|
||||
@@ -105,7 +106,7 @@ BOOST_AUTO_TEST_CASE(ConstructGroupFromGroup) {
|
||||
}
|
||||
|
||||
if (group.isProductionGroup()) {
|
||||
const auto& production = group.productionProperties();
|
||||
const auto& production = group.productionControls(summaryState);
|
||||
BOOST_CHECK_EQUAL(production.resv_target, wellsGroup->prodSpec().reservoir_flow_max_rate_);
|
||||
BOOST_CHECK_EQUAL(production.gas_target, wellsGroup->prodSpec().gas_max_rate_);
|
||||
BOOST_CHECK_EQUAL(production.oil_target, wellsGroup->prodSpec().oil_max_rate_);
|
||||
@@ -126,12 +127,12 @@ BOOST_AUTO_TEST_CASE(EfficiencyFactor) {
|
||||
const Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
const Opm::Runspec runspec (deck);
|
||||
const Schedule sched(deck, grid, eclipseProperties, runspec);
|
||||
|
||||
SummaryState summaryState;
|
||||
|
||||
for( const auto& grp_name : sched.groupNames() ) {
|
||||
const auto& group = sched.getGroup2(grp_name, 2);
|
||||
|
||||
std::shared_ptr<WellsGroupInterface> wellsGroup = createGroupWellsGroup(group, pu);
|
||||
std::shared_ptr<WellsGroupInterface> wellsGroup = createGroupWellsGroup(group, summaryState, pu);
|
||||
BOOST_CHECK_EQUAL(group.name(), wellsGroup->name());
|
||||
BOOST_CHECK_EQUAL(group.getGroupEfficiencyFactor(), wellsGroup->efficiencyFactor());
|
||||
BOOST_CHECK_EQUAL(group.getGroupEfficiencyFactor(), wellsGroup->efficiencyFactor());
|
||||
|
||||
Reference in New Issue
Block a user