Relax EPS Activation Criterion

Existence of certain EPS keywords (SWL, SGCR, others) is sufficient
to activate the end-point scaling option.  The deck does not *need*
to have the ENDSCALE keyword in these cases, but it is recommended
that ENDSCALE nevertheless be used.

On the other hand, certain other keywords do require the presence of
ENDSCALE so record this in "requires" clauses.
This commit is contained in:
Bård Skaflestad
2020-12-16 17:47:00 +01:00
parent debfc70450
commit ad8209d882
13 changed files with 246 additions and 16 deletions

View File

@@ -46,8 +46,9 @@
#include <opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp>
#include <opm/parser/eclipse/EclipseState/Runspec.hpp>
#include "src/opm/parser/eclipse/EclipseState/Grid/FieldProps.hpp"
#include <opm/common/utility/OpmInputError.hpp>
#include "src/opm/parser/eclipse/EclipseState/Grid/FieldProps.hpp"
using namespace Opm;
@@ -677,6 +678,60 @@ OPERATE
}
}
BOOST_AUTO_TEST_CASE(EPS_Props_Inconsistent) {
BOOST_CHECK_THROW(const auto deck = Opm::Parser{}.parseString(R"(RUNSPEC
DIMENS
10 10 3 /
-- No GAS keyword
PROPS
SGCR -- Requires 'GAS'
300*0.001 /
)"), Opm::OpmInputError);
BOOST_CHECK_THROW(const auto deck = Opm::Parser{}.parseString(R"(RUNSPEC
DIMENS
10 10 3 /
OIL
GAS
-- No ENDSCALE keyword
PROPS
SOGCR -- Requires 'ENDSCALE'
300*0.05 /
)"), Opm::OpmInputError);
BOOST_CHECK_THROW(const auto deck = Opm::Parser{}.parseString(R"(RUNSPEC
DIMENS
10 10 3 /
OIL
-- GAS
ENDSCALE
/
PROPS
SOGCR -- Requires 'GAS'
300*0.05 /
)"), Opm::OpmInputError);
BOOST_CHECK_THROW(const auto deck = Opm::Parser{}.parseString(R"(RUNSPEC
DIMENS
10 10 3 /
-- OIL
GAS
ENDSCALE
/
PROPS
SOGCR -- Requires 'OIL'
300*0.05 /
)"), Opm::OpmInputError);
}
namespace {
std::string satfunc_model_setup()
{