Extracted Schedule and SummaryConfig,
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
|
#include <opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
|
||||||
|
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||||
|
|
||||||
inline void dumpMessages( const Opm::MessageContainer& messageContainer) {
|
inline void dumpMessages( const Opm::MessageContainer& messageContainer) {
|
||||||
auto extractMessage = [](const Opm::Message& msg) {
|
auto extractMessage = [](const Opm::Message& msg) {
|
||||||
@@ -51,7 +51,7 @@ inline void loadDeck( const char * deck_file) {
|
|||||||
auto deck = parser.parseFile(deck_file, parseContext);
|
auto deck = parser.parseFile(deck_file, parseContext);
|
||||||
std::cout << "parse complete - creating EclipseState .... "; std::cout.flush();
|
std::cout << "parse complete - creating EclipseState .... "; std::cout.flush();
|
||||||
Opm::EclipseState state( deck, 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 );
|
Opm::SummaryConfig summary( deck, schedule, state.getTableManager( ), parseContext );
|
||||||
std::cout << "complete." << std::endl;
|
std::cout << "complete." << std::endl;
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
#include <opm/parser/eclipse/EclipseState/Grid/NNC.hpp>
|
#include <opm/parser/eclipse/EclipseState/Grid/NNC.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Grid/TransMult.hpp>
|
#include <opm/parser/eclipse/EclipseState/Grid/TransMult.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Runspec.hpp>
|
#include <opm/parser/eclipse/EclipseState/Runspec.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
|
||||||
#include <opm/parser/eclipse/EclipseState/Tables/TableManager.hpp>
|
#include <opm/parser/eclipse/EclipseState/Tables/TableManager.hpp>
|
||||||
#include <opm/parser/eclipse/Parser/MessageContainer.hpp>
|
#include <opm/parser/eclipse/Parser/MessageContainer.hpp>
|
||||||
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
||||||
@@ -69,8 +68,6 @@ namespace Opm {
|
|||||||
EclipseState(const Deck& deck , ParseContext parseContext = ParseContext());
|
EclipseState(const Deck& deck , ParseContext parseContext = ParseContext());
|
||||||
|
|
||||||
const ParseContext& getParseContext() const;
|
const ParseContext& getParseContext() const;
|
||||||
|
|
||||||
const Schedule& getSchedule() const;
|
|
||||||
const IOConfig& getIOConfig() const;
|
const IOConfig& getIOConfig() const;
|
||||||
IOConfig& getIOConfig();
|
IOConfig& getIOConfig();
|
||||||
|
|
||||||
@@ -129,7 +126,6 @@ namespace Opm {
|
|||||||
Eclipse3DProperties m_eclipseProperties;
|
Eclipse3DProperties m_eclipseProperties;
|
||||||
const SimulationConfig m_simulationConfig;
|
const SimulationConfig m_simulationConfig;
|
||||||
TransMult m_transMult;
|
TransMult m_transMult;
|
||||||
Schedule m_schedule;
|
|
||||||
|
|
||||||
FaultCollection m_faults;
|
FaultCollection m_faults;
|
||||||
std::string m_title;
|
std::string m_title;
|
||||||
|
|||||||
@@ -53,8 +53,11 @@ namespace Opm
|
|||||||
|
|
||||||
class Schedule {
|
class Schedule {
|
||||||
public:
|
public:
|
||||||
Schedule(const ParseContext& parseContext, const EclipseGrid& grid,
|
Schedule(const Deck& deck,
|
||||||
const Eclipse3DProperties& eclipseProperties ,const Deck& deck, const Phases &phases );
|
const EclipseGrid& grid,
|
||||||
|
const Eclipse3DProperties& eclipseProperties,
|
||||||
|
const Phases &phases,
|
||||||
|
const ParseContext& parseContext);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the input deck does not specify a start time, Eclipse's 1. Jan
|
* If the input deck does not specify a start time, Eclipse's 1. Jan
|
||||||
|
|||||||
@@ -37,7 +37,6 @@
|
|||||||
#include <opm/parser/eclipse/EclipseState/InitConfig/InitConfig.hpp>
|
#include <opm/parser/eclipse/EclipseState/InitConfig/InitConfig.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp>
|
#include <opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Schedule/ScheduleEnums.hpp>
|
#include <opm/parser/eclipse/EclipseState/Schedule/ScheduleEnums.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
|
||||||
#include <opm/parser/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp>
|
#include <opm/parser/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Tables/TableManager.hpp>
|
#include <opm/parser/eclipse/EclipseState/Tables/TableManager.hpp>
|
||||||
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
||||||
@@ -59,8 +58,7 @@ namespace Opm {
|
|||||||
m_inputGrid( deck, nullptr ),
|
m_inputGrid( deck, nullptr ),
|
||||||
m_eclipseProperties( deck, m_tables, m_inputGrid ),
|
m_eclipseProperties( deck, m_tables, m_inputGrid ),
|
||||||
m_simulationConfig( deck, m_eclipseProperties ),
|
m_simulationConfig( deck, m_eclipseProperties ),
|
||||||
m_transMult( GridDims(deck), deck, m_eclipseProperties ),
|
m_transMult( GridDims(deck), deck, m_eclipseProperties )
|
||||||
m_schedule( m_parseContext, m_inputGrid, m_eclipseProperties, deck, m_runspec.phases() )
|
|
||||||
{
|
{
|
||||||
m_inputGrid.resetACTNUM(m_eclipseProperties.getIntGridProperty("ACTNUM").getData().data());
|
m_inputGrid.resetACTNUM(m_eclipseProperties.getIntGridProperty("ACTNUM").getData().data());
|
||||||
|
|
||||||
@@ -79,7 +77,6 @@ namespace Opm {
|
|||||||
initFaults(deck);
|
initFaults(deck);
|
||||||
|
|
||||||
m_messageContainer.appendMessages(m_tables.getMessageContainer());
|
m_messageContainer.appendMessages(m_tables.getMessageContainer());
|
||||||
m_messageContainer.appendMessages(m_schedule.getMessageContainer());
|
|
||||||
m_messageContainer.appendMessages(m_inputGrid.getMessageContainer());
|
m_messageContainer.appendMessages(m_inputGrid.getMessageContainer());
|
||||||
m_messageContainer.appendMessages(m_eclipseProperties.getMessageContainer());
|
m_messageContainer.appendMessages(m_eclipseProperties.getMessageContainer());
|
||||||
}
|
}
|
||||||
@@ -131,10 +128,6 @@ namespace Opm {
|
|||||||
return m_parseContext;
|
return m_parseContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Schedule& EclipseState::getSchedule() const {
|
|
||||||
return this->m_schedule;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// [[deprecated]] --- use cfg().io()
|
/// [[deprecated]] --- use cfg().io()
|
||||||
const IOConfig& EclipseState::getIOConfig() const {
|
const IOConfig& EclipseState::getIOConfig() const {
|
||||||
return m_eclipseConfig.io();
|
return m_eclipseConfig.io();
|
||||||
|
|||||||
@@ -56,11 +56,11 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
|
||||||
Schedule::Schedule( const ParseContext& parseContext,
|
Schedule::Schedule( const Deck& deck,
|
||||||
const EclipseGrid& grid,
|
const EclipseGrid& grid,
|
||||||
const Eclipse3DProperties& eclipseProperties,
|
const Eclipse3DProperties& eclipseProperties,
|
||||||
const Deck& deck,
|
const Phases &phases,
|
||||||
const Phases &phases ) :
|
const ParseContext& parseContext) :
|
||||||
m_timeMap( deck ),
|
m_timeMap( deck ),
|
||||||
m_rootGroupTree( this->m_timeMap, GroupTree{} ),
|
m_rootGroupTree( this->m_timeMap, GroupTree{} ),
|
||||||
m_oilvaporizationproperties( this->m_timeMap, OilVaporizationProperties{} ),
|
m_oilvaporizationproperties( this->m_timeMap, OilVaporizationProperties{} ),
|
||||||
|
|||||||
@@ -200,8 +200,7 @@ const char *deckData =
|
|||||||
BOOST_AUTO_TEST_CASE(CreateSchedule) {
|
BOOST_AUTO_TEST_CASE(CreateSchedule) {
|
||||||
auto deck = createDeck();
|
auto deck = createDeck();
|
||||||
EclipseState state(deck, ParseContext());
|
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));
|
BOOST_CHECK_EQUAL(schedule.getStartTime(), TimeMap::mkdate( 1998 , 3 , 8));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ BOOST_AUTO_TEST_CASE( CheckUnsoppertedInSCHEDULE ) {
|
|||||||
|
|
||||||
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::IGNORE );
|
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( );
|
auto events = schedule.getEvents( );
|
||||||
BOOST_CHECK_EQUAL( false , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 1 ));
|
BOOST_CHECK_EQUAL( false , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 1 ));
|
||||||
BOOST_CHECK_EQUAL( true , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 2 ));
|
BOOST_CHECK_EQUAL( true , events.hasEvent( ScheduleEvents::GEO_MODIFIER , 2 ));
|
||||||
|
|||||||
@@ -283,7 +283,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithGEFAC) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
const auto& group1 = schedule.getGroup("PRODUC");
|
||||||
BOOST_CHECK_EQUAL(group1.getGroupEfficiencyFactor(0), 0.85);
|
BOOST_CHECK_EQUAL(group1.getGroupEfficiencyFactor(0), 0.85);
|
||||||
@@ -332,7 +332,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWGRUPCONandWCONPROD) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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 auto* currentWell = schedule.getWell("B-37T2");
|
||||||
const Opm::WellProductionProperties& wellProductionProperties = currentWell->getProductionProperties(0);
|
const Opm::WellProductionProperties& wellProductionProperties = currentWell->getProductionProperties(0);
|
||||||
BOOST_CHECK_EQUAL(wellProductionProperties.controlMode, Opm::WellProducer::ControlModeEnum::GRUP);
|
BOOST_CHECK_EQUAL(wellProductionProperties.controlMode, Opm::WellProducer::ControlModeEnum::GRUP);
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ BOOST_AUTO_TEST_CASE(MESSAGES) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
const MessageLimits limits = schedule.getMessageLimits();
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL( limits.getBugPrintLimit( 0 ) , 77 ); // The pre Schedule initialization
|
BOOST_CHECK_EQUAL( limits.getBugPrintLimit( 0 ) , 77 ); // The pre Schedule initialization
|
||||||
|
|||||||
@@ -249,12 +249,12 @@ BOOST_AUTO_TEST_CASE( CheckUnsupportedInSCHEDULE ) {
|
|||||||
Eclipse3DProperties eclipseProperties ( deckSupported , table, grid);
|
Eclipse3DProperties eclipseProperties ( deckSupported , table, grid);
|
||||||
|
|
||||||
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::IGNORE );
|
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( deckSupported , grid , eclipseProperties, Phases(true, true, true), parseContext ));
|
||||||
BOOST_CHECK_NO_THROW( Schedule( parseContext , grid , eclipseProperties, deckUnSupported, Phases(true, true, true) ));
|
BOOST_CHECK_NO_THROW( Schedule( deckUnSupported, grid , eclipseProperties, Phases(true, true, true), parseContext ));
|
||||||
|
|
||||||
parseContext.update( ParseContext::UNSUPPORTED_SCHEDULE_GEO_MODIFIER , InputError::THROW_EXCEPTION );
|
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_THROW( Schedule( deckUnSupported , grid , eclipseProperties, Phases(true, true, true) , parseContext), std::invalid_argument );
|
||||||
BOOST_CHECK_NO_THROW( Schedule( parseContext , grid , eclipseProperties, deckSupported, Phases(true, true, true) ));
|
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);
|
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||||
|
|
||||||
parseContext.update( ParseContext::UNSUPPORTED_COMPORD_TYPE , InputError::IGNORE);
|
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);
|
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 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckMissingReturnsDefaults) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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));
|
BOOST_CHECK_EQUAL( schedule.getStartTime() , TimeMap::mkdate(1983, 1 , 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,7 +232,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsOrdered) {
|
|||||||
EclipseGrid grid(100,100,100);
|
EclipseGrid grid(100,100,100);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
auto wells = schedule.getWells();
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL( "CW_1" , wells[0]->name());
|
BOOST_CHECK_EQUAL( "CW_1" , wells[0]->name());
|
||||||
@@ -256,7 +256,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsOrderedGRUPTREE) {
|
|||||||
EclipseGrid grid(100,100,100);
|
EclipseGrid grid(100,100,100);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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);
|
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);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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 ));
|
BOOST_CHECK_EQUAL( schedule.getStartTime() , TimeMap::mkdate(1998, 3 , 8 ));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,7 +314,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithSCHEDULENoThrow) {
|
|||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||||
deck.addKeyword( DeckKeyword( "SCHEDULE" ) );
|
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) {
|
BOOST_AUTO_TEST_CASE(EmptyScheduleHasNoWells) {
|
||||||
@@ -322,7 +322,7 @@ BOOST_AUTO_TEST_CASE(EmptyScheduleHasNoWells) {
|
|||||||
auto deck = createDeck();
|
auto deck = createDeck();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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( 0U , schedule.numWells() );
|
||||||
BOOST_CHECK_EQUAL( false , schedule.hasWell("WELL1") );
|
BOOST_CHECK_EQUAL( false , schedule.hasWell("WELL1") );
|
||||||
BOOST_CHECK_THROW( schedule.getWell("WELL2") , std::invalid_argument );
|
BOOST_CHECK_THROW( schedule.getWell("WELL2") , std::invalid_argument );
|
||||||
@@ -333,7 +333,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule_DeckWithoutGRUPTREE_HasRootGroupTreeNodeForT
|
|||||||
auto deck = createDeck();
|
auto deck = createDeck();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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("FIELD"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,7 +360,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule_DeckWithGRUPTREE_HasRootGroupTreeNodeForTime
|
|||||||
auto deck = deckWithGRUPTREE();
|
auto deck = deckWithGRUPTREE();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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( "FIELD" ) );
|
||||||
BOOST_CHECK( schedule.getGroupTree( 0 ).exists( "FAREN" ) );
|
BOOST_CHECK( schedule.getGroupTree( 0 ).exists( "FAREN" ) );
|
||||||
BOOST_CHECK_EQUAL( "FAREN", schedule.getGroupTree( 0 ).parent( "BARNET" ) );
|
BOOST_CHECK_EQUAL( "FAREN", schedule.getGroupTree( 0 ).parent( "BARNET" ) );
|
||||||
@@ -371,7 +371,7 @@ BOOST_AUTO_TEST_CASE(GetGroups) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
auto groups = schedule.getGroups();
|
||||||
|
|
||||||
@@ -391,7 +391,8 @@ BOOST_AUTO_TEST_CASE(EmptyScheduleHasFIELDGroup) {
|
|||||||
auto deck = createDeck();
|
auto deck = createDeck();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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( 1U , schedule.numGroups() );
|
||||||
BOOST_CHECK_EQUAL( true , schedule.hasGroup("FIELD") );
|
BOOST_CHECK_EQUAL( true , schedule.hasGroup("FIELD") );
|
||||||
BOOST_CHECK_EQUAL( false , schedule.hasGroup("GROUP") );
|
BOOST_CHECK_EQUAL( false , schedule.hasGroup("GROUP") );
|
||||||
@@ -403,7 +404,7 @@ BOOST_AUTO_TEST_CASE(WellsIterator_Empty_EmptyVectorReturned) {
|
|||||||
auto deck = createDeck();
|
auto deck = createDeck();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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;
|
size_t timeStep = 0;
|
||||||
const auto wells_alltimesteps = schedule.getWells();
|
const auto wells_alltimesteps = schedule.getWells();
|
||||||
BOOST_CHECK_EQUAL(0U, wells_alltimesteps.size());
|
BOOST_CHECK_EQUAL(0U, wells_alltimesteps.size());
|
||||||
@@ -418,7 +419,7 @@ BOOST_AUTO_TEST_CASE(WellsIterator_HasWells_WellsReturned) {
|
|||||||
auto deck = createDeckWithWells();
|
auto deck = createDeckWithWells();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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;
|
size_t timeStep = 0;
|
||||||
|
|
||||||
const auto wells_alltimesteps = schedule.getWells();
|
const auto wells_alltimesteps = schedule.getWells();
|
||||||
@@ -434,7 +435,7 @@ BOOST_AUTO_TEST_CASE(WellsIteratorWithRegex_HasWells_WellsReturned) {
|
|||||||
auto deck = createDeckWithWells();
|
auto deck = createDeckWithWells();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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;
|
std::string wellNamePattern;
|
||||||
|
|
||||||
wellNamePattern = "*";
|
wellNamePattern = "*";
|
||||||
@@ -455,7 +456,7 @@ BOOST_AUTO_TEST_CASE(ReturnNumWellsTimestep) {
|
|||||||
auto deck = createDeckWithWells();
|
auto deck = createDeckWithWells();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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(0), 1);
|
||||||
BOOST_CHECK_EQUAL(schedule.numWells(1), 1);
|
BOOST_CHECK_EQUAL(schedule.numWells(1), 1);
|
||||||
@@ -468,7 +469,7 @@ BOOST_AUTO_TEST_CASE(ReturnMaxNumCompletionsForWellsInTimestep) {
|
|||||||
auto deck = createDeckWithWellsAndCompletionData();
|
auto deck = createDeckWithWellsAndCompletionData();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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(1), 7);
|
||||||
BOOST_CHECK_EQUAL(schedule.getMaxNumCompletionsForWells(3), 9);
|
BOOST_CHECK_EQUAL(schedule.getMaxNumCompletionsForWells(3), 9);
|
||||||
@@ -479,7 +480,7 @@ BOOST_AUTO_TEST_CASE(TestCrossFlowHandling) {
|
|||||||
auto deck = createDeckForTestingCrossFlow();
|
auto deck = createDeckForTestingCrossFlow();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto well_ban = schedule.getWell("BAN");
|
||||||
BOOST_CHECK_EQUAL(well_ban->getAllowCrossFlow(), false);
|
BOOST_CHECK_EQUAL(well_ban->getAllowCrossFlow(), false);
|
||||||
@@ -571,7 +572,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWellsAndCompletionDataWithWELOPEN) {
|
|||||||
auto deck = createDeckWithWellsAndCompletionDataWithWELOPEN();
|
auto deck = createDeckWithWellsAndCompletionDataWithWELOPEN();
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well = schedule.getWell("OP_1");
|
||||||
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::SHUT, well->getStatus( 0 ));
|
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::SHUT, well->getStatus( 0 ));
|
||||||
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::SHUT, well->getStatus( 3 ));
|
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);
|
auto deck = parser.parseString(input, parseContext);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well = schedule.getWell("OP_1");
|
||||||
size_t currentStep = 3;
|
size_t currentStep = 3;
|
||||||
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::SHUT, well->getStatus(currentStep));
|
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);
|
auto deck = parser.parseString(input, parseContext);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well = schedule.getWell("OP_1");
|
||||||
// timestep 3. Close all completions with WELOPEN and immediately open new completions with COMPDAT.
|
// timestep 3. Close all completions with WELOPEN and immediately open new completions with COMPDAT.
|
||||||
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::OPEN, well->getStatus(3));
|
BOOST_CHECK_EQUAL(WellCommon::StatusEnum::OPEN, well->getStatus(3));
|
||||||
@@ -767,7 +768,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWRFT) {
|
|||||||
auto deck = parser.parseString(input, parseContext);
|
auto deck = parser.parseString(input, parseContext);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well = schedule.getWell("OP_1");
|
||||||
@@ -831,7 +832,7 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWRFTPLT) {
|
|||||||
auto deck = parser.parseString(input, parseContext);
|
auto deck = parser.parseString(input, parseContext);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well = schedule.getWell("OP_1");
|
||||||
|
|
||||||
size_t currentStep = 3;
|
size_t currentStep = 3;
|
||||||
@@ -880,7 +881,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArg) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well = schedule.getWell("OP_1");
|
||||||
|
|
||||||
size_t currentStep = 1;
|
size_t currentStep = 1;
|
||||||
@@ -921,7 +922,8 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException) {
|
|||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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) {
|
BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException2) {
|
||||||
@@ -938,7 +940,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArgException2) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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) {
|
BOOST_AUTO_TEST_CASE(createDeckWithWPIMULT) {
|
||||||
@@ -995,7 +997,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithWPIMULT) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well = schedule.getWell("OP_1");
|
||||||
|
|
||||||
const auto& cs2 = well->getCompletions( 2 );
|
const auto& cs2 = well->getCompletions( 2 );
|
||||||
@@ -1032,7 +1034,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithDRSDT) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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;
|
size_t currentStep = 1;
|
||||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
||||||
const auto& ovap = schedule.getOilVaporizationProperties(currentStep);
|
const auto& ovap = schedule.getOilVaporizationProperties(currentStep);
|
||||||
@@ -1066,7 +1068,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithDRSDTthenDRVDT) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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;
|
size_t currentStep = 2;
|
||||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
||||||
const OilVaporizationProperties& ovap = schedule.getOilVaporizationProperties(currentStep);
|
const OilVaporizationProperties& ovap = schedule.getOilVaporizationProperties(currentStep);
|
||||||
@@ -1093,7 +1095,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithVAPPARS) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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;
|
size_t currentStep = 1;
|
||||||
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), true);
|
||||||
const OilVaporizationProperties& ovap = schedule.getOilVaporizationProperties(currentStep);
|
const OilVaporizationProperties& ovap = schedule.getOilVaporizationProperties(currentStep);
|
||||||
@@ -1122,7 +1124,7 @@ BOOST_AUTO_TEST_CASE(createDeckWithOutOilVaporizationProperties) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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);
|
BOOST_CHECK_EQUAL(schedule.hasOilVaporizationProperties(), false);
|
||||||
|
|
||||||
@@ -1183,7 +1185,7 @@ BOOST_AUTO_TEST_CASE(changeBhpLimitInHistoryModeWithWeltarg) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* well_p = schedule.getWell("P");
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL(well_p->getProductionProperties(0).BHPLimit, 0); //start
|
BOOST_CHECK_EQUAL(well_p->getProductionProperties(0).BHPLimit, 0); //start
|
||||||
@@ -1272,7 +1274,7 @@ BOOST_AUTO_TEST_CASE(changeModeWithWHISTCTL) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_p1 = schedule.getWell("P1");
|
||||||
auto* well_p2 = schedule.getWell("P2");
|
auto* well_p2 = schedule.getWell("P2");
|
||||||
|
|
||||||
@@ -1338,7 +1340,7 @@ BOOST_AUTO_TEST_CASE(unsupportedOptionWHISTCTL) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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) {
|
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);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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& well = *schedule.getWell( "W1" );
|
||||||
BOOST_CHECK_EQUAL( 3, well.getHeadI() );
|
BOOST_CHECK_EQUAL( 3, well.getHeadI() );
|
||||||
@@ -1400,7 +1402,7 @@ BOOST_AUTO_TEST_CASE(change_ref_depth) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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& well = *schedule.getWell( "W1" );
|
||||||
BOOST_CHECK_EQUAL( 12.0, well.getRefDepth() );
|
BOOST_CHECK_EQUAL( 12.0, well.getRefDepth() );
|
||||||
@@ -1439,7 +1441,7 @@ BOOST_AUTO_TEST_CASE( COMPDAT_sets_automatic_complnum ) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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 );
|
const auto& cs1 = schedule.getWell( "W1" )->getCompletions( 1 );
|
||||||
BOOST_CHECK_EQUAL( 1, cs1.get( 0 ).complnum() );
|
BOOST_CHECK_EQUAL( 1, cs1.get( 0 ).complnum() );
|
||||||
@@ -1482,7 +1484,7 @@ BOOST_AUTO_TEST_CASE( COMPDAT_multiple_wells ) {
|
|||||||
EclipseGrid grid( 10, 10, 10 );
|
EclipseGrid grid( 10, 10, 10 );
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
const auto& w1cs = schedule.getWell( "W1" )->getCompletions();
|
||||||
BOOST_CHECK_EQUAL( 1, w1cs.get( 0 ).complnum() );
|
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);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
const auto& cs = schedule.getWell( "W1" )->getCompletions();
|
||||||
BOOST_CHECK_EQUAL( 3U, cs.size() );
|
BOOST_CHECK_EQUAL( 3U, cs.size() );
|
||||||
@@ -1556,7 +1558,7 @@ BOOST_AUTO_TEST_CASE( complump_less_than_1 ) {
|
|||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||||
Phases p( true, true, true );
|
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 ) {
|
BOOST_AUTO_TEST_CASE( complump ) {
|
||||||
@@ -1601,7 +1603,7 @@ BOOST_AUTO_TEST_CASE( complump ) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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& well = *schedule.getWell( "W1" );
|
||||||
const auto& sc0 = well.getCompletions( 0 );
|
const auto& sc0 = well.getCompletions( 0 );
|
||||||
@@ -1675,7 +1677,7 @@ BOOST_AUTO_TEST_CASE( COMPLUMP_specific_coordinates ) {
|
|||||||
EclipseGrid grid( 10, 10, 10 );
|
EclipseGrid grid( 10, 10, 10 );
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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& well = *schedule.getWell( "W1" );
|
||||||
const auto& cs1 = well.getCompletions( 1 );
|
const auto& cs1 = well.getCompletions( 1 );
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.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/ParseContext.hpp>
|
||||||
#include <opm/parser/eclipse/Parser/Parser.hpp>
|
#include <opm/parser/eclipse/Parser/Parser.hpp>
|
||||||
|
|
||||||
@@ -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()) {
|
static SummaryConfig createSummary( std::string input , const ParseContext& parseContext = ParseContext()) {
|
||||||
auto deck = createDeck( input );
|
auto deck = createDeck( input );
|
||||||
EclipseState state( deck, parseContext );
|
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 );
|
return SummaryConfig( deck, schedule, state.getTableManager( ), parseContext );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ BOOST_AUTO_TEST_CASE(TuningTest) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
auto tuning = schedule.getTuning();
|
||||||
|
|
||||||
|
|
||||||
@@ -326,7 +326,7 @@ BOOST_AUTO_TEST_CASE(TuningInitTest) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
auto tuning = schedule.getTuning();
|
||||||
|
|
||||||
|
|
||||||
@@ -356,7 +356,7 @@ BOOST_AUTO_TEST_CASE(TuningResetTest) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
auto tuning = schedule.getTuning();
|
||||||
|
|
||||||
|
|
||||||
@@ -374,5 +374,4 @@ BOOST_AUTO_TEST_CASE(TuningResetTest) {
|
|||||||
TSINIT_default = tuning.getTSINIT(timestep);
|
TSINIT_default = tuning.getTSINIT(timestep);
|
||||||
BOOST_CHECK_CLOSE(TSINIT_default, 666.00, diff);
|
BOOST_CHECK_CLOSE(TSINIT_default, 666.00, diff);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ BOOST_AUTO_TEST_CASE(TestNoSolvent) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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"));
|
BOOST_CHECK(!deck.hasKeyword("WSOLVENT"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@ BOOST_AUTO_TEST_CASE(TestGasInjector) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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"));
|
BOOST_CHECK(deck.hasKeyword("WSOLVENT"));
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -161,7 +161,7 @@ BOOST_AUTO_TEST_CASE(TestDynamicWSOLVENT) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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"));
|
BOOST_CHECK(deck.hasKeyword("WSOLVENT"));
|
||||||
const auto& keyword = deck.getKeyword("WSOLVENT");
|
const auto& keyword = deck.getKeyword("WSOLVENT");
|
||||||
BOOST_CHECK_EQUAL(keyword.size(),1);
|
BOOST_CHECK_EQUAL(keyword.size(),1);
|
||||||
@@ -180,7 +180,7 @@ BOOST_AUTO_TEST_CASE(TestOilInjector) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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) {
|
BOOST_AUTO_TEST_CASE(TestWaterInjector) {
|
||||||
@@ -188,5 +188,5 @@ BOOST_AUTO_TEST_CASE(TestWaterInjector) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestTRACK) {
|
|||||||
Opm::EclipseGrid grid(10,10,10);
|
Opm::EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* op_1 = schedule.getWell("OP_1");
|
||||||
|
|
||||||
size_t timestep = 2;
|
size_t timestep = 2;
|
||||||
@@ -268,7 +268,7 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestDefaultTRACK) {
|
|||||||
Opm::EclipseGrid grid(10,10,10);
|
Opm::EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* op_1 = schedule.getWell("OP_1");
|
||||||
|
|
||||||
size_t timestep = 2;
|
size_t timestep = 2;
|
||||||
@@ -311,7 +311,7 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestINPUT) {
|
|||||||
Opm::EclipseGrid grid(10,10,10);
|
Opm::EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
auto* op_1 = schedule.getWell("OP_1");
|
||||||
|
|
||||||
size_t timestep = 2;
|
size_t timestep = 2;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ BOOST_AUTO_TEST_CASE( CreateCompletionsFromKeyword ) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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& COMPDAT1 = deck.getKeyword("COMPDAT" , 1);
|
||||||
|
|
||||||
const auto wells = schedule.getWells( 0 );
|
const auto wells = schedule.getWells( 0 );
|
||||||
|
|||||||
@@ -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(240 , true , boost::gregorian::date( 2006,10,1)) );
|
||||||
rptConfig.push_back( std::make_tuple(241 , true , boost::gregorian::date( 2006,10,10)) );
|
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(schedule.getTimeMap(), state.cfg().restart(), rptConfig);
|
||||||
verifyRestartConfig(state.getSchedule().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)));
|
else rptConfig.push_back( std::make_tuple(report_step, false, boost::gregorian::date(2000,1,1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ParseContext parseContext;
|
ParseContext parseContext;
|
||||||
Parser parser;
|
Parser parser;
|
||||||
auto deck = parser.parseFile(prefix() + "IOConfig/RPT_TEST2.DATA", parseContext);
|
auto deck = parser.parseFile(prefix() + "IOConfig/RPT_TEST2.DATA", parseContext);
|
||||||
EclipseState state( deck , parseContext );
|
EclipseState state( deck , parseContext );
|
||||||
|
Schedule schedule(deck, state.getInputGrid(), state.get3DProperties(), state.runspec().phases(), parseContext);
|
||||||
const auto& rstConfig = state.cfg().restart();
|
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 );
|
BOOST_CHECK_EQUAL( rstConfig.getFirstRestartStep() , 0 );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
#include <opm/parser/eclipse/EclipseState/EclipseState.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/SgofTable.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Tables/SlgofTable.hpp>
|
#include <opm/parser/eclipse/EclipseState/Tables/SlgofTable.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/Tables/SwofTable.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 auto& grid = state.getInputGrid();
|
||||||
const TableManager table ( deck );
|
const TableManager table ( deck );
|
||||||
const Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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
|
// for WELSEGS keyword
|
||||||
const auto& kw = deck.getKeyword("WELSEGS");
|
const auto& kw = deck.getKeyword("WELSEGS");
|
||||||
@@ -1348,7 +1349,8 @@ BOOST_AUTO_TEST_CASE( WCONPROD ) {
|
|||||||
EclipseGrid grid(30,30,30);
|
EclipseGrid grid(30,30,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_EQUAL(5U, sched.numWells());
|
||||||
BOOST_CHECK(sched.hasWell("INJE1"));
|
BOOST_CHECK(sched.hasWell("INJE1"));
|
||||||
@@ -1385,7 +1387,7 @@ BOOST_AUTO_TEST_CASE( WCONINJE ) {
|
|||||||
EclipseGrid grid(30,30,30);
|
EclipseGrid grid(30,30,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties( deck , table, grid );
|
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_EQUAL(5U, sched.numWells());
|
||||||
BOOST_CHECK(sched.hasWell("PROD1"));
|
BOOST_CHECK(sched.hasWell("PROD1"));
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule) {
|
|||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
const auto& timeMap = sched.getTimeMap();
|
||||||
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007 , 5 , 10), sched.getStartTime());
|
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007 , 5 , 10), sched.getStartTime());
|
||||||
BOOST_CHECK_EQUAL(9U, timeMap.size());
|
BOOST_CHECK_EQUAL(9U, timeMap.size());
|
||||||
@@ -75,7 +75,7 @@ BOOST_AUTO_TEST_CASE(CreateSchedule_Comments_After_Keywords) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
const auto& timeMap = sched.getTimeMap();
|
||||||
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007, 5 , 10) , sched.getStartTime());
|
BOOST_CHECK_EQUAL(TimeMap::mkdate(2007, 5 , 10) , sched.getStartTime());
|
||||||
BOOST_CHECK_EQUAL(9U, timeMap.size());
|
BOOST_CHECK_EQUAL(9U, timeMap.size());
|
||||||
@@ -90,7 +90,7 @@ BOOST_AUTO_TEST_CASE(WCONPROD_MissingCmode) {
|
|||||||
EclipseGrid grid(10,10,3);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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 );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
||||||
BOOST_CHECK_EQUAL(3, 3);
|
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);
|
BOOST_CHECK_EQUAL(4, 4);
|
||||||
|
|
||||||
auto* well1 = sched.getWell("W_1");
|
auto* well1 = sched.getWell("W_1");
|
||||||
@@ -135,7 +135,7 @@ BOOST_AUTO_TEST_CASE(WellTestOpen) {
|
|||||||
EclipseGrid grid(40,60,30);
|
EclipseGrid grid(40,60,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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 well1 = sched.getWell( "W_1" );
|
||||||
auto well2 = sched.getWell( "W_2" );
|
auto well2 = sched.getWell( "W_2" );
|
||||||
@@ -177,7 +177,7 @@ BOOST_AUTO_TEST_CASE(WellTesting) {
|
|||||||
EclipseGrid grid(40,60,30);
|
EclipseGrid grid(40,60,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_EQUAL(4U, sched.numWells());
|
||||||
BOOST_CHECK(sched.hasWell("W_1"));
|
BOOST_CHECK(sched.hasWell("W_1"));
|
||||||
@@ -300,7 +300,7 @@ BOOST_AUTO_TEST_CASE(WellTestCOMPDAT_DEFAULTED_ITEMS) {
|
|||||||
EclipseGrid grid(40,60,30);
|
EclipseGrid grid(40,60,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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);
|
EclipseGrid grid(40,60,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_EQUAL(4U, sched.numWells());
|
||||||
BOOST_CHECK(sched.hasWell("W_1"));
|
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);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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 );
|
const auto& grouptree = sched.getGroupTree( 0 );
|
||||||
|
|
||||||
@@ -370,7 +370,7 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_GRUPTREE_correct) {
|
|||||||
EclipseGrid grid(10,10,3);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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( "FIELD" ));
|
||||||
BOOST_CHECK( schedule.hasGroup( "PROD" ));
|
BOOST_CHECK( schedule.hasGroup( "PROD" ));
|
||||||
@@ -391,7 +391,7 @@ BOOST_AUTO_TEST_CASE(GroupTreeTest_WELSPECS_AND_GRUPTREE_correct_size ) {
|
|||||||
EclipseGrid grid(10,10,3);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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
|
// Time 0, only from WELSPECS
|
||||||
BOOST_CHECK_EQUAL( 2U, schedule.getGroupTree(0).children("FIELD").size() );
|
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);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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
|
// Time 0, only from WELSPECS
|
||||||
const auto& tree0 = schedule.getGroupTree( 0 );
|
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);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_BJARNE" ) );
|
||||||
BOOST_CHECK( tree0.exists( "GROUP_NILS" ) );
|
BOOST_CHECK( tree0.exists( "GROUP_NILS" ) );
|
||||||
@@ -462,7 +462,7 @@ BOOST_AUTO_TEST_CASE( WellTestGroups ) {
|
|||||||
EclipseGrid grid(10,10,3);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_EQUAL( 3U , sched.numGroups() );
|
||||||
BOOST_CHECK( sched.hasGroup( "INJ" ));
|
BOOST_CHECK( sched.hasGroup( "INJ" ));
|
||||||
@@ -506,7 +506,7 @@ BOOST_AUTO_TEST_CASE( WellTestGroupAndWellRelation ) {
|
|||||||
EclipseGrid grid(10,10,3);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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& group1 = sched.getGroup("GROUP1");
|
||||||
auto& group2 = sched.getGroup("GROUP2");
|
auto& group2 = sched.getGroup("GROUP2");
|
||||||
@@ -535,7 +535,7 @@ BOOST_AUTO_TEST_CASE(WellTestWELSPECSDataLoaded) {
|
|||||||
EclipseGrid grid(40,60,30);
|
EclipseGrid grid(40,60,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_EQUAL(4U, sched.numWells());
|
||||||
BOOST_CHECK(sched.hasWell("W_1"));
|
BOOST_CHECK(sched.hasWell("W_1"));
|
||||||
@@ -599,7 +599,7 @@ BOOST_AUTO_TEST_CASE(WellTestWGRUPCONWellPropertiesSet) {
|
|||||||
EclipseGrid grid(10,10,10);
|
EclipseGrid grid(10,10,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
const auto* well1 = sched.getWell("W_1");
|
||||||
BOOST_CHECK(well1->isAvailableForGroupControl(0));
|
BOOST_CHECK(well1->isAvailableForGroupControl(0));
|
||||||
@@ -640,7 +640,7 @@ COMPDAT \n\
|
|||||||
EclipseGrid grid(30,30,10);
|
EclipseGrid grid(30,30,10);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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* well = sched.getWell("W1");
|
||||||
const auto& completions = well->getCompletions(0);
|
const auto& completions = well->getCompletions(0);
|
||||||
BOOST_CHECK_EQUAL( 10 , completions.get(0).getI() );
|
BOOST_CHECK_EQUAL( 10 , completions.get(0).getI() );
|
||||||
@@ -660,7 +660,7 @@ BOOST_AUTO_TEST_CASE(OpmCode) {
|
|||||||
EclipseGrid grid(10,10,3);
|
EclipseGrid grid(10,10,3);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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);
|
EclipseGrid grid(20,40,1);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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");
|
const auto* well1 = sched.getWell("W1");
|
||||||
@@ -699,7 +699,7 @@ BOOST_AUTO_TEST_CASE(WellTestWPOLYMER) {
|
|||||||
EclipseGrid grid(30,30,30);
|
EclipseGrid grid(30,30,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_EQUAL(4U, sched.numWells());
|
||||||
@@ -749,7 +749,7 @@ BOOST_AUTO_TEST_CASE(WellTestWECON) {
|
|||||||
EclipseGrid grid(30,30,30);
|
EclipseGrid grid(30,30,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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_EQUAL(3U, sched.numWells());
|
||||||
BOOST_CHECK(sched.hasWell("INJE01"));
|
BOOST_CHECK(sched.hasWell("INJE01"));
|
||||||
@@ -861,7 +861,7 @@ BOOST_AUTO_TEST_CASE(TestEvents) {
|
|||||||
EclipseGrid grid(40,40,30);
|
EclipseGrid grid(40,40,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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();
|
const Events& events = sched.getEvents();
|
||||||
|
|
||||||
BOOST_CHECK( events.hasEvent(ScheduleEvents::NEW_WELL , 0 ) );
|
BOOST_CHECK( events.hasEvent(ScheduleEvents::NEW_WELL , 0 ) );
|
||||||
@@ -895,7 +895,7 @@ BOOST_AUTO_TEST_CASE(TestWellEvents) {
|
|||||||
EclipseGrid grid(40,40,30);
|
EclipseGrid grid(40,40,30);
|
||||||
TableManager table ( deck );
|
TableManager table ( deck );
|
||||||
Eclipse3DProperties eclipseProperties ( deck , table, grid);
|
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& w1 = sched.getWell( "W_1");
|
||||||
const auto& w2 = sched.getWell( "W_2");
|
const auto& w2 = sched.getWell( "W_2");
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ BOOST_AUTO_TEST_CASE(MULTFLT_IN_SCHEDULE) {
|
|||||||
auto deck = parser.parseFile(scheduleFile, parseContext);
|
auto deck = parser.parseFile(scheduleFile, parseContext);
|
||||||
EclipseState state(deck, parseContext);
|
EclipseState state(deck, parseContext);
|
||||||
const auto& trans = state.getTransMult();
|
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();
|
const Events& events = schedule.getEvents();
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL( 0.10 , trans.getMultiplier( 3,2,0,FaceDir::XPlus ));
|
BOOST_CHECK_EQUAL( 0.10 , trans.getMultiplier( 3,2,0,FaceDir::XPlus ));
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
||||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||||
#include <opm/parser/eclipse/EclipseState/EclipseState.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) {
|
inline void loadDeck( const char * deck_file) {
|
||||||
Opm::ParseContext parseContext;
|
Opm::ParseContext parseContext;
|
||||||
@@ -31,7 +33,7 @@ inline void loadDeck( const char * deck_file) {
|
|||||||
|
|
||||||
auto deck = parser.parseFile(deck_file, parseContext);
|
auto deck = parser.parseFile(deck_file, parseContext);
|
||||||
Opm::EclipseState state( deck, 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 );
|
Opm::SummaryConfig summary( deck, schedule, state.getTableManager( ), parseContext );
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
|
|||||||
Reference in New Issue
Block a user