Merge pull request #3651 from plgbrts/std-netw-gaslift

Adding item 6 (gas lift) to standard network keyword GRUPNET
This commit is contained in:
Bård Skaflestad
2023-09-06 14:32:09 +02:00
committed by GitHub
2 changed files with 16 additions and 1 deletions

View File

@@ -795,12 +795,20 @@ File {} line {}.)", wname, location.keyword, location.filename, location.lineno)
this->invalidNamePattern(groupNamePattern, handlerContext);
const auto& pressure_item = record.getItem<ParserKeywords::GRUPNET::TERMINAL_PRESSURE>();
const int vfp_table = record.getItem<ParserKeywords::GRUPNET::VFP_TABLE>().get<int>(0);
// It is assumed here that item 6 (ADD_GAS_LIFT_GAS) has the two options NO and FLO. THe option ALQ is not supported.
// For standard networks the summation of ALQ values are weighted with efficiency factors.
// Note that, currently, extended networks uses always efficiency factors (this is the default set by WEFAC item 3 (YES), the value NO is not supported.)
const std::string& add_gas_lift_gas_string = record.getItem<ParserKeywords::GRUPNET::ADD_GAS_LIFT_GAS>().get<std::string>(0);
bool add_gas_lift_gas = false;
if (add_gas_lift_gas_string == "FLO")
add_gas_lift_gas = true;
for (const auto& group_name : group_names) {
const auto& group = this->snapshots.back().groups.get(group_name);
const std::string& downtree_node = group_name;
const std::string& uptree_node = group.parent();
Network::Node node { group_name };
node.add_gas_lift_gas(add_gas_lift_gas);
// A terminal node is a node with a fixed pressure
const bool is_terminal_node = pressure_item.hasValue(0) && (pressure_item.get<double>(0) >= 0);
if (is_terminal_node) {

View File

@@ -6,35 +6,42 @@
],
"items": [
{
"item": 1,
"name": "NAME",
"value_type": "STRING"
},
{
"item": 2,
"name": "TERMINAL_PRESSURE",
"value_type": "DOUBLE",
"dimension": "Pressure"
},
{
"item": 3,
"name": "VFP_TABLE",
"value_type": "INT",
"default": 0
},
{
"item": 4,
"name": "ALQ",
"value_type": "DOUBLE",
"default": 0
},
{
"item": 5,
"name": "SUB_SEA_MANIFOLD",
"value_type": "STRING",
"default": "NO"
},
{
"name": "LIFT_GAS_FLOW_THROUGH",
"item": 6,
"name": "ADD_GAS_LIFT_GAS",
"value_type": "STRING",
"default": "NO"
},
{
"item": 7,
"name": "ALQ_SURFACE_DENSITY",
"value_type": "STRING",
"default": "NONE"