Removed constructor from ScheduleGrid, added perm prop to tests
Changed (BASE_SIM.DATA, BASE_SIM_THPRES.DATA, RESTART_SIM.DATA), testblackoilstate3.DATA and testrft.DATA since they affect the tests in test_Restart.cpp, test_restartwellinfo.cpp and test_RFT.cpp respectively.
This commit is contained in:
parent
931cebb12f
commit
45dd77938b
@ -28,7 +28,6 @@ class FieldPropsManager;
|
||||
|
||||
class ScheduleGrid {
|
||||
public:
|
||||
ScheduleGrid(const EclipseGrid& ecl_grid, CompletedCells& completed_cells);
|
||||
ScheduleGrid(const EclipseGrid& ecl_grid, const FieldPropsManager& fpm, CompletedCells& completed_cells);
|
||||
explicit ScheduleGrid(CompletedCells& completed_cells);
|
||||
|
||||
|
@ -161,7 +161,7 @@ namespace Opm {
|
||||
this->restart_output.clearRemainingEvents(0);
|
||||
|
||||
//const ScheduleGridWrapper gridWrapper { grid } ;
|
||||
ScheduleGrid grid(ecl_grid, this->completed_cells);
|
||||
ScheduleGrid grid(ecl_grid, fp, this->completed_cells);
|
||||
|
||||
if (rst) {
|
||||
auto restart_step = this->m_static.rst_info.report_step;
|
||||
|
@ -17,16 +17,12 @@
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <fmt/format.h>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/CompletedCells.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/ScheduleGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
|
||||
Opm::ScheduleGrid::ScheduleGrid(const Opm::EclipseGrid& ecl_grid, Opm::CompletedCells& completed_cells)
|
||||
: grid(&ecl_grid)
|
||||
, cells(completed_cells)
|
||||
{}
|
||||
|
||||
Opm::ScheduleGrid::ScheduleGrid(const Opm::EclipseGrid& ecl_grid, const Opm::FieldPropsManager& fpm, Opm::CompletedCells& completed_cells)
|
||||
: grid(&ecl_grid)
|
||||
, fp(&fpm)
|
||||
@ -37,6 +33,16 @@ Opm::ScheduleGrid::ScheduleGrid(Opm::CompletedCells& completed_cells)
|
||||
: cells(completed_cells)
|
||||
{}
|
||||
|
||||
|
||||
namespace {
|
||||
double try_get_value(const Opm::FieldPropsManager& fp, const std::string& kw, std::size_t active_index) {
|
||||
if (fp.has_double(kw))
|
||||
return fp.try_get<double>(kw)->at(active_index);
|
||||
else
|
||||
throw std::logic_error(fmt::format("FieldPropsManager is missing keyword '{}'", kw));
|
||||
}
|
||||
}
|
||||
|
||||
const Opm::CompletedCells::Cell& Opm::ScheduleGrid::get_cell(std::size_t i, std::size_t j, std::size_t k) const {
|
||||
if (this->grid) {
|
||||
auto [valid, cell] = this->cells.try_get(i,j,k);
|
||||
@ -47,13 +53,10 @@ const Opm::CompletedCells::Cell& Opm::ScheduleGrid::get_cell(std::size_t i, std:
|
||||
CompletedCells::Cell::Props props;
|
||||
|
||||
props.active_index = this->grid->getActiveIndex(i,j,k);
|
||||
if (this->fp){
|
||||
props.permx = this->fp->try_get<double>("PERMX")->at(props.active_index);
|
||||
props.permy = this->fp->try_get<double>("PERMY")->at(props.active_index);
|
||||
props.permz = this->fp->try_get<double>("PERMZ")->at(props.active_index);
|
||||
}
|
||||
props.permx = try_get_value(*this->fp, "PERMX", props.active_index);
|
||||
props.permy = try_get_value(*this->fp, "PERMY", props.active_index);
|
||||
props.permz = try_get_value(*this->fp, "PERMZ", props.active_index);
|
||||
cell.props = props;
|
||||
|
||||
}
|
||||
}
|
||||
return cell;
|
||||
|
@ -33,6 +33,12 @@ TOPS
|
||||
|
||||
PORO
|
||||
1000*0.2 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
|
||||
SOLUTION
|
||||
|
||||
|
@ -37,6 +37,12 @@ TOPS
|
||||
|
||||
PORO
|
||||
1000*0.2 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
|
||||
PROPS
|
||||
|
||||
|
@ -33,6 +33,12 @@ TOPS
|
||||
|
||||
PORO
|
||||
1000*0.2 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
|
||||
SOLUTION
|
||||
RESTART
|
||||
|
@ -1212,6 +1212,15 @@ TSTEP
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Action_WELPI) {
|
||||
const auto deck_string = std::string{ R"(
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
|
||||
|
||||
|
@ -59,7 +59,7 @@ Opm::WellConnections loadCOMPDAT(const std::string& compdat_keyword) {
|
||||
Opm::WellConnections connections(Opm::Connection::Order::TRACK, 10,10);
|
||||
Opm::CompletedCells cells(grid);
|
||||
for (const auto& rec : keyword)
|
||||
connections.loadCOMPDAT(rec, Opm::ScheduleGrid(grid, cells), field_props, "WELL", {});
|
||||
connections.loadCOMPDAT(rec, Opm::ScheduleGrid(grid, field_props, cells), field_props, "WELL", {});
|
||||
|
||||
return connections;
|
||||
}
|
||||
@ -177,7 +177,18 @@ BOOST_AUTO_TEST_CASE(ActiveCompletions) {
|
||||
BOOST_AUTO_TEST_CASE(loadCOMPDATTEST) {
|
||||
Opm::UnitSystem units(Opm::UnitSystem::UnitType::UNIT_TYPE_METRIC); // Unit system used in deck FIRST_SIM.DATA.
|
||||
{
|
||||
const std::string deck = R"(COMPDAT
|
||||
const std::string deck = R"(GRID
|
||||
|
||||
PERMX
|
||||
1000*0.10 /
|
||||
|
||||
COPY
|
||||
'PERMX' 'PERMZ' /
|
||||
'PERMX' 'PERMY' /
|
||||
/
|
||||
SCHEDULE
|
||||
|
||||
COMPDAT
|
||||
-- CF Diam Kh Skin Df
|
||||
'WELL' 1 1 1 1 'OPEN' 1* 1.168 0.311 107.872 1* 1* 'Z' 21.925 /
|
||||
/)";
|
||||
|
@ -98,6 +98,15 @@ BOOST_AUTO_TEST_CASE(createDeckWithGEFAC) {
|
||||
std::string input =
|
||||
"START -- 0 \n"
|
||||
"19 JUN 2007 / \n"
|
||||
"GRID\n"
|
||||
"PORO\n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"1000*1 /\n"
|
||||
"PERMY \n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"1000*0.01 /\n"
|
||||
"SCHEDULE\n"
|
||||
|
||||
"WELSPECS\n"
|
||||
@ -135,6 +144,15 @@ BOOST_AUTO_TEST_CASE(createDeckWithWGRUPCONandWCONPROD) {
|
||||
std::string input =
|
||||
"START -- 0 \n"
|
||||
"19 JUN 2007 / \n"
|
||||
"GRID\n"
|
||||
"PORO\n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"1000*1 /\n"
|
||||
"PERMY \n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"1000*0.01 /\n"
|
||||
"SCHEDULE\n"
|
||||
|
||||
"WELSPECS\n"
|
||||
|
@ -45,6 +45,14 @@ RUNSPEC
|
||||
MESSAGES
|
||||
5* 10 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
MESSAGES
|
||||
5* 77 /
|
||||
SCHEDULE
|
||||
|
@ -67,6 +67,19 @@ BOOST_AUTO_TEST_CASE(AICDWellTest) {
|
||||
BOOST_CHECK_EQUAL( 7U , connection_set.size() );
|
||||
|
||||
const std::string compsegs_string = R"(
|
||||
GRID
|
||||
|
||||
PORO
|
||||
8000*0.1 /
|
||||
PERMX
|
||||
8000*1 /
|
||||
PERMY
|
||||
8000*0.1 /
|
||||
PERMZ
|
||||
8000*0.01 /
|
||||
|
||||
SCHEDULE
|
||||
|
||||
WELSEGS
|
||||
'PROD01' 2512.5 2512.5 1.0e-5 'ABS' 'HF-' 'HO' /
|
||||
2 2 1 1 2537.5 2537.5 0.3 0.00010 /
|
||||
@ -109,7 +122,8 @@ WSEGAICD
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_INVALID, Opm::InputError::THROW_EXCEPTION);
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_NOT_SUPPORTED, Opm::InputError::THROW_EXCEPTION);
|
||||
Opm::CompletedCells cells(grid);
|
||||
const auto& [new_connection_set, new_segment_set] = Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, cells), parseContext, errorGuard);
|
||||
Opm::FieldPropsManager fp(deck, Opm::Phases{true, true, true}, grid, Opm::TableManager());
|
||||
const auto& [new_connection_set, new_segment_set] = Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, fp, cells), parseContext, errorGuard);
|
||||
|
||||
// checking the ICD segment
|
||||
const Opm::DeckKeyword wsegaicd = deck.getKeyword("WSEGAICD");
|
||||
@ -213,6 +227,19 @@ BOOST_AUTO_TEST_CASE(MultisegmentWellTest) {
|
||||
BOOST_CHECK_EQUAL( 7U , connection_set.size() );
|
||||
|
||||
const std::string compsegs_string = R"(
|
||||
GRID
|
||||
|
||||
PORO
|
||||
8000*0.1 /
|
||||
PERMX
|
||||
8000*1 /
|
||||
PERMY
|
||||
8000*0.1 /
|
||||
PERMZ
|
||||
8000*0.01 /
|
||||
|
||||
SCHEDULE
|
||||
|
||||
WELSEGS
|
||||
'PROD01' 2512.5 2512.5 1.0e-5 'ABS' 'HF-' 'HO' /
|
||||
2 2 1 1 2537.5 2537.5 0.3 0.00010 /
|
||||
@ -252,9 +279,10 @@ WSEGSICD
|
||||
Opm::ErrorGuard errorGuard;
|
||||
Opm::ParseContext parseContext;
|
||||
Opm::CompletedCells cells(grid);
|
||||
Opm::FieldPropsManager fp(deck, Opm::Phases{true, true, true}, grid, Opm::TableManager());
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_INVALID, Opm::InputError::THROW_EXCEPTION);
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_NOT_SUPPORTED, Opm::InputError::THROW_EXCEPTION);
|
||||
const auto& [new_connection_set, new_segment_set] = Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, cells), parseContext, errorGuard);
|
||||
const auto& [new_connection_set, new_segment_set] = Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, fp, cells), parseContext, errorGuard);
|
||||
|
||||
// checking the ICD segment
|
||||
const Opm::DeckKeyword wsegsicd = deck.getKeyword("WSEGSICD");
|
||||
@ -366,6 +394,16 @@ BOOST_AUTO_TEST_CASE(WrongDistanceCOMPSEGS) {
|
||||
BOOST_CHECK_EQUAL( 7U , connection_set.size() );
|
||||
|
||||
const std::string compsegs_string =
|
||||
"GRID \n"
|
||||
"PORO \n"
|
||||
"8000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"8000*1 /\n"
|
||||
"PERMY \n"
|
||||
"8000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"8000*0.01 /\n"
|
||||
"SCHEDULE \n"
|
||||
"WELSEGS \n"
|
||||
"'PROD01' 2512.5 2512.5 1.0e-5 'ABS' 'H--' 'HO' /\n"
|
||||
"2 2 1 1 2537.5 2537.5 0.3 0.00010 /\n"
|
||||
@ -400,11 +438,12 @@ BOOST_AUTO_TEST_CASE(WrongDistanceCOMPSEGS) {
|
||||
Opm::ErrorGuard errorGuard;
|
||||
Opm::ParseContext parseContext;
|
||||
Opm::CompletedCells cells(grid);
|
||||
Opm::FieldPropsManager fp(deck, Opm::Phases{true, true, true}, grid, Opm::TableManager());
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_INVALID, Opm::InputError::THROW_EXCEPTION);
|
||||
BOOST_CHECK_THROW(Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, cells), parseContext, errorGuard), Opm::OpmInputError);
|
||||
BOOST_CHECK_THROW(Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, fp, cells), parseContext, errorGuard), Opm::OpmInputError);
|
||||
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_INVALID, Opm::InputError::IGNORE);
|
||||
BOOST_CHECK_NO_THROW(Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, cells), parseContext, errorGuard));
|
||||
BOOST_CHECK_NO_THROW(Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, fp, cells), parseContext, errorGuard));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(NegativeDepthCOMPSEGS) {
|
||||
@ -424,6 +463,16 @@ BOOST_AUTO_TEST_CASE(NegativeDepthCOMPSEGS) {
|
||||
BOOST_CHECK_EQUAL( 7U , connection_set.size() );
|
||||
|
||||
const std::string compsegs_string =
|
||||
"GRID \n"
|
||||
"PORO \n"
|
||||
"8000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"8000*1 /\n"
|
||||
"PERMY \n"
|
||||
"8000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"8000*0.01 /\n"
|
||||
"SCHEDULE \n"
|
||||
"WELSEGS \n"
|
||||
"'PROD01' 2512.5 2512.5 1.0e-5 'ABS' 'H--' 'HO' /\n"
|
||||
"2 2 1 1 2537.5 2537.5 0.3 0.00010 /\n"
|
||||
@ -458,11 +507,12 @@ BOOST_AUTO_TEST_CASE(NegativeDepthCOMPSEGS) {
|
||||
Opm::ErrorGuard errorGuard;
|
||||
Opm::ParseContext parseContext;
|
||||
Opm::CompletedCells cells(grid);
|
||||
Opm::FieldPropsManager fp(deck, Opm::Phases{true, true, true}, grid, Opm::TableManager());
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_NOT_SUPPORTED, Opm::InputError::THROW_EXCEPTION);
|
||||
BOOST_CHECK_THROW(Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, cells), parseContext, errorGuard), Opm::OpmInputError);
|
||||
BOOST_CHECK_THROW(Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, fp, cells), parseContext, errorGuard), Opm::OpmInputError);
|
||||
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_NOT_SUPPORTED, Opm::InputError::IGNORE);
|
||||
BOOST_CHECK_NO_THROW( Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, cells), parseContext, errorGuard) );
|
||||
BOOST_CHECK_NO_THROW( Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, fp, cells), parseContext, errorGuard) );
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(testwsegvalv) {
|
||||
@ -482,6 +532,16 @@ BOOST_AUTO_TEST_CASE(testwsegvalv) {
|
||||
BOOST_CHECK_EQUAL( 7U , connection_set.size() );
|
||||
|
||||
const std::string compsegs_string =
|
||||
"GRID \n"
|
||||
"PORO \n"
|
||||
"8000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"8000*1 /\n"
|
||||
"PERMY \n"
|
||||
"8000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"8000*0.01 /\n"
|
||||
"SCHEDULE \n"
|
||||
"WELSEGS \n"
|
||||
"'PROD01' 2512.5 2512.5 1.0e-5 'ABS' 'HF-' 'HO' /\n"
|
||||
"2 2 1 1 2537.5 2537.5 0.3 0.00010 /\n"
|
||||
@ -522,9 +582,10 @@ BOOST_AUTO_TEST_CASE(testwsegvalv) {
|
||||
Opm::ErrorGuard errorGuard;
|
||||
Opm::ParseContext parseContext;
|
||||
Opm::CompletedCells cells(grid);
|
||||
Opm::FieldPropsManager fp(deck, Opm::Phases{true, true, true}, grid, Opm::TableManager());
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_INVALID, Opm::InputError::THROW_EXCEPTION);
|
||||
parseContext.update(Opm::ParseContext::SCHEDULE_COMPSEGS_NOT_SUPPORTED, Opm::InputError::THROW_EXCEPTION);
|
||||
BOOST_CHECK_NO_THROW( Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, cells), parseContext, errorGuard));
|
||||
BOOST_CHECK_NO_THROW( Opm::Compsegs::processCOMPSEGS(compsegs, connection_set, segment_set, Opm::ScheduleGrid(grid, fp, cells), parseContext, errorGuard));
|
||||
|
||||
// checking the WSEGVALV segment
|
||||
const Opm::DeckKeyword wsegvalv = deck.getKeyword("WSEGVALV");
|
||||
|
@ -59,6 +59,15 @@ using namespace Opm;
|
||||
std::string deck0 = R"(
|
||||
START -- 0
|
||||
10 MAI 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
|
||||
DATES -- 1
|
||||
@ -98,6 +107,15 @@ DATES -- 7
|
||||
std::string WTEST_deck = R"(
|
||||
START -- 0
|
||||
10 MAI 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
WELSPECS
|
||||
'DEFAULT' 'OP' 30 37 3.33 'OIL' 7*/
|
||||
|
@ -135,6 +135,15 @@ static std::string createDeckWTEST() {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
10 MAI 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
WELSPECS
|
||||
'DEFAULT' 'OP' 30 37 3.33 'OIL' 7*/
|
||||
@ -228,6 +237,15 @@ static std::string createDeckForTestingCrossFlow() {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
10 MAI 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
WELSPECS
|
||||
'DEFAULT' 'OP' 30 37 3.33 'OIL' 7*/
|
||||
@ -329,6 +347,15 @@ static std::string createDeckWithWellsAndCompletionData() {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
1 NOV 1979 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
1 DES 1979/
|
||||
@ -645,6 +672,15 @@ static std::string createDeckWithWellsAndConnectionDataWithWELOPEN() {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
1 NOV 1979 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
1 DES 1979/
|
||||
@ -744,6 +780,15 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWELOPEN_TryToOpenWellWithShutCompleti
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
1 NOV 1979 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
1 DES 1979/
|
||||
@ -787,6 +832,15 @@ BOOST_AUTO_TEST_CASE(CreateScheduleDeckWithWELOPEN_CombineShutCompletionsAndAddN
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
1 NOV 1979 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
1 DES 1979/
|
||||
@ -853,6 +907,15 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArg) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -959,6 +1022,15 @@ BOOST_AUTO_TEST_CASE(createDeckWithWeltArg_UDA) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -1087,6 +1159,15 @@ BOOST_AUTO_TEST_CASE(createDeckWithWPIMULT) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -1424,6 +1505,15 @@ BOOST_AUTO_TEST_CASE(changeBhpLimitInHistoryModeWithWeltarg) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -1505,6 +1595,15 @@ BOOST_AUTO_TEST_CASE(changeModeWithWHISTCTL) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -1638,6 +1737,15 @@ BOOST_AUTO_TEST_CASE(fromWCONHISTtoWCONPROD) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -1694,6 +1802,15 @@ BOOST_AUTO_TEST_CASE(WHISTCTL_NEW_WELL) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
WHISTCTL
|
||||
GRAT/
|
||||
@ -2802,6 +2919,15 @@ BOOST_AUTO_TEST_CASE(handleWEFAC) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -3452,6 +3578,15 @@ BOOST_AUTO_TEST_CASE(TESTGuideRateConfig) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
10 MAI 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
WELSPECS
|
||||
'W1' 'G1' 1 2 3.33 'OIL' 7*/
|
||||
@ -4400,6 +4535,12 @@ DEPTHZ
|
||||
|
||||
PORO
|
||||
300*0.3 /
|
||||
PERMX
|
||||
300*1 /
|
||||
PERMY
|
||||
300*0.1 /
|
||||
PERMZ
|
||||
300*0.01 /
|
||||
|
||||
SCHEDULE
|
||||
WELSPECS -- 0
|
||||
@ -4599,6 +4740,12 @@ DEPTHZ
|
||||
|
||||
PORO
|
||||
300*0.3 /
|
||||
PERMX
|
||||
300*1 /
|
||||
PERMY
|
||||
300*0.1 /
|
||||
PERMZ
|
||||
300*0.01 /
|
||||
|
||||
SCHEDULE
|
||||
|
||||
|
@ -69,6 +69,15 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestTRACK) {
|
||||
std::string input =
|
||||
"START -- 0 \n"
|
||||
"19 JUN 2007 / \n"
|
||||
"GRID\n"
|
||||
"PORO\n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"1000*1 /\n"
|
||||
"PERMY \n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"1000*0.01 /\n"
|
||||
"SCHEDULE\n"
|
||||
"DATES -- 1\n"
|
||||
" 10 OKT 2008 / \n"
|
||||
@ -118,6 +127,15 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestDEPTH) {
|
||||
std::string input = R"(
|
||||
START -- 0
|
||||
19 JUN 2007 /
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
DATES -- 1
|
||||
10 OKT 2008 /
|
||||
@ -169,6 +187,15 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestDefaultTRACK) {
|
||||
std::string input =
|
||||
"START -- 0 \n"
|
||||
"19 JUN 2007 / \n"
|
||||
"GRID\n"
|
||||
"PORO\n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"1000*1 /\n"
|
||||
"PERMY \n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"1000*0.01 /\n"
|
||||
"SCHEDULE\n"
|
||||
"DATES -- 1\n"
|
||||
" 10 OKT 2008 / \n"
|
||||
@ -209,6 +236,15 @@ BOOST_AUTO_TEST_CASE(WellCOMPDATtestINPUT) {
|
||||
std::string input =
|
||||
"START -- 0 \n"
|
||||
"19 JUN 2007 / \n"
|
||||
"GRID\n"
|
||||
"PORO\n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"1000*1 /\n"
|
||||
"PERMY \n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"1000*0.01 /\n"
|
||||
"SCHEDULE\n"
|
||||
"DATES -- 1\n"
|
||||
" 10 OKT 2008 / \n"
|
||||
@ -881,6 +917,15 @@ BOOST_AUTO_TEST_CASE(WELOPEN) {
|
||||
std::string input =
|
||||
"START -- 0 \n"
|
||||
"19 JUN 2007 / \n"
|
||||
"GRID\n"
|
||||
"PORO\n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMX \n"
|
||||
"1000*1 /\n"
|
||||
"PERMY \n"
|
||||
"1000*0.1 /\n"
|
||||
"PERMZ \n"
|
||||
"1000*0.01 /\n"
|
||||
"SCHEDULE\n"
|
||||
"DATES -- 1\n"
|
||||
" 10 OKT 2008 / \n"
|
||||
@ -1025,6 +1070,15 @@ REGIONS
|
||||
PVTNUM
|
||||
1000*77 /
|
||||
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
SCHEDULE
|
||||
|
||||
WELSPECS
|
||||
@ -1153,6 +1207,16 @@ REGIONS
|
||||
PVTNUM
|
||||
1000*77 /
|
||||
|
||||
GRID
|
||||
PORO
|
||||
1000*0.1 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
|
||||
SCHEDULE
|
||||
|
||||
WELSPECS
|
||||
|
@ -86,6 +86,12 @@ TOPS
|
||||
|
||||
PORO
|
||||
1000*0.2 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
|
||||
SOLUTION
|
||||
|
||||
|
@ -42,6 +42,13 @@ DEPTHZ
|
||||
PORO
|
||||
1000*0.2 /
|
||||
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
|
||||
SCHEDULE
|
||||
|
||||
|
||||
|
@ -16,6 +16,12 @@ TOPS
|
||||
|
||||
PORO
|
||||
1000*0.2 /
|
||||
PERMX
|
||||
1000*1 /
|
||||
PERMY
|
||||
1000*0.1 /
|
||||
PERMZ
|
||||
1000*0.01 /
|
||||
|
||||
START -- 0
|
||||
1 NOV 1979 /
|
||||
|
Loading…
Reference in New Issue
Block a user