Академический Документы
Профессиональный Документы
Культура Документы
Version 2017.1
Proprietary notice
Field Management PIPESIM Connector is a mark of Schlumberger. Copyright (c) 2017 Schlumberger. All
rights reserved.
This work contains the confidential and proprietary trade secrets of Schlumberger and may not be copied or
stored in an information retrieval system, transferred, used, distributed, translated or retransmitted in any
form or by any means, electronic or mechanical, in whole or in part, without the express written permission of
the copyright owner.
Schlumberger, the Schlumberger logotype, and other words or symbols used to identify the products and
services described herein are either trademarks, trade names or service marks of Schlumberger and its
licensors, or are the property of their respective owners. These marks may not be copied, imitated or used, in
whole or in part, without the express prior written permission of Schlumberger. In addition, covers, page
headers, custom graphics, icons, and other design elements may be service marks, trademarks, and/or trade
dress of Schlumberger, and may not be copied, imitated, or used, in whole or in part, without the express
prior written permission of Schlumberger. Other company, product and service names are the properties of
their respective owners.
An asterisk (*) is used throughout this document to designate other marks of Schlumberger.
Security notice
The software described herein is configured to operate with at least the minimum specifications set out by
Schlumberger. You are advised that such minimum specifications are merely recommendations and not
intended to be limiting to configurations that may be used to operate the software. Similarly, you are advised
that the software should be operated in a secure environment whether such software is operated across a
network, on a single system and/or on a plurality of systems. It is up to you to configure and maintain your
networks and/or system(s) in a secure manner. If you have further questions as to recommendations
regarding recommended specifications or security, please feel free to contact your local Schlumberger
representative.
INTERSECT PIPESIM Coupling User Guide
Table of Contents
1 Introduction ................................................................................................................. 1
2 Feature compatibility and known issues .................................................................. 2
3 Coupled simulation overview .................................................................................... 3
4 Model creation ............................................................................................................. 4
4.1 Create the non-coupled INTERSECT input model ...................................................................... 4
4.2 Create the PIPESIM network model ............................................................................................. 5
4.3 Create the coupled INTERSECT input model .............................................................................. 5
i
INTERSECT PIPESIM Coupling User Guide
ii
INTERSECT PIPESIM Coupling User Guide
1
Introduction
This document intends to present a way to configure INTERSECT Field Management to run INTERSECT reservoir
models coupled to a PIPESIM network model.
The document describes how to couple INTERSECT Field Management to PIPESIM and how to launch a coupled
simulation.
The examples contained in this document are presented in INTERSECT input format (IXF). For more information about
this format, see the INTERSECT Input Format User Guide.
Further information:
• Field Management Reference Manaual in the INTERSECT User Guide.
• Field Management Technical Description in the INTERSECT Technical Description.
• Field Management User Guide in the INTERSECT User Guide.
More information on PIPESIM can be found in the PIPESIM User Guide.
Introduction
1
INTERSECT PIPESIM Coupling User Guide
2
Feature compatibility and
known issues
The current version of coupling between INTERSECT and PIPESIM supports the following workflows:
• Black oil and compositional networks
• Production and injection networks
• Running the PIPESIM in serial and parallel. (Note that PIPESIM only supports Intel MPI).
3
Coupled simulation overview
This section intends to present an overview of how to configure Field Management to run INTERSECT models coupled
to a PIPESIM model and starts with a presentation of the system and network infrastructure required to support such a
coupled model.
INTERSECT provides a plug-in system which allows users to add reservoir and network simulators to Field
Management, such as the PIPESIM network simulator.
The default way to run INTERSECT coupled to PIPESIM is to run the INTERSECT reservoir simulator and the PIPESIM
network simulator in separate processes. This allows for PIPESIM network simulations to be run on a different machine
to the INTERSECT simulator and even on different architectures (e.g. Windows or Linux systems).
An example of the remote execution of a PIPESIM simulation can be seen in Figure 3.1 (p.3). The figure shows the
INTERSECT reservoir simulator process being run on a Linux cluster and the PIPESIM process being run on a local
Windows workstation. The communication between the separate processes is through a TCP/IP connection.
4
Model creation
This section presents the workflow for creating the PIPESIM coupled INTERSECT model. The workflow includes 3 steps;
starting with an ECLIPSE model which is migrated to a standalone INTERSECT model. Then, the INTERSECT
standalone model is converted into a coupled INTERSECT model. Finally, additional features are implemented to the
coupled model; like guide rate balancing and / or network balancing.
This section presents the workflow for creating the PIPESIM coupled INTERSECT model. This workflow can be split into
the following steps:
1. Creating non-coupled INTERSECT input model
2. Creating the PIPESIM network model
3. Creating the INTERSECT-PIPESIM coupled model
These steps are outlined in the following sections.
Here casename is name of the input dataset. This command just generates the AFI file; it doesn't run or simulate it. The
Simulation Launcher may also be used to migrate the ECLIPSE dataset.
The generated AFI file consists of the files:
• casename.afi: the AFI file will be used by INTERSECT to run the INTERSECT input model. This is a simple file
which lists the different INTERSECT files that are used while running the deck. A typical AFI is shown below.
• casename_ECL2IX.gsg: this is the grid file for the input model.
• casename_ECL2IX_IX.ixf: this is the IXF which specifies the reservoir section of the model. It includes the
rock and fluid properties.
• casename_ECL2IX_FM.ixf: this is the IXF which specifies the Field Management section of the model. It
includes all the well and group constraints and field operation logic.
• casename_reservoir_edits.ixf: this IXF file is empty and can be used to specify user edits to the
reservoir.
Model creation
4
INTERSECT PIPESIM Coupling User Guide
• casename_fm_edits.ixf: this IXF file is empty and can be used to specify user edits to Field Management.
A typical AFI file will look like this:
##################################
# IXFVERSION: 2017.1
##################################
SIMULATION ix "casename" {
INCLUDE "casename_ECL2IX.gsg"
INCLUDE "casename_ECL2IX_IX.ixf"
INCLUDE "casename_reservoir_edits.ixf" { preserve="True" }
}
SIMULATION fm {
INCLUDE "casename_ECL2IX_FM.ixf"
INCLUDE "casename_fm_edits.ixf" { preserve="True" }
}
Note that if the ECLIPSE dataset is altered, the AFI file will have to be regenerated using the Migrator. Also, all changes
to the AFI files will be lost apart from changes made to the files casename_reservoir_edits.ixf and
casename_fm_edits.ixf during re-migration.
See the INTERSECT Installation and Deployment Guide for more information.
##################################
# IXFVERSION: 2017.1
##################################
SIMULATION ix "casename" {
INCLUDE "casename_ECL2IX.gsg"
INCLUDE "casename_ECL2IX_IX.ixf"
INCLUDE "casename_reservoir_edits.ixf" { preserve="True" }
}
SIMULATION fm {
INCLUDE "casename_ECL2IX_FM.ixf"
INCLUDE "casename_fm_edits.ixf" { preserve="True" }
}
SIMULATION pipesim "network" {
INCLUDE "./PIPESIM/network.tnt" { open_pipesim_port="9003" }
}
In the AFI file the name of the PIPESIM simulation is specified as "network" in the SIMULATION pipesim section
of the AFI file. The name of the PIPESIM input file is specified as "./PIPESIM/network.tnt". More information
on the input format of PIPESIM can be found in the PIPESIM User Guide.
Model creation
5
INTERSECT PIPESIM Coupling User Guide
The PIPESIM file included in the AFI may have the following optional attributes:
open_pipesim_port
This attribute sets the Open PIPESIM server port number. By default the port is taken to be 9003. For
example, INCLUDE "./PIPESIM/network.tnt" {open_pipesim_port="9001"}.
verbose
This attribute turns verbose output from PIPESIM on or off. For example, INCLUDE "./PIPESIM/
network.tnt" {verbose="on"} turns verbose output on.
Model creation
6
INTERSECT PIPESIM Coupling User Guide
5
Coupling INTERSECT and
PIPESIM
Pressure losses in the surface production system can have a critical impact on well productivity, especially for offshore
fields. Thus, when simulations are performed for the purpose of field development planning and optimization, it is highly
advantageous for the simulation model to include the surface facilities as well as the reservoir. These facilities may
consist of a network of flowlines from the wellheads joining at manifolds to form a gathering system and, for offshore
fields, the risers that take the fluids up to the facilities on the platforms.
PIPESIM networks consist of junctions and connections and may also contain branch equipment such as chokes,
compressors and pumps.
An example PIPESIM network is shown in Figure 5.2 (p.8).
It is important to understand the mapping from the PIPESIM network to its representation in Field Management.
In the above network the nodes PROD1-R1 and PROD2-R1 are identified within Field Management as network well
boundaries. The node GATHER is identified as a network sink boundary. All the other nodes are identified as internal
network nodes. The branches branch_PROD1-R1 and branch_PROD1-R2 contain chokes so Field Management
creates the choke devices branch_PROD1-R1_CHK1 and branch_PROD1-R1_CHK2 which are identified with the
corresponding branch name. Figure 3 shows the topology of the network in Field Management.
Field Management has the capability to balance the wells in the reservoir model with the coupled nodes in the surface
network model. This balancing is done by:
1. Setting an Inflow Performance Relationships (IPR) obtained from the reservoir wells, as the boundary conditions on
the coupled nodes in the surface network model.
2. Solving the surface network model.
3. Setting the rates or pressures from the coupled surface network nodes back on to the reservoir wells as balancing
constraints.
It is possible to specify coupling settings and the properties of the IPRs used at the boundary between the reservoir and
the surface network.
Other balancing actions may be combined with the network balancing to have the wells work within the deliverability
limits set by the network, but also honor other constraints in the reservoir system. An example of this would be to
combine the network balancing with guide rate balancing so that network deliverability limits are honored by the network
at the same time as honoring group level constraints. The combining of balancing actions will be discussed later in this
chapter.
+------------------------------------------------------------------------------------
-------------------------------------+
| BOTTOM_HOLE_PRESSURE (psi) | OIL_PRODUCTION_RATE (STB/d) |
GAS_PRODUCTION_RATE (MSCF/d) | WATER_PRODUCTION_RATE (STB/d) |
+------------------------------------------------------------------------------------
-------------------------------------+
| 3735.15 | 5000.00
| 7647.24 | 0.01 |
| 3772.50 | 4444.44
| 6797.54 | 0.01 |
| 3809.86 | 3888.89
| 5947.85 | 0.01 |
| 3847.22 | 3333.33
| 5098.16 | 0.01 |
| 3884.57 | 2777.78
| 4248.46 | 0.01 |
| 3921.93 | 2222.22
| 3398.77 | 0.00 |
| 3959.28 | 1666.67
| 2549.08 | 0.00 |
| 3996.64 | 1111.11
| 1699.39 | 0.00 |
| 4034.00 | 555.56
| 849.69 | 0.00 |
| 4071.35 | 0.00
| 0.00 | 0.00 |
+------------------------------------------------------------------------------------
-------------------------------------+
The network is then solved given the boundary conditions that have been set and returns the volumetric phase rates at
which the wells can flow.
NetworkBalanceAction "NETWORK_BALANCING" {
DefaultCouplingLocation=BOTTOM_HOLE
BoundaryNodesMap=[ NetworkNode("PROD1-R1") Well("PROD1")
NetworkNode("PROD1-R2") Well("PROD2") ]
IPRType=FULL
NumberIPRPoints=10
DefaultWellConstraint=OIL_FLOW_RATE
}
Strategy "Strategy" {
Active=TRUE
BalancingAction=NetworkBalanceAction("NETWORK_BALANCING")
}
GuideRateBalanceAction "FIELD_HGC" {
Constraints=["OIL_PRODUCTION_RATE(Group('FIELD')) < 10000"]
}
As we have multiple balancing actions in this example, a combination, which combines the actions to be performed as
part of the strategy (that is network balancing and guide rate balancing), has to be used.
CombinedNetworkBalanceAction "NETWORK_AND_GUIDE_RATE_ACTION" {
NetworkBalanceActions = [NetworkBalanceAction('NETWORK_BALANCING')]
AllocationActions = [GuideRateBalanceAction('FIELD_HGC')]
}
Finally, the Field Management strategy is updated, with its balancing action referring to the combined network balance
action that has just been created.
NetworkSinkBoundary "GATHER" {
Model=CONSTANT_PRESSURE
Pressure=300
}
NetworkChoke "branch_PROD1-R1_CHK1" {
Model=FIXED_PRESSURE_DROP
PressureDrop=300
IsActive=TRUE
}
CouplingProperties {
SolutionMethod=PERIODIC
Period=30
}
MODEL_DEFINITION
XYPlotSummaryReport "NetworkReporting" {
FileName="NETWORK_REPORT"
OutputRSM=TRUE
NetworkWellBoundaryProperties "NetworkWellReport" {
WellBoundaryNames=["PROD1-R1" "PROD1-R2"]
add_property(property_name="OIL_FLOW_RATE" report_label="NWOFR")
add_property(property_name="WATER_FLOW_RATE" report_label="NWWFR")
add_property(property_name="GAS_FLOW_RATE" report_label="NWGFR")
add_property(property_name="PRESSURE" report_label="NWPR")
}
NetworkChokeProperties "Net_Choke_Report" {
ChokeNames=["branch_PROD1-R1_CHK1" "branch_PROD2-R1_CHK2"]
select_all()
}
}
6
Running coupled simulations
This section describes the way to run a coupled model.
Launching INTERSECT
The INTERSECT simulation is launched by using the following ECLRUN command line:
eclrun ix casename
The INTERSECT simulation will start to simulate and then wait for Open PIPESIM to connect on the specified port
number specified in the INTERSECT AFI file. The following message will be seen in the INTERSECT print file:
...
INFO Using FM-PIPESIM Connector 2017.1
INFO Field Management is waiting for 1 tcp connections at the port number 9003.
Note that if the INTERSECT simulation and Open PIPESIM simulations are being run on different machines you will
need to know the machine address and the port number on which Open PIPESIM is to connect. This information will be
required when launching Open PIPESIM which is described in the folling section.
• The PIPESIM installation path. The default path on Windows is engine_path="C:\Program Files
\Schlumberger\PIPESIM2015.4\Programs". This should point to the lib directory on Linux
(engine_path=/home/ecl/2015.4/pipesim/lib/).
The input to an Open PIPESIM simulation is a configuration file which contains all the simulation configuration
parameters described above.
host=localhost
port=9003
case_name=network
case_path=.\network.tnt
engine_path="C:\Program Files\Schlumberger\PIPESIM2015.4\Programs"
The Open PIPESIM simulation is then launched by using the following ECLRUN command line:
Note that by default PIPESIM will be run in serial, however it is possible to run PIPESIM parallel by using the --np
ECLRUN option.
The Open PIPESIM simulation will then connect to the INTERSECT simulation and the two simulations will progress
forward in time together.