From 83157a01dd87fe6ba97d791018293ab7ad76262e Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 13 Aug 2023 14:57:28 +0200 Subject: [PATCH] added unit standard network test in NMetworkTests and removed test in GroupTests --- .../eclipse/Schedule/KeywordHandlers.cpp | 12 ++--- tests/parser/GroupTests.cpp | 50 ------------------- tests/parser/NetworkTests.cpp | 41 +++++++++++++++ 3 files changed, 47 insertions(+), 56 deletions(-) diff --git a/src/opm/input/eclipse/Schedule/KeywordHandlers.cpp b/src/opm/input/eclipse/Schedule/KeywordHandlers.cpp index 1d14881a4..3562f7363 100644 --- a/src/opm/input/eclipse/Schedule/KeywordHandlers.cpp +++ b/src/opm/input/eclipse/Schedule/KeywordHandlers.cpp @@ -813,12 +813,12 @@ File {} line {}.)", wname, location.keyword, location.filename, location.lineno) if (vfp_table != 0){ // Only non-terminal nodes with non-default vfp table value can be part of the network is_valid_node = true; - } else { - if(network.has_node(group_name)) { - std::string msg = fmt::format("The group {} is not a terminal node of the network and should have a vfp table assigned to it.", group_name); - throw OpmInputError(msg, handlerContext.keyword.location()); - } - } + } else { + if(network.has_node(node.name())) { + std::string msg = fmt::format("The group {} is not a terminal node of the network and should have a vfp table assigned to it.", group_name); + throw OpmInputError(msg, handlerContext.keyword.location()); + } + } } if (is_valid_node) nodes.push_back(node); diff --git a/tests/parser/GroupTests.cpp b/tests/parser/GroupTests.cpp index 3e002d46c..8352243cf 100644 --- a/tests/parser/GroupTests.cpp +++ b/tests/parser/GroupTests.cpp @@ -179,56 +179,6 @@ WCONPROD } - - - -BOOST_AUTO_TEST_CASE(createDeckWithGRUPNET) { - - const std::string input = R"( -START -- 0 -31 AUG 1993 / -SCHEDULE - -GRUPTREE -'MANI-B2' 'FIELD' / -'MANI-B1' 'FIELD' / -'MANI-K1' 'FIELD' / -'B1-DUMMY' 'MANI-K1' / -'MANI-D1' 'FIELD' / -'PROD' 'MANI-D1' / -'MANI-D2' 'MANI-D1' / -'MANI-K2' 'MANI-D1' / -'D2-DUMMY' 'MANI-K2' / -'MANI-E1' 'MANI-K2' / -'MANI-E2' 'MANI-K2' / -/ - -GRUPNET - 'FIELD' 20.000 5* / - 'PROD' 20.000 5* / - 'MANI-B2' 1* 8 1* 'NO' 2* / - 'MANI-B1' 1* 8 1* 'NO' 2* / - 'MANI-K1' 1* 9999 4* / - 'B1-DUMMY' 1* 9999 4* / - 'MANI-D1' 1* 8 1* 'NO' 2* / - 'MANI-D2' 1* 8 1* 'NO' 2* / - 'MANI-K2' 1* 9999 4* / - 'D2-DUMMY' 1* 9999 4* / - 'MANI-E1' 1* 9 1* 'NO' 2* / - 'MANI-E2' 1* 9 4* / -/)"; - - auto schedule = create_schedule(input); - - const auto& group1 = schedule.getGroup("PROD", 0); - const auto& group2 = schedule.getGroup("MANI-E2", 0); - const auto& group3 = schedule.getGroup("MANI-K1", 0); - BOOST_CHECK_EQUAL(group1.getGroupNetVFPTable(), 0); - BOOST_CHECK_EQUAL(group2.getGroupNetVFPTable(), 9); - BOOST_CHECK_EQUAL(group3.getGroupNetVFPTable(), 9999); -} - - BOOST_AUTO_TEST_CASE(GroupCreate) { Opm::Group g1("NAME", 1, 0, UnitSystem::newMETRIC()); Opm::Group g2("NAME", 1, 0, UnitSystem::newMETRIC()); diff --git a/tests/parser/NetworkTests.cpp b/tests/parser/NetworkTests.cpp index 22a73c4dc..396d6d92d 100644 --- a/tests/parser/NetworkTests.cpp +++ b/tests/parser/NetworkTests.cpp @@ -369,3 +369,44 @@ BRANPROP BOOST_CHECK_EQUAL_COLLECTIONS(nodes.begin(), nodes.end(), expect.begin(), expect.end()); } + +BOOST_AUTO_TEST_CASE(StandardNetwork) { + + const std::string input = R"( + +SCHEDULE + +GRUPTREE +'PROD' 'FIELD' / + +'M5S' 'PLAT-A' / +'M5N' 'PLAT-A' / + +'C1' 'M5N' / +'F1' 'M5N' / +'B1' 'M5S' / +'G1' 'M5S' / +/ + +GRUPNET +'PLAT-A' 21.000 5* / +'M5S' 1* 3 1* 'NO' 2* / +'B1' 1* 5 1* 'NO' 2* / +'C1' 1* 4 1* 'NO' 2* / +/)"; + + auto schedule = make_schedule(input); + + const auto& network = schedule[0].network.get(); + const auto& b1 = network.node("B1"); + const auto upbranch = network.uptree_branch(b1.name()); + const auto vfp_table = (*upbranch).vfp_table(); + BOOST_CHECK_EQUAL(vfp_table.value(), 5); + BOOST_CHECK(!b1.terminal_pressure()); + BOOST_CHECK(!b1.terminal_pressure()); + + const auto& p = network.node("PLAT-A"); + BOOST_CHECK(p.terminal_pressure()); + BOOST_CHECK_EQUAL(p.terminal_pressure().value(), 21 * 100000); + BOOST_CHECK(p == network.root()); +}