Extracted Schedule and SummaryConfig,

This commit is contained in:
Joakim Hove
2017-09-27 16:34:38 +02:00
parent 77fcc865de
commit 612e255d4f
21 changed files with 124 additions and 121 deletions

View File

@@ -200,8 +200,7 @@ const char *deckData =
BOOST_AUTO_TEST_CASE(CreateSchedule) {
auto deck = createDeck();
EclipseState state(deck, ParseContext());
const auto& schedule = state.getSchedule();
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec().phases(), ParseContext( ));
BOOST_CHECK_EQUAL(schedule.getStartTime(), TimeMap::mkdate( 1998 , 3 , 8));
}

View File

@@ -79,7 +79,7 @@ BOOST_AUTO_TEST_CASE( CheckUnsoppertedInSCHEDULE ) {
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::IGNORE );
{
Schedule schedule( parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule( deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto events = schedule.getEvents( );
BOOST_CHECK_EQUAL( false , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 1 ));
BOOST_CHECK_EQUAL( true , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 2 ));

View File

@@ -283,7 +283,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithGEFAC) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Opm::Schedule schedule(parseContext , grid, eclipseProperties, deck, Opm::Phases(true, true, true) );
Opm::Schedule schedule(deck, grid, eclipseProperties, Opm::Phases(true, true, true) , parseContext);
const auto& group1 = schedule.getGroup("PRODUC");
BOOST_CHECK_EQUAL(group1.getGroupEfficiencyFactor(0), 0.85);
@@ -332,7 +332,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWGRUPCONandWCONPROD) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Opm::Schedule schedule(parseContext , grid, eclipseProperties, deck, Opm::Phases(true, true, true) );
Opm::Schedule schedule(deck, grid, eclipseProperties, Opm::Phases(true, true, true) , parseContext);
const auto* currentWell = schedule.getWell("B-37T2");
const Opm::WellProductionProperties& wellProductionProperties = currentWell->getProductionProperties(0);
BOOST_CHECK_EQUAL(wellProductionProperties.controlMode, Opm::WellProducer::ControlModeEnum::GRUP);

View File

@@ -81,7 +81,7 @@ BOOST_AUTO_TEST_CASE(MESSAGES) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid, eclipseProperties, Phases(true, true, true) , parseContext);
const MessageLimits limits = schedule.getMessageLimits();
BOOST_CHECK_EQUAL( limits.getBugPrintLimit( 0 ) , 77 ); // The pre Schedule initialization

View File

@@ -249,12 +249,12 @@ BOOST_AUTO_TEST_CASE( CheckUnsupportedInSCHEDULE ) {
Eclipse3DProperties eclipseProperties ( deckSupported , table, grid);
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::IGNORE );
BOOST_CHECK_NO_THROW( Schedule( parseContext , grid , eclipseProperties, deckSupported, Phases(true, true, true) ));
BOOST_CHECK_NO_THROW( Schedule( parseContext , grid , eclipseProperties, deckUnSupported, Phases(true, true, true) ));
BOOST_CHECK_NO_THROW( Schedule( deckSupported , grid , eclipseProperties, Phases(true, true, true), parseContext ));
BOOST_CHECK_NO_THROW( Schedule( deckUnSupported, grid , eclipseProperties, Phases(true, true, true), parseContext ));
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::THROW_EXCEPTION );
BOOST_CHECK_THROW( Schedule( parseContext , grid , eclipseProperties, deckUnSupported, Phases(true, true, true) ), std::invalid_argument );
BOOST_CHECK_NO_THROW( Schedule( parseContext , grid , eclipseProperties, deckSupported, Phases(true, true, true) ));
BOOST_CHECK_THROW( Schedule( deckUnSupported , grid , eclipseProperties, Phases(true, true, true) , parseContext), std::invalid_argument );
BOOST_CHECK_NO_THROW( Schedule( deckSupported , grid , eclipseProperties, Phases(true, true, true) , parseContext));
}
@@ -325,10 +325,10 @@ BOOST_AUTO_TEST_CASE(TestCOMPORD) {
Eclipse3DProperties eclipseProperties ( deck , table, grid);
parseContext.update( ParseContext::UNSUPPORTED_COMPORD_TYPE , InputError::IGNORE);
BOOST_CHECK_NO_THROW( Schedule( parseContext , grid , eclipseProperties, deck, Phases(true, true, true) ));
BOOST_CHECK_NO_THROW( Schedule( deck , grid , eclipseProperties, Phases(true, true, true), parseContext ));
parseContext.update( ParseContext::UNSUPPORTED_COMPORD_TYPE , InputError::THROW_EXCEPTION);
BOOST_CHECK_THROW( Schedule( parseContext , grid , eclipseProperties, deck, Phases(true, true, true) ), std::invalid_argument );
BOOST_CHECK_THROW( Schedule( deck, grid , eclipseProperties, Phases(true, true, true) , parseContext), std::invalid_argument );
}

View File

@@ -223,7 +223,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckMissingReturnsDefaults) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK_EQUAL( schedule.getStartTime() , TimeMap::mkdate(1983, 1 , 1));
}
@@ -232,7 +232,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsOrdered) {
EclipseGrid grid(100,100,100);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
auto wells = schedule.getWells();
BOOST_CHECK_EQUAL( "CW_1" , wells[0]->name());
@@ -256,7 +256,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsOrderedGRUPTREE) {
EclipseGrid grid(100,100,100);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK_THROW( schedule.getWells( "NO_SUCH_GROUP" , 1 ), std::invalid_argument);
@@ -303,7 +303,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithStart) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK_EQUAL( schedule.getStartTime() , TimeMap::mkdate(1998, 3 , 8 ));
}
@@ -314,7 +314,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithSCHEDULENoThrow) {
Eclipse3DProperties eclipseProperties ( deck , table, grid);
deck.addKeyword( DeckKeyword( "SCHEDULE" ) );
BOOST_CHECK_NO_THROW( Schedule schedule( ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) ));
BOOST_CHECK_NO_THROW( Schedule( deck, grid , eclipseProperties, Phases(true, true, true), ParseContext() ));
}
BOOST_AUTO_TEST_CASE(EmptyScheduleHasNoWells) {
@@ -322,7 +322,7 @@ BOOST_AUTO_TEST_CASE(EmptyScheduleHasNoWells) {
auto deck = createDeck();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK_EQUAL( 0U , schedule.numWells() );
BOOST_CHECK_EQUAL( false , schedule.hasWell("WELL1") );
BOOST_CHECK_THROW( schedule.getWell("WELL2") , std::invalid_argument );
@@ -333,7 +333,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule_DeckWithoutGRUPTREE_HasRootGroupTreeNodeForT
auto deck = createDeck();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK(schedule.getGroupTree(0).exists("FIELD"));
}
@@ -360,7 +360,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule_DeckWithGRUPTREE_HasRootGroupTreeNodeForTime
auto deck = deckWithGRUPTREE();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK( schedule.getGroupTree( 0 ).exists( "FIELD" ) );
BOOST_CHECK( schedule.getGroupTree( 0 ).exists( "FAREN" ) );
BOOST_CHECK_EQUAL( "FAREN", schedule.getGroupTree( 0 ).parent( "BARNET" ) );
@@ -371,7 +371,7 @@ BOOST_AUTO_TEST_CASE(GetGroups) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck , grid , eclipseProperties, Phases(true, true, true) , ParseContext());
auto groups = schedule.getGroups();
@@ -391,7 +391,8 @@ BOOST_AUTO_TEST_CASE(EmptyScheduleHasFIELDGroup) {
auto deck = createDeck();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck , grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK_EQUAL( 1U , schedule.numGroups() );
BOOST_CHECK_EQUAL( true , schedule.hasGroup("FIELD") );
BOOST_CHECK_EQUAL( false , schedule.hasGroup("GROUP") );
@@ -403,7 +404,7 @@ BOOST_AUTO_TEST_CASE(WellsIterator_Empty_EmptyVectorReturned) {
auto deck = createDeck();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck , grid , eclipseProperties, Phases(true, true, true) , ParseContext());
size_t timeStep = 0;
const auto wells_alltimesteps = schedule.getWells();
BOOST_CHECK_EQUAL(0U, wells_alltimesteps.size());
@@ -418,7 +419,7 @@ BOOST_AUTO_TEST_CASE(WellsIterator_HasWells_WellsReturned) {
auto deck = createDeckWithWells();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck , grid , eclipseProperties, Phases(true, true, true) , ParseContext( ));
size_t timeStep = 0;
const auto wells_alltimesteps = schedule.getWells();
@@ -434,7 +435,7 @@ BOOST_AUTO_TEST_CASE(WellsIteratorWithRegex_HasWells_WellsReturned) {
auto deck = createDeckWithWells();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
std::string wellNamePattern;
wellNamePattern = "*";
@@ -455,7 +456,7 @@ BOOST_AUTO_TEST_CASE(ReturnNumWellsTimestep) {
auto deck = createDeckWithWells();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK_EQUAL(schedule.numWells(0), 1);
BOOST_CHECK_EQUAL(schedule.numWells(1), 1);
@@ -468,7 +469,7 @@ BOOST_AUTO_TEST_CASE(ReturnMaxNumCompletionsForWellsInTimestep) {
auto deck = createDeckWithWellsAndCompletionData();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext() );
BOOST_CHECK_EQUAL(schedule.getMaxNumCompletionsForWells(1), 7);
BOOST_CHECK_EQUAL(schedule.getMaxNumCompletionsForWells(3), 9);
@@ -479,7 +480,7 @@ BOOST_AUTO_TEST_CASE(TestCrossFlowHandling) {
auto deck = createDeckForTestingCrossFlow();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext() );
auto well_ban = schedule.getWell("BAN");
BOOST_CHECK_EQUAL(well_ban->getAllowCrossFlow(), false);
@@ -571,7 +572,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsAndCompletionDataWithWELOPEN) {
auto deck = createDeckWithWellsAndCompletionDataWithWELOPEN();
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck ,grid , eclipseProperties, Phases(true, true, true) , ParseContext());
auto* well = schedule.getWell("OP_1");
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::SHUT, well->getStatus( 0 ));
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::SHUT, well->getStatus( 3 ));
@@ -650,7 +651,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWELOPEN_TryToOpenWellWithShutCompleti
auto deck = parser.parseString(input, parseContext);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck , grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto* well = schedule.getWell("OP_1");
size_t currentStep = 3;
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::SHUT, well->getStatus(currentStep));
@@ -711,7 +712,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWELOPEN_CombineShutCompletionsAndAddN
auto deck = parser.parseString(input, parseContext);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto* well = schedule.getWell("OP_1");
// timestep 3. Close all completions with WELOPEN and immediately open new completions with COMPDAT.
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::OPEN, well->getStatus(3));
@@ -767,7 +768,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWRFT) {
auto deck = parser.parseString(input, parseContext);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
{
auto* well = schedule.getWell("OP_1");
@@ -831,7 +832,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWRFTPLT) {
auto deck = parser.parseString(input, parseContext);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto* well = schedule.getWell("OP_1");
size_t currentStep = 3;
@@ -880,7 +881,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArg) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto* well = schedule.getWell("OP_1");
size_t currentStep = 1;
@@ -921,7 +922,8 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException) {
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_THROW(Schedule (parseContext , grid , eclipseProperties, deck, Phases(true, true, true) ), std::invalid_argument);
BOOST_CHECK_THROW(Schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext),
std::invalid_argument);
}
BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException2) {
@@ -938,7 +940,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException2) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_THROW(Schedule (parseContext , grid , eclipseProperties, deck, Phases(true, true, true) ), std::out_of_range);
BOOST_CHECK_THROW(Schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext), std::out_of_range);
}
BOOST_AUTO_TEST_CASE(createDeckWithWPIMULT) {
@@ -995,7 +997,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWPIMULT) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto* well = schedule.getWell("OP_1");
const auto& cs2 = well->getCompletions( 2 );
@@ -1032,7 +1034,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithDRSDT) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
size_t currentStep = 1;
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
const auto& ovap = schedule.getOilVaporizationProperties(currentStep);
@@ -1066,7 +1068,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithDRSDTthenDRVDT) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext, grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
size_t currentStep = 2;
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
const OilVaporizationProperties& ovap = schedule.getOilVaporizationProperties(currentStep);
@@ -1093,7 +1095,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithVAPPARS) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
size_t currentStep = 1;
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
const OilVaporizationProperties& ovap = schedule.getOilVaporizationProperties(currentStep);
@@ -1122,7 +1124,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithOutOilVaporizationProperties) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), false);
@@ -1183,7 +1185,7 @@ BOOST_AUTO_TEST_CASE(changeBhpLimitInHistoryModeWithWeltarg) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto* well_p = schedule.getWell("P");
BOOST_CHECK_EQUAL(well_p->getProductionProperties(0).BHPLimit, 0); //start
@@ -1272,7 +1274,7 @@ BOOST_AUTO_TEST_CASE(changeModeWithWHISTCTL) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto* well_p1 = schedule.getWell("P1");
auto* well_p2 = schedule.getWell("P2");
@@ -1338,7 +1340,7 @@ BOOST_AUTO_TEST_CASE(unsupportedOptionWHISTCTL) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_THROW(Schedule schedule(parseContext , grid, eclipseProperties, deck, Phases(true, true, true) ), std::invalid_argument);
BOOST_CHECK_THROW(Schedule(deck, grid, eclipseProperties, Phases(true, true, true) , parseContext), std::invalid_argument);
}
BOOST_AUTO_TEST_CASE(move_HEAD_I_location) {
@@ -1367,7 +1369,7 @@ BOOST_AUTO_TEST_CASE(move_HEAD_I_location) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ctx, grid, eclipseProperties, deck, Phases( true, true, true ) );
Schedule schedule( deck, grid, eclipseProperties, Phases( true, true, true ) , ctx);
const auto& well = *schedule.getWell( "W1" );
BOOST_CHECK_EQUAL( 3, well.getHeadI() );
@@ -1400,7 +1402,7 @@ BOOST_AUTO_TEST_CASE(change_ref_depth) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ctx, grid, eclipseProperties, deck, Phases( true, true, true ) );
Schedule schedule( deck, grid, eclipseProperties, Phases( true, true, true ) ,ctx);
const auto& well = *schedule.getWell( "W1" );
BOOST_CHECK_EQUAL( 12.0, well.getRefDepth() );
@@ -1439,7 +1441,7 @@ BOOST_AUTO_TEST_CASE( COMPDAT_sets_automatic_complnum ) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ctx, grid, eclipseProperties, deck, Phases( true, true, true ) );
Schedule schedule( deck, grid, eclipseProperties, Phases( true, true, true ) ,ctx);
const auto& cs1 = schedule.getWell( "W1" )->getCompletions( 1 );
BOOST_CHECK_EQUAL( 1, cs1.get( 0 ).complnum() );
@@ -1482,7 +1484,7 @@ BOOST_AUTO_TEST_CASE( COMPDAT_multiple_wells ) {
EclipseGrid grid( 10, 10, 10 );
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ctx, grid, eclipseProperties, deck, Phases( true, true, true ) );
Schedule schedule( deck, grid, eclipseProperties, Phases( true, true, true ) ,ctx);
const auto& w1cs = schedule.getWell( "W1" )->getCompletions();
BOOST_CHECK_EQUAL( 1, w1cs.get( 0 ).complnum() );
@@ -1522,7 +1524,7 @@ BOOST_AUTO_TEST_CASE( COMPDAT_multiple_records_same_completion ) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ctx, grid, eclipseProperties, deck, Phases( true, true, true ) );
Schedule schedule( deck, grid, eclipseProperties, Phases( true, true, true ) ,ctx);
const auto& cs = schedule.getWell( "W1" )->getCompletions();
BOOST_CHECK_EQUAL( 3U, cs.size() );
@@ -1556,7 +1558,7 @@ BOOST_AUTO_TEST_CASE( complump_less_than_1 ) {
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Phases p( true, true, true );
BOOST_CHECK_THROW( Schedule( ctx, grid, eclipseProperties, deck, p ), std::invalid_argument );
BOOST_CHECK_THROW( Schedule( deck , grid, eclipseProperties, p , ctx), std::invalid_argument );
}
BOOST_AUTO_TEST_CASE( complump ) {
@@ -1601,7 +1603,7 @@ BOOST_AUTO_TEST_CASE( complump ) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ctx, grid, eclipseProperties, deck, Phases( true, true, true ) );
Schedule schedule( deck, grid, eclipseProperties, Phases( true, true, true ) ,ctx);
const auto& well = *schedule.getWell( "W1" );
const auto& sc0 = well.getCompletions( 0 );
@@ -1675,7 +1677,7 @@ BOOST_AUTO_TEST_CASE( COMPLUMP_specific_coordinates ) {
EclipseGrid grid( 10, 10, 10 );
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ctx, grid, eclipseProperties, deck, Phases( true, true, true ) );
Schedule schedule( deck, grid, eclipseProperties, Phases( true, true, true ) ,ctx);
const auto& well = *schedule.getWell( "W1" );
const auto& cs1 = well.getCompletions( 1 );

View File

@@ -24,6 +24,7 @@
#include <opm/parser/eclipse/Deck/Deck.hpp>
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
#include <opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
#include <opm/parser/eclipse/Parser/Parser.hpp>
@@ -31,7 +32,7 @@ using namespace Opm;
static Deck createDeck( const std::string& summary ) {
Opm::Parser parser;
std::string input =
std::string input =
"START -- 0 \n"
"10 MAI 2007 / \n"
"RUNSPEC\n"
@@ -101,7 +102,7 @@ static std::vector< std::string > sorted_key_names( const SummaryConfig& summary
static SummaryConfig createSummary( std::string input , const ParseContext& parseContext = ParseContext()) {
auto deck = createDeck( input );
EclipseState state( deck, parseContext );
auto schedule = state.getSchedule( );
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec().phases(), parseContext);
return SummaryConfig( deck, schedule, state.getTableManager( ), parseContext );
}

View File

@@ -73,7 +73,7 @@ BOOST_AUTO_TEST_CASE(TuningTest) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule( ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule( deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
auto tuning = schedule.getTuning();
@@ -326,7 +326,7 @@ BOOST_AUTO_TEST_CASE(TuningInitTest) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule schedule(deck , grid , eclipseProperties, Phases(true, true, true), ParseContext());
auto tuning = schedule.getTuning();
@@ -356,7 +356,7 @@ BOOST_AUTO_TEST_CASE(TuningResetTest) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true), ParseContext());
auto tuning = schedule.getTuning();
@@ -374,5 +374,4 @@ BOOST_AUTO_TEST_CASE(TuningResetTest) {
TSINIT_default = tuning.getTSINIT(timestep);
BOOST_CHECK_CLOSE(TSINIT_default, 666.00, diff);
}
}

View File

@@ -142,7 +142,7 @@ BOOST_AUTO_TEST_CASE(TestNoSolvent) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK(!deck.hasKeyword("WSOLVENT"));
}
@@ -151,7 +151,7 @@ BOOST_AUTO_TEST_CASE(TestGasInjector) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext(), grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK(deck.hasKeyword("WSOLVENT"));
}
@@ -161,7 +161,7 @@ BOOST_AUTO_TEST_CASE(TestDynamicWSOLVENT) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK(deck.hasKeyword("WSOLVENT"));
const auto& keyword = deck.getKeyword("WSOLVENT");
BOOST_CHECK_EQUAL(keyword.size(),1);
@@ -180,7 +180,7 @@ BOOST_AUTO_TEST_CASE(TestOilInjector) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_THROW (Schedule(ParseContext() , grid , eclipseProperties, deck, Phases(true, true, true) ), std::invalid_argument);
BOOST_CHECK_THROW (Schedule(deck , grid , eclipseProperties, Phases(true, true, true) , ParseContext()), std::invalid_argument);
}
BOOST_AUTO_TEST_CASE(TestWaterInjector) {
@@ -188,5 +188,5 @@ BOOST_AUTO_TEST_CASE(TestWaterInjector) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_THROW (Schedule(ParseContext(), grid , eclipseProperties, deck, Phases(true, true, true) ), std::invalid_argument);
BOOST_CHECK_THROW (Schedule(deck, grid , eclipseProperties, Phases(true, true, true) , ParseContext()), std::invalid_argument);
}

View File

@@ -227,7 +227,7 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestTRACK) {
Opm::EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Opm::Schedule schedule(Opm::ParseContext() , grid , eclipseProperties, deck, Opm::Phases(true, true, true) );
Opm::Schedule schedule(deck, grid , eclipseProperties, Opm::Phases(true, true, true) , Opm::ParseContext());
auto* op_1 = schedule.getWell("OP_1");
size_t timestep = 2;
@@ -268,7 +268,7 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestDefaultTRACK) {
Opm::EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Opm::Schedule schedule(Opm::ParseContext() , grid , eclipseProperties, deck, Opm::Phases(true, true, true) );
Opm::Schedule schedule(deck, grid , eclipseProperties, Opm::Phases(true, true, true) , Opm::ParseContext());
auto* op_1 = schedule.getWell("OP_1");
size_t timestep = 2;
@@ -311,7 +311,7 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestINPUT) {
Opm::EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Opm::Schedule schedule(Opm::ParseContext() , grid , eclipseProperties, deck, Opm::Phases(true, true, true) );
Opm::Schedule schedule(deck, grid , eclipseProperties, Opm::Phases(true, true, true) , Opm::ParseContext());
auto* op_1 = schedule.getWell("OP_1");
size_t timestep = 2;

View File

@@ -44,7 +44,7 @@ BOOST_AUTO_TEST_CASE( CreateCompletionsFromKeyword ) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
const Schedule schedule( ParseContext(), grid, eclipseProperties, deck, Phases(true, true, true) );
const Schedule schedule( deck, grid, eclipseProperties, Phases(true, true, true) , ParseContext());
const auto& COMPDAT1 = deck.getKeyword("COMPDAT" , 1);
const auto wells = schedule.getWells( 0 );

View File

@@ -304,9 +304,13 @@ BOOST_AUTO_TEST_CASE( NorneRestartConfig ) {
rptConfig.push_back( std::make_tuple(240 , true , boost::gregorian::date( 2006,10,1)) );
rptConfig.push_back( std::make_tuple(241 , true , boost::gregorian::date( 2006,10,10)) );
Parser parser;
ParseContext ctx;
auto deck = parser.parseFile( prefix() + "IOConfig/RPTRST_DECK.DATA" , ctx);
EclipseState state(deck, ctx);
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec().phases(), ctx);
auto state = Parser::parse(prefix() + "IOConfig/RPTRST_DECK.DATA");
verifyRestartConfig(state.getSchedule().getTimeMap(), state.cfg().restart(), rptConfig);
verifyRestartConfig(schedule.getTimeMap(), state.cfg().restart(), rptConfig);
}
@@ -344,12 +348,14 @@ BOOST_AUTO_TEST_CASE( RestartConfig2 ) {
else rptConfig.push_back( std::make_tuple(report_step, false, boost::gregorian::date(2000,1,1)));
}
ParseContext parseContext;
Parser parser;
auto deck = parser.parseFile(prefix() + "IOConfig/RPT_TEST2.DATA", parseContext);
EclipseState state( deck , parseContext );
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec().phases(), parseContext);
const auto& rstConfig = state.cfg().restart();
verifyRestartConfig(state.getSchedule().getTimeMap(), state.cfg().restart(), rptConfig);
verifyRestartConfig(schedule.getTimeMap(), state.cfg().restart(), rptConfig);
BOOST_CHECK_EQUAL( rstConfig.getFirstRestartStep() , 0 );
}

View File

@@ -22,6 +22,7 @@
#include <boost/test/unit_test.hpp>
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/SgofTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/SlgofTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/SwofTable.hpp>
@@ -448,7 +449,7 @@ BOOST_AUTO_TEST_CASE( MULTISEGMENT_ABS ) {
const auto& grid = state.getInputGrid();
const TableManager table ( deck );
const Eclipse3DProperties eclipseProperties ( deck , table, grid);
const Schedule sched(parseContext, grid, eclipseProperties, deck, Phases(true, true, true) );
const Schedule sched(deck, grid, eclipseProperties, Phases(true, true, true), parseContext );
// for WELSEGS keyword
const auto& kw = deck.getKeyword("WELSEGS");
@@ -1348,7 +1349,8 @@ BOOST_AUTO_TEST_CASE( WCONPROD ) {
EclipseGrid grid(30,30,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(ParseContext(), grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule sched(deck, grid, eclipseProperties, Phases(true, true, true) , ParseContext());
BOOST_CHECK_EQUAL(5U, sched.numWells());
BOOST_CHECK(sched.hasWell("INJE1"));
@@ -1385,7 +1387,7 @@ BOOST_AUTO_TEST_CASE( WCONINJE ) {
EclipseGrid grid(30,30,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties( deck , table, grid );
Schedule sched( parseContext, grid, eclipseProperties, deck, Phases(true, true, true) );
Schedule sched( deck, grid, eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(5U, sched.numWells());
BOOST_CHECK(sched.hasWell("PROD1"));

View File

@@ -58,7 +58,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule) {
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
const auto& timeMap = sched.getTimeMap();
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007 , 5 , 10), sched.getStartTime());
BOOST_CHECK_EQUAL(9U, timeMap.size());
@@ -75,7 +75,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule_Comments_After_Keywords) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
const auto& timeMap = sched.getTimeMap();
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007, 5 , 10) , sched.getStartTime());
BOOST_CHECK_EQUAL(9U, timeMap.size());
@@ -90,7 +90,7 @@ BOOST_AUTO_TEST_CASE(WCONPROD_MissingCmode) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_NO_THROW( Schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) ) );
BOOST_CHECK_NO_THROW( Schedule(deck, grid , eclipseProperties, Phases(true, true, true), parseContext ) );
}
@@ -102,7 +102,7 @@ BOOST_AUTO_TEST_CASE(WCONPROD_Missing_DATA) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_THROW( Schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) ) , std::invalid_argument );
BOOST_CHECK_THROW( Schedule(deck, grid , eclipseProperties, Phases(true, true, true), parseContext ) , std::invalid_argument );
}
@@ -115,7 +115,7 @@ BOOST_AUTO_TEST_CASE(WellTestRefDepth) {
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_EQUAL(3, 3);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule sched(deck , grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(4, 4);
auto* well1 = sched.getWell("W_1");
@@ -135,7 +135,7 @@ BOOST_AUTO_TEST_CASE(WellTestOpen) {
EclipseGrid grid(40,60,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto well1 = sched.getWell( "W_1" );
auto well2 = sched.getWell( "W_2" );
@@ -177,7 +177,7 @@ BOOST_AUTO_TEST_CASE(WellTesting) {
EclipseGrid grid(40,60,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true) );
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(4U, sched.numWells());
BOOST_CHECK(sched.hasWell("W_1"));
@@ -300,7 +300,7 @@ BOOST_AUTO_TEST_CASE(WellTestCOMPDAT_DEFAULTED_ITEMS) {
EclipseGrid grid(40,60,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid, eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
}
@@ -312,7 +312,7 @@ BOOST_AUTO_TEST_CASE(WellTestCOMPDAT) {
EclipseGrid grid(40,60,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(4U, sched.numWells());
BOOST_CHECK(sched.hasWell("W_1"));
@@ -344,7 +344,7 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_GRUPTREE_with_explicit_L0_parenting) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
const auto& grouptree = sched.getGroupTree( 0 );
@@ -370,7 +370,7 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_GRUPTREE_correct) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK( schedule.hasGroup( "FIELD" ));
BOOST_CHECK( schedule.hasGroup( "PROD" ));
@@ -391,7 +391,7 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_WELSPECS_AND_GRUPTREE_correct_size ) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule schedule(deck, grid , eclipseProperties,Phases(true, true, true), parseContext);
// Time 0, only from WELSPECS
BOOST_CHECK_EQUAL( 2U, schedule.getGroupTree(0).children("FIELD").size() );
@@ -408,7 +408,7 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_WELSPECS_AND_GRUPTREE_correct_tree) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule schedule(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
// Time 0, only from WELSPECS
const auto& tree0 = schedule.getGroupTree( 0 );
@@ -441,10 +441,10 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_GRUPTREE_WITH_REPARENT_correct_tree) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
const auto& tree0 = schedule.getGroupTree( 0 );
const auto& tree0 = sched.getGroupTree( 0 );
BOOST_CHECK( tree0.exists( "GROUP_BJARNE" ) );
BOOST_CHECK( tree0.exists( "GROUP_NILS" ) );
@@ -462,7 +462,7 @@ BOOST_AUTO_TEST_CASE( WellTestGroups ) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL( 3U , sched.numGroups() );
BOOST_CHECK( sched.hasGroup( "INJ" ));
@@ -506,7 +506,7 @@ BOOST_AUTO_TEST_CASE( WellTestGroupAndWellRelation ) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
auto& group1 = sched.getGroup("GROUP1");
auto& group2 = sched.getGroup("GROUP2");
@@ -535,7 +535,7 @@ BOOST_AUTO_TEST_CASE(WellTestWELSPECSDataLoaded) {
EclipseGrid grid(40,60,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(4U, sched.numWells());
BOOST_CHECK(sched.hasWell("W_1"));
@@ -599,7 +599,7 @@ BOOST_AUTO_TEST_CASE(WellTestWGRUPCONWellPropertiesSet) {
EclipseGrid grid(10,10,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
const auto* well1 = sched.getWell("W_1");
BOOST_CHECK(well1->isAvailableForGroupControl(0));
@@ -640,7 +640,7 @@ COMPDAT \n\
EclipseGrid grid(30,30,10);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
const auto* well = sched.getWell("W1");
const auto& completions = well->getCompletions(0);
BOOST_CHECK_EQUAL( 10 , completions.get(0).getI() );
@@ -660,7 +660,7 @@ BOOST_AUTO_TEST_CASE(OpmCode) {
EclipseGrid grid(10,10,3);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
BOOST_CHECK_NO_THROW( Schedule(parseContext , grid , eclipseProperties, deck, Phases(true, true, true)) );
BOOST_CHECK_NO_THROW( Schedule(deck , grid , eclipseProperties, Phases(true, true, true), parseContext) );
}
@@ -673,7 +673,7 @@ BOOST_AUTO_TEST_CASE(WELLS_SHUT) {
EclipseGrid grid(20,40,1);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
const auto* well1 = sched.getWell("W1");
@@ -699,7 +699,7 @@ BOOST_AUTO_TEST_CASE(WellTestWPOLYMER) {
EclipseGrid grid(30,30,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(4U, sched.numWells());
@@ -749,7 +749,7 @@ BOOST_AUTO_TEST_CASE(WellTestWECON) {
EclipseGrid grid(30,30,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck, grid , eclipseProperties, Phases(true, true, true) , parseContext);
BOOST_CHECK_EQUAL(3U, sched.numWells());
BOOST_CHECK(sched.hasWell("INJE01"));
@@ -861,7 +861,7 @@ BOOST_AUTO_TEST_CASE(TestEvents) {
EclipseGrid grid(40,40,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck , grid , eclipseProperties, Phases(true, true, true), parseContext);
const Events& events = sched.getEvents();
BOOST_CHECK( events.hasEvent(ScheduleEvents::NEW_WELL , 0 ) );
@@ -895,7 +895,7 @@ BOOST_AUTO_TEST_CASE(TestWellEvents) {
EclipseGrid grid(40,40,30);
TableManager table ( deck );
Eclipse3DProperties eclipseProperties ( deck , table, grid);
Schedule sched(parseContext , grid , eclipseProperties, deck, Phases(true, true, true));
Schedule sched(deck , grid , eclipseProperties, Phases(true, true, true), parseContext);
const auto& w1 = sched.getWell( "W_1");
const auto& w2 = sched.getWell( "W_2");

View File

@@ -39,7 +39,7 @@ BOOST_AUTO_TEST_CASE(MULTFLT_IN_SCHEDULE) {
auto deck = parser.parseFile(scheduleFile, parseContext);
EclipseState state(deck, parseContext);
const auto& trans = state.getTransMult();
const auto& schedule = state.getSchedule();
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec().phases(), parseContext);
const Events& events = schedule.getEvents();
BOOST_CHECK_EQUAL( 0.10 , trans.getMultiplier( 3,2,0,FaceDir::XPlus ));

View File

@@ -24,6 +24,8 @@
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
#include <opm/parser/eclipse/Deck/Deck.hpp>
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
#include <opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
inline void loadDeck( const char * deck_file) {
Opm::ParseContext parseContext;
@@ -31,7 +33,7 @@ inline void loadDeck( const char * deck_file) {
auto deck = parser.parseFile(deck_file, parseContext);
Opm::EclipseState state( deck, parseContext );
auto schedule = state.getSchedule( );
Opm::Schedule schedule( deck, state.getInputGrid(), state.get3DProperties(), state.runspec().phases(), parseContext);
Opm::SummaryConfig summary( deck, schedule, state.getTableManager( ), parseContext );
{
std::stringstream ss;