1. Added well collection to Schedule object.
2. Adding wells from Welspecs and setting Oilrate from WCONHIST
This commit is contained in:
@@ -32,24 +32,7 @@
|
||||
|
||||
using namespace Opm;
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CreateScheduleDeckMissingSCHEDULE_Throws) {
|
||||
DeckPtr deck(new Deck());
|
||||
BOOST_CHECK_THROW(Schedule schedule(deck) , std::invalid_argument);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CreateScheduleDeckMissingReturnsDefaults) {
|
||||
DeckPtr deck(new Deck());
|
||||
DeckKeywordPtr keyword(new DeckKeyword("SCHEDULE"));
|
||||
deck->addKeyword( keyword );
|
||||
Schedule schedule(deck);
|
||||
BOOST_CHECK_EQUAL( schedule.getStartDate() , boost::gregorian::date( 1983 , boost::gregorian::Jan , 1));
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithStart) {
|
||||
DeckPtr createDeck() {
|
||||
DeckPtr deck(new Deck());
|
||||
DeckKeywordPtr scheduleKeyword(new DeckKeyword("SCHEDULE"));
|
||||
DeckKeywordPtr startKeyword(new DeckKeyword("START"));
|
||||
@@ -71,6 +54,29 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithStart) {
|
||||
deck->addKeyword( startKeyword );
|
||||
deck->addKeyword( scheduleKeyword );
|
||||
|
||||
return deck;
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CreateScheduleDeckMissingSCHEDULE_Throws) {
|
||||
DeckPtr deck(new Deck());
|
||||
BOOST_CHECK_THROW(Schedule schedule(deck) , std::invalid_argument);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CreateScheduleDeckMissingReturnsDefaults) {
|
||||
DeckPtr deck(new Deck());
|
||||
DeckKeywordPtr keyword(new DeckKeyword("SCHEDULE"));
|
||||
deck->addKeyword( keyword );
|
||||
Schedule schedule(deck);
|
||||
BOOST_CHECK_EQUAL( schedule.getStartDate() , boost::gregorian::date( 1983 , boost::gregorian::Jan , 1));
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithStart) {
|
||||
DeckPtr deck = createDeck();
|
||||
Schedule schedule(deck);
|
||||
BOOST_CHECK_EQUAL( schedule.getStartDate() , boost::gregorian::date( 1998 , boost::gregorian::Mar , 8));
|
||||
}
|
||||
@@ -87,3 +93,13 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithSCHEDULENoThrow) {
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(EmptyScheduleHasNoWells) {
|
||||
DeckPtr deck = createDeck();
|
||||
Schedule schedule(deck);
|
||||
BOOST_CHECK_EQUAL( 0U , schedule.numWells() );
|
||||
BOOST_CHECK_EQUAL( false , schedule.hasWell("WELL1") );
|
||||
BOOST_CHECK_THROW( schedule.getWell("WELL2") , std::invalid_argument );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -28,9 +28,18 @@
|
||||
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Well.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/TimeMap.hpp>
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CreateWellCorrentName) {
|
||||
Opm::Well well("WELL1");
|
||||
boost::gregorian::date startDate( 2010 , boost::gregorian::Jan , 1);
|
||||
Opm::TimeMapPtr timeMap(new Opm::TimeMap(startDate));
|
||||
for (size_t i = 0; i < 10; i++)
|
||||
timeMap->addTStep( boost::posix_time::hours( (i+1) * 24 ));
|
||||
Opm::Well well("WELL1" , timeMap);
|
||||
BOOST_CHECK_EQUAL( "WELL1" , well.name() );
|
||||
|
||||
BOOST_CHECK_EQUAL(0.0 , well.getOilRate( 5 ));
|
||||
well.setOilRate( 5 , 99 );
|
||||
BOOST_CHECK_EQUAL(99 , well.getOilRate( 5 ));
|
||||
BOOST_CHECK_EQUAL(99 , well.getOilRate( 8 ));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user