Top Banner
SimSci-Esscor ® PIPEPHASE ® 9.6 NETOPT March 2013
105
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Netopt_UG

SimSci-Esscor®

PIPEPHASE® 9.6 NETOPT

March 2013

Page 2: Netopt_UG

All rights reserved. No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of Invensys Systems, Inc. No copyright or patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this documentation, the publisher and the author assume no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained herein. The information in this documentation is subject to change without notice and does not represent a commitment on the part of Invensys Systems, Inc. The software described in this documentation is furnished under a license or nondisclosure agreement. This software may be used or copied only in accordance with the terms of these agreements. © 2013 by Invensys Systems, Inc. All rights reserved. Invensys Systems, Inc. 26561 Rancho Parkway South Lake Forest, CA 92630 U.S.A. (949) 727-3200 http://www.simsci-esscor.com/ For comments or suggestions about the product documentation, send an e-mail message to [email protected]. All terms mentioned in this documentation that are known to be trademarks or service marks have been appropriately capitalized. Invensys Systems, Inc. cannot attest to the accuracy of this information. Use of a term in this documentation should not be regarded as affecting the validity of any trademark or service mark. Invensys, Invensys logo, PIPEPHASE, INPLANT, and SimSci-Esscor are trademarks of Invensys plc, its subsidiaries and affiliates.

Page 3: Netopt_UG

Contents

Introduction

About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-vii

About PIPEPHASE 9.6 NETOPT . . . . . . . . . . . . . . . . . . . . . . . 1-vii

Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-viii

About SIMSCI - ESSCOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-viii

Where to find additional help . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-ix

Online Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-ix

Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-ix

Chapter 1Getting Started

Installing PIPEPHASE 9.6 with NETOPT Module. . . . . . . . . . . .1-1

Starting PIPEPHASE 9.6 with NETOPT Module . . . . . . . . . . . . .1-1

Using NETOPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2

NETOPT Flow Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5

Production Planning and Time-stepping . . . . . . . . . . . . . . . . . . . .1-7

Subsurface Networks and Multiple Completion Modeling . .1-9

Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11

Chapter 2Tutorial

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1

Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1

Building the Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3

Entering Optimization Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-19

Specifying Print Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-27

Running the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-28

Viewing and Plotting Results. . . . . . . . . . . . . . . . . . . . . . . . . . . .2-30

Using the RAS to Plot Results . . . . . . . . . . . . . . . . . . . . . . . . . . .2-32

Including Operating Costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-35

PIPEPHASE 9.6 NETOPT User’s Guide iii

Page 4: Netopt_UG

Chapter 3Optimization Input Reference

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

Categories of Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

Order of Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

Keywords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

Commenting Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

Default Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

Units of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

Basis of Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

Multiple Units of Measurement . . . . . . . . . . . . . . . . . . . . . . . 3-6

Continuing Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6

Layout of Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6

Legend for Input Statement Descriptions . . . . . . . . . . . . . . . . . . . 3-7

OPTIMIZATION Data Category of Input . . . . . . . . . . . . . . . . . . . 3-8

User-defined Optimization Constraints . . . . . . . . . . . . . . . . . . . . 3-16

Example 1: Using the Sink Pressure as a Constraint . . . . . . 3-17

User-added Objective Functions . . . . . . . . . . . . . . . . . . . . . . . . . 3-18

Example: Objective Function is Electricity Generated. . . . . 3-19

Optimizing Over time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

Time-stepping Data Category of Input . . . . . . . . . . . . . . . . . . . . 3-22

Case Study Data Category of Input . . . . . . . . . . . . . . . . . . . . . . . 3-22

Chapter 4Examples

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

Example 1 - Optimization of an Offshore Pipeline System Design 4-3

Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Simulation Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

Example 2 - Two Well Gas Lift Optimization. . . . . . . . . . . . . . . . 4-7

Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

Simulation Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

Chapter 5Accessing NETOPT Data

PPDATR Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

Typical Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

iv Contents

Page 5: Netopt_UG

Definition of ITYPE and Attribute Labels. . . . . . . . . . . . . . . . . . .5-2

Unit Class Definitions using KUOM. . . . . . . . . . . . . . . . . . . . . . .5-6

IPRSET Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7

NSFLAG Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8

PIPEPHASE 9.6 NETOPT User’s Guide v

Page 6: Netopt_UG

vi Contents

Page 7: Netopt_UG

Introduction

About This ManualThe PIPEPHASE 9.6 NETOPT User’s Guide provides an introduc-tion to the NETOPT module and to the NETOPT Reservoir Simula-tion Interface. It describes how these programs work and includes a step-by-step tutorial to guide you through a NETOPT example opti-mization problem. Also covered in this guide is the NETOPT Opti-mization and Reservoir Interface keyword references. An outline of this guide is provided below.

About PIPEPHASE 9.6 NETOPTNETOPT is a network optimization module that is part of SIMSCI’s Upstream Optimization Suite. This module is a powerful fluid-flow network optimizer which is used with PIPEPHASE to allow you to optimize network performance, by defining specific operating objectives while satisfying both physical and user-imposed con-straints.

For example, consider a system of wells producing under gaslift, where the amount of gas available for injection is limited. NETOPT

Introduction Introduces the manual, the program, and SIMSCI.

Chapter 1 Getting Started Explains how to use NETOPT.

Chapter 2 Tutorial Provides a step-by-step tutorial for the optimization of an off-line pipeline design.

Chapter 3 Input Reference Provides a description of the keywords for the Optimization Data Category.

Chapter 4 Examples Provides examples when using NETOPT.

Chapter 5 Accessing NETOPT Data Explains how to access NETOPT Data using the subroutines.

PIPEPHASE 9.6 NETOPT User’s Guide vii

Page 8: Netopt_UG

can determine the optimum gas injection rate for each well to maxi-mize total oil production from all wells.

NETOPT will help you design new systems, monitor current sys-tems, and prevent or solve problems. NETOPT combines industry standard multiphase fluid flow simulation technology with the most comprehensive physical properties databank and thermodynamic capabilities available.

By minimizing capital and operating costs during the decision stage, NETOPT can be used to validate your design strategy or help you devise others. For existing facilities, NETOPT can be used to locate bottlenecks and evaluate overall and localized system perfor-mance as a result of variable consumer demands. Field production and regulatory requirements can also be analyzed.

OptimizationNETOPT can optimize network problems of virtually any size. You can minimize or maximize any objective function or even tune your simulation to match field data while satisfying process constraints. NETOPT can be used to maximize the operating profit of a produc-tion field throughout the life of the field, resulting in savings of mil-lions of dollars. A complete list of the process variables that may be used to formulate the objective functions, constraints, or decision variables is given in Chapter 3, Optimization Input Reference, Table 3-2.

About SIMSCI - ESSCORSimSci-Esscor, a business unit of Invensys Systems, Inc., is a leader in the development and deployment of industrial process simulation software and systems for a variety of industries, including oil and gas production, petroleum refining, petrochemical and chemical manufacturing, electrical power generation, mining, pulp and paper, and engineering and construction. Supporting more than 750 client companies in over 70 countries, SimSci-Esscor solutions enable cli-ents to minimize capital requirements, optimize facility perfor-mance, and maximize return on investment.

For more information, visit SimSci - Esscor Web site at http://www.simsci-esscor.com.

viii Introduction

Page 9: Netopt_UG

Where to find additional help

Online DocumentationPIPEPHASE NETOPT online documentation is provided in the form of .PDF files that are most conveniently viewed using Adobe Acrobat Reader 5.0 or higher. Online manuals are stored in the Man-uals directory and they remain on the DVD when you install the pro-gram. To access these files, open the PIPEPHASE ONLINE HELP.CHM file in the Bin directory and click the appropriate link to navigate to the corresponding PDF.

Online HelpPIPEPHASE NETOPT comes with online Help, a comprehensive online reference tool that accesses information quickly. In Help, commands, features, and data fields are explained in easy steps. Answers are available instantly, online, while you work. You can access the electronic contents for Help by selecting Help/Contents from the menu bar. Context-sensitive help is accessed using the F1 key or the What’s This? button by placing the cursor in the area in question.

PIPEPHASE 9.6 NETOPT User’s Guide ix

Page 10: Netopt_UG

x Introduction

Page 11: Netopt_UG

Chapter 1Getting Started

Installing PIPEPHASE 9.6 with NETOPT ModulePlease refer to PIPEPHASE 9.6 Getting Started Guide on how to install NETOPT.

Starting PIPEPHASE 9.6 with NETOPT ModuleIf you do not see a PIPEPHASE 9.6 icon in a SIMSCI group window or in your Program Manager window, see the troubleshooting section in the PIPEPHASE Getting Started Guide.

To start PIPEPHASE 9.6 NETOPT:

➤ Double-click on the PIPEPHASE 9.6 icon.

The main PIPEPHASE w/NETOPT window appears.

Note: Make sure that you are licensed to run NETOPT, before installation. If not, contact your local SIMSCI- ESSCOR representative to request a security key.

PIPEPHASE 9.6 NETOPT User’s Guide Chapter 1-1

Page 12: Netopt_UG

Figure 1-1: The PIPEPHASE w/NETOPT Main Window

You can now open a new simulation file (select File/New), open an existing file (select File/Open), or import a keyword file (select File/Import Keyword File). Please refer to the Chapter 4, PIPEPHASE 9.6 Getting Started Guide for menu option and GUI interface descriptions.

Using NETOPTOptimization

NETOPT can optimize network problems of virtually any size. You can minimize or maximize any objective function or even tune your simulation to match plant data, while satisfying process constraints. A NETOPT model can be optimized over time, resulting in efficient operation over the total lifetime of a plant or field.

Controlling Convergence of Networks

NETOPT solves networks iteratively. Whichever algorithm you use, NETOPT starts with an initial estimate of flowrates in all links and pressures at all nodes, It adjusts these values until it has reached a converged solution within a predefined tolerance. Because of the

Chapter 1-2 Getting Started

Page 13: Netopt_UG

complex nature of some networks, NETOPT allows you to make adjustments to a large number of parameters that it uses during the solution procedure.

To specify... See...

Automatic generation of Initial estimates

PBAL has a choice of methods for generating initial estimates. By default, PBAL generates flowrate estimates by considering the diameters of the first pipe in each link. An alternative method uses the frictional resistances of the pipes in each link. A third method solves the first iteration with MBAL before going into PBAL. Finally, if you have solved this network before and just changed some of the conditions, you may instruct the program to use your previous solution as its initial estimate.

➱ Network Calculation Methods

User-supplied initial estimates

You may also provide individual estimates for junction pressures and link flowrates.

➱ Junction,Link Data

Maximum and minimum flows

For any link, you may specify the maximum and minimum flows that are to be allowed.

➱ Link Data

Controlling convergence

In some difficult networks, convergence of the base case can be improved by adjusting various convergence parameters: for example, damping, relaxation, internal tolerances, etc. Refer to Chapter 7, Technical Reference in the NETOPT Input Manual, for details.

➱ Network Calculation Methods

Direction of flow If you know the flow direction in all links, you can specify that NETOPT not try to reverse them from iteration to iteration.

➱ Network Calculation Methods

Solution tolerance

The network calculation converges when the error is within a given tolerance. You may optionally change this tolerance.

➱ Network Calculation Methods

Controlling optimization

You can adjust a number of optimization options: for example, the fractional change in the objective function or decision variables, damping, or error tolerances.

➱ Optimization Options

Calculation time If NETOPT does not converge within a certain number of iterations, it will stop and report the results of the last iteration. You may reduce or increase the maximum number of iterations. To reduce calculation time in large compositional runs, you may control the number of fluid property evaluations that are performed in each link for the PBAL initialization procedure.

➱ Network Calculation Options

Closed loops If you have inadvertently specified your network so that closed loops are formed, NETOPT will report these and, optionally, take remedial action.

➱ Network Convergence Data

PIPEPHASE 9.6 NETOPT User’s Guide Chapter 1-3

Page 14: Netopt_UG

Single links

A single link has one source, one sink, and no junctions. There are three variables:

■ The source flowrate (which is also the sink flowrate),

■ The source pressure, and

■ The sink pressure.

You must specify two of these, and NETOPT will calculate the third.

Networks

A network generally has more than one link and one or more junctions. The variables are the pressure and flowrate at each source and sink. You specify the values of the variables that are known,

Pipe segments Pipes, tubing, risers, and annuli are divided into segments for pressure drop and heat transfer calculations. You can change either the number of segments or the length of segments for greater calculational accuracy. Alternatively, you can select NETOPT’s autosegmentation feature to automatically select the best segmentation options for your network.

➱ Network Segmentation Data

Check valves You may allow regulators (unidirectional check valves) to pass a small backward flow.

➱ Network Calculation Methods

Critical flow in chokes

Critical flow in chokes can cause difficulties for convergence algorithms. To help NETOPT solve such networks, you can allow or a linear broadening of the critical flow regime.

➱ Network Convergence Data

Wells You can prevent well flows from falling below the minimum required to transport fluid in a two-phase system.

➱ Network Calculation Methods

To specify... See...

Sources You must have only one source. ➱Source

Sinks If the source pressure and rate are known, a sink pressure and rate need not be defined.

➱Sink, Source

Links You do not need to specify the flowrate or pressure drop in a link; all you need to define are the pipes, fittings, and equipment. Enter the link device data in the sequence in which the fluid flows through them. You can have any combination of pipes, fittings, and process equipment items, in any order.

➱Link Device Data

To specify... See...

Chapter 1-4 Getting Started

Page 15: Netopt_UG

and NETOPT will calculate the unknowns. In order not to under- or over-specify the system, simple rules must be followed in constructing the problem:

■ You must specify a number of knowns equal to the total num-ber of sources and sinks.

■ You must specify at least one pressure.

■ If any source or sink flowrate is an unknown, you must supply an estimate.

■ If you do not know a pressure at a source, sink, or junction, you do not need to supply an estimate. You may specify estimates to speed up convergence.

NETOPT Flow DevicesA piping system is made up of links which join sources, sinks, and junctions. Each link consists of a series of flow devices: pipes, fittings, and process equipment and unit operations.

Sources and sinks must be named.

The devices in the link must be added in the order in which they appear in the link.

To specify... See...

Sources and sinks

You must have at least one source and at least one sink.

➱ Source, Sink

Junctions You must have a junction at the point where two or more links meet. If your network is complex, you may speed up the solution by supplying estimates for the junction pressures.

➱ Junction

Links You must supply a unique name for each link. If your network is complex, you may speed up the solution by supplying estimates for flowrates through each link.

➱ Link Device Data

Steam networks

NETOPT can model preferential splitting at Tee junctions in pure distribution networks. These junctions can have only two outgoing and one incoming link.

➱ Junction

Subnetworks NETOPT has a number of devices that invoke a special algorithm. You may specify the inlet conditions; NETOPT breaks the flowsheet at the inlet and solves the resulting subnetworks simultaneously so that the pressures match.

➱ Mcompressor, Mchoke Mregulator

PIPEPHASE 9.6 NETOPT User’s Guide Chapter 1-5

Page 16: Netopt_UG

The flow devices that NETOPT can handle are given in Table 1-6.

Table 1-1: Flow Devices and Equipment Available in NETOPT

Device Description

Flow Devices - have length

Pipe Horizontal, vertical or inclined. May be surrounded by air, water, or soil; insulated or bare.

Annulus Well annulus. Heat loss is simulated using an overall heat transfer coefficient and geothermal gradient.

Tubing Well tubing. Heat loss is simulated using an overall heat transfer coefficient and geothermal gradient.

Inflow Performance Relationship

Models the relationship between flowrate and reservoir pressure draw-down or pressure drop at the sand face in a well.

Equipment Devices - have no length

Completion Bottomhole completion, the interface between the reservoir and a well. There are two types of completion: gravel-packed and open-perforated.

Fittings

Bend A standard mitred bend or non-standard bend with defined angle and radius.

Check valve Device that allows flow in only one direction.

Choke valve Restricts fluid flow. MCHOKE, a variant of CHOKE, introduces a discontinuity into a network which is solved using a special sub-networking method.

Contraction Reduction in diameter from larger to smaller pipe. Variable angle.

Entrance Entrance into a pipe from a larger volume such as a vessel.

Exit Exit from a pipe to a larger volume such as a vessel.

Expansion Increase in diameter from smaller to larger pipe. Variable angle.

Nozzle Flow restriction used in metering.

Orifice Orifice meter. Orifice plate can use thick or thin calculation formulae.

Tee Tee piece. Flow may be straight on or through the branch.

Valve Any type of valve, e.g., gate, globe, angle, ball, butterfly, plug, cock.

Venturimeter Venturi flow meter.

Process Equipment

Compressor Simple single or multistage gas compressor.

MultistageCompressor

Rigorous single or multistage gas compressor with optional inlet pressure calculation. Uses a special sub-networking method.

Chapter 1-6 Getting Started

Page 17: Netopt_UG

Production Planning and Time-steppingProduction planning involves the study of the time-dependent interactions between the producing formation(s) and all of the wells, gathering lines, and surface facilities in an oil or gas field. NETOPT supplies this capability through its Time-stepping feature.

Typically, the study extends from a few years to the entire producing life of the field. For such extended periods, a quasi-steady state approach provides an efficient representation of the time-dependency. Time-stepping carries out a series of steady-state NETOPT simulations automatically in the same run. Each simulation represents the conditions at a specific time-step in the operating history of the field.

Cooler Removes heat from a stream.

DPDT Any device that changes pressure and/or temperature with flowrate.

Expander Steam expander.

Gaslift Valve Well gaslift valve.

Heater Adds heat to a stream.

Injection Re-introduces a stream from a compositional separator back into a link.

Pump Single or multistage liquid pump. An electric submersible pump may be modeled.

Regulator Means of fixing maximum pressure at any point in the structure. MREGULATOR, a variant of REGULATOR, introduces a discontinuity into a network which is solved using a special sub-networking method.

Separator Splits some or all of one of the fluid phases from a link.

Unit Operations

Hydrates Predicts the temperature/pressure regime under which hydrates are prone to form.

Calculator A utility that allows you to compute results from flowsheet parameters. These results can then be used as optimizer constraints or objective parameters.

Table 1-1: Flow Devices and Equipment Available in NETOPT

Device Description

PIPEPHASE 9.6 NETOPT User’s Guide Chapter 1-7

Page 18: Netopt_UG

Wells and Well Grouping

Each of the well completion zones in a gathering network produces from a specific formation or reservoir. The decline in the reservoir pressure with time and the changes in the characteristics of the fluid produced are a function of the total fluid volume produced from the reservoir. For the purposes of these calculations, a well completion is associated with a reservoir group. A reservoir group includes all of the producing zones that contribute to its depletion.

Reservoir Depletion

The depletion of a reservoir over the life of a field is characterized by a decline in average reservoir pressure and changing fluid composition. For most reservoirs, the gas-oil ratio increases with time; for a reservoir with an active water drive, the produced water cut increases as the water table rises.

Facilities Planning

In a gathering system, changes to the operation of surface facilities directly affect the overall production. For example, adding compression facilities to an existing gas gathering network reduces the pressure at the upstream wells, which in turn increases the drawdown and results in improved production from the reservoir; an increase in the separator pressure will have the opposite effect. Time-stepping enables you to simulate changes to the facilities installation over time.

To specify... See...

Reservoir Groups

You must name the reservoir GROUP and supply depletion data in one IPR device. Other IPR devices may access the same reservoir depletion data by using the same GROUP name.

➱ IPR

Depletion characteristics

Supply a curve of reservoir pressures against cumulative production.

➱ IPR

Gas and gas condensate fields

For a gas or gas condensate field you may supply the slope of the depletion curve as pressure decline rate per unit of production.

➱ IPR

Production decline rates for each IPR

The production decline characteristics for individual completion zones must be defined. Tabular data represent the decline in the flowing well pressure as a function of the production rate. The time-dependent parameter may be expressed in terms of reservoir pressure or cumulative production.

➱ IPR

Fluid compositional changes

You may enter curves for water cut, gas-oil ratio (or condensate-gas ratio for condensate wells), and water cut (or water-gas ratio for condensate wells) as functions of reservoir pressure or cumulative reservoir produced volume.

➱ IPR

Chapter 1-8 Getting Started

Page 19: Netopt_UG

Subsurface Networks and Multiple Completion ModelingA Single Well

A single well can produce from one reservoir:

Figure 1-2: One Well, One Reservoir

Or a single well can produce from more than one reservoir:

Selecting times

Supply a series of times. NETOPT will carry out simulations at each of those times.

➱ IPR

Downstream network changes

At each time you may specify one or more changes to the network or conditions downstream of the well.

➱ IPR

To specify: See...

A source to give the properties, flowrate, and conditions of the fluid. ➱ Source

One IPR to define the interface to the reservoir. ➱ IPR

One tubing from the well to the surface. ➱ Tubing

One node to continue into the rest of the network. ➱ Junction, Sink

To specify: See...

A source for each reservoir to give the properties, flowrates, and conditions of the fluids.

➱ Source

An IPR for each reservoir to define the interfaces. ➱ IPR

A tubing between consecutive reservoirs. ➱ Tubing

A tubing from the last reservoir to the surface. ➱ Tubing

A node to continue into the rest of the network. ➱ Junction, Sink

To specify... See...

PIPEPHASE 9.6 NETOPT User’s Guide Chapter 1-9

Page 20: Netopt_UG

Figure 1-3: One Well, More Than One Reservoir

More Than One Well

You may have more than one well in a NETOPT run. The wells may all use one reservoir. In this case, information for the reservoir data is entered in one IPR and accessed from other IPRs using the GROUP name.

Multiple Completions

In NETOPT you may model a multiple completion rigorously:

To specify: See...

A source for each completion to give the properties, flowrates, and conditions of the fluids.

➱ Source

An IPR for each completion to define the interfaces. ➱ IPR

Tubing and junctions to form the network between completions. ➱ Tubing

A tubing from the last completion to the surface. ➱ Tubing

A node to continue into the rest of the network. ➱ Junction, Sink

Chapter 1-10 Getting Started

Page 21: Netopt_UG

Figure 1-4: Multiple IPRs

Alternatively, you may approximate these conditions by having NETOPT automatically generate a subsurface network:

Figure 1-5: One IPR, Automatic Multiple Completions

Case StudiesThe Case Study option provides the facility to perform parametric studies and to print multiple problem solutions in a single computer run. Case studies are always performed after the base case problem has been solved. If the base case problem cannot be solved for any reason, then no case studies are performed. Each case study analysis is performed based on the cumulative changes to the flowsheet up to that time.

To specify: See...

One source to give the properties, flowrates and conditions of the fluids. ➱ Source

One IPR with physical dimensions such as length, inclination. ➱ IPR

A tubing from the IPR to the surface. ➱ Tubing

A node to continue into the rest of the network. ➱ Junction, Sink

PIPEPHASE 9.6 NETOPT User’s Guide Chapter 1-11

Page 22: Netopt_UG

Case studies are an efficient means of obtaining solutions for multiple scenarios to a given problem and result in large savings in both computer time and cost. For problems requiring iterative solutions, the converged results of the last solution are used as the starting values for the next run. This can result in large computer time savings in runs involving large networks, where it typically takes several iterations to move from the initial pressure estimates to the final converged solution.

There is no limit on the number of changes you can make per case study or on the total number of case studies that may be in a given run. The cumulative changes, up to a given case study run, may be erased and the original base case restored at any time.

Since the case studies are performed sequentially in the order you input, it is best to make changes in an orderly manner, proceeding from high values to low values or low values to high values, but not in a random order. This enhances convergence and minimizes total computer time. See Chapter 4, Input Reference, Table 4-40 in the PIPEPHASE Keyword Manual.

Global Changes

You may change one parameter in the entire problem using a global command. You do this by supplying the type of parameter you want to change, its old value, and the new value. Only those specified parameters with that old value will then be changed.

The items to which this type of change can be applied are identified in Table 4-50, Chapter 4, Input Reference of the PIPEPHASE Keyword Manual.

Individual Changes

Source, sink, and device parameters may be changed individually. You must specify a name for each source, sink, or device where a parameter change is desired.

To... See...

Add descriptive text

You can add one line of description for each case study.

➱Simulation Description

Make changes You can change any of the parameters in Table 3-7, either globally or on individual flow elements.

➱Case Study Changes

You can restore the base case at any time. ➱Case Study Changes

Chapter 1-12 Getting Started

Page 23: Netopt_UG

Chapter 2Tutorial

IntroductionThis chapter presents the step-by-step procedure required for the optimization of an off-line pipeline design. In the first part of this tutorial, you will look at the optimal design based only on capital cost considerations. Then, you will include the operating costs over the lifetime of the pipeline (10 years) and examine the effect the operating costs have on the overall design strategy.

Problem DescriptionIn this simulation, a pipeline is designed to deliver gas at a rate of 1200 MMSCFD at a minimum pressure of 900 psi from two offshore fields. Table 2-1 and Table 2-2 provide additional process details including piping and compressor capital expenditures.

Table 2-1: Process Conditions

Offshore Field A

Distance from processing plant, miles 200

Wellhead pressure, psig 2000

Offshore Field B

Distance from field A, miles 180

Wellhead pressure, psig 2000

Table 2-2: Pipeline and Compressor Capital Costs

Pipeline Cost/mile $0.70MM/inch ID

Compressor Cost/1000 hp $4.66MM

PIPEPHASE 9.6 NETOPT User’s Guide 2-1

Page 24: Netopt_UG

The overall capital cost is the sum of the cost of purchasing and laying pipe and purchasing the compressors.

The overall capital cost is therefore a linear function of the ID of the two pipeline segments and compressor power:

PIPEPHASE optimizes the design to minimize the overall capital costs by varying the pipe diameters and the sizes of the compressors at the two platforms. Apart from the delivery target, there are three additional design and operating constraints that must be taken into consideration:

■ Pipe sizes are available only in sizes 24"-40" with a maximum operating pressure of 2475 psi.

■ Due to limited space on each platform, the maximum capacity of each compressor is 50000 hp.

■ Both pipeline sections must be built as the capacity of the plat-form for field A is inadequate to meet the overall delivery requirement.

The overall network is shown in Figure 2-1.

Figure 2-1: Tutorial Problem

Pipe Costs (MM$) = Cost of Pipe from Field 1 + Cost of Pipe from Field 2

= 0.70*200*IDPipe 1 + 0.70*180*IDPipe 2

= 140*IDPipe 1 + 126*IDPipe 2

Compressor Cost (MM$) = 4.66E-3*wCompr 1 + 4.66E-3*wCompr 2

Capital Cost =140*IDPipe 1 + 126*IDPipe 2 + 4.66E-3*wCompr 1 + 4.66E-3*wCompr 2

2-2 Tutorial

Page 25: Netopt_UG

Building the NetworkFirst, you must open a new project:

➤ Select the New option from the File menu. The Create New Simulation window appears for laying down your process flowsheet. Next, you must supply a name for this new simulation. By default, this simulation will be created in the C:\SIMSCI\PPHASE9.6\USER directory.

➤ Type in TUTORIAL in the File Name data entry field as shown in Figure 2-2.

➤ Then, click the Open button.

Figure 2-2: Create New Simulation Window

Tip:By using the toolbar icons, you reduce the number of mouse actions required for a selection. For example, you can click the toolbar button to create a new simulation.

PIPEPHASE will now automatically take you through Simulation Setup Wizard .

PIPEPHASE 9.6 NETOPT User’s Guide 2-3

Page 26: Netopt_UG

Figure 2-3: Welcome to Simulation Setup Wizard

➤ Click the Next button.

Figure 2-4: Select Simulation Type

➤ Select the Network model Simulation Type.

➤ Click the Next button.

2-4 Tutorial

Page 27: Netopt_UG

Figure 2-5: Select Fluid Type

➤ Select Gas as Fluid Type.

➤ Click the Next button.

Figure 2-6: Select Default Units of Measurement

➤ Select Petroleum as Default Units of Measurement.

➤ Click the Next button.

PIPEPHASE 9.6 NETOPT User’s Guide 2-5

Page 28: Netopt_UG

Figure 2-7: Confirm the Selections

➤ Confirm your selections.

➤ Click on Finish will appear as shown in Figure 2-8.

➤ Click Edit on the Fluid Property Data window.

➤ The Single Phase Gas PVT Data window will then appear.

➤ Enter a specific gravity of 0.69 in the Gas Gravity field and the following composition of contaminants:

The completed window will appear as shown in Figure 2-9.

Component Mole %

Nitrogen 1.32

Carbon dioxide 0.98

Hydrogen sulfide 0.56

2-6 Tutorial

Page 29: Netopt_UG

Figure 2-8: Fluid Property Data Window

➤ Click the OK button to continue. The Fluid Property Data window will appear as shown in Figure 2-8.

Figure 2-9: Single Phase Gas PVT Data Window

To create a second property data set.

➤ Click the New button. This brings up the Single Phase Gas PVT Data window with Set Number already set to 2.

➤ Enter a specific gravity of 0.701 in the Gas Gravity field and the following composition of contaminants:

PIPEPHASE 9.6 NETOPT User’s Guide 2-7

Page 30: Netopt_UG

The completed window will appear as shown in Figure 2-10.

Figure 2-10: Single Phase Gas PVT Data Window

➤ Click the OK button. The Fluid Property Data window will appear as shown in Figure 2-11.

Figure 2-11: Fluid Property Data

➤ Click the OK button to continue.

Component Mole %

Nitrogen 1.11

Carbon dioxide 0.88

Hydrogen sulfide 0.24

2-8 Tutorial

Page 31: Netopt_UG

This will bring up a Note Box as shown in Figure 2-12 that inform the users about the definition of the colors that are used in the GUI.

Figure 2-12: Note to give information about the colors used in the GUI.

➤ Click the OK button to continue.

The next step is to enter the description of the problem, etc. go through data entry windows.

➤ From the the toolbar select General/Simulation Description. This will bring up the Simulation Description window shown in Figure 2-13.

Figure 2-13: Simulation Description Window

To complete this data entry window:

Enter the Project, Problem, User, Date, Site, and Description data entry fields and click the OK button.

➤ From the the toolbar select General/Simulation Definition. This will bring up the Simulation Description window shown in Figure 2-14.

PIPEPHASE 9.6 NETOPT User’s Guide 2-9

Page 32: Netopt_UG

➤ Use the drop-down list boxes to select a Simulation Type of Network Model and a Fluid Type of Gas.

Figure 2-14: Simulation Definition Window

➤ Click the OK button to continue.

After leaving the Simulation Definition window, you will want to check Input Dimensions . From the the toolbar select General/Input Units of Measurement. This will bring up the Input Dimensions window shown in Figure 2-15.

➤ For this problem, the flowrate basis will be Gas Volume units of MM ft3 /day.

➤ Use the Pipe Length drop-down list box to change the default units to miles (mi) as shown in Figure 2-15

Figure 2-15: Input Dimensions Window

➤ Click the OK button to continue.

2-10 Tutorial

Page 33: Netopt_UG

The next step is to begin entering the nodes _ sources, sinks, and junctions _ required for the problem. For this simulation, you will lay down two sources, one sink, and one junction, in that order.

To select the nodes:

➤ Click one of the node icons from the toolbar.

➤ Move the cursor to the location on the main window where the node is to be located and click again. The node will appear in the main flowsheet area of the screen.

➤ Repeat this step for each of the nodes in the flowsheet until the entire system has been constructed as shown in Figure 2-16.

Figure 2-16: PIPEPHASE Main Window

For the source node

For the sink node

For the junction

Note: If you have added the nodes in the stated order of sources, sink, followed by the junction, the sources will be labeled S001 and S002, the sink, D001, and the junction, J001.

PIPEPHASE 9.6 NETOPT User’s Guide 2-11

Page 34: Netopt_UG

Tip:For very large systems, multiple nodes may be placed by holding down the Shift key and clicking on each desired location for a given node.

All of the source and sink nodes placed on the screen should be bordered in red indicating that user input is required for that node.

After all of the nodes have been placed and named as shown in figure 2-16, the next step is to connect the nodes into a logical flow network.

To connect two nodes:

➤ Click on a source or junction (“From” node) with the left mouse button. A red square will appear on the node, and the border of the node will turn green to indicate that the node has been selected.

➤ Next, click inside the square with the left mouse button and, while holding the mouse button down, drag the cursor to another junction or sink (“To” node).

Once a square has been selected and the cursor begins to move, all of the connection squares in the available junction and sink nodes will turn blue indicating a valid location to which you can connect the link.

For this simulation, you must connect S001 to J001, S002 to J001, followed by J001 to D001. The flow diagram should now show the structure shown in Figure 2-17.

Note: Once a node has been placed, it may be moved by simply clicking on the node with the left mouse button, holding it down, and dragging the node to a new location.

2-12 Tutorial

Page 35: Netopt_UG

Figure 2-17: Connected PIPEPHASE Simulation

The next step is to enter the data for each of the sources and sinks.

To enter the data for the source S001:

➤ Double-click on the node S001, and enter the following information:

➤ Select the PVT Property Set as 1 in the Properties field. The window should appear as shown in Figure 2-18.

Node Data Value

Pressure (fixed) 2000 psig

Temperature 80 F

Standard Flowrate (estimated) 600 MMft3/day

PIPEPHASE 9.6 NETOPT User’s Guide 2-13

Page 36: Netopt_UG

Figure 2-18: Completed Gas Source S001 Window

➤ Click the OK button to return to the main window. The source is now bordered in blue, indicating that all required data have been entered.

To enter the data for the source S002:

➤ Double-click on the node S002. The same window should appear as shown in Figure 2-18.

➤ Enter the following information:

➤ Select the PVT Property Set as 2 in the Properties field.

➤ Click the OK button to return to the main window. The second source is now bordered in blue, indicating that all required data have been entered.

To enter the data for the sink D003:

➤ Double-click on the node D003. The window should appear as shown in Figure 2-19.

Node Data Value

Pressure (fixed) 2000 psig

Temperature 80 F

Standard Flowrate (estimated) 600 MMft3/day

2-14 Tutorial

Page 37: Netopt_UG

➤ Enter the following information:

Figure 2-19: Completed Sink D003 Window

➤ Click the OK button to return to the main window. The sink is now bordered in blue, indicating that all required data have been entered.

➤ Lastly, you must enter the data for each of the links on the flowsheet. Let’s start with link L001 between source S001 and junction J004.

To enter the data for this link:

➤ Double-click on the link L001. This brings up the Link <L001> Device Data window as shown in Figure 2-20.

Node Data Value

Pressure (estimated) 900 psig

Standard Flowrate (fixed) 1200 MMft3/day

PIPEPHASE 9.6 NETOPT User’s Guide 2-15

Page 38: Netopt_UG

Figure 2-20: Link <L001> Device Data Window

➤ Click the pipe button on the device palette to add this device to the link. This automatically brings up the Pipe data entry window.

➤ Enter the data given in Table 2-3 .

The completed Pipe window for device E001 should appear as shown in Figure 2-21.

Table 2-3: Link <L001> Device Data

Link L001 _ S001 to J004

PIPE E001

Length 0.2 miles

Nominal ID 8 inches

Schedule 40

Thermal Calculations Heat Transfer Pipe in Water; Ambient temperature: 45 F

2-16 Tutorial

Page 39: Netopt_UG

Figure 2-21: Complete Pipe Device E001 Window

➤ Click the OK button to return to the Link <L001> Device Data window.

➤ Then click the OK button to return to the main window.

➤ Next, you must add devices to link L002 connecting source S002 and junction J004.

➤ Double-click on the link L002. This brings up the Link <L002> Device Data window.

➤ Click the pipe button on the device palette to add this device to the link. This automatically brings up the Pipe data entry window.

➤ Enter the data given in Table 2-4 for the pipe device E002 on link L002. The completed Pipe window for device E002 should appear the same as shown in Figure 2-21.

Table 2-4: Link <L002> Device Data

Link L002 _ S002 to J004

PIPE E002

Length 180 miles

Actual ID 24 inches

Thermal Calculations Heat Transfer Pipe in Water; Ambient temperature: 45 F

Compressor E003

Power 20000 hp

Adiabatic Efficiency 80%

PIPEPHASE 9.6 NETOPT User’s Guide 2-17

Page 40: Netopt_UG

➤ Click OK to return to the Link <L002> Device Data window.

➤ Next, you must add a compressor to this link by clicking the compressor button on the device palette. This automatically adds this new device after the currently selected device (i.e., the pipe E002) and brings up the Compressor data entry window for device E003.

➤ Enter the data given in Table 2-4 for the compressor device E003 on link L002. The completed Compressor window should appear as shown in Figure 2-22.

Tip:To copy or delete a device previously added to a link, highlight that device, then click on the COPY then PASTE or DELETE buttons on the left palette in the Link Device Data window.

Figure 2-22: Completed Compressor E003 Window

➤ Click OK to return to the Link <002> Device Data window.

➤ Then, click OK again to return to the main window.

➤ Using the data given in Table 2-5 , repeat the above steps for link L003 connecting junction J004 to sink D003.The main window will now appear as shown in Figure 2-23.

Table 2-5: Link <L003> Device Data

Link L003 _ J004 to D003

PIPE E004

Length 200 miles

Actual ID 35 inches

Thermal Calculations Heat Transfer Pipe in Water; Ambient temperature: 45 F

Compressor E005

2-18 Tutorial

Page 41: Netopt_UG

Figure 2-23: PIPEPHASE Main Window

Let’s save the data entered so far.

➤ Click the Save button on the toolbar, or select the File/Save menu option.

Entering Optimization DataNow, you must define the design constraints, coefficients for the objective function, decision variables, and optimization parameters.

➤ Click the Network Optimization Data button on the toolbar, or select the Special Features/Optimization Data menu option. This brings up the Network Optimization Data window.

➤ Check the Enable Network Optimization check box.

➤ In the Objective data entry field, select the Minimize Objective Function radio button as shown in Figure 2-24.

Power 25000 hp

Adiabatic Efficiency 80%

Table 2-5: Link <L003> Device Data

Link L003 _ J004 to D003

PIPEPHASE 9.6 NETOPT User’s Guide 2-19

Page 42: Netopt_UG

Figure 2-24: Network Optimization Window

➤ Now, you must define the objective parameters by clicking on the Objective Parameters button to bring up the Network Optimization Objective Parameters window.

As discussed previously, the overall capital cost is a linear function of the ID of the two pipeline segments and compressor power:

There are therefore four objective parameters for this optimization problem as shown in Table 2-6 .

To enter the first objective parameter:

➤ In the Network Optimization Objective Parameters window, click the Add button. This brings up the Define Objective Parameter window.

➤ Select the Link Name radio button in the Node/Device/Simulation Data field.

➤ Select link L003 from the Link Name drop-down list box.

Capital Cost = 140*IDPipe 1 + 126*IDPipe 2 + 4.66E-3*wCompr 1 +4.66E-3*wCompr 2

Table 2-6: Objective Parameters

Link Description Coefficient in Objective Function

L003 Pipe E004 Inside Diameter, ID 140

L002 Pipe E002 Inside Diameter, ID 126

L003 Compressor E005 Power, w 4.66E-3

L002 Compressor E003 Power, w 4.66E-3

2-20 Tutorial

Page 43: Netopt_UG

➤ Select Pipe from the Device Type drop-down list box. By default, PIPEPHASE will display the correct device name, E004.

➤ Select Inside Diameter from the Parameter drop-down list box.

➤ Type in 140 in the Correlation Coefficient data entry field as shown in Figure 2-25.

Figure 2-25: Define Objective Parameter Window

➤ Repeat for the other three objective parameters using the data in Table 2-6 .

Tip:For the Compressor objective parameters, select Set Power from the Parameters drop-down list box in the Define Objective Parameter window.

➤ The completed Network Optimization Objective Parameters window is shown in Figure 2-26.

PIPEPHASE 9.6 NETOPT User’s Guide 2-21

Page 44: Netopt_UG

Figure 2-26: Network Optimization Objective Parameters Window

➤ Click the OK button to return to the Network Optimization Data window.

➤ Next you must define the decision variables.

There are four decision variables for this optimization problem as shown in Table 2-7 below.

To enter the first decision variable:

➤ In the Network Optimization Data window, click the Add button. This brings up the Define Decision Variable window.

➤ Select the Link Name radio button in the Node/Device Name field.

➤ Select link L003 from the Link Name drop-down list box.

➤ Select Pipe from the Device Type drop-down list box. By default, PIPEPHASE will display the correct device name, E004.

➤ Select Inside Diameter from the Parameter drop-down list box.

➤ Click the Limits button. This brings up the Optimizer Variable Limits window as shown in Figure 2-27.

Table 2-7: Decision Variables

Link Description Limits Relative Perturbation

L003 Pipe E004 Internal Diameter, ID 24”<ID<48” -

L002 Pipe E002 Internal Diameter, ID 24”<ID<48” -

L002 Compressor E003 Power, w 0 hp<w<50000 hp 0.001

L003 Compressor E005 Power, w 0 hp<w<50000 hp 0.001

2-22 Tutorial

Page 45: Netopt_UG

➤ In the Variable Lower Limit field, enter a value of 24 for Mechanical Limit (Absolute Value).

➤ In the Variable Upper Limit field, enter a value of 48 for Mechanical Limit (Absolute Value).

Figure 2-27: Optimizer Variable Limits Window

➤ Click the OK button to return to the Define Decision Variable window.

➤ Then, click the OK again to return to the Network Optimization Data window.

➤ Repeat for the other three decision variables using the data in Table 2-7 above.

Tip:For the Compressor decision variables, select Power from the Parameters drop-down list box in the Define Decision Variable window.

The Network Optimization Data window should now appear as shown in Figure 2-28.

PIPEPHASE 9.6 NETOPT User’s Guide 2-23

Page 46: Netopt_UG

Figure 2-28: Network Optimization Data Window

➤ Next you must define the constraints by clicking the Constraints button to bring up the Network Optimization Constraints window

To enter the first constraint:

➤ In the Network Optimization Constraints window, click the Add button. This brings up the Define Constraint window.

➤ Select the Node Type radio button in the Node/Device/Simulation Data field.

➤ Select Sink from the Node Type drop-down list box. By default, PIPEPHASE will display D003 as the Node Name.

➤ Select Pressure from the Parameter drop-down list box.

➤ Click the Limits button. This brings up the Optimizer Variable Limits window.

➤ In the Variable Lower Limit field, enter a value of 900 for Mechanical Limit (Absolute Value).

Table 2-8: Constraints

Node Name Description Limits

Sink S001 Pressure P>900 psi

Link L002 Compressor E003 Outlet Pressure, P 0 psi<P<2475 psi

Link L003 Compressor E005 Outlet Pressure, P 0 psi<P<2475 psi

2-24 Tutorial

Page 47: Netopt_UG

➤ Click the OK button to return to the Define Constraint window.

➤ Then click OK again to return to the Network Optimization Data window.

➤ Repeat for the other two constraints using the data inTable 2-8 .

Tip:For the Compressor constraints, select Outlet Pressure from the Parameter drop-down list box in the Define Constraint window.

The Network Optimization Constraints window should now appear as shown in Figure 2-29.

Figure 2-29: Network Optimization Constraints Window

➤ Finally, you must specify the optimization options. Click OK to return to the Network Optimization Data window.

➤ On the Network Optimization Data window, click the Optimization Options button. This brings up the Optimization Options window. For this problem, you must increase the number of optimizer iterations from the default value of 10.

➤ In the Maximum Number of Optimizer Cycles field, select the Specified Number radio button and enter a value of 30 in the corresponding data entry field as shown in Figure 2-30.

PIPEPHASE 9.6 NETOPT User’s Guide 2-25

Page 48: Netopt_UG

Figure 2-30: Optimization Options Window

➤ Click the OK button to return to the Network Optimization Data window shown in Figure 2-31.

Figure 2-31: Network Optimization Data Window

➤ Then, click the OK button again to return to the main PIPEPHASE window.

➤ Select the File/Save menu option to save the simulation date entered so far.

2-26 Tutorial

Page 49: Netopt_UG

Specifying Print OptionsBefore you can run the simulation, you must specify the print options for the output report and save the simulation.

➤ Select the General/Print Options menu option from the main PIPEPHASE window. This brings up the Print Options window as shown in Figure 2-32.

➤ By Default, Ability to Generate Excel Database option is set to FULL.

➤ Select the NONE option from the Input Reprint drop-down list box.

➤ Select the FULL option from the Device Detail drop-down list box. The completed Print Options window should appear as shown in Figure 2-32.

Figure 2-32: Completed Print Options Window

➤ Click OK to return to the main PIPEPHASE window.

➤ Select the File/Save menu option to save the simulation data entered so far.

Note: You must turn off the input reprint, select that all device details be printed (the FULL option), and generate a database.

PIPEPHASE 9.6 NETOPT User’s Guide 2-27

Page 50: Netopt_UG

Now you are ready to run your simulation.

Running the SimulationIf you are running on a UNIX server, you must first define your run remote settings.

➤ Select the File/Remote Settings menu option to bring up the Run Remote Settings window. By default, the Run Calculations on Remote Computer check box is enabled.

➤ Select the appropriate option from the Local Operating System Version drop-down list box.

➤ Supply a Remote Machine Name, Remote User ID, and Remote User Directory for your remote host machine.

➤ Select TELNET or RSH for remote execution and supply the appropriate commands for running PIPEPHASE.

➤ Click the OK button on the Run Remote Settings window to return to the main PIPEPHASE window.

➤ Click the RUN button on the toolbar or select the File/Run menu option to run PIPEPHASE. This brings up the Run Simulation and View Results window.

➤ Click the Run button in the Run Simulation field.

The status of the simulation run is shown in the Run Status window, which may be scrolled and resized. If you have successfully entered all the data correctly, your Run Simulation and View Results window will appear as shown in Figure 2-33.

2-28 Tutorial

Page 51: Netopt_UG

Figure 2-33: Run Simulation and View Results Window

PIPEPHASE 9.6 NETOPT User’s Guide 2-29

Page 52: Netopt_UG

Viewing and Plotting ResultsTo view the optimized results:

➤ Select the Optimized Summary option from the Report drop-down list box, then click the View button to view the results of the optimization as shown in Figure 2-34.

Figure 2-34: Optimized Summary Report

Table 2-9 summarizes the optimal solution for this simulation.

Table 2-9: Optimized Solution Results

Minimum Capital Cost $7,796 MM

Pipe, E002 ID 24”

Pipe, E004 ID 32.9474”

Compressor, E003 Power 18366.76 hP

2-30 Tutorial

Page 53: Netopt_UG

Compressor, E005 Power 15949.10 hP

Source, S001 Flowrate 570.6906 MMCFD

Source, S002 Flowrate 629.3094 MMCFD

Table 2-9: Optimized Solution Results

PIPEPHASE 9.6 NETOPT User’s Guide 2-31

Page 54: Netopt_UG

Using the RAS to Plot ResultsPIPEPHASE includes a powerful utility called the Results Access System (RAS) that allows you to plot the results of your optimization run.

➤ First, find and launch the RAS program. The main PIPEPHASE RAS window appears as shown in Figure 2-35.

Figure 2-35: PIPEPHASE RAS Window

➤ Next, select the File/New menu option.

➤ Select the TUTORIAL.RAS database file.

➤ Click Open.

➤ Click the View/Edit button beside the Plot Report drop-down list box to define your plot. This brings up the RAS Plot Options window.

➤ Click the Add button to bring up the RAS Plot Data Options window.

➤ Next you must plot the pressure along link L003 (from junction J004 to sink D003) for the base case and the optimized case.

By default, the Initial Case option is selected in the Simulation drop-down list box.

➤ Select L003 from the Link Name drop-down list box.

➤ Check the All Devices in the LInk check box.

2-32 Tutorial

Page 55: Netopt_UG

By default, PIPEPHASE RAS will select Pressure as the State Variable to plot on the y-axis.

➤ Click the Add Selection button to add this to the list of variables to plot.

➤ Repeat the above steps for link L003 for the Optimized Case.

➤ Click the Done button to return to the RAS Plot Options window.

➤ Fill in the Title, X-Axis Label, and Y-Axis Label fields as shown in Figure 2-36.

Figure 2-36: RAS Plot Options Window

➤ Click the View button to view the plot shown in Figure 2-37.

Figure 2-37: RAS Plot

PIPEPHASE 9.6 NETOPT User’s Guide 2-33

Page 56: Netopt_UG

You can save this plot or export the data as a comma-delimited or tab-delimited ASCII file using the File menu options on the Plot window.

➤ Select File/Close to close the Plot window.

➤ Click OK on the RAS Plot Options window to return to the main RAS window.

2-34 Tutorial

Page 57: Netopt_UG

Including Operating CostsThe analysis done in the first half of this tutorial is based on capital expenditures alone. Over the lifetime of a pipeline, the operating costs, primarily in terms of fuel consumed in running the compressors, are significant. Table 2-10 shows the compressor operating costs.

First, change the objective function to include these new costs and rerun the optimization.

➤ Click the button on the toolbar or select the Special Features/ Netopt from menu option. This brings up the Network Optimization Data window.

➤ Click the Objective Parameters button to bring up the Network Optimization Objective Parameters window.

➤ Highlight the Compressor E005 Available Power parameter, then click the Edit button.

➤ Change the value of the Correlation Coefficient from 4.660e-003 to 6.600e-004 as shown in Figure 2-38.

Figure 2-38: Define Objective Parameter Window

Table 2-10: Compressor Operating Costs

Compressor Cost/1000hp $0.4MM/year

Over the lifetime of the pipeline system (10 years), the total cost is therefore:

Total = Operating Costs + Capital CostCosts (MMD) = (4.0e-3*10*wCompr 1 + 4.0e-3*10*wCompr 2) + (140*IDPipe 1 + 126*IDPipe 2 + 4.66E-3*wCompr 1 + 4.66E-3*wCompr 2)

PIPEPHASE 9.6 NETOPT User’s Guide 2-35

Page 58: Netopt_UG

➤ Click the OK button to return to the Network Optimization Objective Parameters window.

➤ Repeat for the Correlation Coefficient for the Compressor E003 Power parameter.

➤ Click the OK button until you return to the main PIPEPHASE window.

➤ Then run the modified problem by clicking the Run on the toolbar or on the File/Run menu option.

➤ Then click the Run button on the Run Simulation and View Results window.

➤ Select the Optimized Summary option from the Reports drop-down list box.

Table 2-11 compares the optimal solution for the modified problem to that of the original problem. The operating costs involved in running the pipeline system for 10 years based on the original solution are also included.

The results of these two runs show that by taking the operating costs into consideration:

■ Smaller compressors on both sections of pipeline are needed.

■ For an increased capital expenditure of $222MM in laying down slightly larger pipes on Link L003, operating costs over the lifetime of the pipeline are reduced nearly 65% from $389.9 MM to $137.3 MM.

Table 2-11: Optimized Solution Results

Run #2 Run #1

Minimum Total Cost $7,964 MM $7,933.8 MM MM

Capital Cost $7,574 MM $7,796 MM

Operating Cost $389.9 MM $137.3 MM

Pipe, E002 ID 24” 24”

Pipe, E004 ID 32.04 32.9474”

Compressor, E003 Power 47,476 hP 18366.76 HP

Compressor, E005 Power 50,000 hP 15949.10 HP

Source, S001 Flowrate 565.32 MMSCFD 570.6906 MMCFD

Source, S002 Flowrate 634.67 MMSCFD 629.3094 MMCFD

1 Operating cost = 47.476*0.4*10+50*0.4*10=$389 MM

2-36 Tutorial

Page 59: Netopt_UG

■ Overall costs are reduced 0.3% from $7,964 MM to $7,933 MM.

PIPEPHASE 9.6 NETOPT User’s Guide 2-37

Page 60: Netopt_UG

2-38 Tutorial

Page 61: Netopt_UG

Chapter 3Optimization Input Reference

About This ChapterThis chapter contains information about the data that NETOPT needs to perform different types of simulation. These data are input in a free format style file and the file is divided into categories; for example, Component Data, Property Data, etc.

This chapter explains the general rules for input, which categories are mandatory and which are optional. It defines all the terms in the input descriptions and the conventions throughout this chapter.

Each data category, the statements contained in it and the keywords on each statement are then described. For an explanation of how the program uses this data, please refer to Chapter 2 and Chapter 5 of the PIPEPHASE Keyword Manual.

Categories of InputThe data required by NETOPT are the following program in two main categories:

Optimization Data Category

Define the objective function to be optimized, the decision variables and constraints, and optimization parameters.

Note: The only categories described in this User’s Guide are the Optimization Data Category and the Reservoir Data Category. The other seven data categories can be found in the PIPEPHASE Keyword Manual.

PIPEPHASE 9.6 NETOPT User’s Guide 3-1

Page 62: Netopt_UG

Those categories which are mandatory and those which are optional depend on which fluid type you have:

There are four other categories which can be selectively overridden on the flow device and fitting statements in the Structure Data Category of input.

Order of CategoriesThe only restriction on order of data input is that the General Data Category must be first. However, it is always good practice to maintain a consistent order. The order of the categories above is recommended. See the PIPEPHASE Keyword Manual.

KeywordsNETOPT’s primary mode for entering input is in the form of keyword-controlled, free format statements. The keyword entries on a statement are separated by commas. For example:

PIPE ID=1.25, LENGTH=25, ROUGHNESS=0.002

Table 3-1: Categories of InputFluid Type Mandatory Categories Optional Categories

Non-compositional GENERAL, PVT, STRUCTURE, NETWORK

OPTIMIZATION

Compositional GENERAL, COMPONENT, NETWORK, THERMODYNAMIC, STRUCTURE

PVT, UNIT OPERATIONS, OPTIMIZATION

Time-stepping Data Allows the simulation of the effect of reservoir pressure decline with cumulative production on the network performance, and device parameter changes with time.

Case Study Change parameters and re-run.

Line Sizing Determine pipe sizes in single-link calculations.

Sensitivity (Nodal) Analysis Study overall performance in single-link calculations as a function of one or two system parameters.

3-2 Optimization Input Reference

Page 63: Netopt_UG

For ease of interpretation, each keyword is an engineering word. To make the input easier to enter, any keyword with more than four characters can be truncated to a minimum of four characters. Keywords with fewer than four characters may not be lengthened. For example:

The keyword LENGTH may be written LENG.The keyword ROUGHNESS may be written ROUGH. The keyword ID cannot be written IDIA.

Keywords can stand alone, indicating that they are acting as a switch, or they can be associated with a value or another keyword by the use of an equals sign (=). This value can be entered in integer, decimal, or scientific format. For example:

In the instructions presented in this chapter, the presence of an equals sign (=) after a keyword means that NETOPT expects a value or another keyword. In some cases, however, more than one data item is required. When this situation arises, the instructions will include the format for the data input. For example:

QualifiersMany keywords can be qualified by entering a keyword in brackets (parentheses) after them. The most common use of a qualifier is for defining a unit of measurement to override the set of units declared globally in the General Data Category of input. Other qualifiers include the definition of estimates, maxima and minima, fluid type and basis of a composition or flowrate. Some qualifiers are optional and some are mandatory. You may use more than one qualifier for a keyword and the order in which they appear is not important.

ENGLISH English units set will be used. LENGTH=FT Units of length are feet. TEMP=50 Temperature set to 50 units. PRES=2.0E2 Pressure is 200 units.

VISC= Indicates that a single value of viscosity is required.

VISC=temp1,value1 /temp2,value2

Indicates that the program requires two data values with their associated temperatures

PIPEPHASE 9.6 NETOPT User’s Guide 3-3

Page 64: Netopt_UG

The input instructions explain which qualifiers are available for each keyword. Examples are:

Commenting InputFor clarity, you may add comments to your input. If a dollar sign ($) is placed in a statement, any text on that statement that appears after the $ is ignored by NETOPT. For example:

PRES(BAR)=3.54 $ Field data, taken 2315 10/16/94

Default DataMany NETOPT data items are given default values. Therefore, if you do not explicitly specify such an item, the program will assign a value. These values, for example pipe thermal conductivity of 29 Btu/hr-ft-F, have been selected to be reasonable for normal engineering purposes. Most methods also have defaults associated with them.

These defaults are for your convenience. They have not been selected specifically for your application and are not intended to replace engineering judgment. You should check that invalid output does not result through the inadvertent use of inappropriate defaults.

The input instructions indicate the defaults that the program will use in the absence of user input. All the numerical defaults in the input instructions are expressed in terms of the units of measurement of the Petroleum set.

When you specify a value or override a default in the General Data Category of input your value becomes the default for the entire simulation. You can then override your own default value later in the input. For example, to specify that all but one of your pipes are surrounded by air, you would have in the General Data Category of input:

DEFAULT AIR, VELOCITY=20

You would specify most of your pipes in this way:

PIPE ID=4, LENGTH=150

ID(IN)=12 Inside diameter is 12 inches.PRES(BAR,ESTI)=2 Estimated pressure is 2 bars absolute.POWER(MAX,KW)=17 Maximum power is 17 kilowatts.

3-4 Optimization Input Reference

Page 65: Netopt_UG

For the one pipe that is buried, the PIPE statement would look like this:

PIPE SOIL, ID=5, LENGTH=100, BDTOP(FT)=1

Units of MeasurementMany items of data that you input to NETOPT have a unit of measurement associated with them. Most have alternatives: for example, length can be measured in feet, meters, miles, or kilometers and temperature in F, C, R, or K. It is possible to specify the unit of measurement individually for every item of data. However, to avoid having to do this, you may define the units that are to be used for each quantity - temperature, duty, power etc. - throughout the whole simulation input. This is done on the DIMENSION statement in the General Data Category of input. Individual data items may be expressed in different units by using qualifiers as described above.

For convenience, NETOPT has four sets of units of measurement: Petroleum, English, Metric and SI. Each set has predefined units for each data item. You may select a set of units, globally override some of the predefined units and then override units for any individual data item. In this way, you have complete input flexibility.

For example, if you wanted to use the SI predefined unit set but with pipe length in feet and short length (e.g., for pipe diameter) in inches, your General Data Category of input would contain the statement:

DIMENSION SI, LENGTH=FT,IN

If the inside diameter of one of your pipes is measured in millimeters, you would have in the Structure Data Category of input:

PIPE ID(MM)=25.4

Basis of MeasurementsWith some quantities for example flow and composition you can also choose a basis of measurement. The basis may be molar weight, liquid volume, or gas volume and you may use a qualifier to define it. If you also specify a dimensional unit for the quantity, the

PIPEPHASE 9.6 NETOPT User’s Guide 3-5

Page 66: Netopt_UG

unit must be appropriate to the basis. You cannot, for example, specify pounds per hour for a liquid volume flowrate. A valid example would be:

RATE(GV,CFM)=1.E-3

where the value specified, RATE keyword and the qualifiers GV and CFM combine to mean the gas volume rate has a value of 0.001 millions of standard cubic feet per minute.

The input instructions explain which bases are allowed. If a basis is specified but no unit of measurement is entered, NETOPT will assume the unit to be the default appropriate to the basis which you defined.

Multiple Units of MeasurementSome input items, for example a curve of viscosity against temperature, have more than one unit of measurement. You can specify one or both units as qualifiers:

VISC(C,CP)=100,1.0/200,0.7

The order in which the qualifiers are entered is not important.

Continuing StatementsAn input statement may be too long to fit on one line. In this case, it may be continued onto a second line or further by using the ampersand continuation character, &.

DIMENSION SI, LENGTH=FT, TEMP=C.

is the same as

DIMENSION SI, LENGTH=FT, & TEMP=C

Layout of InputYou may indent any line of input to make the data more readable and you may have any number of spaces between data entries. For example:

DIMENSION SI, LENGTH=FT, & TEMP=C

is equivalent to

DIMENSION SI , LENGTH = FT, & TEMP= C

3-6 Optimization Input Reference

Page 67: Netopt_UG

However, you may not embed any blanks within your keywords or data entries.

Legend for Input Statement DescriptionsIn this chapter, each data category is described. At the start of each data category, there is a full listing of statements with all of their associated keywords. Each statement and each keyword is then explained in detail.

Throughout the input descriptions, the following conventions apply:

BOLD Bold capitals are used for keywords. For example: ENGLISH You must use this word exactly as it is printed (or truncate it to four or more characters). If a keyword has an equals sign (=) after it, you must enter a value or another keyword after it.

UNDERLINE If the keyword is underlined, this indicates that the keyword is the default. For example: PETROLEUM If you omit the entry or statement altogether, the program will use this keyword as the default.

LIGHT Light capitals are used for values, methods and entries. For example: INPUT=FULL If you omit the keyword and entry, the program will use the default.

A number indicates a numerical default value. For example: LAMINAR=3000 If you omit the keyword and entry, the program will use this value as the default.

or A number of alternative entries are separated by the word or. For example: {PETROLEUM or ENGLISH}

You may select only one of the options contained within the { } brackets and separated by the word or.

{ } This symbol indicates that a statement, keyword, or group of keywords is/are optional. For example: {VELOCITY=value} Your input will work without this entry. There is usually a default invoked if an entry is omitted.

( ) Indicate that qualifiers are allowed. For example: ID()= Unless otherwise noted, qualifiers are units of measurement.

PIPEPHASE 9.6 NETOPT User’s Guide 3-7

Page 68: Netopt_UG

OPTIMIZATION Data Category of InputThe Optimization Data Category of Input allows you to define the objective function to be optimized, to specify the decision variables and constraints, and to supply the optimization parameters.

Most of the keywords for the NETOPT optimization tool are provided in the Optimization Data Category of input and are described in the following table.

Table 3-2: Optimization Data Category of Input Statement Keywords See page...

OBJECTIVE <NODE1>=<nodeid>, VARIABLE2=<variable> or <DEVICE1>=<devid>, VARIABLE2=<variable> or CALC =<calc uid>, {ON or OFF}, {COMPONENT=}, {COEFFICIENT=}, {TARGET, TCURVE=, CAPTIME=, INCREMENTAL, RAMP, DISCOUNT=, INTERPOLATE or STEPCHANGE}, LINK=<linkid,network>

3-9

{OBJCURVE} TCURVE=, TIME=, COEF= 3-11

DECISION <NODE1>=<nodeid>, VARIABLE=<variable> or <DEVICE1>=<devid>,VARIABLE=<variable>, ALOWER(unit), AUPPER(unit), RLOWER, RUPPER, MLOWER(unit), MUPPER(unit), {ON or OFF}, {PERTURBATION}, {SCOMPONENT}, TIME=, LINK=<linkid,network>

3-11

CONSTRAINT <NODE1>=<nodeid>, VARIABLE=<variable> or <DEVICE1>=<devid>,VARIABLE=<variable> or CALC=FUNCON1 or <calc name>, NAME=, ALOWER(unit), AUPPER(unit), RLOWER, RUPPER, MLOWER(unit), MUPPER(unit), {ON or OFF}, {TOLERANCE}, {COMPONENT},LINK=<linkid,network>

3-12

1 NODE and DEVICE are not the actual keywords, but would be replaced by the specific type of node or device, such as SOURCE or PIPE. The type of node or device is then followed by its name, for example, PIPE=PIP1.

2 OBJECTIVE VARIABLE not allowed for functions; the function return value is used.

3 Valid FUNCTION numbers are 1 through 9.

3-8 Optimization Input Reference

Page 69: Netopt_UG

OPTIMIZATION Data Category of Input (continued)

OBJECTIVE Mandatory statement. Defines the function to be optimized. One or more objective function variables may be defined. The objective function is calculated using the values of the objective function variables and their coefficients, or in a user-added subroutine.Mandatory entries:

Optional entries:

OPTPARAMETER MAXIMIZE or MINIMIZE, GLOBAL OBJEFUNCTION=OBJFUN13, {ITER=10, SCALE or NOSCALE, DEFPERT=0.001, OBJTOL=0.005, VARTOL= 0.001, ERTOL=-0.005, DAMP=10, DFACTOR=4, LUDSAVE, OVERTIME}

3-13

Table 3-2: Optimization Data Category of Input (Continued)Statement Keywords See page...

1 NODE and DEVICE are not the actual keywords, but would be replaced by the specific type of node or device, such as SOURCE or PIPE. The type of node or device is then followed by its name, for example, PIPE=PIP1.

2 OBJECTIVE VARIABLE not allowed for functions; the function return value is used.

3 Valid FUNCTION numbers are 1 through 9.

<NODE>=<nodeid> or Type and name of node. Choices for NODE type are SOURCE, SINK, or JUNCTION.

<DEVICE>= <devid> or Type and name of device. Choices for DEVICE type are PIPE, TUBING, RISER, ANNULUS, CHOKE, PUMP, COMPRESSOR, COOLER, HEATER, CHECK, or COMPLETION.

CALC=<calc uid> Specifies a Calculator that is used to define the Objective function.

VARIABLE= Classification of variable. Options depend on the type of device that is specified. Refer Table 4-55a, Chapter 4, Input Reference in PIPEPHASE 9.6 Keyword Manual for details.

ON or OFF ON is the default and signifies that the variable is to be included. OFF specifies that variable is to be excluded.

COMPONENT= Component ID if the particular variable is associated with a component. For noncompositional models with contaminants, component numbers 1, 2, and 3 refer to N2, CO2, and H2S respectively.

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

PIPEPHASE 9.6 NETOPT User’s Guide 3-9

Page 70: Netopt_UG

OPTIMIZATION Data Category of Input - OBJECTIVE (continued)

The following keywords may be used for optimization over time, i.e., if the OVERTIME keyword is used on the OPTPARAMETER statement.

Example:OBJECTIVE DEVICE=PMP4, VARI=PRES, TARG=40,ON

COEFFICIENT= Coefficient of variable in the objective function. By default, the objective function is a linear sum of the decision variable(s) times the coefficient for that variable.

TARGET= Target value of objective function. When this keyword is present, you must use MINIMIZE in the OPTPARAMETER statement.

LINK=<linkid,network> The objective function is calculated for all devices of identified type in the named link. For example, if the device type is pipe, and the variable type is ID, then the objective function is computed under the assumption that all pipes in link have the same ID. Network has the same function as link, but is valid for all devices in the network.

TCURVE= Specifies the name of the time curve to be used for operating costs discounting.

CAPTIME= Specifies the time from the start of the simulation that the capital cost is incurred.

INCREMENTAL By default, the capital cost incurred at time specified by CAPTIME is based on the new value of the objective variable at that time. If you want the cost to be based on the incremental increase in the value of the variable then use the INCREMENTAL keyword to indicate this. If the value decreases over the time step the capital cost incurred will be zero.

Note: For user-added over time objective functions, you may interpret this INCREMENTAL flag in your own way. See the last section in this chapter on User-added Over time Objective Functions.

RAMP Uses a ramp change for time curves.

DISCOUNT Enables present value discounting for all operating and capital costs.

INTERPOLATE orSTEPCHANGE

INTERPOLATE is the default and specifies whether values are interpolated between time steps. STEPCHANGE calculates the value at each time step.

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

3-10 Optimization Input Reference

Page 71: Netopt_UG

OPTIMIZATION Data Category of Input (continued)

OBJCURVE Optional statement. Supplies the operating time curve to be used for optimization

over time.Mandatory entries:

DECISION Mandatory Statement. Defines the set of variables which affect the computation of the objective functions, the constraints, and the partial derivatives of the objective function and the constraints. The keywords and their required order are as follows. Mandatory entries:

Optional entries:

TCURVE Name of the time curve. You can supply any name or use one of the DISCOUNT, OILPRICE, or GASPRICE curves supplied by default.

TIME= Time in days.

COEF= Cost associated coefficient for the time curve.

<NODE>=<nodeid> or

Type and name of node. Choices for NODE type are SOURCE, SINK, or JUNCTION.

<DEVICE>= <devid> Type and name of device. Choices for DEVICE type are PIPE, TUBING, RISER, ANNULUS, CHOKE, PUMP, COMPRESSOR, COOLER, HEATER, CHECK, or COMPLETION.

VARIABLE= Classification of variable. Options depend on the type of device that is specified. Refer Table 4-55a, Chapter 4, Input Reference in PIPEPHASE 9.6 Keyword Manual for details.

LINK=<linkid,network> The objective function is calculated for all devices of identified type in the named link. For example, if the device type is pipe, and the variable type is ID, then the objective function is computed under the assumption that all pipes in link have the same ID. Network has the same function as link, but is valid for all devices in the network.

ALOWER(unit)= Absolute lower bound of the variable.

AUPPER(unit)= Absolute upper bound of the variable.

RLOWER= Permitted lower bound of the relative change of the variable, in percent.

RUPPER= Permitted upper bound of the relative change of the variable, in percent.

MLOWER(unit)= Inviolable lower equipment limit.

MUPPER(unit)= Inviolable upper equipment limit.

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

PIPEPHASE 9.6 NETOPT User’s Guide 3-11

Page 72: Netopt_UG

OPTIMIZATION Data Category of Input - DECISION (continued)

Example:DECISION SOURCE=SOR1, VARI=TEMP, MLOWER=25, MUPPER=95,& ALOWER=.1, AUPPER=3, ON

CONSTRAINT Optional Statement. Defines limits for calculated variables such as the pressure drop in a pipe. By default, the constraint limits will be used for each case study or time stepping simulation. These limits may be changed for different cases or time steps from the case study data or time stepping data sections. The keywords and their required order are as follows:Mandatory entries:

ON or OFF ON is the default and signifies that the variable is to be included. OFF specifies that variable is to be excluded.

PERTURBATION= Individual fractional perturbation to be used when calculating derivatives by finite difference.

SCOMPONENT= Component ID if the particular variable is associated with a component.

TIME= Specifies the time from the start of the simulation when the decision variable is included for optimization over time.

<NODE>=<nodeid> or

Type and name of node. Choices for NODE type are SOURCE, SINK, or JUNCTION.

<DEVICE>= <devid> or

Type and name of device. Choices for DEVICE type are PIPE, TUBING, RISER, ANNULUS, CHOKE, PUMP, COMPRESSOR, COOLER, HEATER, CHECK, or COMPLETION.

CALC= Specifies the user-added subroutine (FUNCON1) or Calculator Name that is used to define the Constraint.

Note: The user-added subroutine name must be FUNCON1.

NAME= Specifies the name of the constraint used in the user-added subroutine FUNCON1.

VARIABLE= Classification of variable. Options depend on the type of device that is specified. Refer Table 4-55a, Chapter 4, Input Reference in PIPEPHASE 9.6 Keyword Manual for details.

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

3-12 Optimization Input Reference

Page 73: Netopt_UG

OPTIMIZATION Data Category of Input - CONSTRAINT (continued)

Optional entries:

Example:CONSTRAINT NAME=CONSVAR1, MLOWER=5, MUPPER=10

OPTPARAMETER Describes the options for the optimization.Optional entries:

LINK=<linkid,network> The objective function is calculated for all devices of identified type in the named link. For example, if the device type is pipe, and the variable type is ID, then the objective function is computed under the assumption that all pipes in link have the same ID. Network has the same function as link, but is valid for all devices in the network.

ALOWER(unit)= Absolute lower bound of the variable.

AUPPER(unit)= Absolute upper bound of the variable.

RLOWER= Permitted lower bound of the relative change of the variable, in percent.

RUPPER= Permitted upper bound of the relative change of the variable, in percent.

MLOWER(unit)= Inviolable lower equipment limit.

MUPPER(unit)= Inviolable upper equipment limit.

ON or OFF ON is the default and signifies that the variable is to be included. OFF specifies that variable is to be excluded.

TOLERANCE= If negative, this is the relative variance on a fractional basis allowed in the constraint limit. If positive, this is the absolute variance allowed in the constraint limit.

COMPONENT= Component ID if the particular variable is associated with a component. For noncompositional models with contaminants, component numbers 1, 2, and 3 refer to N2, CO2, and H2S respectively.

MAXIMIZE or MINIMIZE

Use one of these required keywords to define whether the optimization is to be maximized or minimized. Note that a negative value is minimized when its absolute value is maximized.

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

PIPEPHASE 9.6 NETOPT User’s Guide 3-13

Page 74: Netopt_UG

OPTIMIZATION Data Category of Input - OPTPARAMETER (continued)

GLOBAL Allows optimization problems and network

problems to be solved simultaneously. By using this option, the network base case simulation is solved prior to starting the optimization simulation.The network solution matrix is added to the optimization problem specified by the user. Estimated source rates and pressures become optimization decision variables. Fixed sink rates, pressures and network pressure imbalances become optimization constraints. Tolerances for these constraints are set based on the PRESSURE and RATE keywords on the SOLUTION card (optimizer sets slightly tighter tolerance than user specification). In general, more optimization cycles, smaller objective tolerances and smaller perturbation of the decision variables are required for this method. Notice, this option does not support well shut-in or flow reversals.

OBJEFUNCTION Specifies a subroutine interface that implements a user-added objective function. See User-added Objective Functions on page 43.

ITER=10 Maximum number of iterations. Use 5-10 iterations for small optimization problems, 10-15 for medium-large problems. The default, if a value is not provided, is 10.

Note: Using ITER=0 provides a good summary of the base case (unoptimized) simulation.

SCALE or NOSCALE

Use this entry to switch the automatic scaling feature on (SCALE) or off (NOSCALE). The default SCALE uses the variable bounds and the constraint limits to calculate the scaling factors.

Note: The NOSCALE option is very useful in dampening problems that are highly sensitive to variable changes.

DEFPERT=0.001 Use this keyword to supply the default fractional perturbation value used to calculate derivatives. The value 0.005 works well for pressures. The default of 0.001 works well for mass flowrates and qualities. The fractional perturbation value is related to the percentage change by the following formula:

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

3-14 Optimization Input Reference

Page 75: Netopt_UG

OPTIMIZATION Data Category of Input - OPTPARAMETER (continued)

Xpert = Xbase + Max[DEFPERT, ABS(DEFPERT*Xbase)]

where:

Xpert = percentage change Xbase = initial (base) value

For example, for Xbase=1000, DEFPERT=0.005, Xpert=1000 + 0.005x1000=1,005, i.e., a 1/2% change.

Note: If DEFPERT is too large (e.g., 0.15), this leads to coarse gradients. Too small values (e.g., 0.00001) result in noisy or incorrect gradients.

OBJTOL=0.005 This entry specifies the minimum fractional change in the objective function to continue optimization. The default value is 0.005.

VARTOL=0.001 This entry is used to supply the minimum fractional change in the decision variables to continue optimization. The default value is 0.001.

Note: For large problems with noisy gradients, increasing the value of VARTOL while keeping the value of OBJTOL constant may result in improved convergence.

ERTOL=-0.005 Use this keyword to provide the fractional error tolerance for the constraints. For example, if the current constraint is between 1000 and 2000, an error tolerance of -0.01 will result in an acceptable range of 990 and 2020. A positive value of ERTOL means that the deviation from the bounds of the constraint is absolute, while a negative value results in a fractional deviation. The default is -0.005 (0.5% deviation).

DAMP=10 This is the number of damped iterations, i.e., the optimization algorithm will make smaller changes in the variables for this set number of iterations. This approach results in higher stability and improved convergence for problems involving loops, and when base case simulations are difficult to solve. The default number of damped iterations is 10.

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

PIPEPHASE 9.6 NETOPT User’s Guide 3-15

Page 76: Netopt_UG

OPTIMIZATION Data Category of Input - OPTPARAMETER (continued)

Example: OPTPAR MAXI, SCALE, OBJT=0.01, DFACT=1The following table shows types and variables for CONSTRAINT, DECISION, and OBJECTIVE statements.

User-defined Optimization ConstraintsUser-added subroutines may be used to define constraints or to define objective functions. Constraints are imposed limits on the problem which may be defined either in terms of:

■ a NETOPT variable

or

■ a function of NETOPT variables

If a constraint is to be defined as a function of NETOPT variables, then the functional relationship must be defined via one or more user-added subroutines or by using the Calculator unit.

DFACTOR=4 This entry is used to supply the denominator of the fractional change in variables for damped iterations. For example, a value of DFACT=10 results in a 1/10th move in the value of the variables.

LUDSAVE Specifies LU (lower/upper) matrix factorization in the derivative calculation to speed up calculations.

OVERTIME Enables optimization over time.

Note: This keyword must be supplied if the optimization over time feature is used.

{} entries are optional () keyword qualifiers underlined keywords are defaults= requires values or entries values or entries for keywords are defaults in Petroleum units

3-16 Optimization Input Reference

Page 77: Netopt_UG

To implement the user-added subroutines, you must interface with the subroutine FUNCON1(NAME,VALUE) found in the file FUNCON1.F. NAME is the name of the external constraint, while VALUE is the value of the constraint.

Any new routines must be compiled and a new NETOPT executable generated.

Example 1: Using the Sink Pressure as a ConstraintThe FUNCON1 subroutine is written to extract the sink pressure using PDTS and return it as VALUE.

The calling sequence is:

CALL FUNCON1(CONS1,VALUE)

where CONS1 = the external variable constraint name supplied using the NAME keyword. The constraint is the pressure at sink SNK. Calls are made to external subroutines PADATI and GETDAT to retrieve data from the network. These useful subroutines, supplied with this release, are SIMSCI PDTS routines documented in the PRO/II Data Transfer System Manual. Contact your SIMSCI-ESSCOR representative for more information.

The subroutine could be written as follows:

C NETOPT-FUNCON1C SUBROUTINE FUNCON1(NAME, VALUE)CC USER SUBROUTINE: COMPUTE EXTERNAL CONSTRAINTS FOR OPTIMIZATIONCC INPUT DATAC —————C NAME - NAME OF EXTERNAL CONSTRAINTCC OUTPUT DATAC —————-C VALUE - VALUE OF EXTERNAL CONSTRAINTCC———————————————————————————————————C COMMON DECLARATIONSC——————————————————————————————————— INCLUDE ‘PRECIS.CMN’CC ——————————————————————————————————-C LOCAL DECLARATIONSC——————————————————————————————————— CHARACTER*4 NAME

Note: You may directly enter a value for the constraint, i.e., an entry for VALUE, in the subroutine FUNCON1, or you may supply other subroutines in files UADD1.F through UADD5.F to compute the constraint.

PIPEPHASE 9.6 NETOPT User’s Guide 3-17

Page 78: Netopt_UG

CC ——————————————————————————————————-C CODE BEGINS HEREC———————————————————————————————————CC USER ADDED VARIABLE IS PRESSURE AT SINK=SNK AS EXTRACTED USING PDTSC VALUE = 0.0 IF (NAME .EQ. ‘UN01’) THEN CALL PADATI(‘Calc’,’NumberOfResults’,’C001’,NUMRES,KC,IRCODE) IF (IRCODE.EQ.0) 1 CALL GETDAT(‘Calc’,’ResultVector’,’C001’,1,RVEC,NUMRES,IDUM1, 1 IDUM2,IRCODE) IF (IRCODE.EQ.0) VALUE = RVEC ENDIFC ——————————————————————————————————-C CODE ENDS HEREC——————————————————————————————————— RETURN END

User-added Objective FunctionsObjective functions may be defined either in terms of:

■ a constant times a NETOPT variable

or

■ a function of NETOPT variables

If an objective function is to be defined as a function of NETOPT variables, then the functional relationship must be defined via one or more user-added subroutines or by using a Calculator unit.

To implement the user-added subroutines, you must interface with the subroutine FUNOBJ1(IMODE,NUMBOBJ,VPOBJE,VPTARG,VPCOEF,F) found in the file FUNOBJ1.F. IMODE, NUMBOBJ, VPOBJE, VPTARG, and VPCOEF are input variables passed to the routine from the simulation. IMODE is the runmode flag. IMODE equals 2 for parameter tuning and 3 for optimization. VPOBJE, VPTARG,

Note: The files containing the relevant common blocks are included with your installation. Please refer to these files for an explanation of the common block variables.

3-18 Optimization Input Reference

Page 79: Netopt_UG

and VPCOEF are the input vectors of the objective variables, targets, and coefficients that are used to compute the output objective function, F.

Any new routines must be compiled and a new NETOPT executable generated.

Example: Objective Function is Electricity GeneratedThe FUNOBJ1 and UADD1 subroutines are written to compute the generated electricity at source 4.

The calling sequence is:

CALL FUNOBJ1(IMODE,NUMBOBJ,VPOBJE,VPTARG,VPCOEF,F)

where VPOBJE(1) = mass flowrate at source 4

VPOBJE(2) = enthalpy at source 4

The unit efficiency is a function of the mass flowrate and the enthalpy and is calculated in the subroutine UADD1.

The subroutine FUNOBJ1 could be written as follows:

SUBROUTINE FUNOBJ1(IMODE,NUMBOBJ,VPOBJE,VPTARG,VPCOEF,F)C This subroutine is used to set up theC objective function for the optimization run.C ———— ———— ———— ———— ———— ———— ———— C Common DeclarationsC—— ———— ———— ———— ———— ———— ———— ——- INCLUDE ‘../../cmns/precis.cmn’ INCLUDE ‘../../cmns/kcons.cmn’ INCLUDE ‘../../cmns/param.cmn’ INCLUDE ‘../../cmns/cobje.cmn’ INCLUDE ‘../../cmns/cobje1.cmn’C ———— ———— ———— ———— ———— ———— ————

Note: You may compute all of the terms in the objective function in the subroutine FUNOBJ1, or you may utilize other subroutines you have written. Any new routines must be compiled and a new NETOPT executable generated. The name of your external subroutine must not correspond to the name of an existing NETOPT internal subroutine. Therefore, for safety’s sake, you should use the names UADD1.F through UADD5.F.

Note: Up to 9 different over time optimization objective functions can be incorporated in NETOPT. Only one may be used per problem run. FUNOBJ1 refers to the first, FUNOBJ2 refers to the second, and so on, up to FUNOBJ9. You may select which objective function should be used via the OBJFUNCTION keyword on the OPTPARAMETER statement.

PIPEPHASE 9.6 NETOPT User’s Guide 3-19

Page 80: Netopt_UG

C Local Declarations REAL VPOBJE(NMAXO)C—— ———— ———— ———— ———— ———— ———— ———-C ———— ———— ———— ———— ———— ———— —————-C Calculation of objective function begins hereC—— ———— ———— ———— ———— ———— ———— ———- X1=VPOBJE(1) X2=VPOBJE(2) CALL UADD1(X1,X2,ELEC) F=ELEC RETURN END

Optimizing Over timeTo implement the user-added subroutines when optimizing over time, you must interface with the subroutine FNTOBJ1(VPOBJ,OBJF,DELTAT) found in the file FNTOBJ1.F. VPOBJ(I,J) is an input vector of NETOPT variables which is used to compute the objective function. The NETOPT variables contained in VPOBJ are determined by the variables you define on the OBJECTIVE statement.

The first variable you declare for the first time step becomes VPOBJ(1, 1), the second variable you declare for the first time step becomes VPOBJ(2, 1), the first variable you declare for the second time step becomes VPOBJ(1, 2), etc. OBJF is the value of the objective function, while DELTAT(J) is the Jth time step size in days.

Note: The over time objective function cannot be defined by the Calculator unit.

Note: You may compute all of the terms in the objective function in the subroutine FNTOBJ1, or you may utilize other subroutines you have written. Any new routines must be compiled and a new NETOPT executable generated. The name of your external subroutine must not correspond to the name of an existing NETOPT internal subroutine. Therefore, for safety sake, you should use the names UADD1.F through UADD5.F.

Note: Up to 9 different over time optimization objective functions can be incorporated in NETOPT. Only one may be used per problem run. FNTOBJ1 refers to the first, FNTOBJ2 refers to the second, and so on, up to FNTOBJ9. You may select which objective function should be used via the OBJFUNCTION keyword on the OPTPARAMETER statement.

3-20 Optimization Input Reference

Page 81: Netopt_UG

Other common block input variables are used to apply time discount factors to objective variables, supply time curves or objective variable coefficients, or specify the time when capital costs are incurred. These input variables are shown below:

VARIABLE TYPE COMMON DESCRIPTIONCAPTIM(J) REAL COBJE Time when Capital cost is incurred (days) COEFFO(J) REAL COBJE User specified Constant Coefficient of the objective variable TIMES(JT) REAL COVRT2 TIME in days for jth time step IMODE INTEGER COPTN Runmode flag.. =1..Simulation =2..Parameter estimation optimization =3..Optimization NQTIM INTEGER COVRTIM Number of time steps in the problem NUMOBJ INTEGER COBJE Number of objective variables in the problem IDXOBJ(J) INTEGER COBJE Input unit index of the objective variable IUOBJ(J) INTEGER COBJE Input unit of the objective variable INCFLG(J) INTEGER CDECI =1 use incremental change in the objective variable over time for the Objective function calculation IKOVTM(J) LOGICAL COBJE Flag to indicate if over time objective variable or not = .TRUE. yes = .FALSE. no IRAMP(J) LOGICAL COBJE Flag to indicate if the curve is to be applied as a Ramp function IDISC(J) LOGICAL COBJE Flag to indicate if the TIME DISCOUNT factor is to be applied on the Jth objective variable TCURV(J) CHAR*12 COBJE Name of Time curve to be applied to calculate time dependent Objective variable Coeff

PIPEPHASE 9.6 NETOPT User’s Guide 3-21

Page 82: Netopt_UG

Time-stepping Data Category of InputPlease refer Chapter 4, Input Reference in PIPEPHASE 9.6 Keyword Manual.

Case Study Data Category of InputPlease refer Chapter 4, Input Reference in PIPEPHASE 9.6 Keyword Manual.

3-22 Optimization Input Reference

Page 83: Netopt_UG

Chapter 4Examples

OverviewThis chapter contains examples of the use of NETOPT and illustrates many of the features of the program. It is not possible to include every program option in the examples and a list of the features which appear in each example is given in an easy-to-read tabular format in Table 4-1 . This is where to look if you are looking for an example which contains a specific feature.

The chapter then details the example simulations. Each example is comprised of four sections:

■ Problem Description - This section outlines the goals of the sim-ulation, as well as presenting some of the important problem parameters.

■ Simulation Techniques - This section describes how the example is translated into the NETOPT input data.

■ Input Data - The full keyword input data file is listed in this sec-tion.

■ Output - For clarity, the full output reports are not presented here. Instead, the link and node summaries are shown along with selected reports which are particularly relevant to the sim-ulation goals given in the Problem Description.

PIPEPHASE 9.6 NETOPT User’s Guide 4-1

Page 84: Netopt_UG

Table 4-1: Features Used in Example Simulations

Statement Feature Example Number

1 2

General Data Category of Input

Pipeline

Well

CALCULATION Network

PVT generation

Blackoil

Gas

SEGMENT Horizontal and vertical

PRINT Optimization

Methods Data Category of Input

SOLUTION Pbalance method

PVT Data Category of Input

SET Gravity

Contaminants

Specific heat

LIFTGAS Gravity

Structure Data Category of Input

SOURCE Set number, pressure/rate, temperature

SINK Rate estimate

Fixed pressure

PIPE Length/ID

Heat transfer parameters

TUBING Length, depth

Detailed heat transfer

GAS LIFT VALVE Rate

Unit Operation Data Category of Input

CALCULATOR Results calculated

Optimization Data Category of Input

OBJECTIVE Maximization

Minimization

DECISION Pipe ID

1 2

Compressor power

Gas valve rate

4-2 Examples

Page 85: Netopt_UG

Example 1 - Optimization of an Offshore Pipeline System Design

Problem DescriptionIn this simulation, a pipeline is designed to deliver gas at a rate of 1200 MM SCF/D at a minimum pressure of 900 psia from two offshore fields. The first field is 200 miles offshore and the second is an additional 180 miles further offshore. For both platforms, the average well-head pressure of the produced gas is 2000 psia. You are required to optimize the design to minimize the total costs involved in constructing the system and operating it over a 10 year period. The major capital costs involved are for laying pipe ($0.7MM/inch ID per mile of pipe) and installing compressor capacity ($0.66MM per 1000 hp). The cost of operating the pipeline is approximately $0.4MM/year per 1000 hp.

Figure 4-1: Pipeline System

CONSTRAINT Sink pressure

Compressor pressure

Calculator result

OPTPARAMETER Number of iterations

Tolerances

Table 4-1: Features Used in Example Simulations

Statement Feature Example Number

PIPEPHASE 9.6 NETOPT User’s Guide 4-3

Page 86: Netopt_UG

Simulation TechniquesA single phase gas optimization calculation is used. Two PVT data sets — one for each source —are defined with different specific gravity and contaminant levels. The overall objective function is:

Total Cost (Capital+Operating Cost) = 140*IDPipe 1 + 126*IDPipe 2 + 4.66E-3*wCompr 1 + 4.66E-3*wCompr 2

There are four decision variables for this optimization problem — the internal diameters of both pipes (24”- 40” range) and the power for both compressors (0 - 50000 hp). There are three constraints for this optimization problem — the sink pressure (P > 900 psia), and the outlet pressures of the compressors (0 psia < P < 2475 psia).

Input Data

$ General Data Section$TITLE PROBLEM=TUTORIAL, USER=SIMSCI, DATE=12/06/96, * SITE=SIMS$DESCRIPTION Tutorial problem$DIMENSION RATE(GV)=CFD$CALCULATION NETWORK, Gas, OPTIMIZATION, * PRANDTL$DEFAULT IDPIPE=4.026, IDTUBING=4.026, IDRISER=4.026, * IDANNULUS=6.065$PRINT INPUT=NONE, DEVICE=FULL, FLASH=NONE, * DATABASE=FULL, SIMULATOR=PART$SEGMENT AUTO=ON, DLHORIZ(FT)=2000, DLVERT(FT)=500$$ Network Data Section$NETWORK DATA$SOLUTION PBALANCE, FLOWAL=2$TOLERANCE PRESSURE=0.01$$ PVT Data Section$PVT PROPERTY DATA$SET SETNO=1, GRAV(SPGR)=0.69, CPRATIO=1.3, * CONT=1.32, 0.98, 0.56SET SETNO=2, GRAV(SPGR)=0.701, CPRATIO=1.3, * CONT=1.11, 0.88, 0.24$$ Structure Data Section$STRUCTURE DATA$SOURCE NAME=S001, IDNAME=S001, PRIORITY=0, * SETNO=1, PRES=2000, TEMP=80, * RATE(ESTI)=600, XCORD=52, YCORD=-241$

4-4 Examples

Page 87: Netopt_UG

SOURCE NAME=S002, IDNAME=S002, PRIORITY=0, * SETNO=2, PRES=2000, TEMP=80, * RATE(ESTI)=600, XCORD=0, YCORD=249$SINK NAME=D003, IDNAME=D003, PRES(ESTI)=900, * RATE=1200, XCORD=500, YCORD=-363$JUNCTION NAME=J004, IDNAME=J004, XCORD=279, * YCORD=-95$LINK NAME=L001, FROM=S001, TO=J004, * IDNAME=L001, IDFROM=S001, IDTO=J004, * PRINTPIPE NAME=E001, LENGTH=1056, NOMD=8, * SCHED= 40, WATER, TAMB=45$LINK NAME=L002, FROM=S002, TO=J004, * IDNAME=L002, IDFROM=S002, IDTO=J004, * PRINTPIPE NAME=E002, LENGTH=6504e+005, ID=24, * WATER, TAMB=45COMPRESSOR NAME=E003, POWER=20000, EFF=80$LINK NAME=L003, FROM=J004, TO=D003, * IDNAME=L003, IDFROM=J004, IDTO=D003, * PRINTPIPE NAME=E004, LENGTH=1.056e+006, ID=35, * WATER, TAMB=45COMPRESSOR NAME=E005, POWER=25000, EFF=80$$ OPTIMIZATION Data Section$OPTIMIZATION DATAOBJECTIVE PIPE=E004, VARIABLE=ID, COEF=140OBJECTIVE COMPRESSOR=E005, VARIABLE=POWE, COEF=4.660e-003OBJECTIVE COMPRESSOR=E003, VARIABLE=POWE, COEF=4.660e-003OBJECTIVE PIPE=E002, VARIABLE=ID, COEF=126DECISION PIPE=E004, VARIABLE=ID, PERTURB=5.000e-003, * MLOWER=24, MUPPER=48DECISION COMPRESSOR=E003, VARIABLE=POWE, PERTURB=1.000e-003, * MLOWER=0, MUPPER=50000DECISION PIPE=E002, VARIABLE=ID, PERTURB=5.000e-003, * MLOWER=24, MUPPER=48DECISION COMPRESSOR=E005, VARIABLE=POWE, PERTURB=1.000e-003, * MLOWER=0, MUPPER=50000CONSTRAINT SINK=D003, VARIABLE=PRES, MLOWER=900CONSTRAINT COMPRESSOR=E003, VARIABLE=CPRE, MLOWER=0, * MUPPER=2475CONSTRAINT COMPRESSOR=E005, VARIABLE=CPRE, MLOWER=0, * MUPPER=2475OPTPARAMETER MINIMIZE, ITER=30, SCALE, * DAMP=5, OBJTOL=1.000e-004, VARTOL=1.000e-003, * ERTOL=-0.01, DEFPERT=0.04$$ End of OPTIMIZATION Data Section$$ End of keyword file...$END

PIPEPHASE 9.6 NETOPT User’s Guide 4-5

Page 88: Netopt_UG

Output(Optimizer Report)

OPTIMIZATION REPORT AT BEST POINT - (Base Case) DECISION VARIABLES ------------------ NAME VARIABLE LOWER CURRENT UPPER MOVE SHADOW BOUND VALUE BOUND PRICE UNITS ---- ------------ --------- --------- --------- --------- --------- ---------- E004 PIPE ID 24.0000 32.9474 48.0000 -2.0526 0.000E+00 IN E003 SET POWER 0.000E+00 18366.76 50000.00 -1633.24 0.000E+00 HP E002 PIPE ID 24.0000 24.0000 48.0000 0.000E+00 -48.7187 IN E005 SET POWER 0.000E+00 15949.10 50000.00 -9050.90 0.000E+00 HP CONSTRAINT VARIABLES -------------------- NAME TYPE LOWER CURRENT UPPER MOVE SHADOW BOUND VALUE BOUND PRICE UNITS ---- ------------ --------- --------- --------- --------- --------- ---------- D003 PRESSURE 900.00 899.87 5985.30 -923.03 -0.2911 PSIG E003 OUTLET PRES 0.000E+00 1746.17 2475.00 -5.3257 0.000E+00 PSIG E005 OUTLET PRES 0.000E+00 899.87 2475.00 -923.03 0.000E+00 PSIG OBJECTIVE VARIABLES ------------------- NAME TYPE VALUE UNITS ---- ------------ --------- ---------- E004 PIPE ID 32.9474 IN E005 SET POWER 15949.10 HP E003 SET POWER 18366.76 HP E002 PIPE ID 24.0000 IN OBJECTIVE FUNCTION ------------------ CURRENT VALUE OF OBJECTIVE FUNCTION = 7796.55 CHANGE FROM VALUE AT START = -337.15

The results show that the total costs of building and operating the pipeline over a 10 year period is $7,796.55 MM (including $159.9 MM in total operating costs).

4-6 Examples

Page 89: Netopt_UG

Example 2 - Two Well Gas Lift Optimization

Problem DescriptionA 1500 ft, 4-inch flowline connects two wells to a separator operating at 250 psig. Gas lift is applied to both wells. For a single well on gas lift, the increased back-pressure from the injection gas affects other wells that share a common flowline. If any of the other wells are also on gas lift, it in turn contributes to an overall increase in back pressure. As such, a single-well gas lift analysis performed in isolation will over-predict production. The actual optimal injection rate will be influenced by the interacting wells, and will be lower than that predicted by single-well analysis. An additional optimization problem relates to the availability of injection gas. Typically, due to existing installed compressor capacity, the gas available for injection is inadequate to meet the needs of all the wells in the field. This limitation becomes more severe with time, as the field depletes, and more and more wells require increasing amounts of injection gas. The associated allocation problem is therefore to determine the amount of gas to allocate to each of the wells under of gas lift in order to maximize the total production rate from the field.

You must first perform an initial analysis to determine the maximum production from the two wells (based on unlimited gas). In a second analysis you must determine the optimal gas allocation between the two wells (based on the available gas being limited to 3 MMSCFD).

Figure 4-2: Two Well Gas Lift Optimization

PIPEPHASE 9.6 NETOPT User’s Guide 4-7

Page 90: Netopt_UG

Simulation TechniquesA blackoil optimization calculation is used. In this problem, the reservoir temperature is 180 deg F, and the produced oil is of 30 deg API. The gas gravity (air =1) in the well is 0.75, while the lift gas gravity is 0.8. The Productivity Index (PI) IPR device model is used to model the relationship between the flowrate of oil from each well and the well pressure drop. The overall objective function is the flowrate of oil to sink D002. There are two decision variables — the rate of lift gas for both wells. For the first analysis, there is no constraint on the lift gas. For the second analysis, there is a constraint on the lift gas rate. In this analysis, a calculator unit is used to determine the total lift gas to both wells and this result, R(1), is constrained to an upper limit of 3 MMSCFD.

Input Data(Unlimited Injection Gas)

TITLE DATE=10/28/96 $ DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION $ DIMENSION RATE(LV)=BPD $ PRINT INPUT=NONE , DEVICE=NONE , FLASH=NONE , * CONNECT=NONE , DATABASE=FULL , SIMULATOR=SUMMARY , * OPTIMIZER=FULL $ CALCULATION NETWORK, BLACKOIL , OPTIMIZATION, * PRANDTL $ DEFAULT NOMD=4, SCHE= 40, NOMT=4, * SCHT=TB01, IDRISER=4.026, IDANNULUS=6.065 $ SEGMENT AUTO=ON, DLHORIZ(FT)=2000, DLVERT(FT)=500 $ $ Network Data Section $ NETWORK DATA $ SOLUTION PBALANCE, FLOWAL=2, MAXITER=30 $ $ PVT Data Section $ PVT PROPERTY DATA $ SET SETNO=1, GRAV(OIL,API)=30, GRAV(GAS,SPGR)=0.75, * GRAV(WATER,SPGR)=1.002 LIFTGAS GRAV(GAS,SPGR)=0.8 $ $ OPTIMIZATION Data Section $ OPTIMIZATION DATA OBJECTIVE SINK=D002, VARIABLE=RATE(LV,OIL), COEF=1 DECISION GLVALVE=E011, VARIABLE=RATE, MLOWER=0.5, * MUPPER=5

4-8 Examples

Page 91: Netopt_UG

DECISION GLVALVE=E010, VARIABLE=RATE, MLOWER=0.5, * MUPPER=5 OPTPARAMETER MAXIMIZE, ITER=15, SCALE, * OBJTOL=1.000e-004, VARTOL=.005, DEFPERT=0.05 $ $ End of OPTIMIZATION Data Section $ $ Structure Data Section $ STRUCTURE DATA $ SOURCE NAME=S001, SETNO=1, PRES=2499, * TEMP=180, RATE(ESTI)=6000, GOR=108, * WCUT=0, XCORD=-92, YCORD=495 $ SOURCE NAME=S005, SETNO=1, PRES=2505, * TEMP=181, RATE(ESTI)=6000, GOR=102, * WCUT=10.5, XCORD=468, YCORD=524 $ SINK NAME=D002, PRES=250, RATE(ESTI)=10000, * XCORD=1267, YCORD=35 $ JUNCTION NAME=J003, XCORD=284, YCORD=68 $ LINK NAME=L001, FROM=S001, TO=J003 IPR NAME=E012, TYPE=PI, * IVAL=BASIS, 3, * RVAL=PI, 25.5 TUBING NAME=E001, LENGTH=8010, DEPTH=8010, * U=1 GLVALVE NAME=E011, RATE=1.5 TUBING NAME=E009, LENGTH=6810, DEPTH=6810, * U=1 PIPE NAME=E003, LENGTH=231, U=1 $ LINK NAME=L002, FROM=S005, TO=J003 IPR NAME=E013, TYPE=PI, * IVAL=BASIS, 3, * RVAL=PI, 22.1 TUBING NAME=E004, LENGTH=8111, DEPTH=8111, * U=1 GLVALVE NAME=E010, RATE=1.5 TUBING NAME=E008, LENGTH=6445, DEPTH=6445, * U=1 PIPE NAME=E006, LENGTH=103, U=1 $ LINK NAME=L003, FROM=J003, TO=D002 PIPE NAME=E007, LENGTH=1500, U=1 $ $ END

(Limited Injection Gas)

TITLE DATE=10/28/96 $ DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION $ DIMENSION RATE(LV)=BPD $ PRINT INPUT=NONE , DEVICE=NONE , FLASH=NONE , * CONNECT=NONE , DATABASE=FULL , SIMULATOR=SUMMARY , * OPTIMIZER=FULL $ CALCULATION NETWORK, BLACKOIL , OPTIMIZATION, * PRANDTL $ DEFAULT NOMD=4, SCHE= 40, NOMT=4, *

PIPEPHASE 9.6 NETOPT User’s Guide 4-9

Page 92: Netopt_UG

SCHT=TB01, IDRISER=4.026, IDANNULUS=6.065 $ SEGMENT AUTO=ON, DLHORIZ(FT)=2000, DLVERT(FT)=500 $ $ Network Data Section $ NETWORK DATA $ SOLUTION PBALANCE, FLOWAL=2 $ $ PVT Data Section $ PVT PROPERTY DATA $ SET SETNO=1, GRAV(OIL,API)=30, GRAV(GAS,SPGR)=0.75, * GRAV(WATER,SPGR)=1.002 LIFTGAS GRAV(GAS,SPGR)=0.8 $ $ OPTIMIZATION Data Section $ OPTIMIZATION DATA OBJECTIVE SINK=D002, VARIABLE=RATE(LV,OIL), COEF=1 DECISION GLVALVE=E011, VARIABLE=RATE, MLOWER=0.5, * MUPPER=5 DECISION GLVALVE=E010, VARIABLE=RATE, MLOWER=0.5, * MUPPER=5 CONSTRAINT CALC=SUM, VARIABLE=R(1), MLOWER=0, * MUPPER=3 OPTPARAMETER MAXIMIZE, ITER=15, SCALE, * OBJTOL=1.000e-004, VARTOL=1.000e-004, DEFPERT=0.05 $ $ End of OPTIMIZATION Data Section $ $ Structure Data Section $ STRUCTURE DATA $ SOURCE NAME=S001, SETNO=1, PRES=2499, * TEMP=180, RATE(ESTI)=6000, GOR=108, * WCUT=0, XCORD=-90, YCORD=487 $ SOURCE NAME=S005, SETNO=1, PRES=2505, * TEMP=181, RATE(ESTI)=6000, GOR=102, * WCUT=10.5, XCORD=468, YCORD=524 $ SINK NAME=D002, PRES=250, RATE(ESTI)=10000, * XCORD=1267, YCORD=35 $ JUNCTION NAME=J003, XCORD=284, YCORD=68 $ LINK NAME=L001, FROM=S001, TO=J003 IPR NAME=E012, TYPE=PI, * IVAL=BASIS, 3, * RVAL=PI, 25.5 TUBING NAME=E001, LENGTH=8010, DEPTH=8010, * U=1 GLVALVE NAME=E011, RATE=1.5 TUBING NAME=E009, LENGTH=6810, DEPTH=6810, * U=1 PIPE NAME=E003, LENGTH=231, U=1 $ LINK NAME=L002, FROM=S005, TO=J003 IPR NAME=E013, TYPE=PI, * IVAL=BASIS, 3, * RVAL=PI, 22.1 TUBING NAME=E004, LENGTH=8111, DEPTH=8111, * U=1 GLVALVE NAME=E010, RATE=1.5 TUBING NAME=E008, LENGTH=6445, DEPTH=6445, * U=1 PIPE NAME=E006, LENGTH=103, U=1 $

4-10 Examples

Page 93: Netopt_UG

LINK NAME=L003, FROM=J003, TO=D002 PIPE NAME=E007, LENGTH=1500, U=1 $ $ UNIT OPERATION Data Section $ UNIT OPERATION DATA $ CALCULATOR UID=SUM DIMENSION P(2), C(1), R(1), * IS(1), IX(1), V(1) RESULT 1,R1 DEFINE P(1) AS GLVA=E011, RATE DEFINE P(2) AS GLVA=E010, RATE PROCEDURE $PROCFILE=SUM $ enter code here ... R1=p(1)+p(2) RETURN $ END

Output(Unlimited Injection Gas)

OPTIMIZATION REPORT AT BEST POINT DECISION VARIABLES ————————— NAME VARIABLE LOWER CURRENT UPPER MOVE SHADOW BOUND VALUE BOUND PRICE UNITS —— —————— ————- ————- ————- ————- ————- ————— E011 GV RATE .5000 3.6158 5.0000 2.1158 -.0160 MM SCF/D E010 GV RATE .5000 3.5591 5.0000 2.0591 .000E+00 MM SCF/D

CONSTRAINT VARIABLES —————————— NO CONSTRAINT VARIABLES OBJECTIVE VARIABLES —————————- NAME TYPE VALUE UNITS —— —————— ————- ————— D002 BO OIL RATE 7340.64 SBPD OBJECTIVE FUNCTION ————————— CURRENT VALUE OF OBJECTIVE FUNCTION = 7340.6429 CHANGE FROM VALUE AT START = 950.0822

(Limited Injection Gas)

OPTIMIZATION REPORT AT BEST POINT

DECISION VARIABLES ————————— NAME VARIABLE LOWER CURRENT UPPER MOVE SHADOW BOUND VALUE BOUND PRICE UNITS —— —————— ————- ————- ————- ————- ————- ————— E011 GV RATE .5000 1.6885 5.0000 .1885 .000E+00 MM SCF/D E010 GV RATE .5000 1.3115 5.0000 -.1885 -.0355 MM SCF/D

PIPEPHASE 9.6 NETOPT User’s Guide 4-11

Page 94: Netopt_UG

CONSTRAINT VARIABLES —————————— NAME TYPE LOWER CURRENT UPPER MOVE SHADOW BOUND VALUE BOUND PRICE UNITS —— —————— ————- ————- ————- ————- ————- ————— SUM RESULT 1 .000E+00 3.0000 3.0000 -.444E-15 14.1077 OBJECTIVE VARIABLES —————————- NAME TYPE VALUE UNITS —— —————— ————- ————— D002 BO OIL RATE 6404.20 SBPD OBJECTIVE FUNCTION ————————— CURRENT VALUE OF OBJECTIVE FUNCTION = 6404.2001 CHANGE FROM VALUE AT START = 13.639377

For unlimited injection gas, NETOPT determines the optimal solution to be 4120 BOPD and 3215 BOPD for wells A and B respectively (for a total of 7335 BOPD), at corresponding gas injection rates of 3.616 MMSCFD and 3.559 MMSCFD.

When the available injection gas is limited to 3.0 MMSCFD, the optimal allocation rates are 1.689 MMSCFD and 1.311 MMSCFD for wells A and B respectively, with corresponding production rates of 3789 BOPD and 2613 BOP, for a total of 6402 BOPD.

4-12 Examples

Page 95: Netopt_UG

Chapter 5Accessing NETOPT Data

There are currently three classes of subroutines used to transfer data to and from NETOPT. The call statements and subroutine argu-ments for these routines are documented in the following sections.

PPDATR Subroutine

Typical SyntaxSUBROUTINE PPDATR(IFLAG, ITYPE, ATTRIB, ITEM, IDITEM, NAMCMP, RBUFF, IBUFF, KUOM, IUOM, IRCODE, JLINK)

The PPDATR subroutine is used to move NETOPT data into or out of the network simulator according to the type/attribute/item requested. The output string(s) are placed in the buffer. Be sure the buffer is adequate to store the output returns size and count retrieved.

Table 6-1: Variables In Argument ListNAME TYPE I/O

IFLAG Integer I 1 for get2 for put

ITYPE Integer I Type of node or device (i.e. 2 for pipe)

ATTRIB Character I Attribute type (string - i.e. "pipe ID")

ITEM Character I Item identifier (string - i.e. "pipe1")

KUOM Integer I Flag for UOM base desired (luint - lualt)

PIPEPHASE 9.6 NETOPT User’s Guide 5-1

Page 96: Netopt_UG

Definition of ITYPE and Attribute LabelsThe variable ITYPE identifies the node or device type. The attribute label defines the variable to be accessed. The variables that can be sent to NETOPT are limited to those listed in Table 6-1.

Table 6-2: Definition of ITYPE and Attribute LabelsITYPE Attribute Label Description

Source, Sink, and Junction

1 RATE(M)RATE(WT)RATE(LV)RATE(GV)TEMPERATUREPRESSUREGORWATER CUTCGRWGRQUALITYBO OIL RATEBO GAS RATEBO H2O RATEBO LIQ RATEGAS VISCOIL VISCWAT VISCOIL GRAVITYGAS GRAVITYWATER GRAVITYCOND GRAVITYGAS FRACTIONLIQ FRACTIONGAS MWOIL MWWAT MWTOTAL ENTHCND OIL RATECND GAS RATECND H2O RATECND LIQ RATESTEAM RATEOIL RATE CMPGAS RATE CMPH2O RATE CMPLIQ RATE CMPCOMP(M)FEED(M)COMP(WT)

Molar rateWeight rateLiquid volumetric rateGas volumetric rateTemperaturePressureGas-oil ratioWater cutCondensate gas ratioWater gas ratioQualityBlackoil oil rateBlackoil gas rateBlackoil water rateBlackoil liquid rateGas viscosityOil viscosityWater viscosityOil gravityGas gravityWater gravityCondensate gravityGas fractionLiquid fractionGas molecular weightOil molecular weightWater molecular weightTotal enthalpyCondensate oil rateCondensate gas rateCondensate water rateCondensate liquid rateSteam rateOil rate for compositional modelGas rate for compositional modelWater rate for compositional modelLiquid rate for compositional modelMolar compositionMolar feed rateWeight composition

5-2 Accessing NETOPT Data

Page 97: Netopt_UG

ITYPE Attribute Label Description

FEED(WT) Weight feed rate

Pipes 2 PIPE IDBURIAL DEPTHPIPE THICKNSINS THICKNSU PIPEPIPE LENGTHPIPE COND H INSIDE HOUTSIDE HINS CONDFLOWEFFAMBIENT TEMPROUGHNESSPIPE ELEVSOIL CONDPIPE DPOIL FLOWRATEGAS FLOWRATEWAT FLOWRATETOT FLOWRATET HYDRATEDT HYDRATEP HYDRATEDP HYDRATEFLOW CODE

Pipe inside diameterBurial depthPipe thicknessInsulation thicknessU ValuePipe lengthPipe conductivityInside HEffective outside HInside conductivityFlow efficiencyAmbient temperatureAbsolute roughnessPipe elevationSoil conductivityPressure dropOil flowrateGas flowrateWater flowrateTotal flowrateHydrate formation temperature *Hydrate formation DT *Hydrate formation pressure *Hydrate formation DP *Flow code

Tubing 3 TUBE IDU TUBETVD(TO TOP)TVD (DEPTH)MWD (TO TOP)MWD (LENGTH)FLOW EFFROUGHNESSGEO TGRADFLOW AREABTM HOLE PTUBING DPOIL FLOWRATEGAS FLOWRATEWAT FLOWRATETOT FLOWRATET HYDRATEDT HYDRATEP HYDRATE

Tube inside diameterU ValueTrue vertical drop (to top)True vertical drop (depth)Measured wireline depth (length)Measured wireline depth (length)Flow efficiencyAbsolute roughnessGeothermal temperature gradientFlow areaBottom hole pressurePressure dropOil flowrateGas flowrateWater flowrateTotal flowrateHydrate formation temperature *Hydrate formation DT *Hydrate formation pressure *

Table 6-2: Definition of ITYPE and Attribute Labels (Continued)

PIPEPHASE 9.6 NETOPT User’s Guide 5-3

Page 98: Netopt_UG

ITYPE Attribute Label Description

DP HYDRATEFLOW CODE

Hydrate formation DP *Flow code

Riser 4 RISER IDU RISERRISER LENGTHRISER ELEVFLOW EFFROUGHNESSFLOW AREARISER DPFLOW CODE

Riser inside diameterU valueRiser lengthRiser elevationFlow efficiencyAbsolute roughnessFlow areaPressure dropFlow code

Annulus 5 ANNULUS IDU ANNULUSTVD (DEPTH)MWD (LENGTH)FLOW EFFROUGHNESSGEO TGRADFLOW AREA BTM HOLE PANNULUS DPFLOW CODE

Annulus inside diameterU valueTrue vertical depthMeasured wireline depthFlow efficiencyAbsolute roughnessGeothermal temperature gradientFlow areaBottom hole pressurePressure dropFlowcode

Choke 6 CHOKE IDCOEFFCHOKE DPCHK POUTLETCHK PSUCTIONCHK RATE(M)CHK RATE (WT)CHK RATE (LV)CHK RATE (GV)CHK OIL RATECHK GAS RATECHK H2O RATECHK LIQ RATE

Choke inside diameterCoefficientPressure dropOutlet pressureSuction pressureMolar rateWeight rateLiquid volumetric rateGas volumetric rateOil rateGas rateWater rateLiquid rate

Pump 7 SET POWERSET PRESSUREMAX POWERMAX PRESSURESTAGESMEAS DEPTHVERT DEPTHPUMP EFFRPM

Set powerSet PressureMaximum powerMaximum pressureNumber of stagesMeasured depthVertical depthPump efficiencyRevolutions per minute (RPM)

Table 6-2: Definition of ITYPE and Attribute Labels (Continued)

5-4 Accessing NETOPT Data

Page 99: Netopt_UG

ITYPE Attribute Label Description

MAX RPMPUMP DPREQ POWEROUTLET PRES

Maximum RPMPressure dropRequired powerOutlet pressure

Compressor 8 SET POWERSET PRESSUREMAX POWERMAX PRESSURESTAGESMEAS DEPTHVERT DEPTHCOMPR EFFRPMMAX RPMCOMPR DPREQ POWEROUTLET PRES

Set powerSet PressureMaximum powerMaximum pressureNumber of stagesMeasured depthVertical depthPump efficiencyRevolutions per minute (RPM)Maximum RPMPressure dropRequired powerOutlet pressure

Cooler 9 SET DUTYSET TEMP OUTCOOLER DPCOEFEXPONENTREQ DUTYOUTLET TEMP

Set dutySet outlet temperaturePressure dropCoefficientExponentRequired dutyOutlet temperature

Heater 10 SET DUTYSET TEMP OUTHEATER DPCOEFEXPONENTREQ DUTYOUTLET TEMP

Set dutySet outlet temperaturePressure dropCoefficientExponentRequired dutyOutlet temperature

Gas Lift Valve

12 GV RATEDISSOLVE

Gas volumetric rateDissolved gas rate

Regulator 16 REG PRESSUREREG DPREG PSUCTIONREG RATE(M)REG RATE(WT)REG RATE(LV)REG RATE(GV)REG OIL RATEREG GAS RATEREG H20 RATEREG LIQ RATE

PressurePressure dropSuction PressureMolar rateWeight rateLiquid volumetric rateGas volumetric rateOil rateGas rateWater rateLiquid rate

Table 6-2: Definition of ITYPE and Attribute Labels (Continued)

PIPEPHASE 9.6 NETOPT User’s Guide 5-5

Page 100: Netopt_UG

* For compositional systems only.

Unit Class Definitions using KUOMA list of the unit classes, with corresponding variable, is provided below.

ITYPE Attribute Label Description

Separator 18 SET GAS RATESET LIQ RATESET OIL RATESET H2O RATEGAS PERCENTLIQ PERCENTOIL PERCENTH20 PERCENTGAS RATELIQ RATEOIL RATEH20 RATE

Set gas rateSet liquid rateSet oil rateSet water rateGas percentLiquid percentOil percentWater percentGas rateLiquid rateOil rateWater rate

Completions 19 TUNNEL LNGTHPERF DISHOT DENSITYTHICKNESSPENELENGTHCOMPL DP

Tunnel lengthPerforation diameterShot densityThicknessPenetration depthLengthPressure Drop

IPR Devices 20 Any label specified by the model. You may user you own user-added label or refer to the NETOPT Keyword Manual for a list of the available models.

Table 6-2: Definition of ITYPE and Attribute Labels (Continued)

Table 6-3: KUOM Class DefinitionsUNIT CLASS VARIABLE1 Molar rate2 Weight rate3 Standard liquid volume rate4 Standard gas volume rate5 Actual liquid volume rate6 Actual gas volume rate7 Temperature8 Temperature change9 Pressure10 Pressure change11 Length (coarse)12 Length (fine)13 Density/Gravity (liquid only)

5-6 Accessing NETOPT Data

Page 101: Netopt_UG

IPRSET Subroutine

Typical SyntaxSUBROUTINE IPRSET(KECLND,NAMES,VALUE,OLDVAL, NVAL,IERR)

The IPRSET subroutine sets RVAL parameters for the Inflow Per-formance Reservoir (IPR). IPRSET is called to set the IPR PI value in NETOPT equal to the value in the reservoir. It is also called to set the IPR parameter FWMAX when wells need to be shut off or on in

UNIT CLASS VARIABLE14 Duty15 Thermal conductivity16 Viscosity17 Specific heat18 Heat transfer coefficient19 Work20 Roughness21 Differential head22 Permeability23 Gas-oil ratio24 Liquid-gas ratio25 Formation volume factor26 Productivity index27 Heating value28 Fekovich parameter29 Fraction30 Percent31 Inverse pressure32 Inverse length33 Phase angle34 Geothermal gradient35 Vapor gravity36 Area37 Productivity index (compositional)38 Productivity index (gas condensate)39 Velocity40 Standard liquid volumetric units41 Standard gas volumetric units42 Actual volumetric units43 Actual volumetric units (gas)44 Pressure gradient45 Surface tension

Table 6-3: KUOM Class Definitions

PIPEPHASE 9.6 NETOPT User’s Guide 5-7

Page 102: Netopt_UG

the NETOPT simulation. This depends on the reservoir simulator flowrate value of the well.

NSFLAG Subroutine

Typical SyntaxSUBROUTINE NSFLAG(IFLAG,KOPTPR,KOITER, KKITER,KICASE, JJCONV)

This routine is always called before the NETOPT network simula-tion run and after the run by the OSCNV0 routine. NSFLAG is used to reset the convergence flags before the call to solve the network, and to get the status of these flags after the call is complete.

Table 6-4: IPRSET Input/Output DefinitionsNAME DescriptionINPUT:

KECLND Well name from reservoir simulator (4 characters)NAMES Label names of variablesVALUE IPR parameters in the same order as the NAMESNVAR Number of IPR parameters

OUTPUT:IERR Error flag

=1 first device is not an IPR device=2 could not find the link=3 could not find the node=4 could not find all label matches

IFLAG = 1 for GET

= 2 for PUT

5-8 Accessing NETOPT Data

Page 103: Netopt_UG

Index

B

Basismeasurement 3-5

C

Case studydata category 3-2

Categories of input 3-1case study data 3-2line sizing data 3-2optimization 3-1optimization data 3-8sensitivity analysis data 3-2time-stepping data 3-2

Comments 3-4

CONSTRAINT 3-12

Continuing statements 3-6

D

DECISION 3-11

Decision variables 3-11

Default data 3-4

Documentation 1-ix

H

Help, online 1-ix

I

Inputcategories 3-1comments 3-4continuing statements 3-6defaults 3-4keyword qualifiers 3-3keywords 3-2layout 3-6optimization data category 3-8units of measurement 3-5

K

Keyword input 3-4continuing statements 3-6conventions 3-7keywords 3-2layout 3-6qualifiers 3-3units of measurement 3-5

Keywordsoptimization data 3-8

L

Legend for description 3-7

Line sizingdata category 3-2

PIPEPHASE 9.6 NETOPT User’s Guide I-1

Page 104: Netopt_UG

M

Measurementbasis 3-5

N

Nodal analysisdata category 3-2

O

OBJECTIVE 3-9

Objective function 3-9

Onlinedocumentation 1-ixhelp 1-ix

OPTIMIZATION 3-8

Optimization 1-viiiconstraint 3-12data category 3-1decision variables 3-11keywords 3-8objective function 3-9options 3-13over time 3-11, 3-16parameters 3-13variable list 3-16

OPTPARAMETER 3-13

P

Parameter

optimization 3-13

Q

Qualifiers 3-3

R

Reservoir Simulator Models 1-viii

S

Sensitivity analysisdata category 3-2

T

text comments 3-4

Time-steppingdata category 3-2

U

Units of measurement 3-5basis of measurement 3-5mulitiple dimensional units 3-6

V

Variablelist for optimization 3-16

Viewing and Plotting Results 2-30

Index I-2

Page 105: Netopt_UG

Invensys Systems, Inc. 26561 Rancho Parkway South Lake Forest, CA 92630 United States of America http://iom.invensys.com Global Customer Support Inside U.S.: 1-866-746-6477 Outside U.S.: 1-508-549-2424 or contact your local Invensys Representative. Email: [email protected] Website: http://support.ips.invensys.com