Test use of FieldPropsManager in WellConnections
This commit is contained in:
@@ -38,7 +38,7 @@ int main(int /* argc */, char** argv) {
|
||||
|
||||
Opm::Deck deck = parser.parseFile(deck_file, parse_context, error_guard);
|
||||
Opm::EclipseState state(deck, parse_context, error_guard);
|
||||
Opm::Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec(), parse_context, error_guard);
|
||||
Opm::Schedule schedule(deck, state, parse_context, error_guard);
|
||||
Opm::SummaryConfig summary_config(deck, schedule, state.getTableManager(), parse_context, error_guard);
|
||||
|
||||
if (error_guard) {
|
||||
|
||||
@@ -47,7 +47,7 @@ inline void loadDeck( const char * deck_file) {
|
||||
auto deck = parser.parseFile(deck_file, parseContext, errors);
|
||||
std::cout << "parse complete - creating EclipseState .... "; std::cout.flush();
|
||||
Opm::EclipseState state( deck, parseContext, errors );
|
||||
Opm::Schedule schedule( deck, state.getInputGrid(), state.get3DProperties(), state.runspec(), parseContext, errors);
|
||||
Opm::Schedule schedule( deck, state);
|
||||
Opm::SummaryConfig summary( deck, schedule, state.getTableManager( ), parseContext, errors );
|
||||
std::cout << "complete." << std::endl;
|
||||
}
|
||||
|
||||
@@ -96,6 +96,7 @@ namespace Opm
|
||||
class EclipseGrid;
|
||||
class Eclipse3DProperties;
|
||||
class EclipseState;
|
||||
class FieldPropsManager;
|
||||
class Runspec;
|
||||
class SCHEDULESection;
|
||||
class SummaryState;
|
||||
@@ -110,6 +111,7 @@ namespace Opm
|
||||
public:
|
||||
Schedule(const Deck& deck,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const Runspec &runspec,
|
||||
const ParseContext& parseContext,
|
||||
@@ -118,6 +120,7 @@ namespace Opm
|
||||
template<typename T>
|
||||
Schedule(const Deck& deck,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const Runspec &runspec,
|
||||
const ParseContext& parseContext,
|
||||
@@ -125,6 +128,7 @@ namespace Opm
|
||||
|
||||
Schedule(const Deck& deck,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const Runspec &runspec);
|
||||
|
||||
@@ -255,6 +259,7 @@ namespace Opm
|
||||
bool updateWellStatus( const std::string& well, size_t reportStep , Well::Status status);
|
||||
void addWellToGroup( const std::string& group_name, const std::string& well_name , size_t timeStep);
|
||||
void iterateScheduleSection(const ParseContext& parseContext , ErrorGuard& errors, const SCHEDULESection& , const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties);
|
||||
void addACTIONX(const Action::ActionX& action, std::size_t currentStep);
|
||||
void addGroupToGroup( const std::string& parent_group, const std::string& child_group, size_t timeStep);
|
||||
@@ -268,7 +273,7 @@ namespace Opm
|
||||
void handleWCONHIST( const DeckKeyword& keyword, size_t currentStep, const ParseContext& parseContext, ErrorGuard& errors);
|
||||
void handleWCONPROD( const DeckKeyword& keyword, size_t currentStep, const ParseContext& parseContext, ErrorGuard& errors);
|
||||
void handleWGRUPCON( const DeckKeyword& keyword, size_t currentStep);
|
||||
void handleCOMPDAT( const DeckKeyword& keyword, size_t currentStep, const EclipseGrid& grid, const Eclipse3DProperties& eclipseProperties, const ParseContext& parseContext, ErrorGuard& errors);
|
||||
void handleCOMPDAT( const DeckKeyword& keyword, size_t currentStep, const EclipseGrid& grid, const FieldPropsManager& fp, const Eclipse3DProperties& eclipseProperties, const ParseContext& parseContext, ErrorGuard& errors);
|
||||
void handleCOMPLUMP( const DeckKeyword& keyword, size_t currentStep );
|
||||
void handleWELSEGS( const DeckKeyword& keyword, size_t currentStep);
|
||||
void handleCOMPSEGS( const DeckKeyword& keyword, size_t currentStep, const EclipseGrid& grid, const ParseContext& parseContext, ErrorGuard& errors);
|
||||
@@ -318,6 +323,7 @@ namespace Opm
|
||||
const DeckKeyword& keyword,
|
||||
const ParseContext& parseContext, ErrorGuard& errors,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const UnitSystem& unit_system,
|
||||
std::vector<std::pair<const DeckKeyword*, size_t > >& rftProperties);
|
||||
|
||||
@@ -108,6 +108,7 @@ namespace {
|
||||
|
||||
Schedule::Schedule( const Deck& deck,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const Runspec &runspec,
|
||||
const ParseContext& parseContext,
|
||||
@@ -148,32 +149,35 @@ namespace {
|
||||
}
|
||||
|
||||
if (Section::hasSCHEDULE(deck))
|
||||
iterateScheduleSection( parseContext, errors, SCHEDULESection( deck ), grid, eclipseProperties );
|
||||
iterateScheduleSection( parseContext, errors, SCHEDULESection( deck ), grid, fp, eclipseProperties );
|
||||
}
|
||||
|
||||
|
||||
template <typename T>
|
||||
Schedule::Schedule( const Deck& deck,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const Runspec &runspec,
|
||||
const ParseContext& parseContext,
|
||||
T&& errors) :
|
||||
Schedule(deck, grid, eclipseProperties, runspec, parseContext, errors)
|
||||
Schedule(deck, grid, fp, eclipseProperties, runspec, parseContext, errors)
|
||||
{}
|
||||
|
||||
|
||||
Schedule::Schedule( const Deck& deck,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const Runspec &runspec) :
|
||||
Schedule(deck, grid, eclipseProperties, runspec, ParseContext(), ErrorGuard())
|
||||
Schedule(deck, grid, fp, eclipseProperties, runspec, ParseContext(), ErrorGuard())
|
||||
{}
|
||||
|
||||
|
||||
Schedule::Schedule(const Deck& deck, const EclipseState& es, const ParseContext& parse_context, ErrorGuard& errors) :
|
||||
Schedule(deck,
|
||||
es.getInputGrid(),
|
||||
es.fieldProps(),
|
||||
es.get3DProperties(),
|
||||
es.runspec(),
|
||||
parse_context,
|
||||
@@ -186,6 +190,7 @@ namespace {
|
||||
Schedule::Schedule(const Deck& deck, const EclipseState& es, const ParseContext& parse_context, T&& errors) :
|
||||
Schedule(deck,
|
||||
es.getInputGrid(),
|
||||
es.fieldProps(),
|
||||
es.get3DProperties(),
|
||||
es.runspec(),
|
||||
parse_context,
|
||||
@@ -219,6 +224,7 @@ namespace {
|
||||
const ParseContext& parseContext,
|
||||
ErrorGuard& errors,
|
||||
const EclipseGrid& grid,
|
||||
const FieldPropsManager& fp,
|
||||
const Eclipse3DProperties& eclipseProperties,
|
||||
const UnitSystem& unit_system,
|
||||
std::vector<std::pair<const DeckKeyword*, size_t > >& rftProperties) {
|
||||
@@ -311,7 +317,7 @@ namespace {
|
||||
handleWGRUPCON(keyword, currentStep);
|
||||
|
||||
else if (keyword.name() == "COMPDAT")
|
||||
handleCOMPDAT(keyword, currentStep, grid, eclipseProperties, parseContext, errors);
|
||||
handleCOMPDAT(keyword, currentStep, grid, fp, eclipseProperties, parseContext, errors);
|
||||
|
||||
else if (keyword.name() == "WELSEGS")
|
||||
handleWELSEGS(keyword, currentStep);
|
||||
@@ -417,7 +423,7 @@ namespace {
|
||||
|
||||
|
||||
void Schedule::iterateScheduleSection(const ParseContext& parseContext , ErrorGuard& errors, const SCHEDULESection& section , const EclipseGrid& grid,
|
||||
const Eclipse3DProperties& eclipseProperties) {
|
||||
const FieldPropsManager& fp, const Eclipse3DProperties& eclipseProperties) {
|
||||
size_t currentStep = 0;
|
||||
const auto& unit_system = section.unitSystem();
|
||||
std::vector<std::pair< const DeckKeyword* , size_t> > rftProperties;
|
||||
@@ -445,7 +451,7 @@ namespace {
|
||||
}
|
||||
this->addACTIONX(action, currentStep);
|
||||
} else
|
||||
this->handleKeyword(currentStep, section, keywordIdx, keyword, parseContext, errors, grid, eclipseProperties, unit_system, rftProperties);
|
||||
this->handleKeyword(currentStep, section, keywordIdx, keyword, parseContext, errors, grid, fp, eclipseProperties, unit_system, rftProperties);
|
||||
|
||||
keywordIdx++;
|
||||
if (keywordIdx == section.size())
|
||||
@@ -1861,7 +1867,7 @@ namespace {
|
||||
}
|
||||
}
|
||||
|
||||
void Schedule::handleCOMPDAT( const DeckKeyword& keyword, size_t currentStep, const EclipseGrid& grid, const Eclipse3DProperties& eclipseProperties, const ParseContext& parseContext, ErrorGuard& errors) {
|
||||
void Schedule::handleCOMPDAT( const DeckKeyword& keyword, size_t currentStep, const EclipseGrid& grid, const FieldPropsManager& fp, const Eclipse3DProperties& eclipseProperties, const ParseContext& parseContext, ErrorGuard& errors) {
|
||||
for (const auto& record : keyword) {
|
||||
const std::string& wellNamePattern = record.getItem("WELL").getTrimmedString(0);
|
||||
auto wellnames = this->wellNames(wellNamePattern, currentStep);
|
||||
@@ -1872,8 +1878,11 @@ namespace {
|
||||
{
|
||||
auto well2 = std::shared_ptr<Well>(new Well( this->getWell(name, currentStep)));
|
||||
auto connections = std::shared_ptr<WellConnections>( new WellConnections( well2->getConnections()));
|
||||
#ifdef ENABLE_3DPROPS_TESTING
|
||||
connections->loadCOMPDAT(record, grid, fp);
|
||||
#else
|
||||
connections->loadCOMPDAT(record, grid, eclipseProperties);
|
||||
|
||||
#endif
|
||||
/*
|
||||
This block implements the following dubious logic.
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ BOOST_AUTO_TEST_CASE(RUN) {
|
||||
Parser parser;
|
||||
Deck deck = parser.parseFile("SPE1CASE1.DATA");
|
||||
EclipseState state(deck);
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec());
|
||||
Schedule schedule(deck, state);
|
||||
SummaryConfig summary_config(deck, schedule, state.getTableManager());
|
||||
msim msim(state);
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ struct test_data {
|
||||
test_data(const std::string& deck_string) :
|
||||
deck( Parser().parseString(deck_string)),
|
||||
state( this->deck ),
|
||||
schedule( this->deck, this->state.getInputGrid(), this->state.get3DProperties(), this->state.runspec()),
|
||||
schedule( this->deck, this->state),
|
||||
summary_config( this->deck, this->schedule, this->state.getTableManager())
|
||||
{
|
||||
auto& ioconfig = this->state.getIOConfig();
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <opm/common/utility/TimeService.hpp>
|
||||
|
||||
#include <opm/common/OpmLog/Location.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/SummaryState.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
@@ -127,19 +128,20 @@ TSTEP
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck1 );
|
||||
Eclipse3DProperties eclipseProperties ( deck1 , table, grid1);
|
||||
FieldPropsManager fp( deck1 , grid1, table);
|
||||
Runspec runspec (deck1);
|
||||
|
||||
// The ACTIONX keyword has no matching 'ENDACTIO' -> exception
|
||||
BOOST_CHECK_THROW(Schedule(deck1, grid1, eclipseProperties, runspec ), std::invalid_argument);
|
||||
BOOST_CHECK_THROW(Schedule(deck1, grid1, fp, eclipseProperties, runspec ), std::invalid_argument);
|
||||
|
||||
Schedule sched(deck2, grid1, eclipseProperties, runspec);
|
||||
Schedule sched(deck2, grid1, fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK( !sched.hasWell("W1") );
|
||||
BOOST_CHECK( sched.hasWell("W2"));
|
||||
|
||||
// The deck3 contains the 'GRID' keyword in the ACTIONX block - that is not a whitelisted keyword.
|
||||
ParseContext parseContext( {{ParseContext::ACTIONX_ILLEGAL_KEYWORD, InputError::THROW_EXCEPTION}} );
|
||||
ErrorGuard errors;
|
||||
BOOST_CHECK_THROW(Schedule(deck3, grid1, eclipseProperties, runspec, parseContext, errors), std::invalid_argument);
|
||||
BOOST_CHECK_THROW(Schedule(deck3, grid1, fp, eclipseProperties, runspec, parseContext, errors), std::invalid_argument);
|
||||
}
|
||||
|
||||
|
||||
@@ -221,9 +223,10 @@ TSTEP
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec(deck);
|
||||
|
||||
return Schedule(deck, grid1, eclipseProperties, runspec);
|
||||
return Schedule(deck, grid1, fp, eclipseProperties, runspec);
|
||||
}
|
||||
|
||||
|
||||
@@ -683,8 +686,10 @@ TSTEP
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid1, eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid1, fp, eclipseProperties, runspec);
|
||||
const auto& actions0 = sched.actions(0);
|
||||
BOOST_CHECK_EQUAL(actions0.size(), 0);
|
||||
|
||||
|
||||
@@ -207,7 +207,7 @@ const char *deckData =
|
||||
BOOST_AUTO_TEST_CASE(CreateSchedule) {
|
||||
auto deck = createDeck();
|
||||
EclipseState state(deck);
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec());
|
||||
Schedule schedule(deck, state);
|
||||
BOOST_CHECK_EQUAL(schedule.getStartTime(), TimeMap::mkdate( 1998 , 3 , 8));
|
||||
}
|
||||
|
||||
|
||||
@@ -77,11 +77,12 @@ BOOST_AUTO_TEST_CASE( CheckUnsoppertedInSCHEDULE ) {
|
||||
EclipseGrid grid( deck );
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
|
||||
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::IGNORE );
|
||||
{
|
||||
Runspec runspec ( deck );
|
||||
Schedule schedule( deck, grid , eclipseProperties, runspec , parseContext, errors);
|
||||
Schedule schedule( deck, grid , fp, eclipseProperties, runspec , parseContext, errors);
|
||||
auto events = schedule.getEvents( );
|
||||
BOOST_CHECK_EQUAL( false , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 1 ));
|
||||
BOOST_CHECK_EQUAL( true , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 2 ));
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Util/Value.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Group/Group.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Group/GuideRateModel.hpp>
|
||||
@@ -129,7 +130,8 @@ BOOST_AUTO_TEST_CASE(createDeckWithGEFAC) {
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
Runspec runspec (deck );
|
||||
Opm::Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Opm::Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
|
||||
auto group_names = schedule.groupNames("PRODUC");
|
||||
BOOST_CHECK_EQUAL(group_names.size(), 1);
|
||||
@@ -181,8 +183,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithWGRUPCONandWCONPROD) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck );
|
||||
Opm::Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
Opm::Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
const auto& currentWell = schedule.getWell("B-37T2", 0);
|
||||
const Opm::Well::WellProductionProperties& wellProductionProperties = currentWell.getProductionProperties();
|
||||
BOOST_CHECK(wellProductionProperties.controlMode == Opm::Well::ProducerCMode::GRUP);
|
||||
@@ -225,8 +228,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithGRUPNET) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck );
|
||||
Opm::Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
Opm::Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& group1 = schedule.getGroup("PROD", 0);
|
||||
const auto& group2 = schedule.getGroup("MANI-E2", 0);
|
||||
@@ -283,8 +287,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithGCONPROD) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck );
|
||||
Opm::Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
Opm::Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
SummaryState st(std::chrono::system_clock::now());
|
||||
|
||||
const auto& group1 = schedule.getGroup("G1", 0);
|
||||
@@ -336,10 +341,11 @@ BOOST_AUTO_TEST_CASE(TESTGuideRateLINCOM) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck );
|
||||
|
||||
/* The 'COMB' target mode is not supported */
|
||||
BOOST_CHECK_THROW(Opm::Schedule schedule(deck, grid, eclipseProperties, runspec), std::logic_error);
|
||||
BOOST_CHECK_THROW(Opm::Schedule schedule(deck, grid, fp, eclipseProperties, runspec), std::logic_error);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(TESTGuideRate) {
|
||||
@@ -373,8 +379,9 @@ BOOST_AUTO_TEST_CASE(TESTGuideRate) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck );
|
||||
Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
|
||||
GuideRate gr(schedule);
|
||||
}
|
||||
@@ -399,15 +406,16 @@ BOOST_AUTO_TEST_CASE(TESTGCONSALE) {
|
||||
'G1' 20 50 'a_node' /
|
||||
'G2' 30 60 /
|
||||
/
|
||||
|
||||
|
||||
)";
|
||||
|
||||
auto deck = parser.parseString(input);
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck );
|
||||
Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
|
||||
double metric_to_si = 1.0 / (24.0 * 3600.0); //cubic meters / day
|
||||
|
||||
@@ -434,5 +442,5 @@ BOOST_AUTO_TEST_CASE(TESTGCONSALE) {
|
||||
BOOST_CHECK_EQUAL( group2.network_node.size(), 0 );
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -79,8 +79,9 @@ BOOST_AUTO_TEST_CASE(MESSAGES) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
const MessageLimits limits = schedule.getMessageLimits();
|
||||
|
||||
BOOST_CHECK_EQUAL( limits.getBugPrintLimit( 0 ) , 77 ); // The pre Schedule initialization
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
#include <opm/parser/eclipse/Parser/InputErrorAction.hpp>
|
||||
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
||||
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
|
||||
@@ -331,15 +333,16 @@ BOOST_AUTO_TEST_CASE( CheckUnsupportedInSCHEDULE ) {
|
||||
EclipseGrid grid( deckSupported );
|
||||
TableManager table ( deckSupported );
|
||||
Eclipse3DProperties eclipseProperties ( deckSupported , table, grid);
|
||||
FieldPropsManager fp(deckSupported, grid, table);
|
||||
Runspec runspec(deckSupported);
|
||||
|
||||
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::IGNORE );
|
||||
BOOST_CHECK_NO_THROW( Schedule( deckSupported , grid , eclipseProperties, runspec, parseContext, errors ));
|
||||
BOOST_CHECK_NO_THROW( Schedule( deckUnSupported, grid , eclipseProperties, runspec, parseContext, errors ));
|
||||
BOOST_CHECK_NO_THROW( Schedule( deckSupported , grid , fp, eclipseProperties, runspec, parseContext, errors ));
|
||||
BOOST_CHECK_NO_THROW( Schedule( deckUnSupported, grid , fp, eclipseProperties, runspec, parseContext, errors ));
|
||||
|
||||
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::THROW_EXCEPTION );
|
||||
BOOST_CHECK_THROW( Schedule( deckUnSupported , grid , eclipseProperties, runspec , parseContext , errors), std::invalid_argument );
|
||||
BOOST_CHECK_NO_THROW( Schedule( deckSupported , grid , eclipseProperties, runspec , parseContext, errors));
|
||||
BOOST_CHECK_THROW( Schedule( deckUnSupported , grid , fp, eclipseProperties, runspec , parseContext , errors), std::invalid_argument );
|
||||
BOOST_CHECK_NO_THROW( Schedule( deckSupported , grid , fp, eclipseProperties, runspec , parseContext, errors));
|
||||
}
|
||||
|
||||
|
||||
@@ -409,13 +412,14 @@ BOOST_AUTO_TEST_CASE(TestCOMPORD) {
|
||||
EclipseGrid grid( deck );
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec(deck);
|
||||
|
||||
parseContext.update( ParseContext::UNSUPPORTED_COMPORD_TYPE , InputError::IGNORE);
|
||||
BOOST_CHECK_NO_THROW( Schedule( deck , grid , eclipseProperties, runspec, parseContext, errors ));
|
||||
BOOST_CHECK_NO_THROW( Schedule( deck , grid , fp, eclipseProperties, runspec, parseContext, errors ));
|
||||
|
||||
parseContext.update( ParseContext::UNSUPPORTED_COMPORD_TYPE , InputError::THROW_EXCEPTION);
|
||||
BOOST_CHECK_THROW( Schedule( deck, grid , eclipseProperties, runspec , parseContext, errors), std::invalid_argument );
|
||||
BOOST_CHECK_THROW( Schedule( deck, grid , fp, eclipseProperties, runspec , parseContext, errors), std::invalid_argument );
|
||||
}
|
||||
|
||||
|
||||
@@ -759,9 +763,10 @@ BOOST_AUTO_TEST_CASE( test_invalid_wtemplate_config ) {
|
||||
EclipseGrid grid( deckUnSupported );
|
||||
TableManager table ( deckUnSupported );
|
||||
Eclipse3DProperties eclipseProperties ( deckUnSupported , table, grid);
|
||||
FieldPropsManager fp( deckUnSupported , grid, table);
|
||||
Runspec runspec( deckUnSupported);
|
||||
|
||||
BOOST_CHECK_THROW( Schedule( deckUnSupported , grid , eclipseProperties, runspec , parseContext, errors), std::invalid_argument );
|
||||
BOOST_CHECK_THROW( Schedule( deckUnSupported , grid , fp, eclipseProperties, runspec , parseContext, errors), std::invalid_argument );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
|
||||
#include <opm/common/utility/TimeService.hpp>
|
||||
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/TimeMap.hpp>
|
||||
@@ -360,8 +362,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckMissingReturnsDefaults) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec );
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec );
|
||||
BOOST_CHECK_EQUAL( schedule.getStartTime() , TimeMap::mkdate(1983, 1 , 1));
|
||||
}
|
||||
|
||||
@@ -370,8 +373,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsOrdered) {
|
||||
EclipseGrid grid(100,100,100);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
auto well_names = schedule.wellNames();
|
||||
|
||||
BOOST_CHECK_EQUAL( "CW_1" , well_names[0]);
|
||||
@@ -399,8 +403,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsOrderedGRUPTREE) {
|
||||
EclipseGrid grid(100,100,100);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_THROW( schedule.getChildWells2( "NO_SUCH_GROUP" , 1 ), std::invalid_argument);
|
||||
{
|
||||
@@ -450,8 +455,9 @@ BOOST_AUTO_TEST_CASE(GroupTree2TEST) {
|
||||
EclipseGrid grid(100,100,100);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_THROW( schedule.groupTree("NO_SUCH_GROUP", 0), std::invalid_argument);
|
||||
auto cg1 = schedule.getGroup("CG1", 0);
|
||||
@@ -480,9 +486,10 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithStart) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK_EQUAL( schedule.getStartTime() , TimeMap::mkdate(1998, 3 , 8 ));
|
||||
}
|
||||
|
||||
@@ -492,10 +499,11 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithSCHEDULENoThrow) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
deck.addKeyword( DeckKeyword( parser.getKeyword("SCHEDULE" )));
|
||||
Runspec runspec (deck);
|
||||
|
||||
BOOST_CHECK_NO_THROW( Schedule( deck, grid , eclipseProperties, runspec));
|
||||
BOOST_CHECK_NO_THROW( Schedule( deck, grid , fp, eclipseProperties, runspec));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(EmptyScheduleHasNoWells) {
|
||||
@@ -503,8 +511,9 @@ BOOST_AUTO_TEST_CASE(EmptyScheduleHasNoWells) {
|
||||
auto deck = createDeck();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);;
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK_EQUAL( 0U , schedule.numWells() );
|
||||
BOOST_CHECK_EQUAL( false , schedule.hasWell("WELL1") );
|
||||
BOOST_CHECK_THROW( schedule.getWell("WELL2", 0) , std::invalid_argument );
|
||||
@@ -517,8 +526,9 @@ BOOST_AUTO_TEST_CASE(EmptyScheduleHasFIELDGroup) {
|
||||
auto deck = createDeck();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck , grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck , grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_EQUAL( 1U , schedule.numGroups() );
|
||||
BOOST_CHECK_EQUAL( true , schedule.hasGroup("FIELD") );
|
||||
@@ -612,8 +622,9 @@ BOOST_AUTO_TEST_CASE(WellsIterator_Empty_EmptyVectorReturned) {
|
||||
auto deck = createDeck();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck , grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck , grid , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto wells_alltimesteps = schedule.getWellsatEnd();
|
||||
BOOST_CHECK_EQUAL(0U, wells_alltimesteps.size());
|
||||
@@ -630,8 +641,9 @@ BOOST_AUTO_TEST_CASE(WellsIterator_HasWells_WellsReturned) {
|
||||
auto deck = createDeckWithWells();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck , grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck , grid , fp, eclipseProperties, runspec);
|
||||
size_t timeStep = 0;
|
||||
|
||||
const auto wells_alltimesteps = schedule.getWellsatEnd();
|
||||
@@ -649,8 +661,9 @@ BOOST_AUTO_TEST_CASE(ReturnNumWellsTimestep) {
|
||||
auto deck = createDeckWithWells();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_EQUAL(schedule.numWells(0), 1);
|
||||
BOOST_CHECK_EQUAL(schedule.numWells(1), 1);
|
||||
@@ -663,8 +676,9 @@ BOOST_AUTO_TEST_CASE(TestCrossFlowHandling) {
|
||||
auto deck = createDeckForTestingCrossFlow();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_EQUAL(schedule.getWell("BAN", 0).getAllowCrossFlow(), false);
|
||||
BOOST_CHECK_EQUAL(schedule.getWell("ALLOW", 0).getAllowCrossFlow(), true);
|
||||
@@ -736,8 +750,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsAndConnectionDataWithWELOPEN) {
|
||||
auto deck = createDeckWithWellsAndConnectionDataWithWELOPEN();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck ,grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck ,grid , fp, eclipseProperties, runspec);
|
||||
{
|
||||
constexpr auto well_shut = Well::Status::SHUT;
|
||||
constexpr auto well_open = Well::Status::OPEN;
|
||||
@@ -820,8 +835,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWELOPEN_TryToOpenWellWithShutCompleti
|
||||
auto deck = parser.parseString(input);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck , grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck , grid , fp, eclipseProperties, runspec);
|
||||
const auto& well2_3 = schedule.getWell("OP_1",3);
|
||||
const auto& well2_4 = schedule.getWell("OP_1",4);
|
||||
BOOST_CHECK(Well::Status::SHUT == well2_3.getStatus());
|
||||
@@ -880,8 +896,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWELOPEN_CombineShutCompletionsAndAddN
|
||||
auto deck = parser.parseString(input);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& well_3 = schedule.getWell("OP_1", 3);
|
||||
const auto& well_4 = schedule.getWell("OP_1", 4);
|
||||
const auto& well_5 = schedule.getWell("OP_1", 5);
|
||||
@@ -938,8 +955,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWRFT) {
|
||||
auto deck = parser.parseString(input);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& rft_config = schedule.rftConfig();
|
||||
|
||||
BOOST_CHECK_EQUAL(2 , rft_config.firstRFTOutput());
|
||||
@@ -996,8 +1014,9 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWRFTPLT) {
|
||||
auto deck = parser.parseString(input);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& well = schedule.getWell("OP_1", 4);
|
||||
BOOST_CHECK(Well::Status::OPEN == well.getStatus());
|
||||
|
||||
@@ -1043,8 +1062,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArg) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
Opm::UnitSystem unitSystem = deck.getActiveUnitSystem();
|
||||
double siFactorL = unitSystem.parse("LiquidSurfaceVolume/Time").getSIScaling();
|
||||
double siFactorG = unitSystem.parse("GasSurfaceVolume/Time").getSIScaling();
|
||||
@@ -1081,9 +1101,10 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid , eclipseProperties, runspec),
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid , fp, eclipseProperties, runspec),
|
||||
std::invalid_argument);
|
||||
}
|
||||
|
||||
@@ -1100,8 +1121,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException2) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid , eclipseProperties, runspec), std::invalid_argument);
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid , fp, eclipseProperties, runspec), std::invalid_argument);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(createDeckWithWPIMULT) {
|
||||
@@ -1146,8 +1168,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithWPIMULT) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& cs2 = schedule.getWell("OP_1", 2).getConnections();
|
||||
const auto& cs3 = schedule.getWell("OP_1", 3).getConnections();
|
||||
@@ -1217,15 +1240,16 @@ BOOST_AUTO_TEST_CASE(WELSPECS_WGNAME_SPACE) {
|
||||
EclipseGrid grid( deck );
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
ParseContext parseContext;
|
||||
ErrorGuard errors;
|
||||
|
||||
parseContext.update(ParseContext::PARSE_WGNAME_SPACE, InputError::THROW_EXCEPTION);
|
||||
BOOST_CHECK_THROW( Opm::Schedule(deck, grid, eclipseProperties, runspec, parseContext, errors), std::invalid_argument);
|
||||
BOOST_CHECK_THROW( Opm::Schedule(deck, grid, fp, eclipseProperties, runspec, parseContext, errors), std::invalid_argument);
|
||||
|
||||
parseContext.update(ParseContext::PARSE_WGNAME_SPACE, InputError::IGNORE);
|
||||
BOOST_CHECK_NO_THROW( Opm::Schedule(deck, grid, eclipseProperties, runspec, parseContext, errors));
|
||||
BOOST_CHECK_NO_THROW( Opm::Schedule(deck, grid, fp, eclipseProperties, runspec, parseContext, errors));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(createDeckModifyMultipleGCONPROD) {
|
||||
@@ -1269,8 +1293,9 @@ BOOST_AUTO_TEST_CASE(createDeckModifyMultipleGCONPROD) {
|
||||
EclipseGrid grid( deck );
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Opm::Schedule schedule(deck, grid, eclipseProperties, runspec);
|
||||
Opm::Schedule schedule(deck, grid, fp, eclipseProperties, runspec);
|
||||
Opm::SummaryState st(std::chrono::system_clock::now());
|
||||
|
||||
Opm::UnitSystem unitSystem = deck.getActiveUnitSystem();
|
||||
@@ -1318,8 +1343,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithDRSDT) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
size_t currentStep = 1;
|
||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
||||
const auto& ovap = schedule.getOilVaporizationProperties(currentStep);
|
||||
@@ -1352,8 +1378,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithDRSDTR) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
size_t currentStep = 1;
|
||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
||||
const auto& ovap = schedule.getOilVaporizationProperties(currentStep);
|
||||
@@ -1399,8 +1426,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithDRSDTthenDRVDT) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
||||
|
||||
const OilVaporizationProperties& ovap1 = schedule.getOilVaporizationProperties(1);
|
||||
@@ -1440,8 +1468,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithVAPPARS) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
size_t currentStep = 1;
|
||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
||||
const OilVaporizationProperties& ovap = schedule.getOilVaporizationProperties(currentStep);
|
||||
@@ -1471,8 +1500,9 @@ BOOST_AUTO_TEST_CASE(createDeckWithOutOilVaporizationProperties) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), false);
|
||||
|
||||
@@ -1532,8 +1562,9 @@ BOOST_AUTO_TEST_CASE(changeBhpLimitInHistoryModeWithWeltarg) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
// The BHP limit should not be effected by WCONHIST
|
||||
BOOST_CHECK_EQUAL(sched.getWell("P", 1).getProductionProperties().BHPLimit.get<double>(), 50 * 1e5); // 1
|
||||
@@ -1618,8 +1649,9 @@ BOOST_AUTO_TEST_CASE(changeModeWithWHISTCTL) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
//Start
|
||||
BOOST_CHECK_THROW(schedule.getWell("P1", 0), std::invalid_argument);
|
||||
@@ -1724,8 +1756,9 @@ BOOST_AUTO_TEST_CASE(fromWCONHISTtoWCONPROD) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
//Start
|
||||
BOOST_CHECK_THROW(schedule.getWell("P1", 0), std::invalid_argument);
|
||||
@@ -1812,8 +1845,9 @@ BOOST_AUTO_TEST_CASE(WHISTCTL_NEW_WELL) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
//10 OKT 2008
|
||||
BOOST_CHECK(schedule.getWell("P1", 1).getProductionProperties().controlMode == Opm::Well::ProducerCMode::GRAT);
|
||||
@@ -1888,8 +1922,9 @@ BOOST_AUTO_TEST_CASE(unsupportedOptionWHISTCTL) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid, eclipseProperties, runspec), std::invalid_argument);
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid, fp, eclipseProperties, runspec), std::invalid_argument);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(move_HEAD_I_location) {
|
||||
@@ -1917,8 +1952,9 @@ BOOST_AUTO_TEST_CASE(move_HEAD_I_location) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
BOOST_CHECK_EQUAL(2, schedule.getWell("W1", 1).getHeadI());
|
||||
BOOST_CHECK_EQUAL(3, schedule.getWell("W1", 2).getHeadI());
|
||||
}
|
||||
@@ -1948,8 +1984,9 @@ BOOST_AUTO_TEST_CASE(change_ref_depth) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
BOOST_CHECK_CLOSE(2873.94, schedule.getWell("W1", 1).getRefDepth(), 1e-5);
|
||||
BOOST_CHECK_EQUAL(12.0, schedule.getWell("W1", 2).getRefDepth());
|
||||
}
|
||||
@@ -1987,8 +2024,9 @@ BOOST_AUTO_TEST_CASE(WTEMP_well_template) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
BOOST_CHECK_CLOSE(288.71, schedule.getWell("W1", 1).getInjectionProperties().temperature, 1e-5);
|
||||
BOOST_CHECK_CLOSE(288.71, schedule.getWell("W1", 2).getInjectionProperties().temperature, 1e-5);
|
||||
@@ -2033,8 +2071,9 @@ BOOST_AUTO_TEST_CASE(WTEMPINJ_well_template) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
// Producerwell - currently setting temperature only acts on injectors.
|
||||
BOOST_CHECK_CLOSE(288.71, schedule.getWell("W1", 1).getInjectionProperties().temperature, 1e-5);
|
||||
@@ -2085,8 +2124,9 @@ BOOST_AUTO_TEST_CASE( COMPDAT_sets_automatic_complnum ) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
const auto& cs1 = schedule.getWell( "W1", 1 ).getConnections( );
|
||||
BOOST_CHECK_EQUAL( 1, cs1.get( 0 ).complnum() );
|
||||
BOOST_CHECK_EQUAL( 2, cs1.get( 1 ).complnum() );
|
||||
@@ -2135,8 +2175,9 @@ BOOST_AUTO_TEST_CASE( COMPDAT_multiple_wells ) {
|
||||
EclipseGrid grid( 10, 10, 10 );
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
{
|
||||
const auto& w1cs = schedule.getWell( "W1", 1 ).getConnections();
|
||||
@@ -2204,8 +2245,9 @@ BOOST_AUTO_TEST_CASE( COMPDAT_multiple_records_same_completion ) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
const auto& cs = schedule.getWell( "W1", 1 ).getConnections();
|
||||
BOOST_CHECK_EQUAL( 3U, cs.size() );
|
||||
BOOST_CHECK_EQUAL( 1, cs.get( 0 ).complnum() );
|
||||
@@ -2244,8 +2286,9 @@ BOOST_AUTO_TEST_CASE( complump_less_than_1 ) {
|
||||
EclipseGrid grid( 10, 10, 10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
BOOST_CHECK_THROW( Schedule( deck , grid, eclipseProperties, runspec), std::invalid_argument );
|
||||
BOOST_CHECK_THROW( Schedule( deck , grid, fp, eclipseProperties, runspec), std::invalid_argument );
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE( complump ) {
|
||||
@@ -2296,8 +2339,9 @@ BOOST_AUTO_TEST_CASE( complump ) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
const auto& sc0 = schedule.getWell("W1", 0).getConnections();
|
||||
/* complnum should be modified by COMPLNUM */
|
||||
@@ -2386,8 +2430,9 @@ BOOST_AUTO_TEST_CASE( COMPLUMP_specific_coordinates ) {
|
||||
EclipseGrid grid( 10, 10, 10 );
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
const auto& cs1 = schedule.getWell("W1", 1).getConnections();
|
||||
const auto& cs2 = schedule.getWell("W1", 2).getConnections();
|
||||
@@ -2856,8 +2901,9 @@ BOOST_AUTO_TEST_CASE(handleWEFAC) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
//1
|
||||
BOOST_CHECK_EQUAL(schedule.getWell("P", 1).getEfficiencyFactor(), 0.5);
|
||||
@@ -2901,8 +2947,9 @@ BOOST_AUTO_TEST_CASE(historic_BHP_and_THP) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
{
|
||||
const auto& prod = schedule.getWell("P", 1).getProductionProperties();
|
||||
@@ -2934,8 +2981,9 @@ BOOST_AUTO_TEST_CASE(FilterCompletions2) {
|
||||
auto deck = createDeckWithWellsAndCompletionData();
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
{
|
||||
const auto& c1_1 = schedule.getWell("OP_1", 1).getConnections();
|
||||
const auto& c1_3 = schedule.getWell("OP_1", 3).getConnections();
|
||||
@@ -3022,8 +3070,9 @@ VFPINJ \n \
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK( schedule.getEvents().hasEvent(ScheduleEvents::VFPINJ_UPDATE, 0));
|
||||
BOOST_CHECK( !schedule.getEvents().hasEvent(ScheduleEvents::VFPINJ_UPDATE, 1));
|
||||
@@ -3149,8 +3198,9 @@ BOOST_AUTO_TEST_CASE(POLYINJ_TEST) {
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& poly0 = schedule.getWell("INJE01", 0).getPolymerProperties();
|
||||
const auto& poly1 = schedule.getWell("INJE01", 1).getPolymerProperties();
|
||||
@@ -3209,8 +3259,9 @@ BOOST_AUTO_TEST_CASE(WFOAM_TEST) {
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& f0 = schedule.getWell("INJE01", 0).getFoamProperties();
|
||||
const auto& f1 = schedule.getWell("INJE01", 1).getFoamProperties();
|
||||
@@ -3227,8 +3278,9 @@ BOOST_AUTO_TEST_CASE(WTEST_CONFIG) {
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& wtest_config1 = schedule.wtestConfig(0);
|
||||
BOOST_CHECK_EQUAL(wtest_config1.size(), 2);
|
||||
@@ -3256,8 +3308,9 @@ BOOST_AUTO_TEST_CASE(WELL_STATIC) {
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK_THROW( schedule.getWell("NO_SUCH_WELL", 0), std::invalid_argument);
|
||||
BOOST_CHECK_THROW( schedule.getWell("W_3", 0), std::invalid_argument);
|
||||
|
||||
@@ -3304,8 +3357,9 @@ BOOST_AUTO_TEST_CASE(WellNames) {
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
|
||||
auto names = schedule.wellNames("NO_SUCH_WELL", 0);
|
||||
BOOST_CHECK_EQUAL(names.size(), 0);
|
||||
@@ -3418,8 +3472,9 @@ BOOST_AUTO_TEST_CASE(RFT_CONFIG2) {
|
||||
EclipseGrid grid1(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid1);
|
||||
FieldPropsManager fp( deck , grid1, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid1 , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid1 , fp, eclipseProperties, runspec);
|
||||
const auto& rft_config = schedule.rftConfig();
|
||||
BOOST_CHECK_EQUAL(1, rft_config.firstRFTOutput());
|
||||
}
|
||||
@@ -3451,8 +3506,9 @@ BOOST_AUTO_TEST_CASE(nupcol) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
{
|
||||
// Flow uses 12 as default
|
||||
@@ -3543,8 +3599,9 @@ DATES -- 4
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid, eclipseProperties,runspec);
|
||||
Schedule schedule( deck, grid, fp, eclipseProperties,runspec);
|
||||
|
||||
{
|
||||
const auto& grc = schedule.guideRateConfig(0);
|
||||
|
||||
@@ -148,7 +148,7 @@ static SummaryConfig createSummary( std::string input , const ParseContext& pars
|
||||
ErrorGuard errors;
|
||||
auto deck = createDeck( input );
|
||||
EclipseState state( deck, parseContext, errors );
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec(), parseContext, errors);
|
||||
Schedule schedule(deck, state.getInputGrid(), state.fieldProps(), state.get3DProperties(), state.runspec(), parseContext, errors);
|
||||
return SummaryConfig( deck, schedule, state.getTableManager( ), parseContext, errors );
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ BOOST_AUTO_TEST_CASE(wells_all) {
|
||||
BOOST_AUTO_TEST_CASE(EMPTY) {
|
||||
auto deck = createDeck_no_wells( "" );
|
||||
EclipseState state( deck );
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec());
|
||||
Schedule schedule(deck, state);
|
||||
SummaryConfig conf(deck, schedule, state.getTableManager());
|
||||
BOOST_CHECK_EQUAL( conf.size(), 0 );
|
||||
}
|
||||
@@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE(wells_missingI) {
|
||||
auto deck = createDeck_no_wells( input );
|
||||
parseContext.update(ParseContext::SUMMARY_UNKNOWN_WELL, InputError::THROW_EXCEPTION);
|
||||
EclipseState state( deck, parseContext, errors );
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec(), parseContext, errors);
|
||||
Schedule schedule(deck, state, parseContext, errors );
|
||||
BOOST_CHECK_NO_THROW( SummaryConfig( deck, schedule, state.getTableManager( ), parseContext, errors ));
|
||||
}
|
||||
|
||||
|
||||
@@ -72,8 +72,9 @@ BOOST_AUTO_TEST_CASE(TuningTest) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule( deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule( deck, grid , fp, eclipseProperties, runspec);
|
||||
auto tuning = schedule.getTuning();
|
||||
auto event = schedule.getEvents();
|
||||
|
||||
@@ -331,8 +332,9 @@ BOOST_AUTO_TEST_CASE(TuningInitTest) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck , grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck , grid , fp, eclipseProperties, runspec);
|
||||
auto tuning = schedule.getTuning();
|
||||
|
||||
|
||||
@@ -362,8 +364,9 @@ BOOST_AUTO_TEST_CASE(TuningResetTest) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
auto tuning = schedule.getTuning();
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ Copyright 2018 Statoil ASA.
|
||||
#include <opm/parser/eclipse/EclipseState/Runspec.hpp>
|
||||
#include <opm/parser/eclipse/Parser/Parser.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/Deck/UDAValue.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/UDQ/UDQEnums.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/UDQ/UDQConfig.hpp>
|
||||
@@ -38,11 +39,17 @@ Schedule make_schedule(const std::string& input) {
|
||||
Parser parser;
|
||||
|
||||
auto deck = parser.parseString(input);
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
Runspec runspec (deck);
|
||||
return Schedule(deck, grid , eclipseProperties, runspec);
|
||||
if (deck.hasKeyword("DIMENS")) {
|
||||
EclipseState es(deck);
|
||||
return Schedule(deck, es);
|
||||
} else {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
return Schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Well/WList.hpp>
|
||||
@@ -143,8 +144,9 @@ static Opm::Schedule createSchedule(const std::string& schedule) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
return Schedule(deck, grid , eclipseProperties, runspec );
|
||||
return Schedule(deck, grid , fp, eclipseProperties, runspec );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
@@ -176,8 +177,9 @@ BOOST_AUTO_TEST_CASE(TestNoSolvent) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec(deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK(!deck.hasKeyword("WSOLVENT"));
|
||||
}
|
||||
|
||||
@@ -186,8 +188,9 @@ BOOST_AUTO_TEST_CASE(TestGasInjector) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec(deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK(deck.hasKeyword("WSOLVENT"));
|
||||
|
||||
}
|
||||
@@ -197,8 +200,9 @@ BOOST_AUTO_TEST_CASE(TestDynamicWSOLVENT) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec(deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK(deck.hasKeyword("WSOLVENT"));
|
||||
const auto& keyword = deck.getKeyword("WSOLVENT");
|
||||
BOOST_CHECK_EQUAL(keyword.size(),1);
|
||||
@@ -216,8 +220,9 @@ BOOST_AUTO_TEST_CASE(TestOilInjector) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec(deck);
|
||||
BOOST_CHECK_THROW (Schedule(deck , grid , eclipseProperties, runspec), std::invalid_argument);
|
||||
BOOST_CHECK_THROW (Schedule(deck , grid , fp, eclipseProperties, runspec), std::invalid_argument);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(TestWaterInjector) {
|
||||
@@ -225,6 +230,7 @@ BOOST_AUTO_TEST_CASE(TestWaterInjector) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec(deck);
|
||||
BOOST_CHECK_THROW (Schedule(deck, grid , eclipseProperties, runspec), std::invalid_argument);
|
||||
BOOST_CHECK_THROW (Schedule(deck, grid , fp, eclipseProperties, runspec), std::invalid_argument);
|
||||
}
|
||||
|
||||
@@ -87,8 +87,9 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestTRACK) {
|
||||
Opm::EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Opm::Runspec runspec (deck);
|
||||
Opm::Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Opm::Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& op_1 = schedule.getWell("OP_1", 2);
|
||||
|
||||
const auto& completions = op_1.getConnections();
|
||||
@@ -127,8 +128,9 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestDefaultTRACK) {
|
||||
Opm::EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Opm::Runspec runspec (deck);
|
||||
Opm::Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Opm::Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& op_1 = schedule.getWell("OP_1", 2);
|
||||
|
||||
const auto& completions = op_1.getConnections();
|
||||
@@ -170,8 +172,9 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestINPUT) {
|
||||
Opm::ErrorGuard errors;
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Opm::Runspec runspec (deck);
|
||||
Opm::Schedule schedule(deck, grid , eclipseProperties, runspec, Opm::ParseContext(), errors);
|
||||
Opm::Schedule schedule(deck, grid , fp, eclipseProperties, runspec, Opm::ParseContext(), errors);
|
||||
const auto& op_1 = schedule.getWell("OP_1", 2);
|
||||
|
||||
const auto& completions = op_1.getConnections();
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
@@ -133,8 +134,9 @@ BOOST_AUTO_TEST_CASE(TestNoTracer) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec ( deck );
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK(!deck.hasKeyword("WTRACER"));
|
||||
}
|
||||
|
||||
@@ -144,8 +146,9 @@ BOOST_AUTO_TEST_CASE(TestDynamicWTRACER) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec ( deck );
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
BOOST_CHECK(deck.hasKeyword("WTRACER"));
|
||||
const auto& keyword = deck.getKeyword("WTRACER");
|
||||
BOOST_CHECK_EQUAL(keyword.size(),1);
|
||||
@@ -166,8 +169,9 @@ BOOST_AUTO_TEST_CASE(TestTracerInProducerTHROW) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec ( deck );
|
||||
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid, eclipseProperties, runspec), std::invalid_argument);
|
||||
BOOST_CHECK_THROW(Schedule(deck, grid, fp, eclipseProperties, runspec), std::invalid_argument);
|
||||
}
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@ BOOST_AUTO_TEST_CASE( NorneRestartConfig ) {
|
||||
Parser parser;
|
||||
auto deck = parser.parseFile( path_prefix() + "IOConfig/RPTRST_DECK.DATA");
|
||||
EclipseState state(deck);
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec());
|
||||
Schedule schedule(deck, state);
|
||||
|
||||
verifyRestartConfig(schedule.getTimeMap(), state.cfg().restart(), rptConfig);
|
||||
}
|
||||
@@ -352,7 +352,7 @@ BOOST_AUTO_TEST_CASE( RestartConfig2 ) {
|
||||
Parser parser;
|
||||
auto deck = parser.parseFile(path_prefix() + "IOConfig/RPT_TEST2.DATA");
|
||||
EclipseState state( deck);
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec());
|
||||
Schedule schedule(deck, state);
|
||||
const auto& rstConfig = state.cfg().restart();
|
||||
verifyRestartConfig(schedule.getTimeMap(), state.cfg().restart(), rptConfig);
|
||||
|
||||
|
||||
@@ -574,7 +574,7 @@ BOOST_AUTO_TEST_CASE( MULTISEGMENT_ABS ) {
|
||||
const TableManager table ( deck );
|
||||
const Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
Runspec runspec (deck);
|
||||
const Schedule sched(deck, grid, eclipseProperties, runspec);
|
||||
const Schedule sched(deck, state);
|
||||
|
||||
// checking the relation between segments and completions
|
||||
// and also the depth of completions
|
||||
@@ -1347,8 +1347,9 @@ BOOST_AUTO_TEST_CASE( WCONPROD ) {
|
||||
EclipseGrid grid(30,30,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp( deck , grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid, eclipseProperties, runspec );
|
||||
Schedule sched(deck, grid, fp, eclipseProperties, runspec );
|
||||
|
||||
BOOST_CHECK_EQUAL(5U, sched.numWells());
|
||||
BOOST_CHECK(sched.hasWell("INJE1"));
|
||||
@@ -1387,8 +1388,9 @@ BOOST_AUTO_TEST_CASE( WCONINJE ) {
|
||||
EclipseGrid grid(30,30,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties( deck , table, grid );
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched( deck, grid, eclipseProperties, runspec);
|
||||
Schedule sched( deck, grid, fp, eclipseProperties, runspec);
|
||||
SummaryState st(std::chrono::system_clock::now());
|
||||
|
||||
BOOST_CHECK_EQUAL(5U, sched.numWells());
|
||||
|
||||
@@ -54,8 +54,9 @@ BOOST_AUTO_TEST_CASE(CreateSchedule) {
|
||||
for (const auto& deck : {deck1 , deck2}) {
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& timeMap = sched.getTimeMap();
|
||||
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007 , 5 , 10), sched.getStartTime());
|
||||
BOOST_CHECK_EQUAL(9U, timeMap.size());
|
||||
@@ -71,8 +72,9 @@ BOOST_AUTO_TEST_CASE(CreateSchedule_Comments_After_Keywords) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& timeMap = sched.getTimeMap();
|
||||
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007, 5 , 10) , sched.getStartTime());
|
||||
BOOST_CHECK_EQUAL(9U, timeMap.size());
|
||||
@@ -86,8 +88,9 @@ BOOST_AUTO_TEST_CASE(WCONPROD_MissingCmode) {
|
||||
EclipseGrid grid(10,10,3);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
BOOST_CHECK_NO_THROW( Schedule(deck, grid , eclipseProperties, runspec) );
|
||||
BOOST_CHECK_NO_THROW( Schedule(deck, grid , fp, eclipseProperties, runspec) );
|
||||
}
|
||||
|
||||
|
||||
@@ -98,8 +101,9 @@ BOOST_AUTO_TEST_CASE(WCONPROD_Missing_DATA) {
|
||||
EclipseGrid grid(10,10,3);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
BOOST_CHECK_THROW( Schedule(deck, grid , eclipseProperties, runspec) , std::invalid_argument );
|
||||
BOOST_CHECK_THROW( Schedule(deck, grid , fp, eclipseProperties, runspec) , std::invalid_argument );
|
||||
}
|
||||
|
||||
|
||||
@@ -110,8 +114,9 @@ BOOST_AUTO_TEST_CASE(WellTestRefDepth) {
|
||||
EclipseGrid grid(40,60,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck , grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck , grid , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& well1 = sched.getWellatEnd("W_1");
|
||||
const auto& well2 = sched.getWellatEnd("W_2");
|
||||
@@ -132,8 +137,9 @@ BOOST_AUTO_TEST_CASE(WellTesting) {
|
||||
EclipseGrid grid(40,60,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_EQUAL(4U, sched.numWells());
|
||||
BOOST_CHECK(sched.hasWell("W_1"));
|
||||
@@ -242,8 +248,9 @@ BOOST_AUTO_TEST_CASE(WellTestCOMPDAT_DEFAULTED_ITEMS) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
}
|
||||
|
||||
|
||||
@@ -254,8 +261,9 @@ BOOST_AUTO_TEST_CASE(WellTestCOMPDAT) {
|
||||
EclipseGrid grid(40,60,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_EQUAL(4U, sched.numWells());
|
||||
BOOST_CHECK(sched.hasWell("W_1"));
|
||||
@@ -288,8 +296,9 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_GRUPTREE_correct) {
|
||||
EclipseGrid grid(10,10,3);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule schedule(deck, grid , eclipseProperties, runspec);
|
||||
Schedule schedule(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK( schedule.hasGroup( "FIELD" ));
|
||||
BOOST_CHECK( schedule.hasGroup( "PROD" ));
|
||||
@@ -310,8 +319,9 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_GRUPTREE_WITH_REPARENT_correct_tree) {
|
||||
EclipseGrid grid(10,10,3);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& field_group = sched.getGroup("FIELD", 1);
|
||||
const auto& new_group = sched.getGroup("GROUP_NEW", 1);
|
||||
@@ -331,8 +341,9 @@ BOOST_AUTO_TEST_CASE( WellTestGroups ) {
|
||||
EclipseGrid grid(10,10,3);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
SummaryState st(std::chrono::system_clock::now());
|
||||
|
||||
BOOST_CHECK_EQUAL( 3U , sched.numGroups() );
|
||||
@@ -382,8 +393,9 @@ BOOST_AUTO_TEST_CASE( WellTestGroupAndWellRelation ) {
|
||||
EclipseGrid grid(10,10,3);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
{
|
||||
auto& group1 = sched.getGroup("GROUP1", 0);
|
||||
@@ -444,8 +456,9 @@ BOOST_AUTO_TEST_CASE(WellTestWGRUPCONWellPropertiesSet) {
|
||||
EclipseGrid grid(10,10,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
const auto& well1 = sched.getWell("W_1", 0);
|
||||
BOOST_CHECK(well1.isAvailableForGroupControl( ));
|
||||
@@ -492,8 +505,9 @@ COMPDAT \n\
|
||||
EclipseGrid grid(30,30,10);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
const auto& connections = sched.getWell("W1", 0).getConnections();
|
||||
BOOST_CHECK_EQUAL( 10 , connections.get(0).getI() );
|
||||
BOOST_CHECK_EQUAL( 20 , connections.get(0).getJ() );
|
||||
@@ -511,8 +525,9 @@ BOOST_AUTO_TEST_CASE(OpmCode) {
|
||||
EclipseGrid grid(10,10,5);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
BOOST_CHECK_NO_THROW( Schedule(deck , grid , eclipseProperties, runspec) );
|
||||
BOOST_CHECK_NO_THROW( Schedule(deck , grid , fp, eclipseProperties, runspec) );
|
||||
}
|
||||
|
||||
|
||||
@@ -524,8 +539,9 @@ BOOST_AUTO_TEST_CASE(WELLS_SHUT) {
|
||||
EclipseGrid grid(20,40,1);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
|
||||
{
|
||||
@@ -554,8 +570,9 @@ BOOST_AUTO_TEST_CASE(WellTestWPOLYMER) {
|
||||
EclipseGrid grid(30,30,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
|
||||
BOOST_CHECK_EQUAL(4U, sched.numWells());
|
||||
@@ -621,8 +638,9 @@ BOOST_AUTO_TEST_CASE(WellTestWFOAM) {
|
||||
EclipseGrid grid(30,30,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
|
||||
BOOST_CHECK_EQUAL(4U, sched.numWells());
|
||||
@@ -688,8 +706,9 @@ BOOST_AUTO_TEST_CASE(WellTestWECON) {
|
||||
EclipseGrid grid(30,30,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck, grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck, grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK_EQUAL(3U, sched.numWells());
|
||||
BOOST_CHECK(sched.hasWell("INJE01"));
|
||||
@@ -798,8 +817,9 @@ BOOST_AUTO_TEST_CASE(TestEvents) {
|
||||
EclipseGrid grid(40,40,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec (deck);
|
||||
Schedule sched(deck , grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck , grid , fp, eclipseProperties, runspec);
|
||||
const Events& events = sched.getEvents();
|
||||
|
||||
BOOST_CHECK( events.hasEvent(ScheduleEvents::NEW_WELL , 0 ) );
|
||||
@@ -832,8 +852,9 @@ BOOST_AUTO_TEST_CASE(TestWellEvents) {
|
||||
EclipseGrid grid(40,40,30);
|
||||
TableManager table ( deck );
|
||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||
FieldPropsManager fp(deck, grid, table);
|
||||
Runspec runspec(deck);
|
||||
Schedule sched(deck , grid , eclipseProperties, runspec);
|
||||
Schedule sched(deck , grid , fp, eclipseProperties, runspec);
|
||||
|
||||
BOOST_CHECK( sched.hasWellGroupEvent( "W_1", ScheduleEvents::NEW_WELL , 0 ));
|
||||
BOOST_CHECK( sched.hasWellGroupEvent( "W_2", ScheduleEvents::NEW_WELL , 2 ));
|
||||
|
||||
@@ -38,7 +38,7 @@ BOOST_AUTO_TEST_CASE(MULTFLT_IN_SCHEDULE) {
|
||||
auto deck = parser.parseFile(scheduleFile);
|
||||
EclipseState state(deck);
|
||||
const auto& trans = state.getTransMult();
|
||||
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec());
|
||||
Schedule schedule(deck, state);
|
||||
const Events& events = schedule.getEvents();
|
||||
|
||||
BOOST_CHECK_EQUAL( 0.10 , trans.getMultiplier( 3,2,0,FaceDir::XPlus ));
|
||||
|
||||
@@ -30,7 +30,7 @@ inline void loadDeck( const char * deck_file) {
|
||||
|
||||
auto deck = parser.parseFile(deck_file);
|
||||
Opm::EclipseState state( deck);
|
||||
Opm::Schedule schedule( deck, state.getInputGrid(), state.get3DProperties(), state.runspec());
|
||||
Opm::Schedule schedule( deck, state.getInputGrid(), state.fieldProps(), state.get3DProperties(), state.runspec());
|
||||
Opm::SummaryConfig summary( deck, schedule, state.getTableManager( ));
|
||||
{
|
||||
std::stringstream ss;
|
||||
|
||||
@@ -278,7 +278,7 @@ BOOST_AUTO_TEST_CASE(EclipseIOIntegration) {
|
||||
auto deck = Parser().parseString( deckString);
|
||||
auto es = EclipseState( deck );
|
||||
auto& eclGrid = es.getInputGrid();
|
||||
Schedule schedule(deck, eclGrid, es.get3DProperties(), es.runspec());
|
||||
Schedule schedule(deck, es);
|
||||
SummaryConfig summary_config( deck, schedule, es.getTableManager( ));
|
||||
SummaryState st(std::chrono::system_clock::now());
|
||||
es.getIOConfig().setBaseName( "FOO" );
|
||||
|
||||
@@ -519,7 +519,7 @@ struct Setup {
|
||||
deck( Parser().parseFile( path) ),
|
||||
es( deck),
|
||||
grid( es.getInputGrid( ) ),
|
||||
schedule( deck, grid, es.get3DProperties(), es.runspec()),
|
||||
schedule( deck, es ),
|
||||
summary_config( deck, schedule, es.getTableManager( ))
|
||||
{
|
||||
auto& io_config = es.getIOConfig();
|
||||
@@ -560,7 +560,7 @@ BOOST_AUTO_TEST_CASE(ECL_FORMATTED) {
|
||||
auto num_cells = setup.grid.getNumActive( );
|
||||
auto cells = mkSolution( num_cells );
|
||||
auto wells = mkWells();
|
||||
auto sumState = sim_state();
|
||||
auto sumState = sim_state();
|
||||
{
|
||||
RestartValue restart_value(cells, wells);
|
||||
|
||||
|
||||
@@ -348,7 +348,7 @@ struct setup {
|
||||
deck( Parser().parseFile( path) ),
|
||||
es( deck ),
|
||||
grid( es.getInputGrid() ),
|
||||
schedule( deck, grid, es.get3DProperties(), es.runspec()),
|
||||
schedule( deck, es),
|
||||
config( deck, schedule, es.getTableManager()),
|
||||
wells( result_wells() ),
|
||||
name( toupper(std::move(fname)) ),
|
||||
|
||||
Reference in New Issue
Block a user