Use ParserKeyword::prohibits for COORD / GDFILE / ZCORN
This commit is contained in:
@@ -212,14 +212,6 @@ EclipseGrid::EclipseGrid(const Deck& deck, const int * actnum)
|
||||
OpmLog::info("Creating grid");
|
||||
if (deck.hasKeyword("GDFILE")){
|
||||
|
||||
if (deck.hasKeyword("COORD")){
|
||||
throw std::invalid_argument("COORD can't be used together with GDFILE");
|
||||
}
|
||||
|
||||
if (deck.hasKeyword("ZCORN")){
|
||||
throw std::invalid_argument("ZCORN can't be used together with GDFILE");
|
||||
}
|
||||
|
||||
if (deck.hasKeyword("ACTNUM")){
|
||||
if (keywInputBeforeGdfile(deck, "ACTNUM")) {
|
||||
m_useActnumFromGdfile = true;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"sections": [
|
||||
"GRID"
|
||||
],
|
||||
"prohibits" : ["GDFILE"],
|
||||
"data": {
|
||||
"value_type": "DOUBLE",
|
||||
"dimension": "Length"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"sections": [
|
||||
"GRID"
|
||||
],
|
||||
"prohibits" : ["COORD", "ZCORN"],
|
||||
"size": 1,
|
||||
"items": [
|
||||
{
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"sections": [
|
||||
"GRID"
|
||||
],
|
||||
"prohibits" : ["GDFILE"],
|
||||
"data": {
|
||||
"value_type": "DOUBLE",
|
||||
"dimension": "Length"
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <opm/common/utility/FileSystem.hpp>
|
||||
#include <opm/common/utility/OpmInputError.hpp>
|
||||
|
||||
#define BOOST_TEST_MODULE EclipseGridTests
|
||||
#include <boost/test/unit_test.hpp>
|
||||
@@ -2451,44 +2452,9 @@ BOOST_AUTO_TEST_CASE(TEST_GDFILE_1) {
|
||||
"PORO\n"
|
||||
" 2*0.15 /\n";
|
||||
|
||||
const char* deckData2 =
|
||||
"RUNSPEC\n"
|
||||
"DIMENS\n"
|
||||
"1 1 2 /\n"
|
||||
"GRID\n"
|
||||
"GDFILE\n"
|
||||
" 'BAD_CP_M.EGRID' /\n"
|
||||
"COORD\n"
|
||||
"10.0000 10.0000 2000.0000 9.8255 10.0000 2014.9977\n"
|
||||
"109.9848 10.0000 2001.7452 109.8102 10.0000 2016.7430\n"
|
||||
"10.0000 110.0000 2000.0000 9.8255 110.0000 2014.9977\n"
|
||||
"109.9848 110.0000 2001.7452 109.8102 110.0000 2016.7430 /\n"
|
||||
"PORO\n"
|
||||
" 2*0.15 /\n";
|
||||
|
||||
const char* deckData3 =
|
||||
"RUNSPEC\n"
|
||||
"DIMENS\n"
|
||||
"1 1 2 /\n"
|
||||
"GRID\n"
|
||||
"GDFILE\n"
|
||||
" 'BAD_CP_M.EGRID' /\n"
|
||||
"ZCORN\n"
|
||||
"2000.0000 2001.7452 2000.0000 2001.7452 2004.9992 2006.7445\n"
|
||||
"2004.9992 2006.7445 2004.9992 2006.7445 2004.9992 2006.7445\n"
|
||||
"2014.9977 2016.7430 2014.9977 2016.7430 /\n"
|
||||
"PORO\n"
|
||||
" 2*0.15 /\n";
|
||||
|
||||
|
||||
Opm::Parser parser;
|
||||
auto deck1 = parser.parseString( deckData1) ;
|
||||
auto deck2 = parser.parseString( deckData2) ;
|
||||
auto deck3 = parser.parseString( deckData3) ;
|
||||
|
||||
BOOST_CHECK_NO_THROW( Opm::EclipseGrid grid1(deck1) );
|
||||
BOOST_CHECK_THROW(Opm::EclipseGrid grid2(deck2), std::invalid_argument);
|
||||
BOOST_CHECK_THROW(Opm::EclipseGrid grid3(deck3), std::invalid_argument);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user