olga5_usermanual

November 14, 2017 | Author: davidrrg | Category: Fluid Dynamics, Pipeline Transport, Heat, Simulation, Heat Transfer
Share Embed Donate


Short Description

Manual de usuario de OLGA 5, para simulacion dinamica de fluido...

Description

Transient Multiphase Flow Simulator

_USER MANUAL

VER S ION 5

OLGA ® - at the heart of production.

be dynamic

Enabling reliable and efficient flow of production fluids Transient Multiphase Flow Simulator

OLGA 5.0

Page i

Table of Contents

1.

2.

3.

4.

5.

6.

INTRODUCTION ............................................................................................................ 1 1.1

General Information............................................................................................... 2

1.2

Potential Applications ............................................................................................ 4

INPUT DESCRIPTION AND PROGRAM EXECUTION ................................................. 8 2.1

General Input Structure ....................................................................................... 10

2.2

Process Equipment ............................................................................................. 20

2.3

Special Options ................................................................................................... 66

2.4

Program Execution ............................................................................................ 132

2.5

Restrictions and Limitations............................................................................... 133

INPUT FILE DESCRIPTION....................................................................................... 139 3.1

Input Data Syntax .............................................................................................. 141

3.2

Input Statements Overview ............................................................................... 146

3.3

Keyword Descriptions........................................................................................ 152

FLUID PROPERTIES, COMPRESSOR, AND PUMP DATA FILES .......................... 370 4.1

Fluid properties file ............................................................................................ 374

4.2

Compressor data file ......................................................................................... 389

4.3

Pump Data Files ................................................................................................ 391

4.4

Wax table file ..................................................................................................... 395

OUTPUT DESCRIPTION............................................................................................ 396 5.1

Printed Output ................................................................................................... 397

5.2

Plot files ............................................................................................................. 406

5.3

Restart Files ...................................................................................................... 406

REFERENCES ........................................................................................................... 407 6.1

Referenced papers ............................................................................................ 408

6.2

Non-referenced papers describing the OLGA model: ....................................... 411

6.3

Non-referenced papers describing applications of the OLGA model: ............... 411

APPENDIX A Complete list of Output Variables ............................................................................... 417 APPENDIX B List of Units and Conversion Factors.......................................................................... 449

Chapter 1: Introduction

Page 1

CHAPTER 1

INTRODUCTION 1.

INTRODUCTION....................................................................................................2 1.1 General Information ......................................................................................2 1.2 Potential Applications ...................................................................................4 1.2.1 Pipeline Design .................................................................................5 1.2.2 Pipeline Operation.............................................................................5 1.2.3 Safety Analysis..................................................................................6

Page 2

1.

Chapter 1: Introduction

INTRODUCTION

1.1 General Information OLGA was originally developed as a dynamic one dimensional modified two fluid model for two-phase hydrocarbon flow in pipelines and pipeline networks, with processing equipment included. Later, a water option was included which treats water as a separate liquid phase. OLGA was originally based on the computer program OLGA 83, developed by IFE in 1983 for the Norwegian State Oil Company, Statoil. Since 1984, OLGA has been improved continuously due to the experimental database from the large scale two-phase flow laboratory at SINTEF and extensive use and numerical testing at IFE and in the oil companies involved. In the later years, more two-phase and three-phase field data have become available for the testing of OLGA. The dynamic capability of OLGA is its most important feature. Multiphase flow is a dynamic phenomenon and should be modelled as such. This dramatically increases the range of applicability compared with steady state models. OLGA is capable of dynamic simulation of pipeline networks with process equipment such as compressors, pumps, heat exchangers, separators, checkvalves, controllers and mass sources/sinks. OLGA has full network capability, that is, it handles both diverging and converging networks. Complete topside process systems can therefore be simulated, e.g., a system where several flowlines are connected to one manifold, which is connected to parallell separators that have compressor trains, separator trains and water drains further downstream. Computing a transient multiphase flow situation with a dynamic model requires increased CPU-time expenditure compared with ordinary steady state models. The additional time dimension also increases the amount of output produced by the code. The dynamic feature of the program imposes additional requirements on the user, compared with steady state models, but the results of the transient program are significantly more useful in design of the pipeline and its attendant facilities than steady state methods. A steady state pre-processor is also included in OLGA, where the steady state conservation equations are solved. Although it may be used independently, it is mainly intended as a generator of initial values for dynamical simulations. OLGA is a modified two-fluid model, i. e. separate continuity equations for the gas, liquid bulk and liquid droplets are applied; these may be coupled through interfacial mass transfer. Only two momentum equations are used; one for the continuous liquid phase and one for the combination of gas and possible liquid droplets. The velocity of any entrained liquid droplets in the gas phase is given by a slip relation. One mixture energy equation is applied; both phases are at the same temperature. This yields six conservation equations to be solved: three for mass, two for momentum, and one for energy.

Chapter 1: Introduction

Page 3

With the water option, continuity equations for bulk water and water droplets are added. The bulk water velocity is obtained from a correlation for water velocity relative to the average liquid bulk velocity. Two basic flow regime classes are applied; distributed and separated flow. The former contains bubble and slug flow, the latter stratified and annular mist flow. Transition between the regime classes is determined by the program on the basis of a minimum slip concept combined with additional criteria. To close the system of equations, boundary and initial conditions are required. The specification of initial conditions is a fundamental difference between transient and steady state model where these are not required. The user decides, and later specifies in the input, whether the simulation is to start with an empty, filled, or shutdown pipeline, or from full production. The steady state initial pre-processor in OLGA can be used to provide reasonable initial values. In addition, the restart capability may be used to start with data saved from a previous simulation. The boundary conditions define the interface between the pipeline system and its surroundings. There are several options available, but basically either flow rate or pressure must be specified at each pipeline inlet and outlet boundary. Due to the numerical solution scheme, OLGA is particularly well suited for simulating rather slow mass flow transients. The semi-implicit time integration implemented allows for relatively long time steps, orders of magnitudes longer than those of an explicit method (which would be limited by the Courant Friedrich Levy criterion based on the speed of sound). This is important for the simulation of very long transport lines, where typical simulation times in the range of hours to several days will require long time steps, to have efficient run times. The necessary fluid properties (gas/liquid mass fraction, densities, viscosities, enthalpies etc.) are normally assumed to be functions of temperature and pressure only, and have to be supplied by the user as tables in a special input file. Thus, the total composition of the multiphase mixture is assumed to be constant both in time and space for a given branch. The user may specify different fluid property tables for each branch, but has to ensure realistic fluid composition when several pipeline branches merge into one. It is also possible to perform a simulation using compositional tracking, where the compositional data is provided in a separate feed file and the code calculates the fluid properties internally. This means that the total composition may vary both in time and space, and that no special consideration is needed for a downstream branch. The purpose of this manual is to assist the user in the preparation of the input data for an OLGA simulation. Chapter 2 gives an overview of the required and the optional input to OLGA. It also describes in some detail, the different modules for simulating process equipment, slugtracking and water as a separate phase. A detailed description of all input data and the required fluid property tables can be found in chapters 3 and 4. The output is described in chapter 5. The user is also advised to examine the input variable definitions in the comment records in the sample cases given in the appendices. The sample cases presented in appendices are intended to illustrate important program options, but they can also serve as benchmark during program installation.

Page 4

Chapter 1: Introduction

OLGA comes in a basic version with a number of optional modules. These modules are the Water module, the Slugtracking module, the Bundle module, the Soil module, the FEMTherm module, the Multiphase pumps module, the Corrosion Module, the Advanced Well module, the Wax Deposition module, the MEG Tracking module, the Compositional Tracking module, the Complex Fluid module, the Tuning module, and the Server module. In addition there is a number of additional programs like the OLGA GUI and the FEMThermViewer for preparation of input data and visualisation of results. These are available to the user according to the user's licensing agreement with Scandpower Petroleum Technology. The modules are described in the following chapters.

1.2 Potential Applications The dynamic multiphase flow model in OLGA has a wide range of applications. The model is basically verified against data from the SINTEF Multi-Phase Flow Laboratory, IFE’s small/medium size high density flow loops, and field data, in addition to small scale laboratory data. The applied numerical method makes it particularly well suited for simulation of flow transients. This was also the original motivation for the development of the model: available steady state models are of very limited use for the design engineer who is considering two-phase fluid transportation in pipelines. An important example of an unstable flow situation of great practical importance is the occurrence of slug flow. Two types of slug flow are recognised in OLGA; hydrodynamic or "normal" slug flow, and terrain induced slug flow. The terrain induced slugs are created by the accumulation of liquid at low points in the pipeline, in dips or bends, and may be many orders of magnitude longer than the slugs occurring in hydrodynamic slug flow. Slugs represent a serious challenge to the design and operations of the receiving process equipment. The OLGA slugtracking module can follow the growth or decay of each individual slug. Some highly relevant applications of OLGA are briefly presented below. The discussion that follows is based on experience from the use of OLGA in the oil and gas industry during the last years. Typical systems that OLGA may be applied to, are: - Oil and natural gas flowlines or transportation lines - Wet gas or condensate pipelines - Well stream from a reservoir - LNG/ LPG/ NGL pipelines - Dense phase pipelines - Network of merging and diverging pipelines - Artificial lift and other mass source injections - Pipelines with process equipment - Single phase gas or liquid - Small diameter pipelines with various fluids - Laboratory experiments - Topside process systems

Chapter 1: Introduction

Page 5

Three major fields of application are pipeline design studies, operational studies and safety analysis. Chapter 6 contains a list of papers describing the OLGA model and its applications. 1.2.1 Pipeline Design OLGA is a powerful instrument for the design engineer who is considering different concepts for fluid transportation in pipelines, e.g. oil and gas from a subsea production well. The dimensions and layout of a pipeline must be optimised under given restrictions. The limiting conditions may be the available total pressure drop, a time varying field production rate, a minimum temperature that has to be avoided (e.g. due to the formation of hydrates), a flow regime that gives high pipe corrosion or erosion, an outlet receiving capacity limitation or the occurrence of terrain induced slugs. For example, in a flow capacity study, an undersized pipe will give a prohibitively high pressure drop, and a critical erosional velocity may be reached at some point in the pipeline. Conversely, if the diameter is too large, terrain slugging might occur. A possible suppression of terrain slugging can be studied with available process equipment in OLGA, such as chokes, compressors, check valves, etc. If terrain slugging is allowed, OLGA can indicate the transients the system must withstand (e.g. the value of the largest pressure peak) and the required capacity of the outlet slug catcher. Thermal calculations may help when making decisions regarding pipe material and wall thickness, and whether the pipe will have to be insulated or buried at the sea bottom. Simulation of different pipe network configurations is also possible. OLGA may be used in the design of merging flow lines from different production wells with different fluids into a manifold that is connected to several multiphase transport lines. 1.2.2 Pipeline Operation OLGA can be of great assistance in defining the operational strategies of a multiphase flow system. Consequences of changes in operating conditions are difficult to foresee but can be predicted with OLGA. Some typical events during operation of oil and gas pipelines that can be simulated with Olga, are discussed below. Pipeline shut-down If the flow in a pipeline for some reason has to be shut down, different procedures may be investigated. The dynamics during the shut-down can be studied as well as the final conditions in the pipe. The liquid content is of interest as well as the temperature evolution in the fluid at rest since the walls may cool the fluid below a critical temperature where hydrates may start to form. Pipeline start-up The initial conditions of a pipeline to be started is either specified by the user or defined by a restart from a shut-down case. The start-up simulation can determine the evolution of any accumulated liquid slugs in the system. A start-up procedure is often sought whereby any terrain slugging is minimised or altogether avoided. The slugtracking module is very useful in this regard.

Page 6

Chapter 1: Introduction

In a network case a strategy for the start-up procedure of several merging flow lines could be particularly important. Change in production Sometimes the production level or type of fluid will change during the lifetime of a reservoir. The modification of the liquid properties due to the presence of water, is one of the important effects accounted for in OLGA. A controlled change in the production rate or an injection of another fluid are important cases to be simulated. Of particular interest is the dynamics of network interactions e.g. how the transport line operation is affected by flow rate changes in one of several merging flowlines. Process equipment Process equipment can be used to regulate or control the varying flow conditions in a multi-phase flow line. This is of special interest in cases where slugging is to be avoided. The process equipment simulated in OLGA includes critical- and subcritical chokes with fixed or controlled openings, checkvalves, compressors with speed and antisurge controllers, separators, heat exchangers, pumps and mass sources and sinks. Pipeline pigging OLGA can simulate the pigging of a pipeline. A user specified pig may be inserted in the pipeline in OLGA at any time and place. Any liquid slugs that are created by the pig along the pipeline can be followed in time. Of special interest is the determination of the size and velocity of a liquid slug leaving the system ahead of a pig that has been inserted into a shut-down flow line. Hydrate plugs A simple model for hydrate plug growth and release is included in OLGA. Based on user specified hydrate formation rate as a function of fluid temperature and other characteristic hydrate data, the growth, the release, and the transport of hydrate plugs can be simulated. Drilling Both conventional and underbalanced drilling (UBD) can be simulated in OLGA. A drilling path must be predefined, and then the drilling operation with reservoir interactions and varying penetration rate is performed. The Underbalanced Interactive Transient Training Simulator (UBitTS) is a stand-alone tool delivered by Scandpower Petroleum Technology that is specially adapted for simulating and visualising this operation. 1.2.3 Safety Analysis Safety analysis is an important field of application of OLGA. OLGA is capable of describing propagation of pressure fronts. For such cases the time step can be limited by the velocity of sound across the shortest pipe section.

Chapter 1: Introduction

Page 7

OLGA may be useful for safety analysis in the design phase of a pipeline project, such as the positioning of valves, regulation equipment, measuring devices, etc. Critical ranges in pipe monitoring equipment may be estimated and emergency procedures investigated. Consequence analysis of possible accidents is another interesting application. The state of the pipeline after a specified pipe rupture or after a failure in any process equipment can be determined using OLGA. Simulations with OLGA can also be of help when defining strategies for accident management, e.g. well killing by fluid injection. Finally it should be mentioned that the OLGA model is well suited for use with simulators designed for particular pipelines and process systems. Apart from safety analysis and monitoring, such simulators are powerful instruments in the training of operators.

Page 8

Chapter 2: Input Description and Program Execution

CHAPTER 2

INPUT DESCRIPTION AND PROGRAM EXECUTION 2.

INPUT DESCRIPTION AND PROGRAM EXECUTION................................................10 2.1

General Input Structure........................................................................................10 2.1.1 Input file 1/General Rules .........................................................................10 2.1.2 Input File 1/Data Structure........................................................................10 2.1.2.1 Case information and execution modes ......................................11 2.1.2.2 Auxiliary information ....................................................................13 2.1.2.3 Geometrical system definition......................................................13 2.1.2.4 Boundary and initial conditions ....................................................14 2.1.2.5 Compositional model ...................................................................15 2.1.2.6 Process equipment ......................................................................15 2.1.2.7 Output options .............................................................................16 2.1.3 Input Data Dependency............................................................................17 2.1.4 Description of Input file 2/ Fluid Properties...............................................17 2.1.5 Input file 3/Restart ....................................................................................19 2.1.6 Input file 4/Compressor Data....................................................................19 2.1.7 Input file 5/Pump Data ..............................................................................19 2.1.8 Input file 6/Wax Data ................................................................................19 2.1.9 Input file 7/Hydrate Curve Data ................................................................20

2.2

Process Equipment ..............................................................................................20 2.2.1 Separator..................................................................................................20 2.2.2 Compressor ..............................................................................................26 2.2.3 Controllers ................................................................................................33 2.2.4 Leak..........................................................................................................44 2.2.5 Mass Sources...........................................................................................44 2.2.6 Plug or Pig ................................................................................................48 2.2.7 Heat Exchanger........................................................................................53 2.2.8 Check Valve .............................................................................................53 2.2.9 Valves.......................................................................................................53 2.2.10 Pumps ......................................................................................................57

2.3

Special Options ....................................................................................................65 2.3.1 Slug/Pig Tracking Module.........................................................................65 2.3.1.1 Slug Statistics ..............................................................................71 2.3.2 The Water Module ....................................................................................71 2.3.2.1 Gas-water simulations .................................................................75 2.3.3 Well Description .......................................................................................76 2.3.4 The Advanced Well Module......................................................................79 2.3.4.1 Reservoir inflow ...........................................................................79 2.3.4.2 Drilling option ...............................................................................82 2.3.4.3 High pressure displacement pumps (pump battery) ....................86 2.3.4.4 Bit nozzles ...................................................................................86 2.3.4.5 Pipe Upsets .................................................................................87 2.3.4.6 The complex viscosity model .......................................................89

Chapter 2: Input Description and Program Execution

Page 9

2.3.4.7 Mud Property Table .....................................................................91 2.3.4.8 Gas Lift Valve (GLV)....................................................................91 2.3.5 The Complex Fluid Module ......................................................................95 2.3.5.1 The slurry plug extension ............................................................95 2.3.6 Thermal Computations .............................................................................98 2.3.6.1 Thermally driven natural/free convection in the axial direction .100 2.3.7 Bundled pipelines (Bundle Module)........................................................102 2.3.8 Soil Module.............................................................................................103 2.3.9 The FEMTherm module .........................................................................104 2.3.9.1 Limitations and recommendations .............................................107 2.3.10 Corrosion Module ...................................................................................109 2.3.11 Wax Deposition Module .........................................................................113 2.3.12 The MEG tracking module......................................................................118 2.3.13 The Compositional Tracking module......................................................120 2.3.13.1 The compositional model in OLGA ..........................................120 2.3.13.2 PVT routine package ...............................................................121 2.3.13.3 User input to the compositional model ....................................121 2.3.14 The Black Oil module .............................................................................124 2.3.14.1 Black Oil Correlations ..............................................................125 2.3.14.2 Thermodynamic properties ......................................................130 2.3.14.3 How to use the Black Oil Module.............................................131 2.4

Program Execution ............................................................................................132 2.4.1 Core Requirements ................................................................................132 2.4.2 OLGA execution .....................................................................................132 2.4.3 Steady State Processor..........................................................................132

2.5

Restrictions and Limitations ...............................................................................133 2.5.1 Fluid Properties ......................................................................................133 2.5.2 Two-Phase Model Limitations ................................................................133 2.5.3 Vital Numerical Recommendations ........................................................134 2.5.4 Array Size Limitations.............................................................................135 2.5.5 Input/Output Limitations .........................................................................135 2.5.6 Standard conditions in OLGA.................................................................136

Page 10

2.

Chapter 2: Input Description and Program Execution

INPUT DESCRIPTION AND PROGRAM EXECUTION

2.1 General Input Structure The input system of OLGA consists of seven files. Input file 1 and 2 are always required while files 3, 4, 5, 6 and 7 are optional. The program execution is described in section 2.3.2. The first file (input file 1) contains the data particular to a given case such as geometry, operational conditions, output variables etc. The second (input file 2) contains the fluid property tables or the compositional data (for compositional tracking). The third file (input file 3) is a restart file that is used to continue a previous calculation. If a compressor is simulated, the compressor data are given in input file 4, and if a pump is simulated the pump characteristics are given in input file 5. If wax deposition is simulated, the wax data are given in input file 6, and if formation of hydrates is to be detected, a hydrate curve can be given in input file 7. The input files 2, 3, 4, 5, 6 and 7 are referenced in the main input file (1). Most of the files have default extensions that are applied when the files are generated in the OLGA GUI etc., but the code will accept other extensions. The following is an overview of the input files. An exhaustive description of the input is given in chapter 3. 2.1.1 Input file 1/General Rules The default extension of this file is inp (e.g., simulation1.inp). The input data are organised in groups of similar physical contents. A data group consists of a keyword name followed by a list of keys with the appropriate data. Some keywords work as switches and require no data: program options are then determined by the keyword only. Up to 60 characters are used to specify keywords. The user may abbreviate the keywords as long as the keyword can be uniquely defined. The data in input file 1 is read according to the syntax rules presented in section 3. It is possible to include a data file into the case data input file using a READstatement preceded by a (%) sign. Ex:

%read geometryl.dat

2.1.2 Input File 1/Data Structure The input is presented in six parts. 1. 2. 3. 4. 5. 6. 7.

Case information and execution modes Auxiliary information Geometrical system definition Boundary and initial conditions Compositional model Process equipment Output options

Chapter 2: Input Description and Program Execution

Page 11

2.1.2.1 Case information and execution modes Case information and execution mode for a particular simulation is specified using the following keywords: CASE DTCONTROL FILES HYDRATECHECK INTEGRATION OPTIONS RESTART CORROSION SLUGTRACKING PIGTRACKING WAXDEPOSITION WATEROPTIONS SHUTIN TUNING FLUID DRILLINGFLUID ENDCASE CASE is used for identification of a case by defining project name, title of simulation, author, date and other relevant identification. DTCONTROL specifies the options for time step control. Two options are available. a. Keep time step less than a theoretical limit for mass flow stability (CFL). b. Keep time step small enough to keep error of pressure integration below a certain limit. These options can be ON or OFF for any section or position in the system. FILES specifies auxiliary data files for fluid properties, and compressor and pump characteristics. HYDRATECHECK is used to give information on possible formation of hydrates. INTEGRATION is used to specify start and end time of a simulation and limits for time step control, min, max, and initial. OPTIONS specifies options for temperature calculation, steady-state, pre- and post processing of data and number of phases to be simulated. A number of different calculation options can be selected. Five different temperature options are available. 1. TEMPERATURE = OFF

No temperatures are calculated. Temperatures must be specified with the INITIAL keyword statement.

2. TEMPERATURE = ADIABATIC Adiabatic flow is assumed, no energy exchange with pipe walls.

Page 12

Chapter 2: Input Description and Program Execution

3. TEMPERATURE = WALL

Calculation of heat transfer between fluid and inner pipe wall surface, heat conduction and heat storage in pipe wall and heat transfer on outer pipe wall surface.

4. TEMPERATURE = UGIVEN

A user specified overall heat transfer coefficient is used for calculating heat exchange between fluid and ambient conditions.

5. TEMPERATURE = FASTWALL An overall heat transfer coefficient is calculated from wall data and is used for wall heat transfer calculations. The thermal transient in the wall materials is neglected. A simulation can be a continuation of a previous case. RESTART specifies the name of the restart file that contains the data from the previous case. Optionally, it also specifies timepoints for (writing data to) and reading data from the restart file, and for writing to the restart file produced by the current case. CORROSION specifies the use of the corrosion module. This module is described in section 2.3.10. SLUGTRACKING and PIGTRACKING specifies the use of the slugtracking module. This module is described in section 2.3.1. WAXDEPOSITION specifies the use of the wax deposition module. This module is described in section 2.3.11. In case the three phase option is selected under OPTION, the keyword WATEROPTION can be used to specify the three-phase flow options available. The water module is described in section 2.3.2. In the case that the WATEROPTION is selected, some numerical oscillations can arise, particularly during shutdown simulations. In order to reduce such oscillations, the keyword SHUTIN can be used during the shutdown period. Within a user defined time period, the flow regime will always be stratified/annular and some nonphysical flow regime flipping can be avoided. The TUNING keyword may be used for tuning certain parameters in the OLGA model to optimise for specific sets of measured data or for sensitivity studies. The tuning parameters available are described in the TUNING section in chapter 3 (3.3.56). This keyword is available both in batch and server mode. Note: TUNING should be applied with great care, as the validation and verification of the OLGA model may not be valid for such cases. FLUID specifies the use of the module. This module enables simulation of nonNewtonian fluids. Further description in chapter 3 (3.3.20). DRILLINGFLUID defines a drilling fluid. ENDCASE defines the end of input file 1.

Chapter 2: Input Description and Program Execution

Page 13

2.1.2.2 Auxiliary information For valves and wells, a table can be defined for specifying the flow performance. Such a table can be specified using the keyword TABLE. For a valve, the discharge coefficient, CV, can be specified as a function of the valve opening and for a well, the flow rate can be specified as a function of pressure difference between the reservoir and the well inflow section. Basically, OLGA works with SI units. The user can, however, select from a given number of units for different physical quantities for both input and output. Should the user wish to use another unit than those predefined, the possibility exists to define such a unit for any of the possible physical quantities, pressure, flow, energy etc. This is achieved by using the keyword UNIT. For fluid properties and compressor characteristics the selection of units is limited to SI or BRITISH units. 2.1.2.3 Geometrical system definition The OLGA model accepts a network of diverging and converging branches. Each branch consists of a sequence of pipes and each pipe is divided into sections. These sections correspond to the spatial mesh discretisation in the numerical model. Each branch starts and ends at a node. There are three different types of nodes: • Terminal (free end) nodes, where boundary conditions must be specified • Split nodes, where branches split • Merge nodes, where branches are coupled together A staggered spatial mesh is applied. That is, flow variables (velocities, mass flows, fluxes, etc.) are defined at section boundaries, while pressure, mass, phase fraction, temperature, etc. are average values in section volumes, (refer to Fig. 2.1).

1

2

1

3

2

4

3

5

4

6

5

1,2,3,…,5 (inside) : section volumes 1,2,3,…,6 (outside): section boundaries

Fig. 2.1 Pipeline discretisation Each pipe in the system can have a pipe wall consisting of layers of different materials. For the specification of the geometrical network with pipes and pipe walls the following keywords are applied. Keyword

Description

NODE

Defines terminal and merging nodes.

BRANCH

Defines start and end node, geometry of the branch and fluid name for that branch.

Page 14

Chapter 2: Input Description and Program Execution

GEOMETRY

Defines name and starting point for a particular sequence of pipes. All pipes defined by keyword PIPE directly thereafter belong to the same geometry.

PIPE

Specifies name and end point or length and elevation of a pipe. Further are specified discretisation, diameter, inner surface roughness, and wall name.

POSITION

A number of positions with names can be defined for later reference.

MATERIAL

Different wall materials with name and properties can be specified.

WALL

Different pipe walls with name, radial discretisation and material for each layer can be specified.

REROUTE

The outlet of a branch can be re-routed from one node to another during a simulation.

ANNULUS

Defines the configuration of pipes that are bundled together and have thermal interaction.

BITNODE

Specifies the branches that connect at the drilling bit for drilling simulation

BUNDLE

Defines which lines belong to a bundle and which OLGApipes it covers.

COVER

Modifies properties of cells in a soil group by specifying that the cell is in the sea or contains another material.

CROSSOVER

Defines coupling of bundle lines.

CROSSSECTION

Defines what lines, bundles, branches and shapes that belong to a cross section.

GRID

Specifies a grid that can be used to define a SOIL group.

LINE

Defines a bundle line (dimensions, fluid and wall properties) to be used with the bundle module.

SHAPE

Describes the external contour of a material.

SOIL

Defines a soil group by selecting a grid and main material.

2.1.2.4 Boundary and initial conditions For the solution of the flow equations, necessary boundary conditions must be specified. All points in the system where mass flow into or out of the system can occur must be specified. Initial conditions must also be either specified or calculated. Parameters used for calculating heat transfer must also be specified.

Chapter 2: Input Description and Program Execution

Page 15

The following keywords can be used to specify the flow of mass and energy into and out of the pipeline system: Keyword

Description

BOUNDARY

For each terminal node, open or closed condition is specified. For an open node, values for pressure, temperature and mass fractions are specified.

HEATTRANSFER

Definition of the heat transfer parameters.

INITIAL

Defines initial values for flow conditions in the system for the case when no steady state calculation is performed.

LEAK

Defines the position for a leak in the system with leak area and back pressure.

SOURCE

Defines mass source with name, position, and data necessary for calculating the mass flow into or out of the system. The source flow can be given by a time series or determined by a controller.

WELL

Defines a well with name, position and flow characteristics.

2.1.2.5 Compositional model For the use of compositional tracking, keywords that define calculation options and feeds (fluids) can be defined. The following keywords are defined: Keyword

Description

COMPOPTIONS

Specifies the different options used in the PVT routines for calculating material properties and flashing terms in the compositional module.

FEED

Defines a feed and its components with belonging mole fractions.

2.1.2.6 Process equipment In order to obtain a realistic simulation of a pipeline system, it is normally required to include some process equipment in the simulation. Various types of process equipment can be simulated. A description of the different process modules can be found in section 2.2. It should be notified that the steady state pre-processor ignores some of the process equipment. These are marked with an *. However, they can be included in the input for subsequent dynamic simulations. The following keywords are defined: Keyword

Description

Page 16

Chapter 2: Input Description and Program Execution

BITNOZZLE

Defines pressure loss through the drill bit nozzles.

CHECKVALVE*

Defines name, position and allowed flow direction for a check valve.

COMPRESSOR*

Defines name, position and operating characteristics of a compressor.

CONTROLLER

Defines name, type, controlled variable(s) and characteristic data for a controller.

HEATEXCHANGER

Defines name, position and characteristic data for a heat exchanger.

LOSS

Defines name, position and values for local pressure loss coefficients.

PLUG*

Defines name, starting position and characteristic data for a pig or a hydrate plug.

PUMP*

Defines name, type and characteristic data for a pump.

SEPARATOR

Defines name, position and characteristic data for a separator.

TOOLJOINT

Defines internal and external pipe upsets in the flow path, resulting in correction factor for the wall roughness.

VALVE

Defines name, position and characteristic data for a choke or a valve.

SETPOINTVARIABLE Alternative way of defining controlled variables. 2.1.2.7 Output options The user can control the output by the use of the following keywords. Keyword

Description

OUTPUT

Defines variable names, position and time for printed output.

PLOT

Defines variable names and time intervals for writing of data to the OLGA viewer file.

PRINTINPUT

Specifies the printing of input data. In addition to printing of different input data in an edited form, fluid properties and compressor data may be printed.

PROFILE

Defines variable names and time intervals for writing of data to the profile plot file.

TREND

Defines variable names and time intervals for writing of data to the trend plot file.

Chapter 2: Input Description and Program Execution

Page 17

2.1.3 Input Data Dependency The keyword statements with corresponding key values may be given in an arbitrary order with the following basic limitation. Any reference to information given in another keyword statement requires that this keyword statement has already been specified. For example, if the keyword UNIT is specified, all keyword statements containing dimensioned quantities using the units specified in a UNIT statement must be given after the UNIT statement. There are some exceptions to this limitation, e.g., a specific GEOMETRY name can be referred to in a BRANCH statement before it is defined, and a CONTROLLER name can be referred to in the INTEGRATION statement before it is defined. Any keyword statement appearing before a RESTART statement will not be recognised. Any change in input data in a restart run must be specified after the RESTART statement. The keyword statements that belong to the geometrical system definition cannot be changed in a restart run. Further dependency between input data are specified in section 3. The following table lists keywords that are always required (R), optional (O) or not allowed (-). Keywords that are optional both with and without restart are not listed. KEYWORD STATEMENT

WITHOUT RESTART

WITH RESTART

R R R O**

R O* R R

Case information and execution modes

ENDCASE FILES INTEGRATION RESTART

Geometrical system definition

NODE BRANCH GEOMETRY MATERIAL PIPE WALL

R R R O R O

-

Boundary conditions

BOUNDARY

R

O

Output options

OUTPUT

R

O

* **

If a PVT table file is not specified in a restart, OLGA will apply the same file as used in the simulation restarted from. For definition of time points for writing to restart file.

2.1.4 Description of Input file 2/ Fluid Properties OLGA requires the necessary fluid properties, defined in Chapter 4, to be given as pre-calculated tables in a special input file, or as component data in a feed file where fluid properties are calculated internally in the code. The latter option, compositional tracking, is described in section 2.3.13, while the rest of this section describes the option with pre-calculated tables. The default extension of a file with precalculated tables is .tab, and .ctm for a feed file.

Page 18

Chapter 2: Input Description and Program Execution

In the case of a pipeline network, different fluid properties are allowed in each of the pipeline branches. In this case, however, the user must specify fluid property data for a realistic composition in the merging branch. The fluid properties required for each phase, gas, oil and water (if 3-phase): -

densities partial derivatives of densities w.r.t. pressure and temperature viscosities heat capacities at constant pressure and composition enthalpies thermal conductivities entropies (optional for critical flow model)

Also required are: -

gas mass fraction water vapour mass fraction in the gas phase equilibrium free water mass fraction surface tension between each pair of phases

The program itself accepts any fluid provided the tables conform to the specified format in Chapter 4. For example, typical low pressure laboratory air water experiments may be simulated by attaching the proper air-water data file. In this case a different correlation for the void fraction in liquid slugs should be applied and this is achieved by using the OPTION-keyword setting the key parameter SLUGVOID = AIR. The fluid properties represent a key input to OLGA. They define a significant part of the model of the system to be simulated. Unphysical fluid properties are often the reason for unrealistic simulation results. The fluid property tables that are supplied as input to OLGA are usually generated from a PVT package. Different programs that determine the fluid properties from equilibrium calculations of a given hydrocarbon composition often differ in results and they may even fail to converge to the correct solution at certain conditions. For this reason the user should carefully examine the fluid property tables to ensure consistency and avoid unphysical values. Among properties that frequently cause wrong simulation results when they are out of range are viscosities, phase densities and phase density partial derivatives. The latter are important in dynamic cases since they determines the "stiffness" of the system and thereby the tendency to develop terrain slugs and the size and frequency of such slugs. As a rule of thumb the pressure derivative of the densities of each phase should correspond to typical values of the inverse of isothermal sound velocities squared. Another rough consistency check is that the heat capacity at constant pressure should not deviate too much from the change in enthalpies with the temperature in the tables. Another important aspect is the occurrence of a single phase region for at least a part of the pressure and temperature range. It should be checked that properties of the non-existing phase have physically realistic values. The reason is that the non-existing phase may actually occur for such pressure and temperature combinations due to slip effects or phase separation. It is recommended to make 3D plots of the fluid properties in order to check if something is very wrong with the data.

Chapter 2: Input Description and Program Execution

Page 19

When running OLGA, the PVT-data are, to some extent, checked for unrealistic values and if necessary modified before the simulation starts. If such modifications are made, a warning will be written to the print out file and for standard output. Enthalpies can have different zero point depending on the PVT-tool used for the calculations. To avoid problems with negative enthalpy values the tables are checked, and if negative values are encountered a constant is added to all enthalpy values (for all phases) so that the table values become positive. A message about this is written to the output file. 2.1.5 Input file 3/Restart The default extension of this file is .rsw. The program will always dump the values of the variables necessary to continue the simulations except the fluid property tables, to the restart file. By default this is done at each printout time as specified with the keyword OUTPUT. The file is by default rewound before any write operation, so it contains the values at one particular time, only. Optionally, the user can specify timepoints for writing data to the restart file and turn off the rewinding of the file before writing data. In a restart case the program reads the restart file and execution may continue where the previous case stopped. Optionally, the user can specify from what timepoint to continue a previous case. This is done by specifying the keyword RESTART; the complete state from a previous run is recovered and the run may continue with modifications given in the keyword statements that follow after the RESTART keyword. The RESTART feature may be used in three different ways: to continue an incomplete previous run, to intentionally subdivide a large job into steps or to simulate a series of major events such as a start, stop, and restart of production. 2.1.6 Input file 4/Compressor Data If a compressor is simulated, a compressor data file is required. The file contains tables of the compressor characteristics as a function of reduced rotational speed RPM and reduced inlet massflow, see chapter 4. The reason for giving the characteristics as function of reduced values is to obtain one table for several inlet conditions (pressure, temperature) instead of having one table for each inlet condition. 2.1.7 Input file 5/Pump Data If a pump is simulated, a pump data file can be given. The pump data file contains the pump characteristics and is described in more detail in section 2.2.10 and in chapter 4. The code also contains a default set of pump data tables that can be used if the pump data file is not given. 2.1.8 Input file 6/Wax Data If wax deposition is simulated, a wax data file is required. The wax data file contains a table with the properties of the wax forming components and is described in more detail in chapter 4.

Page 20

Chapter 2: Input Description and Program Execution

2.1.9 Input file 7/Hydrate Curve Data If the possible formation of hydrate is simulated, a hydrate curve file is required. The hydrate curve consists of pairs of temperatures and pressures. An example is shown in section 3.3.25.

2.2 Process Equipment The following is a description of the models of the process equipment available in OLGA. The available components are: two and three phase separators, critical and subcritical chokes and valves, compressor with controlled bypass, pumps with recycle and bypass flow, heat exchanger, check valve, controlled mass source, leak, and pig/plug. The main purpose of including process equipment has been to give more realistic boundary conditions for multi-phase transport lines. A particular motivation has been to study the influence of a process system (and its control algorithms) on particular multi-phase phenomena such as terrain slugging in the pipeline-riser system. The process equipment in OLGA is not intended as a tool in the design of a process system; for example the effectiveness of the separators must be given and the heat exchangers are idealised heat sinks. The setting of control parameters such as amplification and integral time might be improved with better knowledge of the conditions in the transport line. For example, it was found that the amplification of a flow controller had to be reduced when the liquid flow rate was increased and many droplets were created in the riser. Severe velocity oscillations developed, otherwise. Technically the program accepts process equipment anywhere along the pipeline. The user must, however, assure a sensible coupling of the process equipment as interactions may lead to instabilities. The user does not need to consider time step changes due to process equipment, the time step is automatically adjusted if any strong transient is occurring in the process equipment, in particular in connection with controller actions. 2.2.1 Separator The process equipment includes single train and multi train separators. They are modelled as (fictitious) pipe sections (one per separator) each separator with a user defined length and inner diameter. The single train separators follow the flow in one of the separator outlets, whereas the multi train separators follow all the outlets in different pipelines. The two separator types are described in more detail below. Single train separator: Please observe that for a network case, the single train separator should not be positioned in the first section of the branch immediately downstream of a junction node. The single train separators are equipped with normal and emergency drains. The normal drain opening is governed by the control system while the emergency drain just opens and closes. Both the normal drain valve and the emergency drain valve have finite opening and closing time, given by the user. However, if the separator

Chapter 2: Input Description and Program Execution

Page 21

level drops below a critical value, all drains close immediately to prevent situations that OLGA cannot handle numerically. Model description and user guidelines: Fig. 2.2 shows the schematic of a three phase single train separator in OLGA. 1. Separator type: The separator may be horizontal or vertical, two-phase or three-phase. If the water option is not used, only two phase separator is allowed. 2. Pipeline downstream of single train separator: The pipeline may continue from the gas side of the separator or from the normal oil drain. It is also possible to mix the gas and oil downstream of the separator. The actual option is determined by the keyword TRAIN. In the latter case the two pipes between the separator and the mixing point are treated (numerically) as singular flow restrictions and they are not defined within the regular pipe model (i.e. they have no volume). PC

Gas

Gas

Oil Water LC

Oil LC Water

Fig. 2.2 An illustration of a three-phase train separator 3. Valves: The separator has the following types of valves attached (not all of them are used for all input modes): (1) Normal oil drain valve with a subcritical flow model (2) Emergency oil drain with a subcritical flow model (3) Water drain with a subcritical flow model (4) Gas outlet: The valve model is used with either subcritical or critical flow The valves can be referred to (defined in keyword VALVE), or be defined in the SEPARATOR keyword directly (in which case the valve models are the same as in VALVE). The valve openings (areas) are controlled by the controller system. Therefore specifications of controller reference labels for the normal oil drain valve, normal water drain valve and the gas outlet valve are required. If the valves are defined through the keyword VALVE, the controllers’ labels are specified

Page 22

Chapter 2: Input Description and Program Execution

in VALVE. There is no controller for the emergency valve (only governed by the levels specified below). If valve sizing tables are used, the liquid pressure drop equation (eq.(2.73)) is used for oil drain, emergency oil drain and water drain. The gas pressure drop equation (eq. (2.74)) is used for the gas outlet. REMARKS:

There can be no gas valve if a compressor is located at the separator gas outlet (the boundary succeeding the separator section).

4. Levels used by a single train separator: A single train separator needs specification of 3 different levels if it is a two phase separator, and 5 if it is a three phase separator since separate water and oil drains are used. These levels are given either as phase fractions or as level heights. The levels are: Keyword

Description

HHOILHOLDUP HHOILLEVEL

The maximum liquid level allowed before the oil emergency drain starts to open. The opening time is given in the input as STROKETIME.

RESETHOLDUP RESETLEVEL

The liquid level below which the oil emergency drain starts to close. The closing time is given in the input as STROKETIME.

LLOILHOLDUP LLOILLEVEL

The liquid level below which the oil drain rate starts to decrease.

LLWATHOLDUP LLWATLEVEL

The water level below which the water drain rate starts to decrease.

HHWATHOLDUP HHWATLEVEL

The water level above which water will be drained together with oil.

LLOILHOLDUP/LLOILLEVEL and LLWATHOLDUP/ LLWATLEVEL do not affect the specified valve openings, but controls the drain rates from the separator directly. That is, the drain rates are scaled down in order to avoid too low holdup (see remark below) in case the controllers are not properly defined. REMARKS:

If TRAIN = GAS the separator will be treated as a normal section if the liquid holdup becomes larger than 0.995. That is, the gas and liquid fraction in the flow through the gas outlet is determined by the gas mass to liquid mass ratio in the separator. The oil flow (liquid flow if two-phase separator) through the oil drain is set to zero when the oil level drops below LLOILLEVEL or the bulk liquid fraction is less than 0.001. For the water drain, the water flow is set to zero when the water level drops below LLWATLEVEL or when the bulk water volume fraction is less than 0.001.

Chapter 2: Input Description and Program Execution

Page 23

If TRAIN = OIL the separator will be treated as a normal section if the liquid holdup drops below 0.005. That is, the gas and liquid fraction in the flow through the oil outlet is determined by the gas mass to liquid mass ratio in the separator. The flow through the gas outlet is treated as described for TRAIN = GAS when the liquid holdup becomes larger than 0.995. If TRAIN = MIX the gas and oil are mixed downstream of the separator. In this case the gas outlet is treated as if TRAIN = GAS and the oil outlet as if TRAIN = OIL. In this case the pipe model must include at least one complete OLGA PIPE downstream the separator. 5. Separation efficiencies a)

Liquid carryover in gas outlet. The gas-liquid separation efficiency is defined as one minus the volume fraction of the liquid droplets in the gas outlet stream. By default, the gas-liquid separation efficiency is equal to one, that is, no liquid carryover in the gas outlet. The user can, however, specify a constant gas-liquid separation efficiency by the key EFFICIENCY in the keyword SEPARATOR. The liquid droplet volume fraction in the gas stream is then equal to one minus the value assigned to EFFICIENCY. For three phase flow the liquid droplet volume fraction is distributed to water and oil droplet volume fractions according to the water and oil volume fractions in the settled liquid in the separator.

b)

Oil in water drain. The oil volume fraction in the water drain is determined by the following relation for separation efficiency:

eff o = 1 −

K so Trsp

(2.1)

where Kso is the time constant for separating oil from water and Trsp is the residence time which is defined as the separator liquid volume / liquid volume flow into the separator. The oil volume fraction in the water drain is then 1 - eff0. c)

Water in oil drains. The water volume fraction in the oil drains is determined by an equation similar to the one above:

eff w = 1 −

K sw Trsp

(2.2)

where Ksw is the time constant for separating water from oil. If the water level is above a certain limit, HHWATHOLDUP or HHWATLEVEL, the water above this limit is assumed to be drained together with the oil and the separation efficiency for separating water from oil is modified as follows:

Page 24

Chapter 2: Input Description and Program Execution

 K  eff w = 1 − sw (1 − H of ) + (1 − eff o )H of  T  rsp  

(2.3)

where Hof is the ratio of the water layer height above the limit to the liquid height above the same limit. The water volume fraction in the oil stream is then 1-effw. 6. Separator controllers Guidelines for choosing controller parameters are given in section 2.2.3. The separator normal drain valves are governed by the control system. Two applications of controllers are recommended: a)

In a situation with no capacity limitation of the separator normal drain, a single controller for separator level is recommended. Liquid level in the separator is then the input variable to the controller.

b)

In a situation with capacity limitation of the separator normal drain, an override controller is recommended. - One subcontroller controls the separator level, where liquid level in the separator is the input variable to the subcontroller. - The other subcontroller controls the liquid flow through the normal drain. Normal drain flow is the input variable to the subcontroller.

At normal operation, the drain valve opening is controlled by the level controller, whereas in situations where the liquid flow through the normal drain exceeds the capacity of the normal drain, the drain valve opening is controlled by the drain flow subcontroller. If liquid hold-up in the separator exceeds HHOILHOLDUP or HHOILLEVEL, the emergency drain starts to open and remains open until liquid hold-up decreases below RESETHOLDUP or RESETLEVEL. Multi train separator: The multi train separators are equipped with predefined outlets, and all the outlets are followed in different pipelines. In order to simulate more than one outlet flow, the separator must be positioned in the last section of an incoming branch to a split node. The split node must have the same number of outgoing branches as the number of separator outlets. Two-phase separators have a gas outlet, a liquid outlet and an emergency outlet. For three-phase separators the liquid flow is divided into an oil outlet and a water outlet. In addition, an optional outlet for flare is available for both separators, see Fig. 2.3:

Chapter 2: Input Description and Program Execution

Page 25

flare outlet (optional) gas outlet gas oil

oil outlet

w at

w ater outlet em ergency outlet Fig. 2.3 An illustration of a three-phase multi train separator. Fig. 2.4 shows how the multi train separator is modelled in OLGA

SEP

Fig. 2.4 The multi train separator is positioned at the last section of an incoming branch. Model description and user guidelines: 1. Separator type: The separator may be horizontal or vertical, two-phase of three-phase. If the water option is not used, only two-phase separators are available. 2. Pipelines downstream of multi train separators The multi train separators have a set of predefined outlets, and the flow out of each outlet is followed in different branches. Branches must be assigned to the following outlets for a two-phase separator • Gas outlet • Oil outlet • Emergency outlet • (Flare outlet)

Page 26

Chapter 2: Input Description and Program Execution

For a three-phase separator, the following outlets are defined • Gas outlet • Oil outlet • Water outlet • Emergency outlet • (Flare outlet) 3. Valves The multi train separators have no internal valves. All valves must be defined on the outgoing branches, using the VALVE keyword. Note that a valve may be positioned at the first section boundary of an outgoing branch from a split node. 4. Levels used by a multi train separator The separator levels are controlled by the valves and controllers in the outlet branches. Moreover, the water level limit for when the water will be drained together with the oil can be specified in the separator keyword. HHWATHOLDUP or HHWATLEVEL The other level keys LLWATLEVEL, HHOILLEVEL, LLOILLEVEL and RESETLEVEL (and the corresponding HOLDUP keys) are not allowed for the multi train separators. The keys INITOILLEVEL and INITWATLEVEL are used to calculate initial oil and water level in the separator. 5. Separation efficiencies The models for separator efficiencies are the same for single train and multi train separators. See above description for single train separators. 6. Separator controllers Guidelines for choosing controller parameters are given in section 2.2.3. The multi train separator has no internal controllers, as the controllers are connected to valves, and all valves are defined outside the separator. 2.2.2 Compressor The compressor is described by compressor characteristics that give the pressure and temperature increase over the compressor as a function of flow through the compressor and the rotational speed of the compressor. In the model the compressor is represented as a flow dependent and rotational speed dependent pressure jump and energy source. Any recirculation around the compressor is treated by a source into the section upstream of the compressor, and a sink out of the section downstream of the compressor, as OLGA cannot handle recirculation directly. The compressor characteristics and the surge volume flow are given in the form of tables. The compressor surge volume flow is the lowest volume flow the compressor can operate on without being unstable. Compressor data needed for the model are found by linear interpolation in the compressor tables. There must be one set of tables for each compressor. Pressure increase and derivatives of pressure increase are calculated from the pressure characteristics and are used for setting new coefficients in the momentum

Chapter 2: Input Description and Program Execution

Page 27

equations. Temperature increase is calculated from the temperature characteristics and is used for setting new coefficients in the energy equation. The compressor speed and the recirculation around the compressor are governed by the control system. In addition, the compressor speed is limited by a user specified range. The surge volume flow calculated from the compressor tables is used as set point for the controller that controls the recirculation around the compressor. It is assumed that during operation the control system keeps the compressor within the bounds of validity of the characteristics. Compressor pressure step evaluation The compressor pressure characteristics give compressor pressure ratio as a function of reduced rotational speed and reduced mass flow.

π=

 Θ 0.5 n  p2 , 0.5  = f G p1  δ Θ 

where

π

p1 p2 G

= = = =

(-) is the pressure ratio (N/m2) is the inlet pressure (N/m2) is the outlet pressure (kg/s) is the mass flow

δ=

p1 ⋅ 10 5 Pa 1013 .

θ=

GΘ δ n Θ 0.5

T1 288 K

(−)

is normalised inlet pressure

(−)

is normalised inlet temperature

0.5

(kg / s)

(r / min)

is reduced mass flow

is reduced rotational speed

Fig. 2.5 shows a typical compressor characteristic diagram.

(2.4)

Page 28

Chapter 2: Input Description and Program Execution

Fig. 2.5 Compressor characteristic diagram

The pressure increase over the compressor is calculated from the compressor pressure characteristics. For calculation of the operating point, the compressor speed is necessary. The speed is governed by the control system and is limited by a user specified range. The range is normally determined by the speed range in the compressor tables. n = (nmax - nmin) u + nmin

(2.5)

where n is the compressor speed, and u is the signal from the control module. u is in the range from 0 to 1, where u equal to 1 means that the compressor speed is at its maximum. Compressor temperature calculation

In order to calculate gas temperatures, the power supplied by the compressor, PWC, is added as an enthalpy source to the enthalpy balance for the pipe section following a compressor boundary. The temperature resulting from this balance is used for calculating fluid properties, while the compressor outlet temperature is only used for informative purposes. Polytropic compression is assumed. The enthalpy source due to the compressor is:

H c = PWc

W i ∆z

(2.6)

where W is the mass flux through the compressor and ∆z is the section length of the section downstream the boundary where the compressor is located. For an inlet at pressure P1 and a density of ρ1, the power required for compression to an outlet pressure p2 is:

Chapter 2: Input Description and Program Execution

Page 29

n −1     1 n  p2 n   − 1 PWc = p1   ρ1 n − 1  p1   

(2.7)

The relation between pressure ratio, temperature and the polytropic exponent n is:

T2  p 2  =  T1  p1 

n −1 n

(2.8)

The compressor temperature characteristics are also given in the form of tables, and the temperature ratio is found by linear interpolation. The polytropic factor (n-1)/n is calculated from pressure ratio and temperature ratio using equation (2.9).

n − 1 ln (T2 T1 ) = n ln ( p 2 p1 )

(2.9)

Calculation of surge volume flow

The surge flow is in the form of tables, with reduced surge mass flow as a function of reduced compressor speed, see Fig. 2.5. The surge volume flow is used as set point for the anti surge controller (ASC) that controls the recirculation around the compressor, preventing unstable compressor operation. Reduced surge mass flow as a function of compressor speed is found by linear interpolation. For a compressor located at boundary j the surge volume flow is calculated as follows:

Qsurge =

p j −1  Θ 0.5    G δ  surge 1.013 ⋅ 10 5 

ρ j −1

 288    T   j −1 

0.5

(2.10)

Recirculation flow modelling

Recirculation flow around a compressor is modelled as a set of negative and positive sources, since OLGA cannot handle recirculation directly. The flow is controlled by a choke with the choke opening governed by the control system. The recirculation is between two neighbouring sections with a compressor on the common boundary, see Fig. 2.6. Only gas is allowed to flow in the recirculation loop. The recirculation flow is treated as a source into the section volume ahead of the compressor boundary, and a source out of the section volume after the compressor boundary.

Page 30

Chapter 2: Input Description and Program Execution

Fig. 2.6

Recirculation loop

The pressure drop across the restriction is equal to the pressure difference between the section downstream and upstream of the compressor. The recirculation flow is restricted by the critical pressure difference. If the pressure difference between the section upstream and downstream of the compressor is higher than the critical one, the critical one is used. The pressure drop over the restriction is: 4

 D  W2  ∆p ch = 0.5C  D  0  ρg −2 d

(2.11)

Solving for W:

W = ± (2 ρ g ∆p ch )

0.5

D  Cd  0   D

2

(2.12)

where the positive sign relates to a positive source, and the negative sign relates to a negative source. W is the mass flux, rg is the gas density in the section it is flowing out of (section after the compressor), D is the diameter of the section with the source, and Do is the orifice diameter of the controlled choke. For subcritical flow through the controlled choke the pressure difference between the section upstream and downstream of the compressor is used in equation 2.12. For critical flow through the controlled choke, the critical pressure difference is used for calculating the recirculation flow. Critical pressure difference is based on single phase gas flow with constant specific heat ratio, γ. Specific heat ratio of 1.3 is used. γ

p  γ + 1  γ −1 = π crit =  p crit  2  γ   γ −1   2    ∆p ch,crit = p − p crit = p 1 −    γ + 1     where

 cp  cv

γ is specific heat ratio 

  

πcrit is critical pressure ratio p is the pressure in the section it is flowing out of ∆pch, crit is critical pressure difference

(2.13)

(2.14)

Chapter 2: Input Description and Program Execution

Page 31

The energy leaving the section downstream of the compressor and entering the section upstream of the compressor through the recirculation loop is calculated as follows.

H rec , g = hg

Wrec , g ∆z

(2.15)

hg is the specific gas enthalpy in the compressor downstream volume, Wrec,g is the mass flux based on the section area of the section with a source and ∆z is the section length of the section with a source. A heat exchanger may also be included in the recirculation loop. The aim of the heat exchanger is to extract energy to obtain a desired heat exchanger outlet temperature. In this case, the temperature of the recirculation source entering the section upstream of the compressor has to be specified. The heat exchanger is modelled as an ideal heat loss. The energy source entering the upstream section in a situation with a heat exchanger in the recirculation loop is calculated as:

H rec , g = (hg − ∆hhex ) ∆hhex = hg − h hgsp

Wrec, g ∆z

(2.16)

sp g

is specific gas enthalpy based on the desired heat exchanger outlet

temperature and pressure in the section where the source is entering. ∆hhex is specific enthalpy decrease in the heat exchanger. The energy extracted through the heat exchanger is limited by the heat exchanger capacity.

The orifice opening of the controlled choke is governed by the control system. The control module also takes care of the stroke time of the controlled choke. The orifice is calculated as:

D0 = D0,max u 0.5

(2.17)

where u is the signal from the control module, and is in the range from 0 to 1. u equal to 1 means that the controlled choke is fully open. Restrictions and assumptions

Only gas flows in the recirculation loop. Critical flow calculations are based on single phase gas flow with a constant specific heat ratio of 1.3. If the pressure in the section upstream of the compressor exceeds the pressure in the section downstream of it, the recirculation flow is set to zero. The compressor may be positioned at any section boundary except at the outlet boundary of the pipeline. In that position the controlled bypass is unrealisable since it is defined as going from the downstream section to the upstream section.

Page 32

Chapter 2: Input Description and Program Execution

It is recommended that a separator is located upstream of the compressor in order to avoid liquid flow through it. Numerically, the compressor model works with liquid phase present but the results make no sense. Compressor minimum rpm, MINRPM, and maximum rpm, MAXRPM, are specified by the user. These two parameters determine the operating range of the compressor and they must be within the rpm range of the compressor tables. The anti surge security factor, SECURITYFACTOR, determines the anti surge control line. To protect the compressor against surge conditions, select always security factor > 1. A typical value for security factor is from 1.1 to 1.3. A security factor of 1.2 means that the control valve in the recirculation loop starts to open at a compressor inlet flow that is 20% higher than the surge flow specified in the compressor tables. The ASC should be configured as a PI controller. The ASC is a kind of non-linear controller that have two amplification factors, AMP1 and AMP2. AMP1 is used if the inlet flow to the compressor is less than the surge flow, and AMP2 if the inlet is greater than the surge flow. Both AMP1 and AMP2 have to be negative, and the absolute value of AMP1 should be higher than the corresponding absolute value of AMP2 in order to rapidly open the recycle valve and to impose an inertia to close it again. A short stroke time for the recycle valve should also be selected. Select also the controller initial output signal Uo, equal to zero.

Chapter 2: Input Description and Program Execution

Page 33

2.2.3 Controllers

The control system has been included to simulate the actions of a real control system as applied on a multiphase pipeline and typical downstream processing equipment. The main function of the control system is to maintain process parameters within specified bounds by controlling process equipment parameters like valve settings and compressor speed. Typically, the control system plays an important role during situations like: - Start-up/shut-in of production - Closing/opening of wells - Changing production levels - Receiving pigs - Damping of terrain slugging - Pressure release Operating modes of the kind mentioned above typically require units for: - Level control - Flow control - Pressure control - Anti surge control (for compressors) - Compressor speed control - Emergency shutdown system - Manual operator actions - Pressure release system These requirements were taken into account when the types of controllers implemented in the control system were chosen. There are three main types of controllers available for the control of process equipment: - Proportional-Integral-Derivative (PID) controllers - Manual controllers - ESD and PSV controllers A controller can be switched between these types and sub-types by setting the controller mode (subkey MODE). Proportional-Integral-Derivative (PID) Controller

A PID controller may be mathematically formulated as:

 1 u = K c  e +  τi

t

∫ edt + τ 0

d

de   + bias dt 

e = (x − x stp ) where: x τ u

= input process parameter (pressure, level, etc.) = time constant = output signal from controller

(2.18)

(2.19)

Page 34

Chapter 2: Input Description and Program Execution

o

= initial value

Subscripts: stp i d

= set point (or reference point) = integral = derivative

The amplification factor Kc is a dimensioned quantity. If the option with normalised amplification factor is used, the program will calculate Kc using the range given with the following expression: K

c

=

input amplificat ion factor

(2.20)

NORMRANGE

For non-linear controllers, KC, τ i, τ d can be given in tabular form as a function of the error signal e. By using this general formula, simpler controllers as P and PI controllers can be defined by giving proper values to the time constants in the PID formula. The table below shows time constants for simpler controllers. Time constants τd P controller 0.0 PI controller 0.0 PD controller > 0.0 Time constants for P, PI and PD controllers

τi 109 < 108 109

In the following, this controller formula will be frequently referred to as a standard PID controller. Single PID controller The single PID controller consists of one standard PID controller. There is only one process input parameter to the controller. A typical application of the controller unit in a process module is to control a separator level (Fig. 2.7) and it is then called a level controller. Input process parameter is liquid level in the separator and the output signal from the controller is used to control the opening of a drain valve. The controller may alternatively have flow, pressure etc. as input signal, and is then called a flow controller, a pressure controller etc.

LC

Fig. 2.7

Single PID controller used as a level controller

Override controller The override controller unit uses two or three subcontrollers. Note that the controllers referred to as subcontrollers must be type PID. The minimum signal from

Chapter 2: Input Description and Program Execution

Page 35

the subcontrollers is selected as the final output signal from the unit. A typical application of the controller unit in a process module is shown in Fig. 2.8.

Fig. 2.8 Double PID controller used as a turbine speed controller

Here one of the subcontrollers is controlling the suction pressure before the first compressor stage, and the other is controlling the pressure downstream of the second compressor stage. In normal operation, the speed is controlled by the suction pressure controller, but in situations where the outlet pressure approaches the maximum operating pressure, the speed is controlled by the high pressure controller. Fig. 2.9 shows a typical application of the override controller with three subcontrollers in a process module. Here one of the subcontrollers is controlling the flow downstream of the control valve (choke) while the other two are controlling the pressures upstream and downstream of the control valve. In normal operation, the valve is controlled by the flow subcontroller. In situations where the pressure downstream of the control valve approaches the maximum operating pressure (setpoint for downstream pressure subcontroller), the valve is controlled by the highpressure subcontroller. In situations where the pressure upstream of the control valve approaches the minimum operating pressure (set-point for upstream pressure subcontroller), the valve is controlled by the low-pressure subcontroller. LO W SELEC T

FC PC

PC

Fig. 2.9

Triple PID controller used as flow regulator

Page 36

Chapter 2: Input Description and Program Execution

Cascade controllers As illustrated below in Fig. 2.10, a cascade control uses two controllers with the output of the primary controller changing the setpoint of the secondary controller. The output of the secondary controller regulates the control device, here the drain valve.

Fig. 2.10

Cascade controller

Two types of cascade controllers exist, normal and extended. The difference between the two is how the setpoint of the secondary controller are determined. For the normal cascade controller, the setpoint of the secondary controller is determined by the output of the primary controller:

S = S min + C p ( S max − S min )

(2.21)

Where S the setpoint of the secondary controller Smin minimum setpoint Smax maximum setpoint Cp output from the primary controller For the extended cascade controller, the setpoint is calculated differently:

1   S n = S n −1 +  C P − (C P ,max + C P ,min ) PM − PS C∆t 2  

(2.22)

Where 1 PM = Tav

Sn Sn-1 Cp Cp,min Cp,max Ps ∆t PM

tn

∫ Pdt

(2.23)

t n −Tav .

C = C1

if

|PM - Ps| > Cswitch

(2.24)

C = C2

if

|PM - Ps| ≤ Cswitch

(2.25)

setpoint of the secondary controller at the current time point setpoint of the secondary controller at the previous time point output from primary controller minimum of output from primary controller maximum of controller output from primary controller setpoint of the primary controller numerical time step (tn - tn-1) moving averaged of the primary controller variable P

Chapter 2: Input Description and Program Execution

Tav C C1 C2 Cswitch

Page 37

user defined (moving) averaging time period constant that can take two different values user defined constant user defined constant user defined constant

PM is not updated during the time that the secondary controller is made inactive through the SELECTOR option. The purposes of a cascade control loop are: (1) To reduce the effects of some disturbances; (2) To improve the dynamic performance of the control loop. For the level control as illustrated above, suppose the separator pressure increases. The pressure drop over the drain valve will be larger, so the liquid flow will increase. With a single level controller, the drain flow rate will not be corrected until the increased drain flow decreases the liquid level. Thus the separator pressure disturbs both the liquid level and the liquid drain rate. With the cascade control loop, the flow controller (secondary controller) will immediately see the change in the flow rate and correct the valve opening to return the drain flow rate to the setpoint set by the level controller. Thus it gives a better control on the liquid level and a smoother liquid drain rate. Anti surge controller (ASC) The main purpose of the ASC unit, is to prevent a compressor from operating to the left of the Surge Line in a compressor performance map, see Fig. 2.5, Fig. 2.6 and Fig. 2.11. An ASC should be able to open the recirculation valve very fast to prevent a dangerous surge condition. This can be achieved by choosing a high amplification factor for the ASC and selecting a recycle valve with a short stroke time. But the ASC must also be capable of managing a situation where the compressor inlet or discharge is closed. The high amplification factor could give excessive compensation, which would cause the recirculation valve to hunt between open and closed position and aggravate the surge due to pressure and flow pulsation. Therefore it is necessary to have a controller that can operate on a non-linear control algorithm. In essence, the controller shall apply one level of amplification and integral action to a positive error input signal and a different level of amplification and integral action to a negative error input signal. In this way the recycle valve can be opened rapidly while an inertia is imposed when it is closed again. The ASC unit uses a standard PID controller formula except that it allows for two different controller amplifications (AMP1 and AMP2) that are necessary when operating on a non-linear control algorithm. AMP1 is used when the deviation parameter (e) is negative (left of anti surge control-line in the compressor performance map) and AMP2 when it is positive. The anti surge control-line is the set-point for the ASC unit and is calculated by multiplying the compressor surge flow at different RPM's with a constant security factor specified by the user through the compressor input group, COMPRESSOR (i.e. a security factor of 1.2 means that the set point for the ASC unit is 20% higher than the surge flow). The surge flow at different RPM's, is specified in the compressor data file. The surge flow increases with increasing RPM, which means that the setpoint for the ASC unit is not constant.

Page 38

Chapter 2: Input Description and Program Execution

By using a large AMP1 and a (corresponding) small AMP2, the anti surge control valve is forced to a rapid opening whereas the closing operation is more relaxed. Fig. 2.11 shows the ASC application.

Fig. 2.11 Anti Surge Controller

SELECTOR controller A SELECTOR controller is a controller that uses two sub-controllers that are selected based on the value of selected variables relative to low and high limits of these variables. The controller operates as a kind of hysteresis controller, selecting the signal from one of the sub-controllers, and using this sub-controller until the low (or high) variable limit is reached. Then the controller selects the other subcontroller, and keeps it until the high (or low) variable limit is reached. The controller algorithm is best described by an example: Fig. 2.12 shows a system consisting of a pipeline with a separator. The separator has liquid and gas valves attached to it, in addition to an emergency liquid drain valve. In addition there is a separator inlet valve having a fixed opening. Upstream of the separator, at some distance from it, is a gamma densitometer used for measuring the local liquid volume fraction.

Gamma densitometer

HOLC

LC

Fig. 2.12 Separator using SELECTOR controller to control the liquid outlet valve.

Chapter 2: Input Description and Program Execution

Page 39

We want to control the separator level by controlling the liquid level in the separator with a level PID controller. As long as the liquid level is below a given value we want the controller to act slowly / moderately fast. If a liquid slug arrives we want the level control on the separator liquid outlet to be faster to prevent the level from increasing to very high levels. This means that for normal operation we have a moderately fast PID level controller, and for transient operation (when a slug arrives) we have a fast PID operation. In addition, a gamma densitometer is placed at some distance from the separator inlet. When the time averaged signal from the meter reaches a certain limit, a slug is expected to arrive. We also want this to trigger a faster operation of the separator liquid valve. Our control structure for the separator liquid outlet valve will then be: Normal operation: 1) Slow separator liquid level controller used to control the liquid outlet valve. 2) If the separator liquid level reaches a given high level, or the time averaged gamma densitometer signal becomes higher than a given limit, the fast separator liquid outlet valve controller takes over. Transient operation: 1) The fast liquid valve controller that is controlled by the separator liquid level is acting. 2) If the separator liquid level drops below a given low limit, the slow / normal separator liquid level controller starts controlling the liquid outlet valve. The operation is back to normal. There is no restriction on the number of variables that can be used for switching between the two sub-controllers. The variables and their low and high limits are given as input to OLGA. If one, or both, of the sub-controllers are PID controllers the integral term of the nonacting controller can be saved (interlocked), reset to zero, or still be integrated. This will be determined in the input to OLGA by the user. Manually operated controller

To simulate the actions of an operator, a manual operator controller (TYPE = MANUAL) has been included. The manual controller issues a control signal to a device (e.g. a valve), which is taken directly from a user specified time series. Emergency shutdown controller

The controller will monitor one or more variables (normally pressure). As soon as any of the variables becomes less than or greater than the setpoint value, depending on opening mode, a controller signal activates a valve that will close within a certain time. If reset value is specified, the ESD valve will open again when all of the controlled variables become greater or less than the reset value. Pressure safety valve (PSV) controller

The controller will compare one or more variables (normally pressure) at a selected position with a setpoint. If any one of the variable values becomes higher than or

Page 40

Chapter 2: Input Description and Program Execution

less than the setpoint, the controller will open a selected PSV-valve. This could be the valve defined as a source valve. If all of the variables become greater or lower than the reset value, this valve is closed again. Actuator time of controlled device There are no restrictions on the rate of change of the controller output from a PID controller as defined by Eq. (2.18). The output from the controller frequently changes faster than the device is capable of following. This situation is taken care of by passing all output from the controllers through an actuator filter that computes a 'real' output (as observed by the devices) according to the rule:

U = MIN ( U, U old + ∆t / t act ), U > U old

(2.26)

U = MAX ( U, U old - ∆t / t act ), U < U old

(2.27)

or

where tact ∆t Uold U

- is the actuator time - is the time step - is previous output signal from the controller - is output signal from the controller

The actuator time is in the case of a controlled valve, the user specified stroke time or the time required for opening the valve. The user specifies minimum and maximum controller output signal, Umin and Umax. These two parameters determine the operating range of the controller. Normally the operating range is from 0 to 1., i.e., an output of 0 from a controller operating on a valve means that the valve is closed, whereas an output of 1 means that the valve is fully open. PID controller example

Three parameters are at our disposal for tuning a PID controller, Kc, τd and τi. However, for petroleum applications τd is rarely used (τd = 0), since there is usually quite a lot of noise on the input process signal. This results in rapid oscillations in the derivative of the signal, and if the derivative term in the controller equation were included this would result in oscillations in the controller output, which is not desirable. We have the following relation between the symbols used in this description and the OLGA input variables in the CONTROLLER keyword: Kc

= AMPLIFICATION = DERIVATIVECONST = INTEGRALCONST bias = BIAS x = VARIABLE xstp = SETPOINT

τd τi

Note that the stroke-time of the controller valve (defined through STROKETIME) does not directly influence the controller output as discussed here. However, the opening and closing speed of the controller valve is limited by the stroke-time. That

Chapter 2: Input Description and Program Execution

Page 41

is, if the stroke-time is given as 100 s the opening of the valve will at maximum change by 1% per second. Level control A typical application of a level controller is shown in the Fig. 2.7. The change in the liquid volume fraction in the vessel (β) is given by

dβ Qin − Qout = dt V

(2.28)

where Qin [m3/s] is the liquid volume flow into the vessel, Qout [m3/s] is the liquid volume flow out of the vessel and V [m3] is the volume of the vessel. The flow out of the vessel can be written

Qout = Qmax u

(2.29)

where Qmax is the maximum flow when the controller is fully open. For the current case, the error (e) is defined as liquid volume fraction minus the volume fraction at the setpoint, and the derivative time constant is set to zero. Taking the time derivative of the above two equations with the use of the control equation (2.18) the following differential equation is obtained

Q K dβ Qmax K c d 2β = − max c − β + f (t ) 2 V dt Vτ i dt

(2.30)

Where f(t) is a disturbance that the control system should compensate for. Casting it into the standard form

d 2β dβ τ + 2ζτ p + β = f (t ) dt dt 2 p

(2.31)

we get the time constant of the control loop

τp =

Vτ i Qmax K c

(2.32)

and the damping coefficient

ζ = 0.5

Q max K c τ i V

(2.33)

Kc must be positive for τp and ζ to be real numbers. The figure below shows the performance of control loop for different damping constants for a step disturbance at t = 0 (f(t) has a step increase). This could for instance be that the setpoint of the level control is changed.

Page 42

Chapter 2: Input Description and Program Execution

Response

Response of level to a level controller

ζ = 0.2 0.3 0.4 0.5 0.7 1 setpoint

0

2

4

6

8

10

12

Time, (t/τp)

Fig. 2.13 Response of level control to step disturbance.

From this figure, one can see that a damping coefficient from 0.5-0.7 will give satisfactory results for level control. Therefore, one may use the following procedure to select the parameters for level control: 1.

Size the drain valve so that it can deliver Qmax = two times the normal drain rate for the pressure difference between separator pressure and backpressure of the drain valve.

2.

Set Kc < 2 and choose τi (the integral time constant) to make the damping coefficient between 0.5 and 0.7.

Flow control Assuming constant upstream and downstream pressure over the valve, the flow rate can be written as:

F = Fmax u

(2.34)

where: F = flow rate (mass or volumetric flow rate) Fmax = max flow rate through the fully open valve at the given pressure drop u = output signal from controller

Taking the time derivative of the above equation and using the control equation (2.18) we obtain

 dF 1  dF = Fmax K c  + F  + f (t ) dt  dt τ i 

(2.35)

or

(1 − Fmax K c ) dF − dt

Fmax K c

τi

F = f (t )

(2.36)

Chapter 2: Input Description and Program Execution

Page 43

For the solution to be stable, Kc must be negative. The time constant of the solution is

τp =

( Fmax K c − 1)τ i Fmax K c

(2.37)

Fig. 2.14 shows the response of the flow to a step change in for example setpoint (f(t) has a step increase).

Response flow to a step change for flow controller 1.2

1

response

0.8

0.6

0.4

0.2

0 0

1

2

3

4

5

6

Time (t/τp)

Fig. 2.14 Response of flow control to step disturbance.

The shorter the time constant, the faster the response goes to the setpoint. One could use the following procedures to select the controller parameters for flow control. 1.

Estimate the upstream and downstream pressure over the control valve at the design flow rate. If the pressure difference is less than e.g. 0.2 bar, adjust the upstream or downstream pressure so that the difference is at least 0.2 bar. This is considered a convenient pressure drop over a valve being used for flow control.

2.

Size the valve so that it can deliver maximum flow rate = 2 times the designed value for the same pressure drop over the valve.

3.

Set K c =

4.

τp can be selected from the above chart, depending on how fast you want the flow rate to reach e.g. 90% of the set point. When τp has been chosen τi is found from the definition of τp.

5.

By choosing a different A, the same τp can be obtained for a different τi.

A with A ranging from 1 to 10. Fmax

Page 44

Chapter 2: Input Description and Program Execution

Controller mode

During a simulation run it can be convenient to change the controller mode, e.g., switch a PID controller to manual mode (MANUAL) or make it inactive (FREEZE) before switching back to normal mode (AUTOMATIC). This can be done by specifying a list of time points where the mode should change. It is also possible to set the mode so the output signal of the controller is equal to the output signal of another controller (EXTSIGNCONTROLLER), that is, a kind of SELECTOR controller. The fifth mode is a kind of CASCADE controller where the setpoint is set equal to the output signal of another controller (EXTSETPCONTROLLER). The manual and external signal modes are not applicable for ESD and PSV controllers since these are either fully open or fully closed (except when opening or closing). With this exception, all controller modes can be used for all controller types. 2.2.4 Leak

Leaks or pipe ruptures can be simulated. A leak or a pipe rupture is described as a negative mass source (mass out of the pipeline), and the leak area is controlled by the control system. Both subcritical and critical flow is described in OLGA. For subcritical leak flow, the flow rate is governed by the difference between the internal and the external pressures, the conditions in the pipe and the leak area. For critical leak flow, the flow rate is governed by the conditions in the pipe and the leak area only. The leak flow is always limited to critical flow. Backflow is not allowed, that is, there will be no backflow if section pressure is lower than the backpressure. The leakage flow area is calculated from:

Aleak =

π 4

u s DLEAK 2 , 0 ≤ u s ≤ 1

(2.38)

where us = controller signal Leaks can be placed anywhere along the pipeline. Only one leak per section is allowed, and it is always located in the middle of the section. For three phase flow it is assumed no flashing of water across the leak, that is, the free water flow rate is the same upstream and downstream the leak. It is possible to route the flow through the leak to any pipe section in any branch by using the subkey TOPOSITION, in which case backflow is allowed. A leak can also be used to simulate a gas lift valve (GLV), see chapter 2.3.4.8. 2.2.5 Mass Sources

Two types of mass sources are allowed. 1. 2.

Mass sources where mass flows, source temperature and mass fractions for gas and water are tabulated functions of time. Controlled mass sources where mass flow is calculated from a flow equation for flow through an orifice. The orifice area is governed by a controller.

Chapter 2: Input Description and Program Execution

Page 45

Fig. 2.15 An illustration of a controlled mass source

A controlled mass source can be negative (mass out of the pipeline) or positive (mass into the pipeline). Both subcritical and critical flow is described. The flow area of the controlled mass source is governed by the control system. The source valve has finite opening and closing time (stroke time) specified by the user. For subcritical flow the flow rate is governed by the difference between the internal and external pressures, the upstream conditions and the flow area. For critical flow the flow rate is governed by the flow area and the upstream conditions only. The pressure difference determines the direction of flow in or out of the pipe. The external pressure and temperature are constant or given as a specified time series. The orifice area is calculated from:

π

2 Asova = ⋅ DSOVA ⋅ u s ;0 ≤ u s ≤1 4

(2.39)

where us = controller signal The following equations show how the total mass flow is calculated in OLGA depending on specified keyword values. All equations are based on three-phase flow. If two phase flow is used, water cut, wc, becomes equal to zero and gas liquid ratio, GLR, becomes equal to gas oil ratio, GOR. Symbols used in the equations are given in the list below:

m& ρ

Water cut, volume of water divided by volume of liquid at standard condition Gas oil ratio, volume of gas divided by volume of oil at standard condition Gas liquid ratio, volume of gas divided by volume of liquid at standard condition Volume flow Mass flow Density

Indexes: tot ST g o liq w *

Total At standard condition Gas phase Oil phase Liquid phase (water + oil) Water phase Equivalent phase

wc GOR GLR Q

Page 46

Chapter 2: Input Description and Program Execution

The density in the equations below is taken from the PVT table. It is necessary that the properties at standard condition are included in the PVT table. If WATERCUT, GOR and volume flow of gas at standard condition, Q gST , are known, use: PHASE = GAS and STDFLOWRATE = Q gST

m& tot = Q gST ( ρ gST +

wc 1 1 ρ oST + ( ) ρ wST ) GOR GOR 1 − wc

(2.40)

ST If WATERCUT, GOR and volume flow of liquid at standard condition, Qliq , are

known, use: ST PHASE = LIQUID and STDFLOWRATE = Qliq ST m& tot = Qliq ( wcρ wST + (1 − wc ) ρ oST + GOR(1 − wc ) ρ gST )

(2.41)

If WATERCUT, GOR and volume flow of oil at standard condition, QoST , are known, use: PHASE = OIL and STDFLOWRATE = QoST

m& tot = QoST ( ρ oST + GORρ gST +

wc ρ wST ) 1 − wc

(2.42)

If WATERCUT, GOR and volume flow of water at standard condition, QwST , are known, use: PHASE = WATER and STDFLOWRATE = QwST

m& tot = QwST ( ρ wST +

1 − wc ST 1 − wc ST ρ o + GOR( )ρ g ) wc wc

(2.43)

If WATERCUT, GLR and volume flow of gas at standard condition, Q gST , are known, use: PHASE = GAS and STDFLOWRATE = Q gST

m& tot = QgST ( ρ gST +

wc ST 1 − wc ST ρo + ρw ) GLR GLR

(2.44)

ST If WATERCUT, GLR and volume flow of liquid at standard condition, Qliq , are

known, use: ST PHASE = LIQUID and STDFLOWRATE = Qliq ST m& tot = Qliq ( wcρ wST + (1 − wc ) ρ oST + GLRρ gST )

(2.45)

Chapter 2: Input Description and Program Execution

Page 47

If WATERCUT, GLR and volume flow of oil at standard condition, QoST , are known, use: PHASE = OIL and STDFLOWRATE = QoST

m& tot = QoST ( ρ oST + GLR(

wc 1 ) ρ gST + ρ wST ) 1 − wc 1 − wc

(2.46)

If WATERCUT, GLR and volume flow of water at standard condition, QwST , are known, use: PHASE = WATER and STDFLOWRATE = QwST

m& tot = QwST ( ρ wST +

1 − wc ST 1 ρ o + GLR( ) ρ gST ) wc wc

(2.47)

Specified GOR or GLR will shift the values of gas mass fraction in the PVT table with use of the following equation (2 phase)

GG P ,T = GG ST + (GG ST + GHLST )( RS P ,T − RS ST )

(2.48)

where

GG P ,T GG ST GHLST RS P ,T RS ST

Gas mass flow at given pressure and temperature Gas mass flow at standard condition - calculated from given GOR or GLR Oil mass flow at standard condition - calculated from given GOR or GLR Gas mass fraction at given pressure and temperature - value from the PVT table Gas mass fraction at standard condition - value from the PVT table

RS =

GG GG + GHL

(2.49)

If the equivalent gas volumetric flow rate at standard condition, Q g*ST , and the mol weight of the total flow, M W , are known, use: PHASE=GAS, STDFLOWRATE= Q g*ST and MOLWEIGHT= M W

The density of the equivalent gas at standard condition will then be calculated from ideal gas law, and the total mass flow will be given from the following equation on condition that GOR or GLR is greater then 1010 (infinitely in OLGA)

m& tot = Qg*ST ρ g*ST

(2.50)

If GOR or GLR is less than 1010 the total mass flow will be calculated from the equations described earlier for PHASE=GAS with Q gST = Q g*ST and ρ gST = ρ g*ST .

Page 48

Chapter 2: Input Description and Program Execution

Note: There are limitations on how much you can change the GOR/GLR when using a PVT table. One can check the source input by plotting the volume flow rates through the source at standard conditions (e.g. QGSTSOUR). E.g. if a source using default GOR/GLR has no gas at the in-situ conditions, one cannot give a lower GOR/GLR for this source. Removal of gas that is not present is impossible. 2.2.6 Plug or Pig

There are two ways to simulate a pigging scenario, either by use of the PLUG keyword (as described below) or by use of the PIGTRACKING keyword (see special options). The advantage of using PIGTRACKING is that the liquid in front of the pig is tracked, meaning that the liquid is not smeared out in horizontal pipes. NOTE that the PLUG is more robust than the PIGTRACKING. A pig or the growth and subsequent release of a hydrate plug can be simulated. A pig is a mechanical device for internal cleaning or inspection of a pipe. A plug is a flow obstruction due to hydrate formation. Note that the plug/pig as described in the model does not occupy any volume in the pipe. Type of pig/plug Four types of pig or plug can be simulated: SHORT

Single pig normally used for cleaning the pipeline. May be used in combination with the wax module for removing wax layers on the inner pipe wall.

LONG

The pig type LONG is used to simulate pigging operations where a train of pigs is sent into the pipeline with spaces between the pigs filled with pigging fluid. The pig train movements are calculated for a single pig in the pig train. In addition, the average temperature of the pigging fluid is calculated. The pigging fluid is introduced into the launching section as oil. During the period when the pigging fluid is being injected into the pipeline, the flow at the left boundary of the pig launch section is set to zero. If there are sources or chokes upstream of the pig launch section, it may be necessary to modify the input for the sources or chokes during the injection period due to compression of the upstream pipe that would follow.

HYDRATE

A plug formed due to hydrate formation.

HEAVYSSH

Long pig train simulated as a short pig. The friction force due to the pigging fluid within the pig train is calculated by the code automatically and is added to the friction force due to pig movement. This option is only available for participants of the SSH project.

Friction forces acting on pig Two types of friction forces are modelled: 1.

Wall friction force due to contact between pig and pipe wall. The wall friction force is calculated by:

Fw =max[0.0, ( Fo − f w U p )]⋅sign(U p )

(2.51)

Chapter 2: Input Description and Program Execution

Page 49

Fo represents the friction force when the pig starts to move. This force is also used as the static friction between the pig and the pipe wall. The pig starts to move only after the force due to the pressure difference over the pig becomes greater than the static friction Fo.

The wall friction force decreases as the pig velocity, Up, increases due to less contact area between the pig and pipe wall. This is approximated by the wall friction factor fw. The static force, Fo, and the wall friction factor, fw, must be specified by the user through keys STATICFORCE and WALLFRICTION. Fwbf represents the wax layer breaking force, which is modelled as follows:

Fwbf = C ⋅ τ y (ϕ ) ⋅ L ⋅ π ⋅ d ⋅η ⋅ (1 − Φ )

(2.52)

where Fwbf is the breaking force, C is a constant with default value = 1, ϕ is the porosity, τ y is the yield stress of the wax layer which is a function of

porosity ϕ , L is the wax layer thickness, d is the inner diameter of the pipe, η is the pig efficiency and Φ is a pig form factor. The following parameters may be given by the user through the PLUG keyword: C: WXBRFCOEF τ y : WXYIELDSTR

η : WXRMEFF

Φ : PGWXFORMFAC The constant C may be used to take into account the effective shear surface orientation. C = 1 implies that the wax layer shear surface is normal to the wall. C = 1.4142 may be interpreted as an effective shear surface forming a 45 deg. angle with the wall. The constant may also be used to tune the yield stress, if wax layer yield stress measurements or estimates are available. The porosity, ϕ , may be controlled by the user through the WAXDEPOSITION keyword, sub-key WAXPOROSITY. If WXYIELDSTRESS is set to –1, an internal model is used for the yield stress. An older version of the Casson-type rheology model was chosen, as there is an indication that this model matches fluids with high suspended wax concentration at low shear rates somewhat better. The yield stress equation is as follows /21/:

τ y (ϕ ) = 1.25 ⋅ 10 6 ⋅ (1 − ϕ ) 4 [Pa ]

(2.53)

Fwpf represents the wall friction force from a wax plug forming in front of the pig. In cases where the pig has no through-flow, a slurry or plug with high wax content is assumed to build up in front of the pig. This will have an effect on the rheological properties of the fluid near the pig.

An estimate for the wax plug/wall friction effects is found by OLGA by using the following procedure:

Page 50

Chapter 2: Input Description and Program Execution

1. Finding a wax plug friction length by applying a search along the pipeline for a relatively large suspended wax fraction gradient, limited by the accumulated amount of wax stripped from the wall, together with a user given wax plug porosity, WPPOROSITY. The wax plug length is scaled between pure wax accumulation in front of the pig and no such accumulation (i.e. standard scheme is applied) by a factor which is depending on the pig leakage factor. If there is full flow through the pig (LEAKAGEFACTOR = 1), the wax plug friction length is zero. If there is no leakage, the full calculated wax plug length is used. 2. The wall shear stress for the wax plug is calculated by using standard correlations for Bingham plastics /22/ and the 1999 version of the Pedersen/Rønningsen effective viscosity model /21/. The standard Bingham correlations are used to calculate the shear stress as a function of average velocity. The Pedersen/Rønningsen effective viscosity model may be used to find yield stress and plastic viscosity for a given suspended wax fraction:

η = η liq exp(DΦ wax ) +

EΦ wax ∂v x ∂y

+

FΦ 4wax ∂v x ∂y

where ηliq is the oil viscosity [mPa s] not considering precipitated wax, Φ wax the volume fraction of precipitated wax, dvx/dy the shear rate, and: D = 42.3 E = 99.7 F = 1.25 × 109 The plastic viscosity [mPa s] is found by setting the shear rate, dvx/dy, to 500 1/s. Yield stress is found by using the numerator in the last term above, as described above for yield stress for the wax wall film. The yield stress and plastic viscosity is then fed into the Bingham related equations for calculation of frictional force on the pig/wax plug. The wax plug yield stress and plastic viscosity may also be given by the user, overriding the internal model. The keys are as follows: WPYIELDSTRESS WPPLASTVISC In the transition from non-newtonian to newtonian turbulent flow (Hedstrøm number between 1000 and 2000), a splining method has been used to smooth between the friction factors calculated using the Darby and Melson formula /22/ (applied for Hedstrøm number > 2000) and Haaland’s formula /23/ (applied for Hedstrøm number < 1000). Due to maximum limits on the effective viscosity, the wax plug shear stress is taken as the maximum of the yield stress and the calculated shear stress from the Bingham friction calculations.

Chapter 2: Input Description and Program Execution

Page 51

3. The resulting frictional force is applied directly on the pig, as the wax plug itself is not present in the model except as an “effective friction length”. Note that the standard scheme for wall friction is always applied, regardless of the wax plug friction length. The standard wall friction will, however, normally be insignificant compared to the friction generated by the “virtual” wax plug. It is assumed that the gravity effect of a wax plug is taken care of by the standard scheme. 2.

Fluid friction due to viscous shear of fluid film in the gap between the pig and the pipe wall. When the pig is moving, flow of the fluid film around the pig results in a viscous force. This force is calculated by the following equation:

F v = ( f 1|U p |+ f 2 U 2p ) sign( U p )

(2.54)

Leakage For a short pig, two different leakage types are modelled:

1.

Leakage due to pressure drop over the pig. The volumetric flux flowing from behind the pig to ahead of the pig is calculated by

(

U pl = c pl

)

|( ∆ P pig )|/ ρ sign( ∆ P pig )

(2.55)

∆Ppig is the pressure difference across the pig

∆Ppig =

FP , w − M p ⋅ cos ϕ ⋅ g AH

(2.56)

There are three ways to specify the leakage factor Cpl that will override the default value: 1. Specify Cpl directly through keyword LEAKFACTOR. 2. Through the relative leakage opening Aleak/Apipe by the keyword LEAKOPENING. 3. Through the pressure loss coefficient Fpig. Cpl is then defined by

I =0.5F pig C pl2 Fpig is given by keyword LEAKDPCOEFF. The pressure loss coefficient is measured by letting the fluid flow past a pig that is fixed to the pipe wall. 2.

Leakage due to slip between the pig and the film around the pig. When the gap between the pig and pipe wall is very narrow, one can neglect the effects of gravity and pressure gradient on the flow of the fluid film around the pig. Assuming laminar flow, the average film velocity is

Page 52

Chapter 2: Input Description and Program Execution

Vf =

1 Up 2

(2.57)

The volumetric flow rate is then

Q fl = V f π

D2 - D2p 4

(2.58)

where D is the pipe diameter and Dp is the pig diameter. By default, the gap between the pig and pipe wall is equal to 2 times the pipe roughness. Users can override the default by specifying the pig diameter with the key DIAMETER. The total volumetric leakage flow rate is divided into oil, water, and gas phase as follows: For stratified flow, the phase flow rates are calculated according to the wetted perimeters of the individual phases. For other flow regimes, no gas leakage is allowed and the total leakage is divided into water and oil in proportion to the water and oil hold-up. For a hydrate plug, only leakage due to pressure difference over the plug is allowed. By default, the leakage factor is calculated by

C pl =

 D2 - D2p  2   D2 

(2.59)

The user can override the default value for Cpl by specifying the leakage factor in the same way as for the short pig. For the long pig, no leakage is allowed.

Hydrate PLUG Initiation of hydrate plug The user initiates a hydrate plug by specifying the initial mass and length of the hydrate plug. Growth rate of hydrate plug The hydrate growth rate is calculated by the following equation

dM p = C h G h2o sign( T h - T f ) dt

(2.60)

where Ch is the growth coefficient, Gh2o is the free water rate available for forming hydrate. Th is the hydrate temperature and Tf is the fluid temperature. The free water rate is calculated by

G h2o = G w + U h M w A

(2.61)

Chapter 2: Input Description and Program Execution

Page 53

where Gw is the water mass flow rate, Uh mixing velocity, Mw water mass in a unit of pipe volume, and A the pipe cross-sectional area. New wax mass transfer term for stripping of wax layer by pig An additional term is included in the standard shear related wax transport term (solid wax mass transport between bulk and wall) for the section where a pig is located:

M& pig = − U pig ⋅ m wxw ⋅ A ⋅η [kg/s]

(2.62)

where M& pig is the solid wax mass transport rate for a control volume to the wall (thus the negative sign for wax stripping), Upig is the pig velocity [m/s], mwxw is the average wax mass on the wall per control volume [kg/m3], A is the cross-sectional pipe area [m2] and η is the pig wax removal efficiency [-]. This transfer term is added to the downstream local control volume for the pig, and the average wax related variables are updated accordingly for the static control volume/section where the pig is located. NOTE! When using the wax module and the plug module in combination, the following modules cannot be used: - Water/threephase - Slugtracking - Compositional tracking - MEG tracking 2.2.7 Heat Exchanger

A heat exchanger can be used alone or be included in an anti surge recirculation loop around a compressor, either as a part of the pipeline section where the compressor is situated or as a part of the recirculation loop which is external to the pipeline. The heat exchanger is an idealised heat sink, and no description of the real heat transfer process is included. It is rather a way of specifying a temperature at the heat exchanger outlet, consistent with the energy equation in OLGA. A heat source/sink is estimated that will give the specified fluid temperature for a particular section. An upper limit of the heat source is also specified. 2.2.8 Check Valve

Check valves can be inserted anywhere in the line. They close if the total volume flow is in the wrong direction, e.g., there can be a negative flow of liquid and positive flow of gas through the check valve. They remain closed until the pressure difference across them is sufficiently large to give flow in the desired direction. 2.2.9 Valves

Valves can be inserted anywhere in the pipeline. The flow model for calculating valve flow can either be a choke flow model or a valve flow model. Choke The choke model is defined in OLGA by using a discharge coefficient, CD (keyword VALVE).

Page 54

Chapter 2: Input Description and Program Execution

The choke model describes the effects of both subcritical and critical chokes. The choke opening may be controlled by the control system, by a predefined timeseries or be fixed. The choke has finite opening and closing time (stroke time) specified by the user. A subcritical choke is represented through its pressure drop as a function of flow rates and choke opening. The flow rate through a critical choke is governed by the upstream conditions and the choke opening (choke flow area). The choke flow rate is limited to critical flow. Note that it is possible to simulate a choke without a controller, the choke area is then given by a timeseries. The choke area can also be fixed at maximum choke diameter.

Fig. 2.16 An illustration of the use of a choke

The choke pressure loss as a function of flow rates is for a subcritical case calculated according to:

∆ pch =

1 (ORF) W tot ( α U g + β U l + γ U d ) 2

(2.63)

where ORF = choke pressure loss coefficient. For single phase liquid,

 A ORF =   Ao ⋅ C d

2

  − 1 

(2.64)

Cd discharge coefficient A pipe flow area Ao choke (orifice) flow area Wtot total mass flux Uf velocity, phase f = g,l or d α, β, γ the volume fractions; gas, liquid bulk, and droplets For a two-phase or single-phase gas case, the expansion of gas into the narrow throat is accounted for. The flow equation is written in a simplified form

- dP =

G d ( x U g + (1 - x) U l ) A

(2.65)

Friction and gravity forces are here neglected. Integrating this equation from choke upstream conditions to the throat, an equation between throat pressure and massflow is obtained. This equation is solved for throat pressure assuming a given massflow. With the estimated pressure difference over the choke:

∆ PV = Pupstream - Pthroat

(2.66)

Chapter 2: Input Description and Program Execution

Page 55

a choke pressure loss coefficient, ORF, is calculated.

ORF =

∆Pv 0.5 ⋅ Wtot ⋅ (αU g + βU l + γU d )

(2.67)

This equation implicitly accounts for gas expansion from upstream conditions to throat conditions. In the case of a controlled choke the choke area is varied according to the controller signal us :

A0 = us A0,max ; 0 ≤ us ≤ 1 where

Ao,max =

π

Do2

4

(2.68)

(2.69)

In the case of an uncontrolled choke the choke flow area is varied according to the time tables of the relative choke area:

Ao = AROR⋅ Ao ,max ;0 ≤ AROR≤1

(2.70)

In the case of a fixed choke the choke flow area is constant

A0 = A0,max

(2.71)

If the gas velocity in a choke exceeds the critical velocity, critical flow conditions are used. Two options are available for calculating the critical flow through a choke: 1.

No mass transfer (Frozen), adiabatic expansion of gas.

2.

Mass transfer due to isentropic expansion from the upstream pressure to the throat pressure is considered (Henry-Fauske) /3/.

Which option should be used is chosen through the keyword input. If the Frozen model is chosen the mass transfer in the choke is zero and the quality in the choke is equal to the upstream quality (homogenous frozen critical flow model). If the Henry-Fauske model is used and entropy values are given in the fluid property tables file (with the word ENTROPY in the heading of the fluid file), the entropy values in the fluid file will be used. Otherwise, the entropy changes will be calculated from enthalpy, mass fraction and density by integrating the following equation from the upstream condition (1) to the throat conditions (2): 2

∫ ds = ∫ 1

2

1

1 T

dh − ∫

2

1

V T

dp

(2.72)

The integration is performed by two steps, from P1 to P2 at T1 and from T1 to T2 at P2.

Page 56

Chapter 2: Input Description and Program Execution

Valve The valve model is defined in OLGA by using a table (keyword TABLE) that contains Cv versus opening. The valve model is quite similar to the choke model. However, the pressure drop and critical flow rate are calculated according to a valve sizing equation. It is possible to give a table representing the valve sizing coefficients either for gas flow or for liquid flow. No table for two-phase flow can be given. The sizing coefficients are tabulated as functions of the relative valve opening. If a gas valve sizing table is given, the flow calculation will be based on the gas sizing equation, with the maximum flow rate interpreted as the critical flow rate for the valve. If a liquid sizing table is given, the critical flow rate (even two-phase-flow) will be calculated using the critical choke model in OLGA. The liquid sizing table should be used for liquid flow, near incompressible gas flow and two-phase flow. The pressure drop through a valve is calculated as follows: Liquid sizing equation:

Q = Cv

∆P / G

(2.73)

where Q Cv G ∆P

= = = =

Flow rate (gallons/min.) Valve sizing coefficient (gal/min / psi 1/2) Specific gravity (-). Water = 1. Pressure difference across the valve (psi)

If PHASE = LIQUID, TWO or THREE, is specified in keyword VALVE, OLGA converts the Cv value for liquid to the variable ORF used in equation (2.63). Rewriting equation (2.63) to the form used for equation (2.73) will produce a relation between Cv and ORF. Setting CD = 1.0, an equivalent choke opening is determined that gives the same ORF. Once the choke opening area is calculated, the pressure drop and the critical flow rate are calculated using the choke model, regardless if the flow is gas, liquid, or multiphase flow. The mixture density is used in the calculation. Gas sizing equation:

Q m = 1.06 ( ρ g p1 )

0.5

 3417  ∆p  0.5     C g sin   C f  p1   deg

(2.74)

where Qm ρg p1 Cg ∆P Cf

= = = = = =

Mass flow rate (lb/hr.) Gas density (lb/ft3) Upstream pressure (psi) Gas sizing coefficient (lb/hr / (psi × lb/ft3)1/2) Pressure drop (psi) Coefficient ratio, Cg/Cv (-)

If PHASE = GAS is specified in keyword VALVE, the pressure drop and critical flow rate is calculated by equation (2.74). The CV table entry is used for Cg values

Chapter 2: Input Description and Program Execution

Page 57

through keyword TABLE. The critical flow rate is obtained by setting the sine-term equal to one. The upstream density is used in the calculation. Note:The input data for the valve sizing coefficients must be consistent with the units specified above.

A valve can be located anywhere in a pipeline except at the inlet boundary to a branch connected to a merging node. 2.2.10 Pumps

There are four pump models in OLGA: the centrifugal pump, the displacement pump, the simplified centrifugal pump and the pump battery models. The centrifugal and displacement pumps are part of the Pump module that requires a separate license. The pump battery model is used for drilling applications, and is only available with the Advanced Well module. This model is described in section 2.3.4.3. The simplified centrifugal pump requires no additional license. The centrifugal pump and the displacement pump are modelled with a recycle flow line, and a bypass flow line, as illustrated in Fig. 2.18. The pump characteristics are defined through the pump data tables. A complete set for both types of pumps are included in the code. However, the users can change these data by specifying their own pump data tables, see Chapter 4. Each of the characteristics is assigned a label, which is referred to in the PUMP keyword. The pump speed and recycle flow can be regulated by controllers. The user can choose the recycle flow as gas only, liquid mixture, water only, or fluid mixture. The bypass flow line is modelled so that no back flow is allowed. A common multiphase transportation system with pump is shown in Fig. 2.17.

Fig. 2.17 Multiphase Transportation System With Pump

This system will be simplified as shown in Fig. 2.18. In this implementation the pump is abstracted into a volume-less element on the section boundary J between section J-1 and section J. The recycle flow is out of section J and into Section J-1, and the bypass flow out of section J-1 and into section J. The no-slip through the section boundary J is assumed as:

Page 58

Chapter 2: Input Description and Program Execution

Ug = Ud = Ul = U A valve can also be located at the section boundary of a centrifugal pump. This valve can be closed in case of backflow through the pump if the pump is stopped and the bypass valve is opened.

Fig. 2.18 Simplified illustration of Displacement or Centrifugal Pump Element in the Pipeline Basic equations for the centrifugal pump model

For the centrifugal pump, the pressure increase over the pump, ∆P, is dependent on the flow rate Q, pump speed N, inlet gas volume fraction αI, and the pump inlet pressure PI:

∆P = f (Q, N , α I , PI )

(2.75)

For the liquid (assuming incompressible), the specific work delivered from the pump into the fluid is:

Wl =

(P

O

− PI )

ρl

(2.76)

Where PO is the pump outlet pressure, PI the pump inlet pressure and ρl the liquid density. For a compressible gas, and assuming a polytropic process, the work done by the pump is: n −1   n PI  PO  n −1 Wg =     n − 1 ρ g , I  PI   

(2.77)

Where n is the polytropic constant and ρg, I the gas density at pump inlet. The work input to the gas is equal to the increase in the gas enthalpy. When the gas is assumed to be ideal Win can be written as:

Chapter 2: Input Description and Program Execution

Page 59

n −1   n   P P k I O    Win = − 1   k − 1 ρ g , I  PI   

(2.78)

The polytropic efficiency is defined as the ratio of the work done by the pump divided by the work input to the gas. If the adiabatic constant k for the gas and the compressor efficiency ηp are given, the polytropic constant n can be calculated. For a two phase mixture, a volumetric weighting of the pump power to the fluid will be done as: n −1        P P ( ) α n  O n   1− α O W = (1 − α )Wl + αWg = PI  − 1 +    − 1   ρ l  PI  ρ g n − 1   PI      

(2.79)

With W calculated from the pump characteristics, Eq. (2.79) can be solved for PO/PI. The relationship between head H and specific work W is W = gH = ghHR, where HR is rated head and h is the head ratio. For two phase mixture (except for very high gas fractions) an isothermal compression of the gas may be assumed, i.e. n=1.0. For n = 1.0 equation (2.79) can, by a series expansion, be written:

 (1 − α )  PO P    α  W = PI  − 1 + ln O    ρ g , I  PI    ρl  PI

(2.80)

Pump characteristics for the centrifugal pump

The pump characteristics for the centrifugal pump are presented in the form of four quadrant curves. These curves are empirically developed by the pump manufacturer. The four quadrant curves are converted to a simpler form by the development of homologous curves where the head and torque ratios (actual value to rated value) are functions of the pump speed and flow rate ratios. In order to interpret the homologous curves, the following variables are defined:

h=

ω=

H - head ratio HR N NR

- speed ratio

q=

β=

where subscript R means rated value. Four sets of homologous curves are tabulated: 1. Single phase head HS 2. Two phase head HT 3. Single phase torque THS

Q - flow ratio QR

TH - torque ratio TH R

(2.81)

Page 60

Chapter 2: Input Description and Program Execution

4. Two phase torque THT The two phase head HT and two phase torque THT are curves for fully degraded two phase conditions. The transfer from single phase to fully degraded two phase conditions is described by a two phase multiplier. The pump head H and hydraulic torque TH under two phase conditions are determined as:

H = HS (1 − HM (α ) ) + HT HM (α ) TH = THS (1 − TM (α ) ) + THT TM (α )

(2.82)

Where HM(α) is the two phase head multiplier, TM(α) is the two phase torque multiplier and α the gas volume fraction at the pump inlet. Each set of homologous curves consists of four curves. These are defined in Table 2.1 and Table 2.2. A complete default set of homologous curves is tabulated in the code. These are based on experimental data and are representative for centrifugal pumps. However, the users can change these data easily by specifying their own experimental data through the pump data table. An example of a graphical presentation of the tabulated pump characteristics is shown in Fig. 2.19. This figure shows the single phase homologous head curves. Because the homologous curves are dimension-less, they can describe a variety of pumps by specifying through input the desired rated density, head, torque, flow rate and speed. In calculating the hydraulic torque, TH, the difference between actual fluid density and rated density must be corrected as:

TH = β ⋅ TH R ⋅

ρ ρR

(2.83)

Table 2.1 Dependence of Pump Head on Pump Speed and Flow Rate

Curves

Range

1

ω > 0,

2

q > 0,

3

q < 0,

4

ω < 0,

q

ω ω q

ω q q

ω

Independent variables

Dependent variables

≤1

q/ω

h/ω2

0,

3

q < 0,

4

ω < 0,

q

ω ω q

ω q q

ω

Page 61

Independent variables

Dependent variables

≤1

q/ω

β/ω2

hf,o, the flow rate into the well section is set to qf; otherwise, the flow rate into the well section is set to zero. The transient option is switched on if one or both of the time constants are greater than zero. The transient option is only applied for positive flow (from the reservoir to the well section). For the negative flow, the constants are assumed to be zero. 2.3.4 The Advanced Well Module

The Advanced Well Module is designed for well flow applications where the reservoir properties and the inflow relationships play an important role in the modelling. The Advanced Well Module will be especially well suited for the following applications: • Simulation of fluid flow in drilling operations. • Start-up and shut down of production and well testing. • Complicated production from several reservoir zones. • Reservoir injection, e.g. water alternating gas injection (WAG). • Analysing cross flow between different reservoir zones. • Flow from multilateral wells. • Well bore flow during underbalanced drilling operations. Please note that a specific license is required to run the Advanced Well Module. 2.3.4.1 Reservoir inflow

In the Advanced Well Module the reservoir performance is specified through permeability, extension of the reservoir, fluid properties etc. or from draw-down/build-up tests from the actual well. The reservoir inflow can be specified in a number of different ways depending on the type of reservoir simulated. The different inflow performance models are presented below. Constant productivity index The linear form is used for the production of a typical oil reservoir, or as a first estimate when the production curve for the well is not properly defined:

q = J ( p R − p wf

)

(2.118)

where pR is the static reservoir pressure, pwf is the flowing bottom hole pressure and J is the constant productivity index given by:

Page 80

Chapter 2: Input Description and Program Execution

Linear productivity (typical oil reservoir)

J=

kh 141.2vBo(ln(re / rw ) − 0.75 + s )

(2.119)

in oilfield units (stb/d/psi) where J kh ν Bo re rw s

Productivity index [stb/d/psi] Effective permeability x net pay [mD ft] Oil viscosity [cP] Oil formation volume factor [Rft3/Sft3] Reservoir extension [ft] Wellbore radius [ft] Mechanical skin

Forchheimer and Single Forchheimer model When the full production curve can be estimated and a constant PI is not applicable a quadratic form of the relation between inflow and draw-down can be used, for example the Forchheimer model (see ref. /1/ ) : 2 p R2 − p wf = Bq g + Cq g2

(2.120)

where B and C are the linear and non-linear part of the productivity index respectively defined by:

B=

Tµ g z

0.703kh

[ln(re

C= Where: T

µg z re rw s D k h

rw ) − 0.75 + s ]

Tµ g z

0.703kh

D

[psi2/(scf/d)]

(2.121)

[psi2/(scf2/d2)]

(2.122)

reservoir temperature [°R] (RESTEMPERATURE) gas viscosity at reservoir conditions [cP] (VISGRES) Gas z-factor at reservoir conditions (ZFACT) reservoir extension [ft] (RESEXT) wellbore radius [ft] (HOLES/2) mechanical skin [-] (SKINS) non-Darcy or turbulence skin [1/Sft3/d] (SKIND) reservoir permeability [mD] (KPERM) well effective net pay [ft] (HPAY)

For high pressure gas wells with limited draw down, pressure can be used instead of pressure-squared, in which case the Single Forchheimer equation is written:

p R − p wf = Bq g + Cq g2 , where B and C are defined by:

(2.123)

Chapter 2: Input Description and Program Execution

B=

Page 81

 µgZ  T [ln(r r ) − 0.75 + s ]  (1.407kh )  p av  e w

C=

 µgZ  T D  (1.407kh )  p av 

[psi/(scf/d)]

[psi/(scf2/d2)]

(2.124) (2.125)

where pav is defined as pav= (pR + pwf)/2. Vogels equation The following IPR equation, known as Vogels equation, was traditionally used for oil-well performance in saturated oil reservoirs (see ref. /1/ ).

  p wf q 0 = q 0,max 1 − 0.2   pR

p   − 0.8 wf  pR 

  

2

  

(2.126)

where q0,max is the theoretical maximum oil rate when flowing bottom hole pressure equals zero. Backpressure and normalized backpressure equations For gas wells the following simple equation is often used for the inflow performance (see ref. /1/ ).

(

2 q = C p R2 − p wf

), n

(2.127)

where C is defined by:

C=

(0.703kh)n (Tµ g Z )n D1−n [ln(re rw ) − 0.75 + s]2n−1

[scf/d/psi2n]

(2.128)

This equation is often referred to as the backpressure equation. The exponent n ranges in value from 0.5 to 1.0. A normalised form of this equation can be used for saturated oil wells:

  p wf q 0 = q 0,max 1 −    p R

  

2

  

n

(2.129)

where q0,max is the maximum oil rate when flowing bottom hole pressure equals zero. Undersaturated oil wells For oil wells producing from reservoirs with static reservoir pressure above the bubble point pressure, the bottom hole flowing pressure might drop below the bubble point pressure during production. In these cases the linear inflow relationship will not be sufficient alone to describe the inflow under varying flowing pressures. The following two equations are therefore introduced:

Page 82

Chapter 2: Input Description and Program Execution

q = J ( p R − p wf  J q = J ( p R − p b ) +   2 pb

)

 2 2  p b − p wf 

(

p b ≤ p wf ≤ p R

for

) for

p wf ≤ pb

(2.130)

(2.131)

where pb is the bubble point pressure. Tabulated inflow performance curve If neither of the above inflow performance curves nor the linear and non-linear option presented in section 2.3.3, is applicable for the reservoir a tabulated inflow curve can be specified by the user. This is also described in section 2.3.3. Variable reservoir reference pressure When a reservoir has been flowing for some time at high rates the reservoir pressure close to the well can be reduced significantly. The initial static reservoir reference pressure is no longer applicable for specifying the inflow from the zone and a reduced reference pressure is introduced. For the model to take these local drawdown and build-up effects into account, the reservoir reference pressure can be specified as a function of time by the user. Injectivity index The injectivity index is used for modelling of flow from the wellbore into the reservoir zone of gas, hydrocarbon liquid or water. This option is for example used for pushing the gas back into the reservoir during a work-over operation. The injectivity index is adapted to specify the relation between the flow from the well into the reservoir and the pressure build-up in the well. That is, when the bottom hole pressure exceeds the static reservoir pressure an inflow into the reservoir will start depending on the injectivity index. The inflow into the reservoir can be specified on the same form as the well production, but a different relationship can also be used. In addition, a separate linear injectivity index can be used for the oil phase or the water phase. Fracture pressure When the pressure in the wellbore exceeds a certain value above the static reservoir pressure the formation will break down. The pressure required to burst the formation is called the fracture pressure. When the pressure inside the wellbore exceeds this pressure small fractures will be created in the formation resulting in a significant increase in injectivity, and the fluid in the wellbore will flow into these fractures instead of flowing into the reservoir matrix. By specifying the fracture pressure the user defines the maximum allowable pressure inside the wellbore. In the Advanced Well Module this is modelled by an "infinite" inflow into the reservoir zone. 2.3.4.2 Drilling option

Drilling simulation is an option that is available through the Advanced Well module. The drilling option can be used to simulate the thermal-hydraulics in a drilling operation. The code can now handle the following configuration of the well that is being drilled:

Chapter 2: Input Description and Program Execution

Page 83

Parasite pipe

Concentric Annulus

Annulus

Drillstring

Formation

Fig. 2.22 Well configuration during drilling simulated by Olga

The drilling option allows for the possibility of injecting fluid (gas lift for example) through concentric annulus or a parasite pipe. A moving grid system is used to simulate the flow along the three strings (drilling string, annulus, and formation string) that are joined at the node of the drilling bit (defined with the keyword BITNODE). A compositional approach is adapted to calculate the transport of different drilling fluids along the flow path. There are two ways to specify the fluid properties of a drilling fluid: 1. Fifteen fictitious components are used: Component ID 1 2 3

Component name HC H2O GDENMIN

4

GDENMAX

5

GVISMIN

6

GVISMAX

7

ODENMIN

8

ODENMAX

9

OVISMIN

10

OVISMAX

Description Hydrocarbon mixture Aqueous mixture Min gas density (WATER/OIL) Max gas density (WATER/OIL) Min gas viscosity (WATER/OIL) Max gas viscosity (WATER/OIL) Min oil density (WATER/OIL) Max oil density (WATER/OIL) Min oil viscosity (WATER/OIL) Max oil viscosity (WATER/OIL)

tracer

for

drilling

fluid

tracer

for

drilling

fluid

tracer

for

drilling

fluid

tracer

for

drilling

fluid

tracer

for

drilling

fluid

tracer

for

drilling

fluid

tracer

for

drilling

fluid

tracer

for

drilling

fluid

Page 84

Chapter 2: Input Description and Program Execution

Component ID 11

Component name WDENMIN

12

WDENMAX

13

WVISMIN

14

WVISMAX

15

CUTTING

Description Min water density (WATER/OIL) Max water density (WATER/OIL) Min water viscosity (WATER/OIL) Max water viscosity (WATER/OIL) Cuttings

tracer

for

drilling

fluid

tracer

for

drilling

fluid

tracer for drilling fluid tracer for drilling fluid

For oil based mud, components 3 to 15 will be in the oil phase. The density of oil phase is then adjusted according the volume fraction of HC and mud content in the oil phase. The viscosity is adjusted according to the volume fraction of components 3-15. For water-based mud, components 3 to 15 will be in the aqueous phase. A similar approach is used to adjust the density and viscosity for gas phase. The adjusted viscosity for gas phase is only used for calculating the drift velocity of cuttings if the drilling fluid contains gas type. 2. As an alternative one may use a fluid property file per drilling fluid, in which case the max/min density/viscosity component tracers (3-14) are not used. Cutting generation rate is calculated by: .

m s = u p A(1 − φ )

(2.132)

where: .

ms

- cutting generation rate up - penetration rate A - hole diameter φ - porosity The cutting is treated as a separate component and the component mass balance equation is solved to determine the cutting concentration which can change with time and along the annulus. The slippage between the cutting and the drilling fluid, Vsl, is calculated depending on the Reynolds number. One empirical correlation for Vsl is as follows:

 (ρ s − ρ f V sl = C1  d s ρf 

)

1 2

 

where: C1 is calculated depending on the Reynolds number as given below

d s is the cutting diameter (m)

ρ s is the density of the solid cuttings (kg/m3)

(2.133)

Chapter 2: Input Description and Program Execution

Page 85

ρf

is the mean density of the mixture (kg/m3) Vsl is the slip velocity (m/s) The Reynolds number for cutting particles is based on Vsl (iteration process) and cuttings diameter (equation (2.134) below):

Re =

ρ f V sl d s µf

(2.134)

where µ f is the mean viscosity of the mixture (Pa⋅s). •

If Re > 300, equation (2.133) is used with C1 = 2.94 (Moore)



If 300 > Re > 3,

(

V sl = 0.3267 (ρ s − ρ f ) d s2 / µ f •

)

(2.135)

If Re < 3

V sl = 0.0179 (ρ s − ρ f

) (ρ 0.667

f

µf

)

0.333

(2.136)

How to use the DRILLING option

Use the following keywords to use the Drilling option: • • • • • • •

OPTIONS to set DRILLING = ON ANNULUS to specify the annulus configuration (thermal interactions) POSITION to specify initial bit position and leak-to positions BITNODE to specify the drilling configuration FILES to specify fluid property files for drilling fluids DRILLINGFLUID to specify drilling fluid properties or refer to a fluid label. SOURCE to use DRILLINGFLUID and specify DENSITY and VISCOSITY

In addition the keywords below are useful: • BOUNDARY to be able to specify DRILLINGFLUID • WELL to be able to specify ZONETOP, ZONELENGTH and fracture data of the formation • LEAK to specify TOPOSITION (useful for simulating well unloading valves) BITNODE is the keyword defining the branches used to model drilling. The DRILLSTRING branch is located inside the ANNULUS branch and penetrates the FORMATION branch (all three branches defined through keyword BRANCH and referred to in BITNODE). The three branches are connected in the specified NODE. INITPOSITION defines the starting position of the bit in the DRILLSTRING branch, and ROP (rate of penetration) defines the penetration speed.

Page 86

Chapter 2: Input Description and Program Execution

2.3.4.3 High pressure displacement pumps (pump battery)

Accurate simulation of the pumps used for a standard drilling operation is important for the overall estimation of the pump power needed as well as the volume of mud/water required during the operation. Defining the total flow rates proportional to the rate of pump strokes simulates the battery of positive displacement pumps. We define the pump battery through a proportionality factor for the volume delivered at a certain pump rate:

QP = PFAC ⋅ S PES

(2.137)

where QP = PFAC = SPES =

Volume delivered by the pump battery Pumping factor Strokes per time unit

The pump rate is normally controlled by the following set of controllers: • • • •

Controller on the maximum hydraulic horsepower allowed Controller on the maximum pump rate Controller on the minimum pump rate Controller on the maximum pump pressure allowed

If either one of these controllers is set into action the pump rate is reduced automatically. The number of controllers can be extended above the number shown above and different variables (e.g. fluid rate, inflow rate) can be used to control the pumps. The total hydraulic horsepower, HHP, is calculated from the following definition:

HHP =

Qinj ⋅ WHP

2.81

(2.138)

where Qinj = Pump injection rate of mud or water (bbl/min) WHP = Pump injection pressure (bara) 2.3.4.4 Bit nozzles

A simplified pressure loss equation can be used for the pressure loss through the drill bit nozzles. The equation used assumes that the change in pressure due to a change in elevation is negligible, the velocity upstream of the nozzle is negligible compared to the nozzle velocity and the frictional pressure loss across the nozzle is negligible. The equation is known as the “tri-state” equation (see Bourgoyne et. al. 1991 /2/ ):

∆p =

1 ρ ⋅ q2 2 C d2 ⋅ At2

(2.139)

Chapter 2: Input Description and Program Execution

Page 87

where ρ is the average fluid density flowing through the bit nozzle, q is the volume flow, Cd is the discharge coefficient and At is the total flow area defined as: NN

At = ∑ Ai i =1

,

(2.140)

where Ai is the flow area of the ith nozzle and NN is the number of bit nozzles. Compared to the use of a choke model, this approach modifies the pressure drop in the pipe directly and numerical problems can therefore be avoided. The use of the Olga choke models for high rate mud flows can be questionable and for these cases the simplified model described here is recommended. 2.3.4.5 Pipe Upsets

Annulus Flow In order to obtain correct wall friction and interfacial friction for flow in the annulus a correction is needed for the increased wetted surface area compared to the flow area. A single pipe with a corresponding flow area is assumed, and in addition the wall interfacial friction is calculated based on a hydraulic diameter defined by:

Dh =

4A = DC − DT S

(2.141)

where A is the flow area and S is the wetted perimeter, see Fig. 2.23.

Fig. 2.23 Annulus flow.

There are very limited investigations of annulus multiphase flow performance at high pressure and temperature, but some investigations at low pressure can be found, see Caetano et. al. (1989) /9/. The investigations indicate that the hydraulic diameter approach is reasonable in turbulent flow, single or multiphase flow. Internal and external pipe upsets (Tooljoints) Internal and external upsets in pipes and annuli can result in additional pressure drop. A detailed modelling of these restrictions will result in an increase of number of sections necessary by an order of magnitude. To account for the additional pressure drop a modification of the roughness factor is introduced. The modification factor is dependent on the reduced flow area and the length of the upset. A schematic definition is shown in Fig. 2.24.

Page 88

Chapter 2: Input Description and Program Execution

Fig. 2.24

Side and cross-sectional view of pipe with external and internal upsets.

The different lengths dimensions corresponds to: DD2

Outer diameter in annulus.

D2INUP

Internal upset in annulus/tubing

DD1

Inner diameter in annulus.

D1EXUP

External upset of pipe/tubing

LUPSET

Length of upset.

LJOINT

Length of pipe between upsets.

The correlation introduced by Rygg et. al. (1996) /10/ is used to calculate the modified roughness:

Cε = e (4.26−0.06 λu )(α −1)

(2.142)

LJOINT LUPSET

(2.143)

where

λu = and

α=

Aoriginal Aupset

(2.144)

The new roughness is calculated according to:

ε = Cε ⋅ ε

(2.145)

Chapter 2: Input Description and Program Execution

Page 89

Example of modified roughness for different values of the parameters λ and α can be seen in Fig. 2.25. 40 35 L2.33

Correction factor

30

L5 L10

25

L14.6

20 15 10 5 0 1

1.2

1.4

1.6

1.8

2

A_original/A_upset

Fig. 2.25 Effects of modification of pipe roughness due to internal pipe upsets. (Points marked with a square correspond to a standard 5" drillpipe with typical internal upsets.) L in the figure corresponds to λ in the text. 2.3.4.6 The complex viscosity model

An approximation of non-Newtonian effects of mud is included through velocity dependent viscosity. The user can choose between Newtonian fluids and three different models for non-Newtonian flow. The shear stress of the Newtonian fluids may be expressed as:

τ = µγ&

(2.146)

The effective fluid viscosity is then defined by:

µe =

τ γ&

(2.147)

where τ is the shear stress, µ is the viscosity and γ& is the shear rate. The complex viscosity model modifies the viscosity of the fluid. No changes to slip routines or flow-regime transition are used in the current approach. The three models are:

• • •

Bingham plastic model (Plastic viscosity and yield stress defined by user) Power law model (Power exponent n and consistency factor K defined by user) Herschel-Buckley model (Power exponent n, consistency factor K and yield stress defined by user)

Page 90

Chapter 2: Input Description and Program Execution

See "Non-Newtonian Flow and Heat Transfer" for definitions and further details /11/. Bingham plastic model For a Bingham plastic model the shear stress of the fluid may be expressed as:

τ = τ 0 + µ p γ&

(2.148)

where τ 0 is the yield stress and µ p is the plastic viscosity. For pipe flow the effective fluid viscosity is:

µe = µ p +

τ0D 6U

(2.149)

For annular flow:

µe = µ p +

τ 0 Dh 8U

(2.150)

The corresponding Reynolds number:

Re =

UρDh

µe

(2.151)

where D h is the hydraulic diameter, ρ is the fluid density and U is the average fluid velocity. Power law model For a Power law model the shear stress of the fluid may be expressed as:

τ = K ⋅ γ& n

(2.152)

For pipe flow the effective fluid viscosity is expressed by:

 8U 3n + 1  ⋅ µe = K   4n   D

n −1

(2.153)

For annular flow:

 12U 2n + 1   µ e = K  ⋅ D 3 n   h

n −1

(2.154)

Herschel-Buckley model The shear stress of the fluid:

τ = τ o + K ⋅ γ& n

(2.155)

Chapter 2: Input Description and Program Execution

Page 91

For pipe flow:

4τ 0  8U 3n + 1  + K ⋅ µe =  8U 3n + 1 D 4n   3⋅ ⋅ 4n D

n −1

(2.156)

For annular flow:

 12U 2n + 1  4τ 0  + K  ⋅ µe = 12U 2n + 1 D 3 n   h 3⋅ ⋅ Dh 3n

n −1

(2.157)

2.3.4.7 Mud Property Table

Mud Property Table is an external program, which is used for generating mud fluid property tables. For a typical drilling simulation, mud is one of the fluid phases, and this program creates mud properties and put them in the water phase of a standard OLGA fluid property table, i.e. the water phase is substituted by the mud phase. Mud Property Table is delivered together with OLGA. 2.3.4.8 Gas Lift Valve (GLV)

A Gas Lift Valve can be modelled in OLGA using the LEAK and TABLE keywords. A GLV (sometimes referred to as an Unloading Valve) is a valve specially designed for well unloading and continuous gas injection operations (operating GLV). This is a procedure where high pressure gas is injected into the annulus/casing, and is routed through the GLV’s into the tubing to help remove the liquid as well as to optimise the well’s maximum stable production rate. This will decrease the hydrostatic pressure and get the well flowing, e.g. after a shutdown or for an initial start-up. Typically more than one GLV is placed after each other down the annulus. The intention is that the GLV closest to the wellhead opens first, and as the tubing pressure decreases this GLV shall close and the next one open (might already be open depending on the response curve). This cycle will be repeated till the injected gas reaches the operating GLV (lowermost active GLV). Once the gas lift gas reaches the operating GLV, gas is continuously injected through this GLV and stable production is optimised by regulating the optimum amount of gas (injection gas rate). At constant injection pressure (casing pressure) all GLV’s above the operating GLV should be closed. If the tubing pressure is increased for any reason (e.g. choke back production at the wellhead, a big liquid slug coming from the productive formation, etc), this may cause the opening of some GLV’s. This opening is the automatic response of the GLV’s to stabilise the flow. The injection of gas will reduce the liquid head pressure in the tubing until the GLV’s are closed again. Fig. 2.26 shows an example of these “response curves” where tubing pressure is along the x axis, standard volume gas rate along the y axis, and there is one curve for each casing pressure.

Page 92

Chapter 2: Input Description and Program Execution

Fig. 2.26 Example of GLV Response Curves

The GLV is constructed to respond on both the casing pressure and tubing pressure, see Fig. 2.27. The casing and tubing pressure work together to open the valve, while the gas (typically nitrogen) charged dome works in the opposite direction. The curve for the casing pressure of 730 psig illustrates the behaviour. For low tubing pressures the combined force is not enough to open the valve (Pt < 330 psig). For tubing pressures above the “opening pressure” of 330 psig the valve starts to open; the “Throttling region” from 330 to approximately 600 psig is where the valve goes from closed to fully open. For a tubing pressure approaching the casing pressure the flow decreases as the differential pressure decreases, and above 730 psig (Pt > Pc) there is no flow as there is a check valve that stops the flow going from the tubing to the casing. In the input to OLGA the terms “injection pressure” and “production pressure” is used instead of “casing pressure” and “tubing pressure”, respectively, since the injection gas may be injected in the tubing instead of the casing, and the well fluid flows up the casing. The intention of the GLV is to allow flow from the injection to the production side, so using the terms injection/production makes the input more general.

Chapter 2: Input Description and Program Execution

Page 93

Fig. 2.27 Sketch of typical casing (injection) pressure operated GLV (with gas charge)

The GLV in Fig. 2.27 is characterized as an Injection or Casing Pressure Operated GLV since the injection/casing pressure works on the large part of the bellows (AINJ) while the tubing pressure works on the small part (APROD). The force balance for the point where the GLV starts to open is then:

PB = PINJ (1 − R ) + PPROD ∗ R

(2.158)

where R = ASEAT / ABELLOW. PINJ and PPROD switch places in the equation for a Production or Tubing Pressure Operated GLV. Calculation of flow from curves

The standard volume gas rate through the GLV (defined in keyword LEAK) is found by linear interpolation in the user-given response curves (defined in keyword TABLE) using the calculated injection pressure (upstream the GLV) and production pressure (downstream). First, the code finds the two response curves with injection pressures that are closest (higher and lower) the current injection pressure. One gas rate is found for each curve by interpolating using the current production pressure, and then the resulting gas rate is found by interpolating between these two rates using the current injection pressure. If the current injection pressure is below the lowest given injection pressure, the curve for the lowest injection pressure is used directly, and vice versa for injection pressure above the highest given injection pressure. That is, no extrapolation for injection pressures. Extrapolation is performed in the direction of decreasing production pressure to find the opening production pressure, if not given (allowed with a negative extrapolated value, as would be the case for the injection pressure of 790 psig in Fig. 2.26). It is required that the last point in a response curve (the point with highest production pressure) has a gas rate of 0. It is possible to create a curve with only one point for which this is not a requirement (a way to specify constant standard volume flow for all production pressures below the injection pressure).

Page 94

Chapter 2: Input Description and Program Execution

Associated liquid (in case of liquid on the injection side) through the GLV is calculated by setting the total mass flux WTOT [kg/(m2*s)] as:

WTOT = WG

ρ mix ρG

(2.159)

where WG is the gas mass flux derived from the response curves, ρG is the gas density and ρmix the volume averaged density. For each liquid phase (oil, water) the mass flux through the GLV is:

WP = massfrac P ∗ WTOT

(2.160)

where the suffix P represents oil or water and massfrac is the mass fraction of the phase upstream the GLV (in the section where the GLV is placed). Temperature effect

In the case of a gas charged dome (a GLV might have a spring instead), the pressure in the dome will increase with increasing temperature as the gas is contained in the dome. This means that the required force from the production and injection side to open the GLV also increases with increasing temperature. According to Winkler and Eads /20/ the increased pressure in a nitrogen charged dome/bellows (based on reference temperature TREF of 60 F) is expressed like:

∆PB = M (TB − TREF ) For nitrogen 60 F base pressures less than 1238 psia :

M = 0.00226 + 0.001934 PB + 3.054 ⋅10 −7 PB2

(2.161)

For nitrogen 60 F base pressures from 1238 to 3000 psia :

M = −0.267 + 0.002298 PB + 1.84 ⋅10 −7 PB2 where TB is the bellows temperature, and the pressures and temperature are given in psia and F. These equations have been implemented in OLGA, but with a user given reference temperature. That is, it has been assumed that the equations give reasonable results also for other reference temperatures than 60 F. The bellows temperature will depend on the production temperature, injection temperature, flow conditions, geometry of GLV, placement of GLV, etc. The user must give a parameter α where the bellows temperature is a linear interpolation between the injection and production temperature:

TB = TPRODα + TINJ (1 − α )

(2.162)

From the force balance equation (2.158) we get the following expressions for the increase in required production pressure to open the GLV (assuming constant injection pressure): Injection operated : ∆PPROD =

∆PB ∆PB , Production operated : ∆PPROD = R 1− R

(2.163)

Chapter 2: Input Description and Program Execution

Page 95

where ∆PB is calculated in equations (2.161). This effect can be very significant. For a sufficiently high temperature above the given reference temperature the GLV might never open: PPROD, open + ∆PPROD > PINJ. In OLGA this effect is included with a right-shift of all the response curves associated with the GLV. The point with maximum gas rate (for each of the curves) is identified, and the points to the left of this maximum point are shifted with the calculated ∆PPROD. The new response curve will then consist of the adjusted left side of the curve, the original right side of the curve, and a new maximum point where they cross each other. This procedure is a simplification of how the response curves are affected in the dynamic region; only the opening point is correctly calculated (except for the uncertainty in using equations (2.161) for a reference temperature different from 60 F). E.g., the curve for a casing/injection pressure of 850 psig in Fig. 2.26 will not be affected by temperature with this procedure. This is not physically correct. Further work on GLV in OLGA will possibly implement vendor specific GLV’s where the temperature effect is included in a more correct manner. 2.3.5 The Complex Fluid Module

The complex fluid model utilises the Bingham, the Power law model or a Newtonian model. The Newtonian option is included to include the peculiarities of higher viscosity liquids. As opposed to the complex viscosity model described in Section 2.3.4.6, the complex fluid model includes numerous modifications to the physical models for both separated and distributed flow taking into account the nonNewtonian behaviour of the fluids. Non-Newtonian behaviour can be modelled for either the liquid hydrocarbon phase, the water phase or both. See chapter 3 for further details. One important improvement with regard to standard OLGA and the complex viscosity model is to have a slug flow model that include the effects of the above rheologies and simultaneously cover the range of Reynolds numbers from laminar to turbulent flow on bubble front velocity and thereby on liquid accumulation. A better model for the liquid flowing below the slug bubble and thereby a better slug fraction prediction, as basis for pressure drop prediction is also a major difference. This is especially important for more viscous liquids. For stratified flow the wall friction calculations should be better than using an equivalent viscosity. 2.3.5.1The slurry plug extension

The idea of this extension is to describe what happens during normal production and stop/restart with a hydrate slurry in the line. If the hydrate particles sink to low points during shut-down, forming particle dunes or plugs, this will increase the restart pressure, making restart possibly difficult or impossible. When the liquid velocity drops below a certain critical value in a section, particles start to settle, and the slurry begin to separate into a pure oil phase and a more dense slurry phase. As a result of the separation the particle fraction in the remaining slurry increases, and with it the consistency/yield stress and the density. Depending on the local inclination, the actual rheology etc the slurry may flow downhill and form particle dunes or even plugs. The particle density in such plugs may continue to rise as the separation of particles and oil continues.

Page 96

Chapter 2: Input Description and Program Execution

When the line is restarted the opposite process of particle entrainment etc takes place, if sufficient liquid velocity can be obtained considering the obstacles created by the settling process. In this extension the water equations of the three-phase model is used to describe the slurry phase and the oil phase equations are used to describe the pure oil phase that separates out at low liquid velocity. Thus the aqueous phase in the model is really a mixture of water/hydrate and oil with a fraction of the dispersed phase that changes along the pipeline and with time, according to settling and entrainment processes taking place. A pure water phase doesn’t exist, and pure oil only arise as a result of a settling process The model assumes that oil and pure water is fully mixed when it enters the pipe. We have added a term in the input for the slurryplug option (WATERCUT in FLUID keyword) that specifies the fraction of pure water in the aqueous/slurry phase. This overrides any water input (WATERFRACTION etc) that is given for an inlet source, inlet pressure boundary, etc. The water/hydrate is assumed to have a density of 910 kg/m3. Further development of the slurryplug option will probably include that the watercut is read from the source and/or pressure boundary instead of specifying this in FLUID, using water density from the pvt table, and couple the hydrate temperature to the HYDRATECHECK keyword instead of specifying one value in FLUID (HYDTEMP). Critical velocity The critical velocity is the velocity above which particles becomes entrained in the liquid flow. The correlation of Turian et. al. (1987) /23/ is used for the critical velocity:

u χ χ χ χ c = χ ϕ 2 (1 − ϕ ) 3 Dρ ( gD( s − 1))0.5 4 (d / D) 5 1 0 . 5 [2 gD( s − 1)]

{

}

(2.164)

where

χ1 = 1.7951 χ 2 = 0.1087

χ 3 = 0.2501 χ 4 = 0.00179 χ 5 = 0.06623 ϕ : particle concentration d : particle diameter D : pipe diameter s: ρ s / ρ solid liquid density ratio uc: critical velocity for onset of particle entrainment Rheology models The particle concentration of the slurry may now vary with time and along the pipeline. Thus it is not possible to use the table based rheology option (FULL=YES) as this only describes the influence of pressure and temperature not the particle concentration. We have so far chosen to use standard correlation for rheological parameters.

Chapter 2: Input Description and Program Execution

Page 97

It is only the dependency of model parameters on the local particle or droplet fraction that is modelled here in the ”Slurry plug model”. Then the Complex Fluid Module is used to calculate friction factors etc. For the slurry, that is when the fluid temperature is below the hydrate temperature, the user can select among three different rheology models (CFLUMW): • Newtonian fluid modelled via the Krieger Dougherty model • Power law shear thinning model via the IFE model from the IFP experiments • Bingham fluid via the Thomas model If the fluid is above the hydrate temperature, we assume that it forms an emulsion or dispersion, which can be described via the Krieger-Dougherty formulation, and different parameters can be given for the two cases. The Krieger-Dougherty correlation is one of many that could have been chosen. By selecting the right parameters, most typical emulsion or slurry behaviours can be approximated. Newtonian model The Krieger Dougherty correlation, Krieger and Dougherty (1959) /24/:

µ r = (1 − ϕ / ϕ Mf ) −2.67

(2.165)

can be used for the slurry and must be used for the emulsion (i.e. it is the only one implemented of many possible correlations). The user can give different parameters: ϕ Mf for emulsion and slurry.

ϕ

is the particle fraction

ϕ Mf is the particle fraction where the viscosity goes to infinity. If the particle fraction exceeds this limit, an upper limit of 0.99 ϕ Mf is used. Shear thinning model We assume that the consistency factor can be modelled as:

K = Kr µh

(2.166)

where the subscript h indicate the continuous hydrocarbon liquid phase. We have so far used a provisional IFE model:

K r = 4761.9ϕ − 428.6 n=

1 1 + 14.29(ϕ − 0.09)

(2.167)

If the particle concentration is so low that any of these parameters get an unphysical value, the program choose a Newtonian model with pure oil viscosity. The Bingham fluid model Here we use the correlation of Thomas /25/ for the relative yield stress and the relative viscosity. The relative yield stress is given by: 3

τ yr

  Fϕ = 10   /(1 − 1.94(1 − F )ϕ ) 1 − (1 − F )ϕ  6

(2.168)

Page 98

Chapter 2: Input Description and Program Execution

A dimension of s-1 is implied in the constant of equation (2.168), and the absolute yield stress is found by τ y = τ yr µ h (2.169) the relative viscosity is given by

µ r = 1 /(1 − 1.94ϕ )

(2.170) F is the fraction of fine particles, said to be particle diameters below 30 10 m. ϕ is the particle fraction. -6

6

10

5

10

4

10

3

relative yield stress s−1

10

finefraction 2

10

1

10

0

10

−1

10

−2

10

−3

10

0

0.1

0.2

0.3 0.4 particle concentration

0.5

0.6

0.7

Fig. 2.28 Yield stress according to the Thomas correlation, with fines fraction from 0.1 to 1 in steps of 0.1, the yield stress is scaled with the pure oil viscosity. 2.3.6 Thermal Computations

In a temperature calculation the fluid mixture temperature profile along the pipeline should be critically examined. Large discontinuities are often unphysical, although if large pressure differences occur between two neighbouring sections the Joule-Thompson effect may give a substantial temperature difference. Furthermore, if there is a great difference in hold-up between two adjacent sections, temperature differences can be expected depending on the thermal properties of the gas, liquid, and pipe walls, as well as the surrounding medium. Thermal calculations for the wall may be done at two levels:



The heat flux through the pipe wall layers is conduction controlled and calculated by the code with user given conductivities, thermal capacities and densities for the wall layers



The energy flux is determined by a user given overall heat transfer coefficient

The former is recommended since the energy storage capacity in the wall is often large. It may therefore be important in a dynamic simulation to also treat the wall

Chapter 2: Input Description and Program Execution

Page 99

temperature calculation dynamically. The latter option will save some CPU time, but should be used with care and preferably in steady state situations only. For discretisation of pipe walls, see sect. 2.5.4, Numerical Restrictions.

Fig. 2.29

Illustration of a buried pipe

Buried pipelines may be modelled with the soil as an outer concentric wall layer. The first option (heat flux calculated by the code) should then always be used due to the rather large heat storage capacities in the soil. For a buried pipe, the division of the soil into concentric layers is only an approximation to reality. Theoretically, the equivalent heat transfer coefficient from the outer surface of a buried pipeline to the top of the soil can be calculated to be:

hsoil =

Where: D H λsoil hsoil

λ soil D  2H   cosh -1   D 2

(2.171)

= outer diameter of buried pipe = distance from centre of pipe to top of soil = soil heat conductivity = overall heat transfer coefficient for soil

The term cosh-1 (x) can mathematically be expressed as follows: cosh-1 (x) = ln ( x + ( x2 - 1 ) 0.5 )

for x ≥ 1

To get the same hsoil the following equation can be used to calculate the equivalent soil conductivity used in OLGA input:

k soil =hsoil ⋅ Rsi ⋅ ln

Rso Rsi

(2.172)

Where: Rsi Rso ksoil

= inner radius of soil layer (=outer radius of pipe wall) = outer radius of soil layer = input value of soil conductivity

To accurately predict the transient heat transfer, the thermal capacity of the soil should be adjusted as follows:

Page 100

Chapter 2: Input Description and Program Execution

C p input = C p soil

k soil

λ soil

(2.173)

Where: Cp input = input value of soil thermal capacity Cp soil = soil thermal capacity Heat transfer at steady state conditions depends only on the outer soil layer radius Rso and ksoil. However, for dynamic situations, a good soil discretisation is important in order to obtain a reliable temperature profile, and it should be considered to use the Soil module (section 2.3.8) or the FEMTherm module (section 2.3.9). 2.3.6.1 Thermally driven natural/free convection in the axial direction

Natural convection in the axial direction may significantly affect the temperature profile along a pipeline when the temperature gradient has the same direction as the gravity, particularly during a shutin period in a vertical riser. A 1D fluid model cannot directly consider energy transport due to velocity profile flow in both directions over a cross section, as is the case in natural convection. However, the resulting heat redistribution due to natural convection can be viewed as an essentially 1D phenomenon. Thus, to account for this effect, we, have introduced an additional 1D term in the energy conservation equation in OLGA-2000 as follows,

  ∂ ∂ F 1 ∂ F ∂T   ∑ mi ei  = −  A∑ miU i H i  +  λeff  + Q + HS ∂t  i=1 ∂ A z ∂ z ∂ z     i =1 

(2.174)

where m is specific mass (kg/m3), e is the internal energy per unit mass (J/kg), A is cross sectional area (m2), U is velocity (m/s), H is enthalpy (J/kg), λeff is the effective conductivity of the fluid (J/ms), T is temperature (K), Q is the heat transfer rate from the walls (W/m3) and HS is the enthalpy of sources (W/m3). It is the term

∂  ∂T   λeff  ∂z  ∂z 

(2.175)

that has been introduced to account for thermally driven natural/free convection. The effective conductivity is being calculated from the equation

λeff = λ ⋅ Nu

(2.176)

where the Nusselt number Nu depends only on the Rayleigh number

Ra =

gβL3 ∆T

κυ

(2.177)

and the Prandtl number

Pr =

κ υ

(2.178)

Chapter 2: Input Description and Program Execution

Page 101

for a given geometry. Here β is the thermal expansion coefficient, g is the gravitational acceleration, κ is the thermal diffusivity, ν is the kinematic viscosity, and ∆T and L are the temperature drop and the elevation of any free convection zones of the pipeline where natural convection is likely to occur. Possible free convection zones are being determined prior to simulations and may be enabled whenever

g ⋅ cos ϕ ⋅ ∆T > 0

(2.179)

that is if the fluid temperature decreases with increasing elevation. Free convection zones may include one or several sections of a branch, but not multiple branches. In Fig. 2.30 an example with seven free convection zones (marked red) is shown.

Fig. 2.30 Example with seven free convection zones in OLGA-2000

The axial heat option should be used with care, as the resulting heat redistribution in a particular situation is sensitive to the detailed geometry of the pipeline. Note also that in the present version the automatically detected free convection zones do not cross NODES. The following guidelines apply to the use of the axial heat option in OLGA-2000 (activated by setting AXIALHEAT=ON in the OPTIONS keyword).



Be careful with the placement of the NODES. A riser may for example be divided into two free convection zones if it is being modeled as two BRANCHES instead of one.



Be careful with the location of process equipment like PUMPS, VALVES etc. These will not be taken into account when the free convection zones are being detected. One should therefore have such equipment located at the NODES only.



Be careful with the geometry of the pipeline. If the pipeline profile used in OLGA-2000 is a crude approximation of the real pipeline profile, erroneous simulation results may occur. Simplifications, like avoiding horizontal pipe sections or other bumpy pipes, that may serve as obstructions for free convection, may have a consequence for the accuracy of the results. To

Page 102

Chapter 2: Input Description and Program Execution

avoid too long free convection zones, one should insert NODES at the location of the natural convection obstacles. Thus, the axial heat feature may be a useful and accurate option if the NODES are,



included wherever thermally driven natural/free convection is improbable,



excluded wherever thermally driven natural/free convection is probable.

For a particular free convection zone, the transient redistribution of heat is dependent on the length of the zone (L), the temperature difference (∆T) and the thermal expansion coefficient (β) of the fluid in the zone, i.e. the characteristic time constant for this transient heat redistribution is proportional to

 L τ ∝   gβ∆T

12

  

(2.180)

where the thermal expansion coefficient β is averaged over the zone. Heat transfer due to natural convection in the axial direction of the pipe is in most cases small compared to



the heat that is being exchanged with the pipe wall, and



the heat that is transported with the fluid if there is a flow in the pipe.

Note, however, that one for example may have an effect in a well where the surrounding soil temperature is decreasing with increasing height. This feature cannot be used together (COMPOSITIONAL = MEG in OPTIONS).

with

compositional

tracking

2.3.7 Bundled pipelines (Bundle Module)

The Bundle module is used for simulations of heat transfer between different pipes that are bundled together and with the gaps between the lines are filled with fluids. A BUNDLE can consist of two different types of pipes: Pipes for which the full hydraulic and thermal behaviour is calculated. These pipes are referred to as OLGA BRANCHES. The pipes for which only heat transfer calculations are performed are referred to as LINES. The heat transfer between the different LINES is calculated based on the flow rates in the LINES, their inlet temperatures, the ambient conditions and the thermal characteristics of the various fluids and pipe materials. The flow in the LINES is assumed to be incompressible and the pressure loss is not calculated. The LINE fluid properties are assumed to be constant (i.e. unaffected by heating/cooling). The mass flow as well as the inlet temperature in each of the LINES can be given as a time series. The flow and temperature in the BRANCHES are calculated using the standard flow OLGA model. The WALL or FASTWALL temperature calculation option must be specified when the BUNDLE module is used. The BUNDLE module can be used both for steady state and transient simulations.

Chapter 2: Input Description and Program Execution

Page 103

The following output variables are available for each of the LINES: fluid temperature, inner surface, outer surface, and overall heat transfer coefficient, and heat transfer rate from the fluid. Crossovers of fluid from the outlet of one line to the inlet of another can be specified. The fluid can be reheated at the crossover. Controllers can regulate both the flow rate of and the heat input at the crossovers. Several BUNDLE groups can be specified in either one BRANCH or in different BRANCHES. Crossovers between BUNDLE LINES in different BRANCHES are possible. The BUNDLE module can be combined with the FEMTherm module to simulate, for instance, buried BUNDLEs.

2.3.8 Soil Module

The Soil module (3-dimensional thermal) solves the following equations in two steps:

1. Energy equation for the fluid in the pipe and the heat transfer equation for the first layers of the pipe WALL. The two equations are solved for each of the pipe sections along the pipelines, giving • The profiles of the fluid temperature along the pipeline • The profile of the temperature in the pipe WALL along the pipeline.

2. A 2-dimensional heat transfer equation in the solid media surrounding the pipe WALL. This equation is solved for each of the cross-sections along the pipeline, giving the temperature distribution over the cross-sections. A finite difference method is used for solving the heat transfer equation. The combination of 1-dimensional fluid and WALL temperature equations along the pipelines and the 2-dimensional heat transfer equations for the media in each of the cross-sections along the pipeline results in a 3-dimensional temperature field. The cross-section can contain multiple pipelines. Therefore, the model can consider the thermal interactions between the pipelines through the solid media around the pipes. The figure below illustrates one cross-section with the grid system used for solving the 2-dimensional heat transfer equation. The simulation model consists of stacks of such cross-sections along the pipeline.

X

Y

Page 104

Chapter 2: Input Description and Program Execution

Fig. 2.31

SOIL grid cross section

The thermal masses in the SOIL can be very large and it may require very long simulation times to obtain thermal equilibrium condition when integrating the energy balance equation for the SOIL. A special feature is therefore implemented that provides the user with the possibility to neglect thermal masses for the SOIL for a selected period of time in order to obtain a faster approach to a thermal equilibrium condition. This time period is specified by the value of the key SOILINIT in keyword INTEGRATION. When generating the input for the thermal model, the following should be observed:

• Use at least three to four cells on each radius of the pipe both in X and Y directions • The grid lines should be closer near the pipe outer radius. • The outer radius of the pipes (pipe + WALL) must touch a grid line. • All pipes inside the SOIL group that belongs to the same BRANCH must be of the same diameter and have the same WALL. • OLGA automatically assigns a cell for which more than half of the cell area is within the circumference of the pipe as being a part of the pipe WALL. • Better accuracy is obtained if the outer pipe WALL layer consists of a SOIL layer. This is of course only possible for completely buried pipes. • If the centre of a pipeline is placed at the first or the last vertical grid lines (first or last X co-ordinates), it is assumed that the heat transfer is axial-symmetric around the Y (vertical) axis going through the centre of the pipe. • Similarly, if the centre of a pipeline is placed at the first or the last horizontal grid lines (first or last Y co-ordinates), it is assumed that the heat transfer is axial-symmetric around the X (horizontal) axis going through the centre of the pipe. • If the pipe is exposed to the sea, the user must specify with the COVER statement, which adjacent grid cells are in the sea. In this way partially buried pipelines can be defined. • Multiple OLGA pipelines can reside inside the same SOIL grid. In this case, 1. There must be at least one grid cell between the pipes. 2. The profile and discretisation of the BRANCHES inside the same SOIL group must be the same.

2.3.9The FEMTherm module

The FEMTherm module has been included to simulate the transient and spatial distribution of heat in the solid interior of a bundle or soil, using finite element heat conduction. This module is an alternative to the Soil module described in Section 2.3.8, with certain differences:

• Easier input: o Discretisation: just one value (MESHFINENESS) o Predefined shapes (circle, ellipse, rectangle) in addition to a userdefined polygon

Chapter 2: Input Description and Program Execution

Page 105

• Better visualisation of cross section, grid and results (FEMTherm Viewer) • More accurate discretisation around the circular pipe wall (triangular mesh) However, in the soil module it is possible to define varying ambient heat transfer coefficients (HAMBIENT) to the surroundings. This will be implemented in a later version of the FEMTherm module. The module can calculate the thermal performance of:

• Bundled pipelines • Buried pipelines • Complex risers The FEMTherm module solves the 2-dimensional heat transfer equation in the solid media surrounding the pipe WALL. This equation is solved for each of the crosssections along the pipeline, giving the temperature distribution over the crosssections. A finite difference method is used for solving the heat transfer equation. The combination of 1-dimensional fluid and WALL temperature equations along the pipelines and the 2-dimensional heat transfer equations for the media in each of the cross-sections along the pipeline results in a 3-dimensional temperature field. The cross-section can contain multiple pipelines, i.e. BUNDLES, BRANCHES and LINES. Therefore, the model can calculate the thermal interactions between pipelines surrounded by solid media. The figure below illustrates one cross-section with the grid system used for solving the 2-dimensional heat transfer equation. The simulation model consists of stacks of such cross-sections along the pipeline.

X

Y

Fig. 2.32

CROSSSECTION grid

The thermal masses in the SOIL can be very large and it may require very long simulation times to obtain thermal equilibrium when integrating the energy balance equation for the SOIL. FEMTherm consist of a grid generator and a finite element method (FEM) equation solver. The grid generator makes a 2D mesh in concord with the so-called Delaunay criterion. The finite element equation solver determines the time dependent 2D

Page 106

Chapter 2: Input Description and Program Execution

temperature distribution of any user defined pipe cross-section, which can have several SHAPES, i.e. CIRCLES, ELLIPSES, RECTANGLES and POLYGONS. All SHAPES can be combined in the same CROSSSSECTION as long as one SHAPE is surrounding all the other SHAPES. Consider the pipe in Fig. 2.33 below.

Fig. 2.33 CROSSSECTION grid

Let us investigate a simple situation with a single component incompressible fluid in the pipe visualized above. The equations of motion for this system are: f ∂T f f ∂T & ρ C A = −mC p − Q& WALL ∂t ∂z ∂T w ρ w C pw A w = +Q& WALL − Q& FEM ∂t r r ∂T ∂  ∂T  ∂  ∂T  →  ∧ J q = −λ∇T ∧ Q& FEM = ∫∫ J q dS = λ ρC p  +  λ ∂t ∂x  ∂x  dy  ∂y  f

f p

f

(2.181) (2.182) (2.183)

In addition to these equations a set of boundary and initial conditions are required to calculate a numerical solution. Equation (2.181) describes the energy conservation of the fluid, equation (2.182) the energy conservation of the pipe WALL and equation (2.183) the energy conservation with heat conduction in the solid interior of the bundle. The temperature T = T ( x , y , z , t ) is the central variable in FEMTherm, and the parameters in the model are:

Αf Τf ρf

C pf Τw ρw

C pw Αw

m&

Area of the pipe cross section Temperature of the fluid Density of the fluid Heat capacity of the fluid Temperature of the first wall layer Density of the first wall layer Heat capacity of the first wall layer Cross section area of first wall layer Flow rate of fluid

Chapter 2: Input Description and Program Execution

Q& WALL Q&

Heat transfer between first layer and bundle

λ ρ Cp

Conductivity of the solid interior the bundle Density of the solid interior of the bundle Heat capacity of bundle



Heat flux at the wall surface of the FEM grid

FEM

Jq r S

Page 107

Heat transfer between fluid and first layer

Surface vector of the wall

In OLGA the fluid temperature varies in the axial (z) direction only. Therefore the heat conduction in the first WALL layer is always in the radial (r) direction only. The heat conduction in the rest of the cross section is in both spatial directions (x and y). It is possible to include more than one radial conduction WALL layer in the model. This will reduce the reliability of the numerical results if asymmetric effects are significant, but generally shorten the computational time of the simulation. The results from an OLGA simulation where the FEMTherm module has been applied, can be visualized in the tool FEMTherm Viewer. Note that the FEMTherm code makes a triangle mesh also for the OLGA WALLS (radial conduction layers), BUNDLES, LINES and the fluid within. This is for the purpose of visualisation only. The temperature is not calculated separately for these dummy nodes (e.g., the nodes in the WALL layers have the same temperature for a given radius). See Fig. 2.34 that shows an inner OLGA WALL with two outer walls defined by SHAPE.

Fig. 2.34 Left: Grid visualised in FEMTherm Viewer (the fluid in the middle will also have a mesh). Right: Grid used in FEMTherm calculation. 2.3.9.1 Limitations and recommendations

To obtain numerical solutions to the heat transfer equation (2.183) one needs to determine the number of nodes that is required to obtain a suitable grid and select a suitable time step. The first of these determines the discretisation of space; the second determines the discretisation in time. For most cases it is recommended to decrease the numerical step size systematically until the numerical solution does not change if one decrease it any further.

Page 108

Chapter 2: Input Description and Program Execution

In the cross section below, two OLGA pipes are placed within a circular cross section. The temperature of the fluid and the temperature of the pipe WALL are solved with the OLGA model (finite difference method) on the assumption that radial heat conduction is predominant. Thus the pipe WALL outer surface (se figure) serves as an external boundary to the finite element equation.

inner surface outer surface

Fig. 2.35 Two OLGA pipes in a cross section

In the figure below we see a close-up of the region between the two pipes for three examples of the space discretisation. The numerical accuracy is strongly dependent on the number of internal nodes (N) between external boundaries.

a

b

c

Fig. 2.36 Different discretisations for the area between two OLGA pipes

We recommend that N should be at least larger than or equal to 4. In (a) N=0, in (b) N=3 and in (c) N=4. Thus the grid in (c) is the only acceptable grid for high precision calculations. The MESHFINENESS1 key in the CROSSSECTION keyword sets the spatial resolution of the grid. The number N can be checked after the simulation has been performed by looking at the grid in FEMTherm Viewer. Thermal calculations with the finite element method are computationally expensive and are not carried out for every single time step in OLGA. We recommend that the time step for thermal calculations DELTAT in the CROSSSECTION keyword should be below the smallest characteristic time constant in the system. For complex pipes this constant may be difficult (if not impossible) to calculate, but a fairly valid approximation is: 1

MESHFINENESS is the number of nodes, which are evenly distributed on the outer boundary of the SHAPE with the longest circumference within a CROSSSSECTION, which is not a POLYGON. The density of nodes (nodes divided by circumference) on the SHAPE with the longest circumference determines the number of nodes on all other non-POLYGON SHAPES in order to obtain a mesh with uniform node spacing.

Chapter 2: Input Description and Program Execution

τ≈

Page 109

1 ρC p 2 L 2 λ

(2.184)

Where ρ , C p and λ are density, thermal capacity and thermal conductivity of a pipe layer thickness L . Thus one should determine this time constant for all the layers in a pipe and use a time step that is below the smallest of these. 2.3.10 Corrosion Module

The basic chemical reactions in CO2 corrosion are:

CO2 + H 2 O ⇔ H 2 CO3

(2.185)

which then dissociates in two steps:

H 2 CO3 ⇔ H + + HCO3−

(2.186)

HCO3− ⇔ H + + CO32−

(2.187)

In CO2 corrosion when the concentrations of Fe2+ and CO32- ions exceed the solubility limit, they combine to form solid iron carbonate films according to:

Fe 2+ + CO32− ⇒ FeCO3 ( solid )

(2.188)

These films can be more or less protective for further corrosion. Currently, three CO2 corrosion models; the NORSOK model , the de Waard 95 model and the IFE top-of-line corrosion model have been implemented in the OLGA three-phase flow model /5, 8, 18/. The de Waard 93 corrosion model was included in earlier versions, but has now been replaced with the top-of-line corrosion model. Corrosion dominated by H2S is at present not covered by the corrosion module. The NORSOK and de Waard 95 models are both regarded as conservative models as they include only limited effects of protective corrosion films. Protective corrosion films can form especially at high temperature (above 60 °C) or at high pH (above pH 5.5). The corrosion rate will increase with temperature for both models up to a limiting temperature where formation of protective corrosion films are predicted. Both models are tuned to a large set of experimental data, but the NORSOK model takes somewhat larger account for protective corrosion films at high temperature or high pH than the de Waard 95 model, as more recent high temperature data also have been used. The NORSOK model gives the corrosion rate as function of pH, temperature, CO2 partial pressure and wall shear stress: CR = f(pH, T) * g(T) * h(PCO2, τ)

(2.189)

The de Waard 95 model gives the corrosion rate according to the following formula: CR = (1 / (1 / Vr + 1 / Vm)) * Fscale

(2.190)

where Vr is the maximum corrosion rate based on the limiting reaction rate given as a function of temperature, CO2 partial pressure and pH:

Page 110

Chapter 2: Input Description and Program Execution

Vr = f(T, pH, PCO2), Vm is the maximum corrosion rate based on the limiting mass transfer rate given as a function of CO2 partial pressure, liquid flow velocity and hydraulic diameter: 0.8

Vm = C * PCO2 * UL

0.2

* DH ,

(2.191)

and the scale protection factor Fscale is a function of temperature and CO2 partial pressure: Fscale = g(T, PCO2) In the IFE top-of-line corrosion model the top-of-line corrosion rate is limited by the amount of iron that can be dissolved in the condensed water: CR = a * Rcond * CFe * (b - T)

(2.192)

where Rcond is the water condensation rate calculated by OLGA and the solubility of iron in the condensing water CFe is a function of CO2 partial pressure and temperature: CFe = f(T, PCO2) The flow field at each section along the pipeline/network is used to calculate the corrosion rate. The corrosion module must be used together with the three phase module in OLGA. The three phase module is controlled by WATEROPTIONS when using OLGA PVT table files and COMPOPTIONS when using compositional tracking (COMPOSITIONAL=ON IN OPTIONS). The following keywords should be specified:

• OPTIONS PHASE = THREE (required) • WATEROPTIONS (key WATERFLASH) • COMPOPTIONS (key FLASHTYPE) The key WATERFLASH equal to ON in WATEROPTIONS is important when using three-phase PVT table files (where the saturated water vapour mass fractions for the gas phase are available) due to condensation of water vapour. Top-of-line corrosion rates due to condensation of water in the pipeline will only be calculated if WATERFLASH is ON when using PVT table files. Similarly FLASHTYPE should be set to either SIMPLETHREEPHASE or FULLTHREEPHASE when using compositional tracking to calculate water condensation. It is also possible to use OLGA's internal PVT package for water together with a two-phase PVT file. This combination is automatically switched on when using a two-phase PVT file together with OPTIONS PHASE = THREE. For such cases, condensation of water vapour will not be taken into account and top-of-line corrosion can not be calculated. The NORSOK and de Waard models can be used for calculation of corrosion rates in the bottom of the line. Water inflow must be specified through the keys WATERFRACTION, TOTALWATERFRACTION or WATERCUT available through the keywords BOUNDARY, SOURCE and WELL.

Chapter 2: Input Description and Program Execution

Page 111

The input parameters for the corrosion models are specified in the keyword statement CORROSION. Input parameters for each branch of the network are as follows:

• • • • • •

• • •

CO2 mole % in the gas (key: CO2FRACTION) Bicarbonate concentration in the water phase (BICARBONATE) Total ionic strength in the water (IONICSTRENGTH) Inhibitor efficiency (INHIBITOREFF) Glycol concentration in the aqueous phase (GLYCOLFRACTION) The watercut limit where water droplets in oil will wet the wall (WCWET). If the watercut is higher than this value, the water droplets will wet the wall, even if no continuous water film is present. The default value is 30 %. This parameter is only used for the water wetting test in the corrosion module. It has no influence on the flow conditions. An option for calculating pH based on saturated iron carbonate concentration in water (PHSAT) Maximum CO2 partial pressure in single phase liquid flow (PCO2MAX) Bubble point pressure , from which the CO2 partial pressure for single phase liquid flow will be calculated (PTMAX)

Currently, the bicarbonate, glycol concentrations, ionic strength and water wetting limit are given as constants for a given branch. The glycol concentration can either be set manually or be determined by the MEGTRACKING function if available to the user. If the manual option is used, the glycol concentration is constant through the whole pipeline. If the MEGTRACKING option is used, the glycol concentration will be diluted in accordance with water condensation rates. The water chemistry has a significant influence on the calculated corrosion rates. Experience in CO2 corrosion evaluation is therefore important to prepare input and evaluate simulation results properly. For both the NORSOK and the de Waard 95 models the pH value in the bulk water phase is calculated as a function of CO2 partial pressure, temperature, bicarbonate content and ionic strength by the formulas given in the NORSOK model. The input parameters BICARBONATE and PHSAT can be used to choose between different water chemistry conditions when calculating the pH value:



Condensed water without corrosion products: BICARBONATE = 0, PHSAT = OFF



Condensed water saturated with corrosion products: BICARBONATE = 0, PHSAT = ON



Water with specified bicarbonate content (e.g. formation water): BICARBONATE > 0, PHSAT = OFF

The pH calculation is based on the CO2 partial pressure calculated as the CO2 mole % in the gas phase multiplied by the total pressure. For a situation with no free gas phase the CO2 content will be constant for pressures above the bubble point pressure. The user must then manually supply the bubble point pressure (PTMAX), which may be found by running OLGA. The maximum CO2 partial pressure is then calculated by the code for all pressures higher than PTMAX: CO2FRACTION * PTMAX. This is done even though free gas is present; the code only checks if the pressure is above PTMAX or not. Alternatively, the user may set the maximum CO2 partial pressure directly, (PCO2MAX). If no free gas exists in the pipeline at all, PTMAX or PCO2MAX can be found from measurements or calculations in a separator or in a pipeline further downstream where a free gas phase exists.

Page 112

Chapter 2: Input Description and Program Execution

In the de Waard 95 model, corrosion reduction due to protective films is not accounted for when formation water is present. For ionic strengths larger than 0.2 M, formation water is assumed and there will be no corrosion reduction due to scaling. For ionic strengths lower than 0.2 M, condensed water conditions are assumed, and the scaling reduction factor is then dependent on the CO2 partial pressure and temperature. The presence of glycol will reduce the corrosion rate. The same glycol reduction factor is used for both the NORSOK and the de Waard 95 models. The effect of corrosion inhibitors can be specified through the key INHIBITOREFFICIENCY. Parameters calculated by the three phase flow model OLGA, which are used by the corrosion models, are pressure (plot variable PT), temperature (TM), water velocity or mixture water/oil velocity, wall shear stresses in oil and water, alternatively liquid mixture (boundary variables TAUWHL, TAUWWT, TAUWL), water volume fraction (BEWT), oil film volume fraction (BEHL) and the near-wall watercut (WCWALL, which is given as a fraction). WCWALL is defined to be 1.0 if there is any continuous water film at the wall. If water is present only as droplets in the oil film, WCWALL is equal to the liquid film watercut. The liquid film watercut can be expressed as USLWT/(USLWT+USLHL) where USLWT is the superficial velocity of water in the liquid film, and USLHL is the superficial velocity of oil in the liquid film. The water wetting conditions are determined as follows: First, the water-oil flow regime is determined by the flow model. There are mainly two flow regime conditions of concern for the corrosion model: 1. A continuous water film exists (WCWALL = 1.0). A continuous water film may be a result of stratification, or due to a watercut above the flow model's water-oil inversion point. The water-oil inversion point has a default value of 0.5 (watercut = 50%), but may be changed through the keyword WATEROPTIONS, INVERSIONWATERFRAC. The OLGA code has been verified with 0.5 as inversion point. Please note that changing this value might change the flow predictions significantly. 2. Water only existing as droplets in a continuous oil film. For such cases, the watercut must be below the flow model's inversion point (0.0 < WCWALL < INVERSIONWATERFRAC < 1.0) This flow information is sent to the corrosion module where tests are performed to determine if water wetting occurs: Condition 1 will always give water wetting of the wall. Condition 2 will give water wetting if the watercut (and WCWALL converted to %) is above the water wetting limit, WCWET, given in the CORROSION keyword (default value 30 %). For slug flow (output variable ID = 3), both conditions might be occurring intermittently, i.e. a passing slug bubble might be in condition 1, while the liquid slug might be in condition 2 or vice versa. Such cases are treated as full water wetting (condition 1). To sum up, the case of no water wetting can only occur in condition 2 when the liquid film watercut (and WCWALL in %) is less than the water wetting limit

Chapter 2: Input Description and Program Execution

Page 113

(WCWET). In that case, zero corrosion rate follows. Full water wetting will always occur if WCWALL (in %) is larger than or equal to WCWET. In addition, the corrosion rates assuming full water wetting are always calculated. The corrosion models are not valid if pH > 6.5 or if T > 150° C. In cases where corrosion control by pH stabilisation is applied, the pH value might exceed the upper pH limit of the corrosion models. The implemented corrosion models are not suitable for such cases. The corrosion models should not be used for CO2 partial pressures above 10 bar. In addition, the NORSOK model is presently not valid for pH < 3.5 or T < 20° C. The user must ensure that these limits are not exceeded. The top-of-line corrosion model does not account for increased corrosion due to presence of acetic acid in the gas, which can increase the solubility of iron in the condensed water and hence the top-of-line corrosion rate. If the gas contains acetic acid this should be evaluated separately. The CO2 corrosion models are not valid when the ratio between CO2 and H2S partial pressure (or the ratio between CO2 and H2S molar fraction in the gas phase) is lower than 20. The models should not be used when the H2S partial pressure is higher than 100 mbar. For partial pressures ratios of CO2 and H2S between 20 and 500, the models will give an upper bound for the corrosion rate, but may be conservative since iron sulphide films may be formed. A selection of corrosion related parameters can be specified as output variables through the keyword statements OUTPUT, TREND, PLOT and PROFILE. The corrosion specific parameters are defined in appendix A, sec. 10. A CO2 corrosion case is described in appendix M. 2.3.11 Wax Deposition Module

The wax deposition module allows for modelling of wax precipitation and deposition of wax on the wall. Wax precipitation is calculated based on a pre-calculated wax table containing data on each of the wax forming components. The format of this file is described in Chapter 4.4. The wax file is generated in PVTSim. Wax deposition will be calculated for all branches, but different wax data can be given for each branch. The model takes into account the thermal-hydraulic effects of the wax in the following way: 1) Mass conservation equations are solved for a) Wax dissolved in oil b) Wax precipitated and dispersed in oil c) Wax deposited at wall 2) Pipe diameter and roughness for each section is adjusted depending on the thickness of wax deposited on the wall. 3) Heat balance for precipitation, deposition and melting of wax. 4) Volume change due to precipitation, deposition and melting of wax. 5) Wall heat transfer is adjusted to take the wax layer into account 6) Oil viscosity is adjusted to take into account any suspended (dispersed) wax To use the wax deposition, use the following dependent keywords:



OPTIONS to set WAXDEPOSITION = ON or OFF

Page 114

Chapter 2: Input Description and Program Execution



OPTIONS TEMPERATURE = WALL



FILE to specify the file containing the wax data



WAXDEPOSITION to specify wax specific data for all branches.



BOUNDARY, WELL and/or SOURCE to specify WAXFRACTION. Mass fraction of wax forming components in the inflow boundary fluid mixture (excluding free water). The value must be in the range [0,1]. If all inflow boundaries have WAXFRACTION = 1 (default value), the amount of wax in the inflow will be according to equilibrium (specified in the wax data file).



TREND to print wax variables for given positions to a trend plot file



OUTPUT to print wax variables for a branch at given times to an output file



PROFILE to print wax variables for a branch at given times to a profile file

Note: The wax deposition model cannot be used together with the slug tracking, compositional tracking or the MEG tracking model. The steady-state preprocessor will not consider the wax phase.

When generating an OLGA PVT table, multiphase flashing (gas, oil, wax and, if present, water) should be used. The wax phase will, however, normally not have a significant effect on the properties of the oil phase, apart from the viscosity of the oil/wax dispersion, which is taken into account in the model. Wax deposition may be calculated by using one of the three following models:

• • •

RRR model /6/ HEATANALOGY model as described in sec. 6.8.1 in /14/ MATZAIN model, as described by Matzain et. Al, /12/

The required model is chosen by using the key MODEL in keyword WAXDEPOSITION. A wax deposition case is described in Appendix N. Wax precipitation and dissolution in bulk

Precipitation and dissolution/melting of dispersed wax is calculated from variations of the wax component solubility with pressure and temperature. The solubility variations are taken from the wax property tables. Transport mechanisms from bulk to wall

Wax deposition can occur in two ways, either by diffusion of dissolved wax due to a temperature difference between fluid and wall, or by transfer of precipitated wax due to shear. The wax deposition rate due to molecular diffusion may be described by:

G = Dρ wax

(C bulk − C wall ) L

(2.193)

where G [kg/(cm2s)] is the mass transfer rate of wax deposited and D [cm2/s] is the molecular diffusion coefficient. The RRR and HEATANALOGY models are using the Hayduk & Minhas correlation. The MATZAIN model is using the Wilke & Chang

Chapter 2: Input Description and Program Execution

Page 115

correlation. C [-] is the concentration of wax components, ρwax [kg/cm3] is the wax density, and L [cm] is the thickness of the laminar layer. The boundary layer is calculated differently for the different models activated through the key MODEL. In the RRR model, the laminar velocity boundary layer is used. The HEATANALOGY model uses a laminar concentration boundary layer based on the laminar thermal layer and the ratio of thermal vs. mass diffusivity (Lewis number). The MATZAIN model uses the laminar thermal boundary layer and an adjustment constant to enhance diffusion. It is assumed that the precipitation rate at the wall is much quicker than the rate of wax transported to the wall, so that all wax transported from bulk to wall immediately precipitates. It is possible to adjust the diffusion coefficient for the wax components by using the key DIFFCOEFFMULT. The value is directly multiplied with the diffusion coefficients calculated by the code. The key may be applied for all deposition models. Wax layer porosity (volume fraction of trapped oil in wax layer), φ [-], is taken into account when calculating the wax layer thickness. Shear stripping of wax from the wax layer is used as a wax deposition limiting effect in the MATZAIN and HEATANALOGY models. The shear stripping terms are taken from the Matzain model /12/. The equation for the rate of change in wax layer thickness is as follows:

dδ 1  dδ  =  C3  dt 1 + C 2 N SR  dt  diff

(2.194)

where C2 and C3 are the constants given in /12/. Values: C2 = 0.055 and C3 = 1.4.

 dδ    is the change rate due to diffusion, and porosity effects. The constant C1 =  dt  diff  dδ  for the MATZAIN model only. NSR is a flow 15.0 from /12/ is included in    dt  diff regime dependent Reynolds number /12/:

N SR =

ρ o voδ µ o, f

, ( Single − phase, Stratified )

N SR =

ρ m vl δ µ o, f

, ( Bubble, Slug )

N SR =

ρ m ρ o vl δ µ o, f

, ( Annular )

where ρ o is the oil density [kg/m3], v o is the oil velocity [m/s], δ is the wax layer thickness [m], µ o , f is the oil viscosity kg/(m s), ρ m is the average density of the gas-oil mixture and vl is the liquid velocity. It is possible to adjust the constants related to the shear stripping model by using the keys SHEARMULTC2 and SHEARMULTC3. These are tuning parameters multiplied directly with C2 and C3 , respectively..

Page 116

Chapter 2: Input Description and Program Execution

Shear deposition effects may be included by applying the key COEFSHEAR when using the RRR or HEATANALOGY models. The deposition rate constant K* (=COEFSHEAR) determines the volume rate of precipitated wax deposited due to shear by the following formula:

Vol shear wax =

K * C wall γA  m 3    ρ wax  s 

(2.195)

where Cwall is the volume fraction of precipitated wax in the oil at the inner wall temperature, γ is the shear rate at the wall [1/s], A is the surface area available for deposition [m2] and ρ wax is the average density of the wax [kg/m3]. Transport mechanisms from wall to bulk (dissolution of wax layer)

Dissolution/melting of wax deposited on the wall may be activated separately through the keys DISSOLUTION, DISSOLPRESS, DISSOLTDIFF and DISSOLRATE for the RRR model. The melting process is calculated by the following method: 1. The dissolved wax concentration derivative with respect to temperature is found at the cloud point for the pressure in the section. 2. The dissolved wax concentration at the wall is adjusted when the wall surface temperature is above the dissolution temperature (found by applying DISSOLTDIFF). The adjustment is as follows:

C wax , wall = C wax ,TWS +

dC wax dT

⋅ (TWS − WDT ) WAP

where Cwax is the concentration of wax, TWS is wall surface temperature,

dC wax dT

is the concentration derivative with respect to temperature at the WAP

cloud point (see point 1), WDT is the dissolution temperature: WDT = WAP + DISSOLTDIFF WAP is from the wax tables, while DISSOLTDIFF may be a constant or a function of the section pressure (through the given DISSOLPRESS). 3. The adjusted Cwax,wall is used in the normal diffusion equations where Cwax,bulk- Cwax,wall is the driving potential of the diffusion process. When Cwax,wall > Cwax,bulk , melting will occur.

& , is limited 4. The total dissolution and diffusion rate of wax from wall to bulk, m 2 upwards by DISSOLRATE (kg/(m s )):

m& = min (m& * , DISSOLRATE ) & * is the mass diffusion rate based solely on the wax concentration where m

differences between wall and bulk (see point 3). The default value of DISSOLRATE is 1.0e+12, which means that there is no limitation of the dissolution and molar diffusion rate. The reduction to DISSOLRATE is done so that the mass fraction of the wax components transported by diffusion are kept constant.

Chapter 2: Input Description and Program Execution

Page 117

Viscosity of wax/oil dispersions:

Calculation of the viscosity of the wax/oil dispersion is done by modules supplied by Calsep A/S /7/ when using the key VISCOPTION = CALSEP. The apparent viscosity of oil with suspended wax particles is calculated as follows:

    E ⋅ Φ wax F ⋅ Φ 4wax   + η = η liq ⋅ exp( D ⋅ Φ wax ) 1 +  dv x  dv x   dy  dy  

(2.196)

where η liq is the viscosity of the oil not considering solid wax and Φ wax the volume fraction of precipitated wax in the oil-wax suspension.

dv x is the shear rate. The dy

parameters D, E and F have the following values (viscosities in mPa s and shear rates in s-1) D = 37.82 E = 83.96 F = 8.559*106 In the PVTSim program from Calsep, it is possible to tune the wax-oil dispersion viscosity model to measurements. The resulting tuning parameters may be given directly as input to OLGA when using the Calsep viscosity model. Keys: VISCMULTD, VISCMULTE, VISCMULTF. These are multiplied with the D, E and F parameters, respectively. The calculated apparent viscosity is limited between η liq and 1000⋅ η liq . The influence of dispersed wax on the oil viscosity may also be given as a table (keys: VISCOPTION = TABULAR, VISMULTIPLIER, WAXVOLFRACTION). Wax layer properties:

One may also give information about the porosity (oil volume fraction) of the wax layer, the roughness due to deposited wax (keys: WAXROUGHNESS and MAXROUGHNESS) and the thermal conductivity of pure wax. The conductivity may be set manually in the input file by using CONDUCTOPT = MANUAL and set CONDUCTIVITY, or it may be taken from the waxtables (CONDUCTOPT = TABLE). The instantaneous porosity of wax added to the wax layer may be set as a constant (INSTPOROSITYOPT = MANUAL, WAXPOROSITY between 0.0 and 1.0), or be calculated by the code (INSTPOROSITYOPT = AUTOMATIC, minimum and maximum limit given by MINPOROSITY and MAXPOROSITY). The instantaneous porosity equation used by the code is as follows /12/:

Page 118

Chapter 2: Input Description and Program Execution

0.15  N RE  ,f = 1 −  8  

C oil

N RE , f

ρ vd = o l w µ o, f

(2.197)

where C oil is the porosity (volume fraction of oil in the wax film), ρ o is the oil density [kg/m3], vl is the liquid velocity [m/s], d w is the inner pipe diameter including the wax layer [m] and µ o, f is the oil viscosity kg/(m s). The effect of ageing may also be included by using the keys AGEINGOPT=AGEING, AGEINGTIME, INITPOROSITY and HARDPOROSITY. This activates a linear ageing model where the entries for AGEINGTIME, INITPOROSITY and HARDPOROSITY are used to determine the derivative of porosity with time. The porosity is averaged over the new layer and the old, aged layer at each time step. The porosity of the wax layer is taken into account when calculating the thermal conductivity of the wax layer. The conductivity is found by using the following equation /13/:

k dep =

[2k [2k

wax

wax

+ k oil + (k wax − k oil ) Fw ] k oil + k oil − 2(k wax − k oil ) Fw ]

(2.198)

where kdep is the overall thermal conductivity of the wax film, kwax is the conductivity of pure wax (=CONDUCTIVITY in input), koil is the conductivity of oil and Fw is the weight fraction of solid wax in the wax film. 2.3.12 The MEG tracking module

A MEG tracking module is implemented in OLGA. The main objective for including this feature is to be able to track the MEG content in a pipeline and thereby ensure that enough MEG is present to prevent formation of hydrates in the pipeline.2 The following assumptions are made in the MEG tracking module:

• • • • • • •

2

MEG is only present in the aqueous phase. Water will be in both gas and aqueous phase. The effects of MEG on the properties of the aqueous phase are neglected except for the density, derivatives of density with respect to pressure and temperature and the viscosity. Water vapour content in gas phase is adjusted by the mole fraction of MEG in the aqueous phase. There is no diffusion of MEG in the aqueous phase. The MEG tracking module is not required to work with other modules in OLGA than the water option (i.e. not slugtracking, wax, corrosion, pump etc). The MEG tracking module should work with all the features in the OLGA basic code. The MEG tracking module must be used together with a two-phase fluid table or a three-phase fluid table with only H2O in the water phase.

In the standard three-phase model in OLGA the aqueous phase may contain water and MEG, but information about the MEG concentration along the line is not available

Chapter 2: Input Description and Program Execution

Page 119

The MEG tracking module consists of three fluid components

• • •

HC - Hydrocarbon in oil and gas phase. The methane properties are assigned to HC component for conversion between mole and mass. H2O - Water that can be in the gas and the aqueous phase. MEG - Mono Ethylene Glycol that is only in aqueous phase.

The properties of the aqueous phase are calculated at the local pressure, temperature and the composition in each section of the pipeline for each time step. The effect of MEG is included in the calculation of the density and viscosity of the aqueous phase. The method of Grunberg and Nissan is used to calculate the viscosity of the MEG and water mixture, and the Hankinson-Brobst-Thomson (HBT) technique yields an estimate of the liquid density. More information about the formulas used for determining the density and viscosity of the aqueous phase can be found in the open literature (The Properties of Gases & Liquids Fourth Edition, Reid, R.C., Prausnitz, J.M. and Poling, B.E.). The effect of MEG can also be included in the calculation of the hydrate formation temperature. The user can either specify a hydrate curve for each MEG concentration and let OLGA interpolate between the values, or the Hammerschmidt formula for hydrate depression (/19/) can be used (the equation is valid for MEG concentration between 0% and 70%):

TMEGCONC = TMEGCONC =0 − ∆T ∆T = ∆T M W TMEGCONC TMEGCONC=0

= = = = =

2335 ∗W 100 ∗ M − M ∗W

(2.199)

Hydrate depression, oF Molecular weight of MEG (62.069 g/mol) Weight per cent of the inhibitor in the liquid Calculated hydrate temperature Hydrate temperature for no MEG

For the other properties of the aqueous phase, the effects of MEG are neglected and pure water properties from the three-phase fluid table or from OLGA are adopted. Since MEG is assumed to be present only in the aqueous phase there is no flashing of MEG to any of the other phases. Water can be in both the gas and the aqueous phase and the flash calculations in OLGA determine the water mass transfer between the two phases. The water vapour mass fraction is scaled by the mole fraction of MEG in the aqueous phase. How to use the MEG tracking module

Use the following keywords to use the MEG tracking module



OPTIONS to set COMPOSITIONAL = MEG, PHASE = THREE

Page 120

• • • • • •

Chapter 2: Input Description and Program Execution

SOURCE to specify MEGFRACTION in the mass source INITIALCONDITIONS to specify MEGFRACTION at initial time (if STEADYSTATE = OFF in OPTIONS) BOUNDARY to specify MEGFRACTION at the boundary TREND to print compositional variables for given components to trend file PROFILE to print compositional variables for given components to profile file HYDRATECHECK to calculate the effect on hydrate formation temperature

Note that either MEGFRACTION or TOTALMEGFRACTION can be given. MEGFRACTION is the mass fraction of MEG in the total aqueous phase, and TOTALMEGFRACTION is the mass fraction of MEG in total aqueous phase + water vapour. TOTALMEGFRACTION can only be used together with TOTALWATERFRACTION. 2.3.13 The Compositional Tracking module

This chapter gives a short description of the compositional tracking model in OLGA, and shows how to use it. The model uses a separate PVT package delivered by Calsep for property and mass transfer calculations. This package is inherently compiled into the OLGA code and it is activated with a license for the OLGA Compositional Tracking module. 2.3.13.1 The compositional model in OLGA

The standard OLGA model uses a fluid table with material properties calculated for a predefined composition, and this composition is assumed to be constant through the whole simulation. Different compositions can be used for each branch in a system, but again the compositions are constant with time. In reality the composition may vary along the pipeline due to slip effects (velocity differences between phases), interphasial mass transfer, merging network with different fluids and changes in fluid composition at the inlet. In the compositional tracking model the mass equations are solved for each component in each phase. That is, gas, liquid droplets, bulk hydrocarbon liquid and bulk water. Thus, the compositional model will keep track of the changes in composition in time and space, and ensure a more accurate fluid description compared to using the standard OLGA model. Instead of using a fluid file with pre-calculated material properties, a so-called feed file must be generated and given as input to OLGA. The feed file contains information about the feeds (fluid composition used in a source or boundary) that the user wants to use in the simulation, and about the components comprising the feeds. In addition the user may define additional feeds through the OLGA input. These feeds may only contain a set of the components available in the feed file. PVTSim must be used to characterise the fluid and generate the feed file. The compositional tracking module in OLGA and PVTSim use the same algorithms to calculate the fluid properties. The compositional tracking module can be used together with both the two-phase and three-phase option in OLGA,and a compositional steady state pre-processor is also implemented. Further, the system can include process equipment such as critical and subcritical chokes with fixed or controlled orifice areas, compressors with speed and anti surge controllers, check valves, valves, separators with drain control, heat exchangers,

Chapter 2: Input Description and Program Execution

Page 121

pumps and controlled mass sources and sinks. The simplified option for simulating pigs and plugs (PLUG keyword) can also be used within the compositional model. The descriptions of the flow regimes, friction factors and wetted perimeters etc. in the compositional model are as in the OLGA model. 2.3.13.2 PVT routine package

The material properties of the fluid along the pipeline will be calculated continuously during the simulation. The properties are calculated from the local pressure, temperature, and composition. Calsep delivers the PVT package used for these calculations, and the functions used to calculate the fluid properties of the resulting phases are similar to the ones used by PVTSim, although these have been optimized for computational speed. Moreover, the molar fractions and their derivatives with respect to pressure, temperature and composition at phase equilibrium, are delivered by the package. Based on these results, the mass transfer between the phases needed for the mixture to be at equilibrium for the local pressure, temperature and composition, is calculated. Physical limits for the temperature and pressure used in the PVT calculations are introduced. The temperature range is from -200 to 374 C (critical temperature for H2O), and the pressure range is from 0.05 to 1000 bara. If temperature or pressure go out of range, they are reset to the upper or lower limits. The reset values are used in the PVT calculations only and not fed back to the overall calculation of temperature and pressure. The PVT package also reads and interprets the feed file generated in PVTSim. 2.3.13.3 User input to the compositional model

In order to use the compositional tracking module, follow the steps below; Step 1 Use PVTsim to characterize the fluids to the same pseudo components and generate the feed file with all the necessary composition data for the fluid. Choose Interfaces from the Main Menu in PVTSim, and then choose Compositional Tracking. In the Compositional Tracking window, the feed file can be generated. Moreover, this feed file is input to the compositional tracking module. The feeds (fluid composition used in a source or boundary) defined in the feed file are available as feeds in OLGA, and the name specified in the Well column in the Fluid box in PVTsim, will be used as feedname. Step 2 Prepare the OLGA input using the following keywords;

• OPTIONS to set COMPOSITIONAL = ON. • FILE to specify the feed file. • FEED to define additional feeds and their composition (components from the feed file) • COMPOPTIONS to define calculation options to be used by the PVT routines. • INITIALCONDITIONS to specify initial feeds.

Page 122

Chapter 2: Input Description and Program Execution

• SOURCE to specify feeds in the mass source. • BOUNDARY to specify which feeds are feeding to terminal nodes. • WELL to specify feeds in the well stream. • TREND / PROFILE / OUTPUT / PLOT to print compositional output variables to the trend / profile / text output / OLGA Viewer files. Note: Output variables for rates at standard conditions (e.g. QGST) are CPU demanding since a flash must be performed, and should be used with care for Compositional Tracking simulations. The phase equilibrium calculations in PVTsim are based on either the SoaveRedlich-Kwong (SRK) or the Peng-Robinson (PR or PR78) equations of state (Soave (1972)) and Peng and Robinson (1976 and 1978)). The fluid data in the feed file are based on one of these equations with or without the Peneloux volume correction (Peneloux et al. (1982)), and the same EOS will be adopted in the OLGA simulation. The user may specify the type of flash calculation to use in the PVT package: FLASHTYPE=TWOPHASE treats water as an inert component. Inhibitors in the water phase will also be inert. A two-phase flash is carried out for the hydrocarbon components. There will not be any water components in the hydrocarbon phases, and no hydrocarbon components in the water phase. Classical mixing rules are used for the two-phase flash calculation. This is the default flash option. This option should be used when performing simulations with fluids consisting purely of nonaqueous components, and when the amount of free water is believed to have little impact on the conclusions and high simulation speed is wanted. FLASHTYPE = SIMPLETHREEPHASE means that the water components are treated as an inert phase initially. A two-phase flash is performed for the hydrocarbon components. Further, water components are added to the hydrocarbon phases, and hydrocarbon components to the water phase until the fugacity is the same for all the phases. Classical mixing rules are used both for the two-phase flash calculation and for the distribution of the components between the different phases. The simplification is that the change in phase equilibrium due to added components is not taken into account. This option is expected to provide accurate results for most simulations involving fluids consisting of both hydrocarbons and aqueous components, and should be used initially when performing three phase simulations. FLASHTYPE = FULLTHREEPHASE means that a full three-phase flash is performed for the total composition. The fugacity of all the components in all the phases is the same. All the phases are in equilibrium. Classical mixing rules are used for the hydrocarbon phase while Huron-Vidal mixing rule is used for the water components. This option is significantly slower than the simplified three phase flash option computationally, and is therefore recommended as an option to check the limitations in the simplified three phase flash.

WATERFLASH in WATEROPTIONS has no effect on CompTrack simulations (flashing of water is decided by FLASHTYPE in COMPOPTIONS), but the rest of the keys in WATEROPTIONS affect CompTrack simulations in the same way as simulations using PVT tables. The viscosity calculations can be based on the corresponding states principle or the Lohrenz-Bray-Clark correlation (1964). It the corresponding state principle is adopted, the thermal conductivity is calculated together with the viscosity, and this may speed up the simulation. The viscosity option is specified through the key VISCOSITYCORR. If the feed(s) in the feed file has been tuned to one of the

Chapter 2: Input Description and Program Execution

Page 123

viscosity correlations, this is the only allowed option (an error will be given if the other correlation is chosen). With the keys TCONDENSATE and TVAPORIZATION in COMPOPTIONS a nonequilibrium delay constant for each component can be introduced, and the equilibrium state reached in the flash calculation will be delayed. In the non-equilibrium model the convective mass transfer terms are calculated according to: , non − eq n +1 [ψ ]nf +,1conv = [ψ ] f ⋅ (1 − e − ( ∆Z / u ) / TDELAY , f c

c

c

)

(2.200)

where u is the superficial velocity of the mixture flowing into the section calculated for the equilibrium conditions at the section and ∆Z is the section length. ψ nf c+,1conv is the convective mass transfer term calculated by the equilibrium model for component fc. TDELAY,fc is the non-equilibrium delay factor for component fc, which has the dimension seconds. The user must specify the value of this factor, and separate values can be given for vaporisation and condensation. The local non-equilibrium mass transfer term is derived from the following equation:

dψ nf c+,1loc,non − eq dt

=−

ψ nf +,1loc,non − eq − ψ nf +,1loc c

c

TDELAY , f c

(2.201)

where ψ nf c+,1loc is the local mass transfer term calculated by the equilibrium model and

TDELAY , f c is the delay factor for component fc for condensation or vaporisation dependent on the sign of the equilibrium mass transfer term. This yields:

ψ nf +,1loc, non − eq c

 ∆ tψ nf c+,1loc + T ψ nfc ,   T DELAY , fc + ∆t = n +1  ∆ tψ f c ,loc , T  DELAY , fc + ∆t

sign (ψ nf c+,1loc ) = sign (ψ nfc ) (2.202)

sign (ψ nf c+,1loc ) ≠ sign (ψ nfc )

In the dense phase region (Fig. 2.37) there is no good criteria to distinguish gas from oil, and the "chosen" phase doesn't affect any fluid properties for simulations with Compositional Tracking. This can be a problem especially for INITIALCONDITIONS where a user specifies e.g. voidfraction=0 for an entire branch, but gets an error saying that this is not valid input since there is no liquid for parts of the branch. The user then has to specify voidfraction pipe-wise, which can be a lot of work. Also, PVTsim might predict another phase than Compositional Tracking since a different and more time demanding approach is used, which adds to the confusion.

Page 124

Chapter 2: Input Description and Program Execution

P

Crit

= Area, where density limit comes into effect

T Fig. 2.37 Dense phase region

The key DENSITYLIMIT in COMPOPTIONS can be used to remedy this. A fluid with higher density than the given value is defined as liquid and fluid with lower density is defined as gas (in the dense phase region where there is no good criteria). E.g. if the user gets an error saying there is no gas for this branch the limit can be increased. If the limit is not specified the internal criteria is used. This limit should preferably be set equal to the density found in PVTsim when performing a flash at the critical point. Note: The use of DENSITYLIMIT can also reduce oscillations e.g. for cases with decreasing pressure where different sections cross from the dense phase region to the two phase region on each side of the critical temperature. 2.3.14 The Black Oil module

The purpose of the Black Oil module is to improve the CPU performance compared to compositional tracking and to improve the accuracy of in particular shutin calculations compared to the standard pvt-table option. This module makes it possible to perform calculations with a minimum of information about the production fluid(s). The minimum required information is data for specific gravity of gas and oil, and the gas/oil ratio (GOR) at standard conditions. Detailed information about fluid composition is thus not required for making OLGA simulations. If water is present, the specific gravity and/or salinity of the water must be given in addition to the total amount of water. The black oil module uses the framework of the compositional tracking module. The tracked components are gas, oil, water and optionally H2S, CO2 and N2. In addition salt may be added to the water. Instead of tracking mol-fractions as in compositional tracking, the concentrations of the components are tracked as mass in Sm3. The physical properties of gas and oil are calculated using a set of black oil correlations.

Chapter 2: Input Description and Program Execution

Page 125

Existing Olga routines are used for water. Water properties may be modified by the presence of salt. It is allowed to give more than one type of standard gas, oil, and water. Different types of black oils can be specified with different properties for standard gas, oil, and water. For a mixture of different black oils, the properties of the mixture at the standard conditions are the average of the constituting black oils weighted by volume at standard conditions. The following assumptions are made for the black oil module: 1. No standard oil component dissolved in water phase. 2. The solubility of the standard oil in the gas phase will be neglected. The first assumption does, however, not exclude dispersion of oil in water and vice versa. The second assumption has as a consequence that it will not be well suited for GCS (gas condensate systems). An estimate of amount of oil in the gas phase will be needed to make this module better suited for GCS. 2.3.14.1 Black Oil Correlations

2.3.14.1.1Solution Gas-Oil Ratio and Bubble Point Pressure Two situations may occur. First the amount of gas at standard conditions has all been generated from flashing of the reservoir fluid (the reservoir pressure is above the bubble point pressure). Second, the fluid from the reservoir consists of both liquid and gas so that the GOR at standard conditions is larger than the solution gas-oil ratio, RSGO, for the reservoir liquid. For calculating RSGO, four different correlations have been implemented. o o o o

Lasater /27/ Standing /28/ Vazquez & Beggs /29/ Glaso /30/

These correlations can be used to calculate either the bubble point pressure, Pb, for a given RSGO or a value for the equilibrium value of RSGO at any pressure below Pb. The Lasater and Standing correlations are the most well known and are listed below. The basis for the Lasater correlation are the following relationships. (Pb * γg)/T = f1(yg) Mo = f2(API) yg = RS / ( RS + 1.32755*105*γo/Mo) where: API = 141.5 / γo – 131.5 yg = mol fraction of gas γg = specific gravity of gas

Page 126

Chapter 2: Input Description and Program Execution

Mo = effective molecular weight of tank oil γo = specific gravity of oil RS = solution gas-oil ratio f1(yg) = tabulated function of yg f2(API) = tabulated function of API Units are: Pb (psia) T (0R) RS (sct/STBO) Standing’s correlation for Pb for a given RSGO is:

Pb = 18.2(W – 1.4) where W = (RSGO/γg)0.83*10(0.00091T – 0.0125API) For a given pressure below Pb, the equilibrium value of RSGO, RSEQ, can be calculated as follows: RSEQ = γg(1.4 + p/18.2)1.20510(0.015API – 0.0011T) Units: Pressure in psia, Temperature in 0F. 2.3.14.1.2 Water solubility Water is treated as inert in the current version, hence no water vapor in the gas phase and no solubility of natural gas in the free water phase. 2.3.14.1.3 Oil density The oil density depends on pressure, temperature and amount of gas dissolved in oil. With pressure below bubble point the procedure is as follows. First the oil volume formation factor BO is calculated, ref. 1. BO = 0.9759 + 1.2*10-4 * C1.2 Where C = RSGO * (γg/γSTO)0.5 + 1.25*T The oil density is calculated as follows ρo = (62.4*γSTO + 0.0136*γg *RSGO) / BO With pressure above bubble point, no free gas, the density at bubble point, ρob, must first be calculated using the above equations with RSGO equal to the amount of gas dissolved in oil. Next the oil density is calculated, ρo = ρob * exp(co(p – pb))

Chapter 2: Input Description and Program Execution

Page 127

co is the isothermal compressibility of undersaturated oil. co = 1.e-5*( -1433 + 5*RSGO + 17.2*T – 1180*γg + 12.6*API)/p Units: T in 0F, p in psia, BO in bbl/STB. 2.3.14.1.4 Gas density The compressibility equation of state is the basis for calculating gas density. pV = znRT The gas constant, R, has a value of 10.72 if other variables have units of psia, ft3, lbm – moles, deg R(Rankine). The gas volume formation factor, BG, can be expressed as BG = 0.0283*z*T / p with p in psia and T in 0R. The gas density is obtained from ρg = ρgsc / BG where ρgsc = 0.0764*γgsc and 0.0764 is the density of air at standard conditions in lbm/ft3. γgsc is specific gravity of gas at standard conditions. The gas compressibility, z, expresses the deviation of the real gas volume from the ideal gas behavior. The assumption that real gas mixtures will have the same zfactor for the same values of pseudoreduced pressure, Ppr, and temperature, Tpr, will be used to determine the value of z. An algebraic relationship, ref. 1, has been developed which relates z to Ppr and Tpr. This is an implicit set of equations which requires an iterative solution. In order to save cpu-time, the z-values have been tabulated as a function of Ppr and Tpr. The values for Tpr and Ppr are obtained from the pseudocritical temperature, Tpc, and pseudocritical pressure, Ppc. Ppr = P / Ppc

Tpr = T / Tpc

Empirical equations exist for Ppc and Tpc, ref. 1. Ppc = 756.8 – 13.1*γg – 3.6*γg2 Tpc = 169.2 + 349.5*γg – 74 * γg2 Units are psia and 0R(Rankine) The presence of CO2 and H2S is accounted for by correcting the pseudocritical P and T values. Nitrogen is assumed to not have a significant effect on the z-factor. Tpc’ = Tpc – ε Ppc’ = Ppc Tpc’ / (Tpc + B(1-B) ε )

Page 128

Chapter 2: Input Description and Program Execution

Where A = yCO2 + yH2S,

B = yH2S ( y are molfractions )

ε = 120 (A0.9 – A1.6) + 15 (B0.5 – B4.0)

2.3.14.1.5 Water density The same build-in routines for pure water property calculations as for the standard PVT table option are used for the black oil module. The effect of salinity is accounted for by correcting the density at standard conditions, ref 1. ∆ρw = 0.4386 S + 1.6e-3 S2 where S = salinity in weight percent solids and ∆ρw is correction of density at standard conditions in lbm/ft3. The value of ∆ρw is added to the calculated density for pure water.

2.3.14.1.6 Oil viscosity o Dead oil viscosity If no data are available the viscosity of dead oil, µoD, can be calculated using the following equation, ref 1:

log log (µoD + 1) = 1.8653 – 0.025086 API – 0.5644 log T Alternatively measured data as function of temperature can be used. o Live oil viscosity

The dead oil viscosity is modified if gas is dissolved in oil. If pressure is equal to saturation pressure, oil saturated with gas, the viscosity, µo, is calculated as follows, ref 1: µo = A µoDB, ( unit is cp ) where A = 10.715 (RSGO + 100 )-0.515 and B = 5.44 (RSGO + 150 )-0.338 If amount of gas dissolved in oil, RS, is less than RSGO, calculate first saturation pressure, Pb, corresponding to RS, and µob with RSGO = RS. Then calculate µo with the following expression. µo = µob (P/Pb)B with B = 2.6*P1.187*exp(-11.5 -8.98*P) Units: P in psia, T in 0F, µ in cp, RSGO in scf/STB. 2.3.14.1.7 Gas viscosity

Chapter 2: Input Description and Program Execution

Page 129

Gas viscosity is calculated using the following correlation, ref 1: µg = A*1.e-4 * exp(BρgC) with

A = (9.379 + 0.016Ma)T1.5 / (209.2 + 19.26Ma + T ) B = 3.448 + 986.4 / T + 0.01009Ma C = 2.447 – 0.2224B Ma = 29γg (apparent molecular weight)

Units are: ρg in gm/cm3, T in deg R, µg in cp.

2.3.14.1.8 Liquid viscosity Liquid viscosity is calculated as in the standard PVT table option with oil viscosity calculated as described above. Water viscosity is calculated as in the standard PVT table option. 2.3.14.1.9 Surface tension Gas-oil: The calculation of surface tension for gas-oil has to be a simple one without the information of fluid composition. The following expression is used for given values of API, T(deg F), P(psia): Unit for σ is dynes/cm. 1 dyne/cm = 0.001 N/m. For dead oil: σgod = 39.2* ( 1 - API/148 ) – 0.0438 * (T-68) For saturated oil the value is corrected for saturation pressure: σgo = σgod * exp(-2.3*P/3000) For undersaturated oil, use corresponding saturation pressure for P(T,RS). Gas-water: σgw = (84.5 – 0.1068*T )*exp(-0.0002*P) Oil-water: For oil-water empirical data are scarce and a preliminary relation will be used:

σgw = (A1 – A2*T )*exp(-A3*P) Default values will be: A1 = 30.0, A2 = 0.0, A3 = 0.0 The above correlations are based on data from ref. 2 and 7.

Page 130

Chapter 2: Input Description and Program Execution

2.3.14.2 Thermodynamic properties

2.3.14.2.1 Specific heat of gas The specific heat or heat capacity of gas, cpg, will be tabulated as a function of temperature and specific gravity of gas. The data are from ref. 2, fig. 4-49. It is assumed that specific heat of a gas mixture corresponds to specific heat of a pure gas with the same specific gravity. 2.3.14.2.2 Specific heat of oil The specific heat of oil, cpl, can be calculated using the following equation, ref. 3. where

cpl = 2.96 1.34*γo + T*(0.0062 – 0.00234* γo ) γo = specific gravity of oil, T = temperature in 0C, cpl in kJ/kg0C

2.3.14.2.3 Enthalpy of gas The enthalpy of gas, Hg is calculated from the following equation T P Hg = ∫cpgdT + ∫(dH/dP)TdP P0 T0 The term (dH/dP)T can be expressed as -(RT2/P)*(dz/dT)P Based on tabulated values for cpg and z, a table for Hg can be generated using 0 0C and 1 bara as zero point. The compressibility factor, z, is tabulated as a function of Tpr and Ppr. The term (dH/dP)TdP in the above expression is therefore written in terms of Tpr and Ppr. (dH/dP)TdP = -(R*Tpc*Tpr2/Ppr)*(dz/dTpr)PdPpr

2.3.14.2.4 Enthalpy of oil The enthalpy of oil, Ho, will be directly calculated by integrating cpo from zero to actual temperature. The modifications of Ho at elevated pressures will be neglected. 2.3.14.2.5 Enthalpy of gas dissolved in oil The latent heat for gas dissolved in oil, ∆Hgo, will be used to calculate the enthalpy of liquefied gas, Hgo. Hgo = Hg - ∆Hgo The term, ∆Hgo , will be approximated by a simple correlation from ref. 3. First the latent heat is estimated at 1 bara. Units are in kJ/kg.

Chapter 2: Input Description and Program Execution

where

Page 131

∆Hgosc = 4.19*Tabp*(8.75 + 4.57*logTabp)/M Tabp = atmospheric boiling point, 0K.

Next latent heat is corrected for pressures above 1 bara. ∆Hgo = ∆Hgosc – 1.7*(P – 1.0) Tabp is tabulated as a function of oil specific gravity and molecular weight, ref.3. Atmospheric boiling point, Tabp (0C) 90 M 70 80 Spec grav. 0.6 27 42 60 11 0.9 66 93 6

100

120

140

160

180

200

220

79

104

Tabp 128

146

165

190

205

132

165

202

222

252

274

294

2.3.14.2.6 Thermal conductivity Gas: Data for thermal conductivity as a function of M and T is plotted in ref. 2. A function has been developed that gives a reasonable approximation to the data in ref. 2. Oil: Little data have been found. A simple linear function has therefore been used.

λo = A + B*T where A and B are input parameters. Default values have been set to A = 0.1385 w/moC B = -0.5e-4 w/moC2

2.3.14.2.7 Fluid Calibration In order to better predict the fluid properties most of the coefficients in the correlations can be tuned by using measured data and will therefore be available as optional input parameters. 2.3.14.3 How to use the Black Oil Module

Use the following keywords to use the Black Oil module:

• • • • •

OPTIONS to set COMPOSITIONAL = BLACKOIL BLACKOILOPTIONS to set GORMODEL (optional) BLACKOILCOMPONENT to set the properties of the gas, oil and/or water components BLACKOILFEED to combine the gas/oil/water blackoilcomponents into feeds and specify GOR and WATERCUT. SOURCE/BOUNDARY/WELL to set flow rates or volume fractions of the feeds to enter the pipeline system

Page 132



Chapter 2: Input Description and Program Execution

The steady state pre-processor may be used with the black oil module. If one chooses to start from INITIALCONDITIONS, initial volume fractions of the feeds must be given.

2.4 Program Execution 2.4.1 Core Requirements

Starting with OLGA most of the arrays are dynamically allocated, meaning that the core requirement will vary according to the simulation in question. The number of branches and sections will usually be most significant. Also number of radial wall layers and the use of the slug tracking and soil modules, can contribute to the core size required. 2.4.2 OLGA execution

To run the program from the command line, type: olga2000- inputfile OLGA can also be started from the OLGA GUI. The OLGA run using case1.inp as input file will generate the following output files: case1.out case1.rsw case1.tpl case1.ppl case1.plt

Printable output Restart file Trend plot file (if keyword TREND is specified) Profile plot file (if keyword PROFILE is specified) OLGA Viewer plot file (if keyword PLOT is specified)

Using the FEMTherm module in an OLGA run will also generate .osi and .cut files, see Section 2.3.9 and Section 3.3.15. 2.4.3 Steady State Processor

OLGA contains a steady state routine that computes liquid hold-up, pressure, flow regime and mass flow along the pipeline with the given set of boundary conditions. It is a complete steady state routine based on the point model OLGAS THREEPHASE with or without temperature calculation. The steady state conservation equations are solved and the flow regime determined for each pipe section in the pipeline. The steady state pre-processor is meant to be a generator of initial values for dynamic computations. The initial value pre-processor may be used for all combinations of boundary conditions. However, for pipe networks with inlet pressure or well (productivity index) boundary conditions, the steady state pre-processor is still not as robust as the dynamic OLGA code. The steady state pre-processor cannot handle counter-current flow (e.g. positive gas flow and negative liquid flow),. Except for displacement pumps and pump battery, it incorporates the effect of process equipment. For PID controllers the bias settings are used. It has full network capability, that is, both merging and diverging networks with both types of nodes (MERGE and SPLIT) can be calculated.

Chapter 2: Input Description and Program Execution

Page 133

2.5 Restrictions and Limitations 2.5.1 Fluid Properties

All fluid properties are normally assumed to be unique functions of temperature and pressure, and have to be input to OLGA in a particular file. Thus, the total composition (the mole fractions of the components) of the multiphase mixture is assumed to be constant both in time and space. This limitation is important for mixtures with pronounced compositional dependent properties. Note, however, that one may use different fluid properties in different branches in a pipeline network. Network simulations are special cases where total compositional changes in the pipeline may be important. Due to the phase velocity differences, the fluid composition in a pipe is generally different from the fluid compositions used in the PVT table. For example during the depressurisation of a pipeline. If only gas is released from the pipe the total composition in the pipe will change. Condensate may accumulate in the lower parts of the pipe and result in large compositional differences between sections. This difference will not affect the steady state results provided that the inlet flowing fluid has the same composition as in the PVT table. In transient simulations, as the fluids in the pipes have different compositions, the changes of the physical properties and the changes of equilibrium mass fractions with the changes of temperature and pressure will differ from the values from the PVT table. These differences are usually small. As an alternative to PVT tables, it is possible to perform a simulation using compositional tracking, where the compositional data is provided in a feed file and the code calculates the fluid properties internally. This means that the total composition may vary both in time and space, and that no special consideration is needed for a pipeline network. This procedure is also more accurate in simulations where the fluid compositional will change considerably with time, e.g., blowdown of pipelines. However, compositional tracking is more CPU demanding and is not compatible with all the other modules, e.g. slugtracking. The gas and liquid phases are assumed to be in thermodynamic equilibrium; the temperature and pressure are equal in both phases and any interface mass transfer occurs instantaneously. The limitation of the instantaneous interface mass transfer has important implications for the pressure propagation. If normal condensation takes place, the mixture will appear too compressible in OLGA and the speed of sound or pressure wave velocity will be smaller than if the mass transfer rate was finite. 2.5.2 Two-Phase Model Limitations

Generally these limitations are difficult to assess. Their possible consequences, however, will normally not be influenced by the users input choices. An exception is the correlation for the void fraction in liquid slugs. An average correlation based on the diesel, naphtha and stanco experiments at the SINTEF loop, is applied by default. The actual correlation quite significantly influences the transition from stratified to slug flow. The selected correlation yields good agreement for all the above experiments. For air/ water another correlation should be applied and OLGA provides an alternative which may be activated by specifying the key SLUGVOID in the keyword OPTIONS.

Page 134

Chapter 2: Input Description and Program Execution

Unless the slug tracking option is used, OLGA applies an average slug flow description. That is, if slug flow is predicted at a section boundary, flow parameters at that boundary, such as slug bubble velocity and volume fraction, slug fraction, etc., are computed based on the assumption of fully developed slug flow with an infinite number of identical slug cells. The detailed flow parameters at another point along the pipeline will normally differ, however, as the average flow parameters (pressure, hold-up, etc.) differ. The average description implies that if slug flow occurs in two adjacent sections, the detailed slug flow parameters at one section does not explicitly influence those in the section following it. The flow history at a pipe location is to a small extent considered in the flow regime determination. For example if slug flow is predicted in an upward sloping pipe and stratified flow in a following downward sloping pipe, all slugs die at the entrance of the latter pipe. In reality slug flow may persist some distance downstream, a slug needs some time to disintegrate. Eventually one slug may proceed downstream and cause liquid blockage at a bend in a riser connection with possible build-up of a terrain slug. This special type of mechanism for the onset of terrain slugging is not represented in the standard OLGA model. To simulate this phenomenon accurately the slugtracking model with HYDRODYNAMIC = ON should be used, see section 2.3.1. 2.5.3 Vital Numerical Recommendations

Time step OLGA has time step control based on several criteria. The first time step control is based on the transport criterion of Courant-FriedrichLevy (CFL):

∆t < min(∆z / U ) j This time step limitation is by default switched on. This means that the time step is limited so that no mass is transported across a whole section in one time step. This is the maximum time step allowed if a mass transient is to be followed correctly. The CFL criterion can be switched off at user specified sections through the keyword statement DTCONTROL. The second time step control, which is by default switched off, is based on the second order time derivative of the pressure. According to pressure changes the time step is then dynamically reduced or increased within the range determined by the two user specified limits, MINDT, and MAXDT. This time step control can be switched on through keyword statement DTCONTROL. If both time step control criteria are switched on, OLGA will choose the minimum time step from the pressure dependent time step and the smallest CFL determined time step at the specified test sections. The upper and lower limit for the time step is the user given MINDT and MAXDT in the keyword statement INTEGRATION. Additional time step control is activated when process equipment is simulated, or the slug tracking option is activated. Section Lengths For a pipeline of fixed length the computational time increases roughly quadratically with the number of sections the pipeline is divided into for the simulation. First, the number of arithmetic operations per time step increases proportionally to the

Chapter 2: Input Description and Program Execution

Page 135

number of sections. Secondly, the time step decreases with decreasing section length if the CFL transport criterion is switched on. The accuracy of the solution increases with smaller sections but in a complex manner that is difficult to estimate quantitatively. The numerical solution should, however, approach the analytical one as ∆t and ∆z approach zero.

Variable Mesh Length Past experience indicates that the section lengths should not differ too much along the pipeline. A factor of 2 or less in length ratio between adjacent sections is recommended although factors of 5-10 might work in some cases. Pipe-Section Discretisation In general, if either the inclination angle or the diameter of the pipes vary, each pipe should be divided into at least two sections to ensure meaningful results, i.e. to reduce numerical 'smearing out' of these effects. Automated Pipe Discretisation The Grid Generator, described in the manual "Grid Generator Getting Started" is a useful tool for generating or editing an OLGA branch Geometry. The program can be started from the Geometry button in the OLGA GUI. Wall Layer Thickness The numerical solution of the wall temperatures in the wall layers is dependent on the wall layer discretisation. For steady state calculations, the wall layer discretisation can be quite coarse, one layer for each material layer. For transient calculations when the heat storage in the pipe walls can be important (cool down or heat up) a finer discretisation of the pipe walls may be necessary. A wall layer should, as a rule of thumb, not be thicker than approximately 30% of the outer radius of the layer. Very thin layers, such as paint etc., should be included in a neighbouring layer by adjusting the thickness and conductivity of that layer. If the thermal conductivity of the thin layer is fairly close to the conductivity of one of the neighbours, only the thickness needs to be adjusted. 2.5.4 Array Size Limitations

Dynamic allocation of arrays is used in OLGA. The necessary memory is allocated based on the user input. 2.5.5 Input/Output Limitations

Input pre-processor The input pre-processor that checks the input data for inconsistencies is not foolproof. Although the most frequent input errors are found, there may be cases with faulty input that are not detected. Error messages are described in chapter 5. Initial value pre-processor OLGA contains a steady state processor, OLGAS (see section 2.4.3), that generates initial values to be used as initial conditions in dynamic computations.

Page 136

Chapter 2: Input Description and Program Execution

There may be differences in the results from OLGAS and OLGA for certain steady state cases due to the fact that OLGAS is a point model that is applied on the staggered mesh in OLGA and due to minor differences in the numerical treatment of the physical models. Printed output As this is a user specified quantity, care must be taken to avoid a paper or file "explosion". The amount of printed output is proportional to the number of output intervals and to the number of output variables and sections specified in the keyword statement OUTPUT. Output postprocessor The output postprocessor summarises the simulation results. Some of the information is dedicated to steady state cases. Other items like the minimum and maximum variable values are interesting also for transient simulations. The postprocessor will not give any information on any process equipment that is simulated. Plot file sizes There are no formal program restrictions regarding the size of these files. The user implicitly controls the size through the data specified in the keyword statements PLOT, TREND and PROFILE. The size is determined by the number of variables, sections and output time intervals. The file size limitation will be system dependent. 2.5.6 Standard conditions in OLGA

“Standard conditions” is often defined in SI units as 1 bara and 15 oC, but in OLGA it is defined as 1 atm/14.7 psia and 15.56 oC/60 F. This definition is the most commonly used in the petroleum industry. “Stock tank conditions” is also used in the industry, but this phrase is often perceived to mean dry oil and gas, and “standard conditions” is therefore used instead in OLGA. Also, “volume rates at standard conditions” are sometimes expressed as simply the in-situ mass rate divided by the density at standard conditions (for liquid), but in OLGA this definition is not used. Output variables for volume rates at standard conditions assumes that a single stage flash from in-situ to standard conditions has been performed. That is, mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion (requires that the tables contain standard conditions). For Compositional Tracking simulations a flash is performed for the in-situ fluid to standard conditions for each section and time the output variables are to be reported. This can increase the simulation time as a flash is CPU demanding, and such output variables should therefore be used with care for Compositional Tracking simulations.

Chapter 3: Input File Description

Page 137

CHAPTER 3

INPUT FILE DESCRIPTION 3

INPUT FILE DESCRIPTION..........................................................................................139 3.1

Input Data Syntax ..............................................................................................139 3.1.1 Example of keyword description (TREND keyword) ..............................139 3.1.2 General Rules ........................................................................................143 3.1.3 Parameter Types....................................................................................144

3.2

Input Statements Overview................................................................................146 3.2.1 Case Information ....................................................................................146 3.2.2 Execution Modes....................................................................................147 3.2.3 Geometrical System Definition ...............................................................148 3.2.4 Boundary and Initial Conditions..............................................................149 3.2.5 Compositional Model..............................................................................149 3.2.6 Process Equipment ................................................................................149 3.2.7 Output options ........................................................................................150 3.2.8 Auxiliary Keywords .................................................................................150 3.2.9 Conventions ...........................................................................................151

3.3

Keyword Descriptions ........................................................................................152 3.3.1 ANNULUS ..............................................................................................153 3.3.2 BITNODE ...............................................................................................154 3.3.3 BITNOZZLE............................................................................................155 3.3.4 BLACKOILCOMPONENT ......................................................................157 3.3.5 BLACKOILFEED ....................................................................................159 3.3.6 BLACKOILOPTIONS..............................................................................160 3.3.7 BOUNDARY ...........................................................................................161 3.3.8 BRANCH ................................................................................................167 3.3.9 BUNDLE.................................................................................................168 3.3.10 CASE......................................................................................................170 3.3.11 CHECKVALVE .......................................................................................171 3.3.12 COMPOPTIONS ....................................................................................172 3.3.13 COMPRESSOR .....................................................................................174 3.3.14 CONTROLLER.......................................................................................177 3.3.15 CORROSION .........................................................................................192 3.3.16 COVER...................................................................................................195 3.3.17 CROSSOVER ........................................................................................197 3.3.18 CROSSSECTION...................................................................................199 3.3.19 DRILLINGFLUID ....................................................................................203 3.3.20 DTCONTROL .........................................................................................205 3.3.21 FEED......................................................................................................207 3.3.22 FILES .....................................................................................................208 3.3.23 FLUID .....................................................................................................210 3.3.24 GEOMETRY...........................................................................................216 3.3.25 GRID ......................................................................................................218

Page 138

Chapter 3: Input File Description

3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 3.3.40 3.3.41 3.3.42 3.3.43 3.3.44 3.3.45 3.3.46 3.3.47 3.3.48 3.3.49 3.3.50 3.3.51 3.3.52 3.3.53 3.3.54 3.3.55 3.3.56 3.3.57 3.3.58 3.3.59 3.3.60 3.3.61 3.3.62 3.3.63 3.3.64

HEATEXCHANGER ...............................................................................219 HEATTRANSFER...................................................................................221 HYDRATECHECK..................................................................................228 INITIALCONDITIONS.............................................................................235 INTEGRATION .......................................................................................242 LEAK ......................................................................................................244 LINE........................................................................................................248 LOSS ......................................................................................................250 MATERIAL..............................................................................................252 NODE .....................................................................................................254 OPTIONS ...............................................................................................256 OUTPUT.................................................................................................259 PIGTRACKING.......................................................................................261 PIPE .......................................................................................................263 PLOT ......................................................................................................268 PLUG......................................................................................................269 POSITION ..............................................................................................275 PRINTINPUT ..........................................................................................277 PROFILE ................................................................................................278 PUMP .....................................................................................................281 REROUTE ..............................................................................................289 RESTART...............................................................................................290 SEPARATOR .........................................................................................292 SETPOINTVARIABLE ............................................................................303 SHAPE ...................................................................................................306 SHUTIN ..................................................................................................308 SLUGTRACKING ...................................................................................309 SOIL .......................................................................................................315 SOURCE ................................................................................................317 TABLE ....................................................................................................326 TOOLJOINT ...........................................................................................330 TREND ...................................................................................................332 TUNING..................................................................................................336 UNITS (Not available with OLGA GUI)...................................................340 VALVE ....................................................................................................341 WALL......................................................................................................344 WATEROPTIONS ..................................................................................347 WAXDEPOSITION .................................................................................350 WELL......................................................................................................357

Page 139

Chapter 3: Input File Description

3 INPUT FILE DESCRIPTION The case data description is contained in Input File. The input is divided into several input statements. The input statements are identified by keywords, related keys, and parameters.

3.1 Input Data Syntax 3.1.1

Example of keyword description (TREND keyword) This statement defines the trend option that prints data to a file for plotting of specific variables as a function of time. See Appendix A for list of variables available for plotting. If the soil module is used, the temperatures for selected cells can be trended. If the bundle module is used, the fluid temperature for selected lines can be trended. In both cases some additional information must be given. If the Compositional Tracking, MEG Tracking or Advanced Well (drilling) modules are used, variables for different components can be trended. Keyword:

TREND

Dependencies:

BRANCH, GEOMETRY, BUNDLE, OPTIONS

POSITION,

GRID,

LINE,

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.l

-

Branch numbers where the variables will be plotted.

BUNDLE

sym.

-

Bundle name where LINE is located

COMPONENT

sym.l.

[ALL]

Component names. With the MEG tracking module, available components are HC, H2O and MEG. With DRILLING=ON in OPTIONS, available components are HC, H2O, DENMIN, DENMAX, VISMIN, VISMAX and CUTTING. For the compositional model the names of the available components are given in the feed file.

DELETEPREVIOUS

sym.

ON | [OFF]

All trend variables defined before this keyword will be deleted from the list of trend variables, also those read from the restart file.

DTPLOT

r.l. (s)

-

Sample period for obtaining variable values. DTPLOT should only be given once in the input file. If it is given more than once, OLGA will only use the last one.

LAYER

i.l.

[ALL]

Wall layer no's for plotting of wall temperatures. Layer no 1 is the innermost.

Page 140

Chapter 3: Input File Description

Key

Type Unit: ( )

Parameter set Default: [ ]

LINE

sym.l.

-

Bundle line name.

NPLOT

i.l.

-

Number data points for plotting. A list of values for NPLOT refers to the time points given in TIME. The sample period is calculated as ∆TIME / NPLOT.

PIPE

sym.l.

-

POSITION

sym.l.

-

Pipe numbers where the variables will be plotted. Positions where the variables will be plotted out. If this is defined for variables, BRANCH, PIPE, and SECTION should not be used for the same variables. NB! The key POSITION is also used for referencing process equipment with label names. For the variables that are related to a processor equipment, such as CHOKE, CHECK VALVE, VALVE, COMPRESSOR, CONTROLLER, HEAT EXCHANGE, LEAK, PIG/PLUG, SEPARATOR SPOURCE, PUMP and WELL, the LABEL of the process equipment should be used instead of a defined POSITION (BRANCH=xx, PIPE=xx, SECTION=xx) in the POSITION key.

SECTION

i.l.

-

Section or section boundary numbers where the variables will be plotted.

SLUG

i.l.

-

ID numbers of slugs which will be plotted.

TIME

r.l. (s)

-

Time point when the plot interval is changed.

VARIABLE

sym.l.

-

List of variables to be plotted. Units may be included in the list.

SOILCOLUMN

i.l.

-

Column of soil cells that TSOIL is printed for. Must be specified together with SOILROW.

SOILROW

i.l.

-

ROW of soil cell that is printed for. Must be specified together with SOILCOLUMN.

Required keys:

Description

DTPLOT or NPLOT

Internal dependencies of keys: It is recommended to define DPLOT or NPLOT in a separate TREND statement above the TREND statements with variable specifications. If DELETEPREVIOUS is used, it should also be specified in a separate TREND keyword. If global variables are specified, then VARIABLE = (HT, NINTGR, VOLGBL) else if branch variables are specified, then

Chapter 3: Input File Description

BRANCH VARIABLE end if else if it is a volume variable, then either BRANCH PIPE SECTION or POSITION end either VARIABLE

Page 141

=1 = (LIQC, MASSIN, MASOUT) boundary variable or a slug variable in a specified position, =1 =1 =1 = POSITION-1 = (HOL, UG)

or VARIABLE if VARIABLE end else VARIABLE = TSOIL, then either BRANCH PIPE SECTION or POSITION end SOILROW SOILCOLUMN else if it is a bundle variable LINE PIPE SECTION VARIABLE

!Slug variables can not be given in the !same keyword as volume and boundary !variables.

= ALEXP = TW then see example

=1 =1 =1 = POSITION-1 = (2, 4, 6) = (6 - 8) = (CAR-LINE, RET-LINE) =1 =1 = (TBUN, UVALUE)

else if it is a process equipment variable (see sec. 3 of Appendix A for list of process equipment variables) POSITION = VALVE-1 !The position used is the label of the process !equipment VARIABLE = (PVALVE, TVALVE, GVALVE) else if it is a slug variable for a specific unique slug, then SLUG = 100 !The slug number used is the ID of the !slug VARIABLE = (ALFSB, ULFSB) else if it is a compositional variable, then either BRANCH =1 PIPE =1 SECTION =1 or POSITION = POSITION-1 end VARIABLE = (XG, CGDH) if COMPOSITIONAL=ON in OPTIONS COMPONENT = (C1, C2, MeOH) !Defined in feed file else if COMPOSITIONAL=MEG in OPTIONS COMPONENT = (HC, H2O, MEG) else if DRILLING=ON in OPTIONS

Page 142

Chapter 3: Input File Description

COMPONENT

= (HC, H2O, DENMIN, VISMIN)

end if end if If DTPLOT needs to be changed, then TIME = (0, 100) either DTPLOT = (0.1, 1) or NPLOT = (1000, 500) end end if

Examples: Example 1: !*************************************************************************** ! TREND Definition !--------------------------------------------------------------------------! TREND DTPLOT = 0.2E+02 TREND BRANCH = 1, PIPE = 2, SECTION = 2,\ VARIABLE = LSLEXP TREND BRANCH = 1, PIPE = 13, SECTION = 15,\ VARIABLE = LSLEXP TREND BRANCH = 1, VARIABLE = LIQC TREND BRANCH = 1, PIPE = 14, SECTION = 1, VARIABLE = (HOL, TM,\ PT) TREND BRANCH = 1, PIPE = 16, SECTION = 1, VARIABLE = PT TREND BRANCH = 1, PIPE = 17, SECTION = 1, VARIABLE = (GT, GLT,\ GG) TREND VARIABLE = (HT, NSLUG) TREND BRANCH = 1, PIPE = 1, SECTION = 1,\ VARIABLE = (ALEXP, BEEXP) TREND BRANCH = 1, PIPE = 1, SECTION = 1,\ VARIABLE = BEEXP

Example 2: !*************************************************************************** ! TREND Definition !--------------------------------------------------------------------------! TREND TIME = (0, 10), DPLOT = (0.5, 1.0) TREND SLUG = 1, VARIABLE = (ZTSL, UST, ZFSL, USF, UGTSB,\ ULTSB, ULTSL, ULFSL, ALTSB, ALFSB, LSL) TREND BRANCH = 1, PIPE = 2, SECTION = 4,\ VARIABLE = (LSLEXP, HOLEXP) TREND BRANCH = 1, PIPE = 4, SECTION = 34, VARIABLE = (LSLEXP,\ HOLEXP) TREND BRANCH = 1, PIPE = 4, SECTION = 6, VARIABLE = (BE, GA) TREND BRANCH = 1, PIPE = 1, SECTION = 2,\ VARIABLE = HOLEXP TREND VARIABLE = (VOLGBL, RMERR, NINTGR)

Chapter 3: Input File Description

3.1.2

Page 143

General Rules An input statement has the general form: KEYWORD

KEY = Parameter list, ...

Where the ellipses (...) indicate that the statement may contain more than one "KEY = Parameter list" combinations. Such combinations are separated by commas. The KEYWORD identifies the input statement (e.g. BRANCH, VALVE, etc.). Each keyword has a set of variables, each identified by a KEY (e.g. SETPOINT). The general rules for an input statement are as follows: Line length: Max. 132 characters. Separators: A KEYWORD is separated from the first KEY with a space. KEYs are separated by commas. Items are separated by commas (,). Tabulation is treated as one single space. Line continuation: An input statement can be written on several lines by ending each line with the continuation character: /

(backslash)

Comments: Comments are indicated with the comments mark: !

(exclamation mark)

Any information on a line after a comment mark is ignored. The comment mark can be put anywhere on the line. String protector: A string that contains spaces or commas should be protected with double quotes: "

(double quote)

List protector: Any list should be put inside a parenthesis: ( ... )

Page 144

Chapter 3: Input File Description

Ranges (integers only): An integer range will be interpreted as the list of all the integers between the two limits of the range connected by the - (dash). 5 - 8 is interpreted as: 5, 6, 7, 8 Repetition: A number of identical items (real) can be given in a compressed way by the use of the repetition character : (colon). 5:10.2

is interpreted as: 10.2, 10.2, 10.2, 10.2, 10.2

Repeated items can be used in a list together with single items (separated by commas) Interpolation: If some variable must be given for a number of sections, the interpolation feature can be used to condense the information given. The user has the choice of 3 options:

3.1.3

1:

Give all the data explicitly (also with repetition sign :)

2:

Give one value only:

The variable is assumed constant.

3:

Give two values:

The code interpolates assuming the values as the first and last section values. Uneven section lengths are accounted for.

Parameter Types The KEY information is given following the syntax of one of 8 parameter types. 1.

String:

Ex:

"PT-CONTR-1"

One or more characters beginning with a letter. Defines a label (symbol) for later reference. 2.

String list: Ex:

("CHOKE-1", "CHOKE-2")

List of strings. 3.

Symbol:

Ex. Ex:

"PT-CONTR-1" "ON"

1-60 characters beginning with a letter. Used to reference something that has a label or to select predefined option names. 4.

Symbol List:

Ex:

("PT-CONTR-1","GT-CONTR")

List of symbols. NB:

Any reference to a non-defined symbol is an error. A user defined object must be defined and labelled before it is referenced.

Exception: The GEOMETRY statement can be defined after the BRANCH statement which references it.

Chapter 3: Input File Description

Page 145

The WALL statement can be defined after the PIPE statement which references it. 5.

Integer:

Ex:

243556

Obeys the rules for FORTRAN integers. Normally only used for numbering of branches, pipes. The number can be used for referring branches or pipes instead of the labels. 6.

Integer list:

Ex:

(2, 4, 1500)

List of integers. Ranges are also valid e.g. 3-5 is interpreted as 3,4,5. 7.

Real:

Ex:

-13.456

Obeys the rules for FORTRAN real numbers Unit can be given after the number separated by spaces: Ex: 8.

Real list: Ex.

42.35 bara. (11.5, -23.7, 12.54E3)

List of real numbers. Unit can be specified after the parenthesis. The unit is used for all the elements in the list.

Page 146

Chapter 3: Input File Description

3.2 Input Statements Overview The input statements are organised in the following groups: -

Case information Execution modes Geometrical system definition Boundary conditions Compositional model Process equipment Output options Auxiliary keywords

The related keywords are described in the following sections. For some input parameters, time series of the data can be specified. For extrapolation outside the specified time series, the following rules prevail: 1. 2.

For simulation times less than the first timepoint, the first parameter-value will be used. For simulation times larger than the last timepoint, the last parameter-value will be used.

For simulation times between two time points, linear interpolation will be used to calculate the parameter-value. However, the setpoints for a CONTROLLER and rate of penetration (ROP) for a BITNODE will be held constant between time intervals. 3.2.1

Case Information This comprises the following keywords: Keyword

Description

CASE

Defines the beginning of the case description

ENDCASE

Defines the end of the case description

FILES

Specifies the fluid property file and optionally the compressor file, pump file, wax file or feed file, if any.

FLUID

Enables the use of non-Newtonial fluid models

DRILLINGFLUID

Defines a drilling fluid

Chapter 3: Input File Description

3.2.2

Page 147

Execution Modes Keyword

Description

DTCONTROL

Used to activate or deactivate various modes of automatic time step control.

INTEGRATION

Integration and time step data.

HYDRATECHECK

Used to give information on possible formation of hydrates.

OPTIONS

Controls the following options: - The steady state pre-processor - The postprocessor - Debug information - Number of phases - Correlation of void in slug - Mode of temperature calculations

RESTART

Specifies restart from a previous run and name of file where data from previous run are stored.

SHUTIN

Specifies the use of only separated flow regime during shutin simulations.

SLUGTRACKING

Control of slug tracking options.

PIGTRACKING

Control of pig tracking options.

CORROSION

Activate and control corrosion module.

WATEROPTIONS

Used for specifying parameters related to the water/three-phase option.

WAXDEPOSITION

Activate and control wax deposition module.

Page 148

3.2.3

Chapter 3: Input File Description

Geometrical System Definition The keywords listed below define the geometrical system and the properties of the pipe materials. It should be noted that all the PIPE-statements given after a GEOMETRY-statement are considered to belong to that geometry statement in the sequence as listed. That is, until another GEOMETRY-statement is used. Keyword

Description

ANNULUS

Defines the configuration of pipes which are bundled together and have thermal interaction.

BITNODE

Specifies the branches that connect at the drilling bit

BRANCH

Defines a branch, which is a grouping of pipes with origination at one node and destination at another

BUNDLE

Defines which lines belong to a bundle and which OLGApipes it covers.

COVER

Modifies properties of cells in a soil group by specifying that the cell is in the sea or contains another material.

CROSSOVER

Defines coupling of bundle lines.

CROSSSECTION

Defines what lines, bundles, branches and shapes that belong to a cross section.

GRID

Specifies a grid that can be used to define a SOIL group.

LINE

Defines a bundle line (dimensions, fluid and wall properties) to be used with the bundle module.

MATERIAL

Wall material data.

NODE

Information about start-, connection-, and endpoints of pipeline branches.

GEOMETRY/PIPE

Defines geometrical data for the pipes within a branch.

POSITION

Relates a label to a specified section.

REROUTE

Information about switching endpoints (nodes) for branches. Used in connection with rerouting of production streams within a network.

SHAPE

Describes the external contour of a material.

SOIL

Defines a soil group by selecting a grid and main material.

WALL

Defines thickness of wall layers and relates this and wall material data to a label, which can be referred to in the pipe specifications.

Chapter 3: Input File Description

3.2.4

Page 149

Boundary and Initial Conditions The following keywords define various boundary conditions both in time and space. Keyword

3.2.5

Description

BOUNDARY

Specification of boundary conditions for inlets and outlet of the pipeline system. Specifies also inlet temperatures for bundle lines.

HEATTRANSFER

Various heat transfer conditions for the pipe walls are given through this keyword.

INITIAL

Specifies the initial conditions of the pipeline system.

LEAK

Defines a controlled leak.

SOURCE

Defines a mass source.

WELL

Specifications of a well.

Compositional Model The following keywords define the compositional tracking settings. Keyword FEED COMPOPTIONS

3.2.6

Description Defines a feed and its components with belonging mole fractions Specifies the different options used in the PVT routines for calculating material properties and flashing terms in the compositional module

Process Equipment The following process modules are available: Keyword

Description

BITNOZZLE

Bitnozzle definition.

CHECKVALVE

Checkvalve definition.

COMPRESSOR

Compressor definition.

CONTROLLER

Used for specifying the various controllers available.

HEATEXCHANGER

Defines a simple heat exchanger.

LOSS

User defined pressure loss coefficients are specified through this keyword.

PLUG

Plug and/or pig specifications.

Page 150

3.2.7

Chapter 3: Input File Description

PUMP

Pump definition

TOOLJOINT

Definition of tooljoint.

SEPARATOR

Definition of separator.

SETPOINTVARIABLE

Alternative way of defining controlled variables.

VALVE

Definition of valve/choke.

Output options The various output options in OLGA can be accessed by using the following keywords: Keyword

3.2.8

Description

OUTPUT

Specification of variables for tabulated output at given time intervals.

PLOT

Specification of variables available for OLGA Viewer.

PRINTINPUTDATA

Controls the pre-processor output, and can be used as a check on input data.

PROFILE

Specification of variables for profile plots at given time points or time intervals.

TREND

Specification of variables for time series plots.

Auxiliary Keywords These keywords are used to modify standardised/default values or to give additional information to the information listed above. Keyword

Description

TABLE

Specifies information for well or valve characteristics.

UNITS

Specifies the units to use for PVT or compressor data

Chapter 3: Input File Description

3.2.9

Page 151

Conventions The following conventions are used to describe the input statement. 1. 2. 3. 4. 5. 6. 7.

If a key has a default value, the value is shown in [ ]. It is not necessary to type in keys which have default values. The default value is used if it does not appear in the input. For keys which do not have default values, the user must enter the required data. Alternate data input items are shown by an "either, or, end" structure or "if, elseif, endif" structure. For keys which have a unit, the default unit is shown in [ ]. ¦ bar delimits the options available. User should specify one of them. The default option, if there is one, is shown in [ ]. Text given after ! is an explanation.

Section 3.1.1 shows an example of the description of the input data convention used in this guide. The example is for the keyword TREND.

Page 152

Chapter 3: Input File Description

3.3 Keyword Descriptions The input statements are described in alphabetical order. For the keys with a predefined set of parameters/symbols, the available options are listed. Default values and options are written inside square brackets [ ]. For real items the default unit is given. Dependencies on other input statements are also indicated. Input statements in square brackets are optional. The statements related to the geometrical system definition will be referenced as one group. The keywords contained in this group are listed in sec. 3.2.3. Capitalised items are keys, keywords or predefined symbols, and must be typed, exactly as written. Non-capitalised items represent options that the user must supply. The parameter type is specified in abbreviated form as listed below. These types refer to the definitions in section 3.1.2. Parameter types (See also sec. 3.1.2): Type:

Abbreviation:

String: String list: Symbol: Symbol list: Integer: Integer list: Real: Real list:

str. str.l. sym. sym.l. i. i.l. r. r.l.

In the input statement description that follows, listed required keys must always be specified. If the required keys have default values, these will be used in case such a key is not specified.

Chapter 3: Input File Description, ANNULUS

3.3.1

Page 153

ANNULUS This statement defines the configuration of pipes which are bundled together and have thermal interaction. Gas-lifted wells are typical examples, where gas is injected in the annulus between the casing and tubing while the production fluid together with the injected gas is produced in the tubing. Keyword:

ANNULUS

Dependencies: BRANCH, OPTION Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCHES

sym.l.

-

Refer to the names of branches enclosed within the annulus configuration

ENDPIPES

sym.l.

-

Specify the pipes at the end point of the annulus configuration. One pipe for each of the branches and in the order as given in key BRANCHES

ENDSECTIONS

sym.l.

[Last or first]

Section number at the end position. Last section or first section (when the positive direction of GEOMETRY is opposite of ANNULUS) of the corresponding pipe in ENDPIPES.

LABEL

str.

-

Name of annulus

STARTPIPES

sym.l.

-

Specify the pipes at the starting point of the annulus configuration. One pipe for each of the branches and in the order as given in key BRANCHES

STARTSECTIONS

sym.l.

[First or last]

Section number at the start position. First section or last section (when the positive direction of GEOMETRY is opposite of ANNULUS) of the corresponding pipe in STARTPIPES.

XCENTER

r.l. (m)

-

X-coordinate of the pipe center for each of the branches

YCENTER

r.l. (m)

-

Y-coordinate of the pipe center for each of the branches

Required keys: All except STARTSECTIONS, ENDSECTIONS Internal dependencies of keys: None Example: ANNULUS LABEL = ANN-1, BRANCHES (DRS_DOWNHOLE,ANN_DOWNHOLE), \ STARTPIPE = (PIPE-1, PIPE-2), ENDPIPE = (PIPE-2,PIPE-1), \ XCENTER = (0,0), YCENTER= (0,0)

Page 154

3.3.2

Chapter 3: Input File Description, BITNODE

BITNODE Use this statement to specify the strings that connect at the drilling bit: Formation branch below the bit, the drilling string, and the annulus branch. The penetration rate is also specified here. This main keyword is applicable when DRILLING = ON is specified in keyword OPTION. Keyword:

BITNODE

Dependencies: OPTION, NODE, BRANCH, POSITION Key description table: Key

Type Unit: ( )

Parameter Default: [ ]

ANNULUS

sym.

-

Refer to the branch name for the annulus defined by keyword BRANCH

DRILLSTRING

sym.

-

Refer to the branch name for the drilling string defined by keyword BRANCH

FORMATION

sym.

-

Refer to the branch name for the wellbore below the drilling bit. The branch is defined by keyword BRANCH

INITPOSITION

sym.

-

Refer to the position label defined by keyword POSITION to specify the initial position of the bit

LABEL

str.

-

Name of bitnode

NODE

sym.

[Outlet node for DRILLSTRING]

Node where the drilling bit is placed (refers to the node name defined by keyword NODE). Must be the same as the outlet node for the branch defined in DRILLSTRING (input error given if not). Usually omitted.

ROP

r.l. (m/s)

[0.0]

Penetration rate for each time point. Note: there is no interpolation between the ROP values (constant ROP until a new ROP is defined).

TIME

r.l. (s)

[0.0]

Time points

YOFFSET_ECD

r. (m)

[0.0]

Reference point for output variable ECD, see Appendix A. The default value refers to the inlet of the drilling branch.

Required keys: ANNULUS, LABEL

set

DRILLSTRING,

Description

FORMATION,

INITPOSITION,

Internal dependencies of keys: None Example: !**************************************************************************** ! BITNODE Definition !**************************************************************************** BITNODE LABEL = BIT, DRILLSTRING = DRS_DOWNHOLE, ANNULUS = ANN_DOWNHOLE, FORMATION = FORMATION, TIME= (0, 100), \ ROP = (0.1, 0.2), INITPOSITION = BIT

Chapter 3: Input File Description, BITNOZZLE

3.3.3

Page 155

BITNOZZLE This statement defines the input required for drill bits. The purpose of inserting a drill bit in the OLGA model is to calculate the pressure drop through the drill bit nozzles. A simplified pressure loss equation is used. The equation assumes that the change in pressure due to a change in elevation is negligible, the velocity upstream of the nozzle is negligible compared to the nozzle velocity and the frictional pressure loss across the nozzle is negligible. The equation is known as the "tri-state" equation. The pressure drop is calculated according to:

1 ρ ⋅ q2 ⋅ , 2 C d2 ⋅ Ay2

∆p =

where ρ is the fluid density, q is the volume flow, Cd is the discharge coefficient and At is the total flow area defined as: NN

At = ∑ Ai , i =1

where Ai is the flow area of the ith nozzle and NN is the number of bit nozzles. The BITNOZZLE keyword is part of the Advanced Well module. Keyword:

BITNOZZLE

Dependencies:

BRANCH, GEOMETRY, PIPE, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.

-

Branch label where the drill bit is located.

CD

r.

[0.95]

Discharge coefficient for the drill bit.

DIAMETER

r.l. (m)

-

List of inner diameters of each bit nozzle.

LABEL

str.

[Integer increment]

Drill bit label, default is drill bit number.

NNOZZLES

i.

-

Number of nozzles in the bit.

PIPE

sym.

-

Pipe label where the drill bit is located.

POSITION

sym.

-

SECTIONBOUNDARY

i.

-

Position where the drill bit is located. If this sub-key is defined, BRANCH, PIPE, and SECTIONBOUNDARY should be used. Section boundary number where the drill bit is located.

Page 156

Chapter 3: Input File Description, BITNOZZLE

Required keys:

LABEL, NNOZZLES, DIAMETER

Internal dependencies of keys: Either BRANCH PIPE SECTIONBOUNDARY

= WELL_A1 = PIPE_1 =2

POSITION

= WELLBOTTOM_A1

or end

Examples: Example 1: !**************************************************************************** ! Bitnozzle Definitions !--------------------------------------------------------------------------! BITNOZZLE LABEL = DRILLBIT_1, BRANCH = WELL_A1, PIPE = PIPE_1, \ SECTIONBOUNDARY = 2, CD = 0.9, NNOZZLES = 3, DIAMETER = (0.01, 0.01, 0.02) ! !**************************************************************************** . . .

Chapter 3: Input File Description, BLACKOILCOMPONENT

3.3.4

Page 157

BLACKOILCOMPONENT This statement defines a component (gas, oil or water) for the black oil options. Keyword:

BLACKOILCOMPONENT

Dependencies: OPTIONS Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

LABEL

str.

TYPE

Sym.

OIL GAS WATER

Oil, Gas or water component

GASSPECIFICGRAVITY

r.

[0.64]

Gas specific gravity, ρg / ρair. For three phase simulations, the gas is assumed saturated with water vapour.

OILSPECIFICGRAVITY

r.

[0.876]

Oil specific gravity, ρoil / ρfresh water. Can not be given if APIGRAVITY is given.

APIGRAVITY

r.

[30]

API gravity. API = 141.5 / γo – 131.5, where γo is oil specific gravity. Can not be given if OILSPECIFICGRAVITY is given.

WATERSPECIFICGRAVITY

r.

[1.0]

Water specific gravity, ρwater / ρfresh water. To be used for including density effect on water of other components than salt, e.g. MEG.

SALINITY

r. (-)

[0.0]

Weight concentration of salt in water

H2SMOLEFRACTION

r. (-)

[0.0]

Mole fraction of H2S in gas at standard conditions.

CO2MOLEFRACTION

r. (-)

[0.0]

Mole fraction of CO2 in gas at standard conditions.

N2MOLEFRACTION

r. (-)

[0.0]

Mole fraction of N2 in gas at standard conditions.

Required keys:

Label

LABEL, TYPE

Internal dependencies of keys: If TYPE = GAS then GASSPECIFICGRAVITY H2SMOLEFRACTION CO2MOLEFRACTION N2MOLEFRACTION else if TYPE = OIL then either OILSPECIFICGRAVITY or APIGRAVITY end else if TYPE = WATER then WATERSPECIFICGRAVITY

= [0.64] = [0.0] = [0.0] = [0.0] = [0.876] = [30] = [1.0]

Page 158

Chapter 3: Input File Description, BLACKOILCOMPONENT

SALINITY

= [0.0]

end

Examples: !**************************************************************************** ! Blackoilcomponent Definitions !--------------------------------------------------------------------------! BLACKOILCOMPONENT TYPE = OIL, LABEL = O-API20, APIGRAVITY = 20 BLACKOILCOMPONENT TYPE = GAS, LABEL = G-60, GASSPECIFICGRAVITY = 0.60, \ H2SMOLEFRACTION = 0.01, CO2MOLEFRACTION = 0.05, N2MOLEFRACTION = 0.01 BLACKOILCOMPONENT TYPE = WATER, LABEL = W-100, WATERSPECIFICGRAVITY = 1.0, \ SALINITY = 10 % . . .

Chapter 3: Input File Description, BLACKOILFEED

3.3.5

Page 159

BLACKOILFEED This statement defines a black oil feed. Keyword:

BLACKOILFEED

Dependencies: OPTIONS Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

LABEL

str.

Blackoil feed label

OILCOMPONENT

sym.

Reference to blackoilcomponent label of type oil

GASCOMPONENT

sym.

Reference to blackoilcomponent label of type gas

WATERCOMPONENT

sym.

Reference to blackoilcomponent label of type water

GOR

r.

[Calculated]

Gas oil ratio. Alternative to GLR. Default calculated by model specified in BLACKOILOPTIONS.

GLR

r.

[Calculated]

Gas liquid ratio. Alternative to GOR. Default calculated by model specified in BLACKOILOPTIONS.

OGR

r.

Oil gas ratio. Alternative to GOR (to be used for gas feeds).

LGR

r.

Liquid gas ratio. Alternative to GLR (to be used for gas feeds).

WATERCUT

r.

Required keys:

[0.0]

Water volume fraction in oil/water mixture.

LABEL

Internal dependencies of keys: either GOR

= 100.

GLR

= 80.

OGR

= 1.e-5

LGR

= 1.2e-5

or or or end

Examples: !**************************************************************************** ! Blackoilfeed Definitions !--------------------------------------------------------------------------! BLACKOILFEED LABEL = BO-1, OILCOMPONENT= O-API20, GASCOMPONENT=G-60, \ WATERCOMPONENT = W-100, GOR = 100, WATERCUT = 0.2

Page 160

3.3.6

Chapter 3: Input File Description, BLACKOILOPTIONS

BLACKOILOPTIONS This statement defines the black oil options. Keyword:

BLACKOILOPTIONS

Dependencies:

OPTIONS

Key description table: Key GORMODEL

Required keys:

Type Unit: ( )

Parameter set Default: [ ]

Sym.

[LASATER] STANDING BEGGS GLASO

Description Correlation for calculating solution gas oil ratio

None

Internal dependencies of keys: None Examples: !**************************************************************************** ! Blackoiloptions Definitions !--------------------------------------------------------------------------! BLACKOILOPTIONS GORMODEL = LASATER ! !**************************************************************************** . . .

Chapter 3: Input File Description, BOUNDARY

3.3.7

Page 161

BOUNDARY This statement defines the boundary conditions at terminal nodes, i.e. starting- and endpoints of the pipeline system. Note that, if the boundary condition is a flow related boundary condition, the SOURCE or WELL keywords must be used to define the flow parameters. It is possible to define the BOUNDARY using: Use key: GASFRACTION

WATERFRACTION TOTALWATERFRACTION

Specify Gas mass fraction in gas and oil mixture at the source temperature and pressure. Free water is excluded. As default, the gas mass fraction is determined from the PVT table. Mass fraction of free water in the gas-oil-water mixture at the boundary temperature and pressure. Default value is zero, i.e. no free water. Mass fraction of total water in the gas-oil-water mixture at the boundary temperature and pressure. Default value is zero. Only one of WATERFRACTION or TOTALWATERFRACTION can be defined.

or by using the compositional module: Use key:

Specify:

FEEDMASSFRACTION Mass fraction of the feed(s) GASFRACEQ Fraction of gas mass flow relative to equilibrium flow at the boundary temperature and pressure for each feed. OILFRACEQ Fraction of oil mass flow relative to equilibrium flow at the boundary temperature and pressure for each feed. WATERFRACEQ Fraction of water mass flow relative to equilibrium flow at the boundary temperature and pressure for each feed. or by using standard conditions: Use key: GOR GLR WATERCUT

Specify Gas/oil ratio. By default, the GOR from PVT table is used. Gas/liquid ratio. Note that GOR and GLR can not be used at the same time. Water cut, i.e. water volume fraction in water and oil mixture.

In low flow situations, the GASFRACTION at the pipeline boundaries may influence the flow situation even if the flow is out of the pipeline. The inlet temperature for bundle lines is also defined. A drilling fluid used with the Advanced well module can be defined. Also, this statement may be used to specify the fraction of wax forming components in the inflow hydrocarbon mixture.

Page 162

Chapter 3: Input File Description, BOUNDARY

Keyword:

BOUNDARY

Dependencies:

NODE, LINE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

DENSITY

r.l. (kg/m3)

-

Density of the drilling fluid (at standard conditions) for each time point. Must be within the min and max density as specified in the keyword DRILLINGFLUID. Omitted if the drillingfluid properties are given in a separate fluid property file.

DRILLINGFLUID

sym.

-

Refer to the drilling fluid defined by the keyword DRILLINGFLUID. Requires access to the Advanced Well module.

FEEDMASSFRACTION

r.l. (-)

-

Mass fraction of each feed, one item per time and feed

FEEDMOLEFRACTION

r.l. (-)

-

Mole fraction of each feed, one item per time and feed

FEEDNAME

sym.l.

-

Label of feeds feeding to terminal nodes. Requires COMPOSITIONAL = ON under the OPTIONS keyword and access to the compositional module.

FEEDVOLFRACTION

r.l. (-)

GASFRACTION

r.l (-)

[-1.0]

Gas mass fraction of the inflowing gas + oil mixture. Negative input values force OLGA to use equilibrium values from the fluid property tables. A list of both positive and negative values is not allowed.

GASFRACEQ

r.l. (-)

[1.0]

By default, the equilibium gas fraction of the total flow is used for the gas flow in the compositional model, and GASFRACEQ = 1. But the user may specify a fraction of the gas equilibrium flow to be sent into the pipeline. This key is only available in the compositional module. One item per time point.

GLR

r.l. (Sm3/Sm3 )

-

Gas/liquid volumetric flow ratio at standard conditions.

GOR

r.l.

-

Gas/oil volumetric flow ratio at standard conditions. By default, the GOR from the PVT table is used.

LINE

Sym.

-

Reference to a bundle line label.

(Sm3/Sm3 )

Description

Volume fraction of each feed given in FEEDNAME (only for Blackoil model)

Chapter 3: Input File Description, BOUNDARY

Key

Page 163

Type Unit: ( )

Parameter set Default: [ ]

Description

MASSFLOW

r.l.

-

For bundle line only. The inlet mass flow rate. Positive if the fluid is injected at the pipeline inlet side. Negative if injected at the pipeline outlet side.

MEGFRACTION

r.l. (-)

[0.0]

Mass fraction of MEG in the water phase.

NODE

Sym.

-

Reference to a terminal node label.

OILFRACEQ

r.l. (-)

[1.0]

By default, the equilibirium oil fraction of the total flow is used for the oil flow in the compositional model, and OILFRACEQ = 1. But the user may specify a fraction of the oil equilibrium flow to be sent into the pipeline. This key is only available in the compositional module. One item per time point.

PRESSURE

r.l. (Pa)

-

Boundary pressure

TEMPERATURE

r.l. (°C)

-

Temperature of inflowing mixture. Bundle line: Inlet temperature.

TIME

r.l. (s)

-

Time points for specified values of the boundary condition variables.

TOTALMEGFRACTION

r.l. (-)

[0.0]

Mass fraction of MEG in total water (water phase + water vapor)

TOTALWATERFRACTION

r.l. (-)

-

Mass fraction of total water in the total boundary fluid mixture. With a value of -1.0 the total water fraction is taken from the fluid table (interpreted as free water if WATERFLASH = OFF, and free water + water in gas if ON). Either this key or the WATERFRACTION can be specified. Requires PHASE = THREE under the OPTIONS keyword and access to the water module.

TYPE

Sym.

CLOSED

Boundary type

PRESSURE

BUNDLE VISCOSITY

r.l. (Ns/m2)

-

Viscosity of the drilling fluids (at standard conditions) for each time point. Must be within the min and max viscosity as specified in the keyword DRILLINGFLUID. Omitted if the drillingfluid properties are given in a separate fluid property file.

WATERCUT

r.l.(-)

[0.0]

Water volume fraction in oil/water mixture. With a value of -1.0 the total water fraction is taken from the fluid table.

Page 164

Chapter 3: Input File Description, BOUNDARY

Key WATERFRACTION

Type Unit: ( )

Parameter set Default: [ ]

r.l. (-)

[0.0]

Description Mass fraction of free water in the total boundary fluid mixture. Either this key or the TOTALWATERFRACTION can be specified. Requires PHASE = THREE under the OPTIONS keyword and access to the water module.

WATERFRACEQ

r.l.(-)

[1.0]

By default, the equilibrium water fraction of the total flow is used for the water flow in the composiotional model, and WATERFRACEQ = 1. But the user may specify a fraction of the water equilibrium to be sent into the pipeline. This key is only available in the compositional module. One item per time point.

WAXFRACTION

r.l. (-)

[1.0]

Scaling factor for determining the amount of wax forming components relative to HC mixture. The value must be in the range [0,1]. 1 means the amount of wax forming components is equal to values from the wax table. Requires WAXDEPOSITION = ON under the OPTIONS keyword and access to the waxdeposition module.

Required keys:

TYPE

Internal dependencies of keys: If TYPE = CLOSED then NODE

= INLET

Note: The WELL or SOURCE keyword statement must be applied to specify flow conditions. else if TYPE = PRESSURE, then NODE = OUTLET TIME = (0.0, 100.0, 200.0) [S] PRESSURE = (50.0E+05, 45.0E+05,40.0E+05) [PA] TEMPERATURE = 3:20 [C] either GASFRACTION = [3:-1.0] either WATERFRACTION = [3:0.0] MEGFRACTION = [3:0.0] ! only for MEG tracking or TOTALWATERFRACTION = [3:0.0] either MEGFRACTION = [3:0.0] ! only for MEG tracking or TOTALMEGFRACTION = [3:0.0] ! only for MEG tracking end end

Chapter 3: Input File Description, BOUNDARY

Page 165

if WAXDEPOSITION=ON in OPTIONS WAXFRACTION = [3:1.0] end if or if using standard conditions WATERCUT = 3:0.1 either GLR = 3:100 or GOR = 3:120 end if WAXDEPOSITION=ON in OPTIONS WAXFRACTION = [3:1.0] end if or if the compositional tracking module is used (multiple time and feeds, note below) FEEDNAME = (FEED-1, FEED-3) either FEEDMASSFRACTION = (0.5, 0.6, 0.5, 0.6, 0.5, 0.6) [kg/s] or FEEDMOLEFRACTION = (0.7, 0.4, 0.7, 0.4, 0.7, 0.4) [kmol/s] end GASFRACEQ OILFRACEQ WATERFRACEQ

= (3:0.5) ! override equilibrium phase fractions = 3:0 ! override equilibrium phase fractions = 3:0 ! override equilibrium phase fractions

or if the black oil module is used FEEDNAME = (BO-1, BO-3) FEEDVOLFRACTION = ( 0.7, 0.3, 0.7, 0.3, 0.7, 0.3 ) or if a drilling fluid is simulated DRILLINGFLUID = DRILLINGFLUID-1 if drillingfluid properties are NOT given in a separate file, then DENSITY = 3:1000 [kg/m3] VISCOSITY = 3:1 cP end end else if TYPE = BUNDLE, then LINE TIME TEMPERATURE MASSFLOW

= METHANOL-I = (0.0, 100.0, 200.0) [S] = (15.0, 20.0, 15.0) [OC] = 3 : 1.0 [KG/S]

endif Note: For the subkeys FEEDMASSFRACTION and FEEDMOLEFRACTION, the array is a function of both feed and time as shown below. FEEDMASSFRACTION = FEED-1 (T1), FEED-2(T1), FEED1(T2), FEED-2(T2))

Examples: Example 1: !**************************************************************************** ! Boundary Definitions !--------------------------------------------------------------------------! BOUNDARY NODE = INLET,TYPE = CLOSED ! BOUNDARY NODE = OUTLET, TYPE = PRESSURE, TIME = 0,\ PRESSURE = 0.5E+07, TEMPERATURE = 22., GASFRACTION = 1.,\

Page 166

Chapter 3: Input File Description, BOUNDARY

WATERFRACTION = 0 BOUNDARY TYPE = BUNDLE, LINE = CARRIERLINE,\ TIME = 0., TEMP = 25, MASSFLOW = 0.0 !**************************************************************************** .

Example 2: !**************************************************************************** ! Boundary Definitions for the compositional tracking module !--------------------------------------------------------------------------! BOUNDARY NODE = INLET,TYPE = CLOSED ! BOUNDARY NODE = OUTLET, TYPE = PRESSURE, TIME = 0,\ PRESSURE = 0.5E+07, TEMPERATURE = 22., FEEDNAME = FEED-1,\ FEEDMASSFRACTION = 1 !****************************************************************************

Chapter 3: Input File Description, BRANCH

3.3.8

Page 167

BRANCH This statement defines a branch, which is a grouping of pipes with origination at one node and destination at another. Keyword REROUTE may be used to reroute the branch from one destination node to another. In that case all destination nodes other than the one specified in BRANCH are specified in REROUTE. Keyword:

BRANCH

Dependencies:

NODE, GEOMETRY

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

FLOAT

sym.

[ON] | OFF

FLUID

sym.

Label or number of fluid table to apply for the specific branch. If keyword based pvt file is used, FLUID must be the same as the LABEL given in the pvt file, i.e. numbering is not valid for this format.

FROM

sym.

Label/name of origination node.

GEOMETRY

sym.

Label of GEOMETRY keyword. Only one geometry is allowed in each BRANCH statement

INIFLOWDIR

sym.

[POSITIVE] | NEGATIVE

Input to the preprocessor if the initial guess on flow direction for a branch should be positive or negative. Changing the direction can avoid crash in preprocessor or result in a solution closer to the transient steady state solution.

LABEL

str.

[Integer increment]

Name of branch.

NUMBER

i.

[Integer increment]

Number of branch.

TO

sym.

TOLERANCE

r. (m)

[0.1]

Description Switch for checking if PIPE-co-ordinates corresponds with NODE-co-ordinates at branch start- and endpoints. If this switch is on, the code will discard any such discrepancy and use the geometry data given internally for each branch.

Label/name of destination node. This key is used to specify the maximum allowable co-ordinate mismatch in any direction. The key FLOAT must be set to OFF to activate this option.

Required Keys: LABEL, FLOAT, FLUID, FROM, GEOMETRY, NUMBER, TO Internal dependencies of keys: If FLOAT is turned off, then TOLERANCE end if

= [0.1] [m]

Page 168

3.3.9

Chapter 3: Input File Description, BUNDLE

BUNDLE This group defines a bundle which consists of one or more OLGA lines and a number of auxiliary lines. If more than one OLGA line is contained in a bundle, the OLGA lines should have the same pipeline profile and discretization. The outer heat transfer coefficients and the ambient temperatures used by the bundle are the values given for the first branch in the list assigned to key BRANCH. The inner surface or the outer surface heat transfer coefficient for each LINE can either be calculated by the code or specified by the user. If calculated by the code the forced/free convection on the inner and outer surface will be taken into account. The user can specify the heat transfer coefficient by sub-key INNER- and OUTERHVALUE in the LINE keyword. The outer surface heat transfer coefficient for each OLGA branch can also be calculated by the code or specified by the user. If calculated by the code the forced/free convection on the outer surface will be taken into account. The user can specify the outer surface heat transfer coefficient by sub-key OUTERHVALUE in this keyword. Keyword:

BUNDLE

Dependencies:

BRANCH, LINE

Key description table: Key

Type Unit: ( )

Parameter set Default:[ ]

BRANCHES

sym.l.

-

BRANCHXCENTERS

r.l.(m)

Denotes x-centers of OLGA branches relative to center of bundle.

BRANCHYCENTERS

r.l.(m)

Denotes y-centers of OLGA branches relative to center of bundle.

ENDPIPES

sym.l.

Label of the pipes that exit the bundle for each branch.

ENDSECTIONS

i.l.

[Last or section]

LABEL

str.

-

Label of the bundle.

LINES

sym.l.

-

Carrier and auxiliary lines in this bundle.

LINEXCENTERS

r.l.(m)

Denotes x-centres of lines relative to center of bundle.

LINEYCENTERS

r.l.(m)

Denotes y-centres of lines relative to center of bundle.

OUTERHVALUE

r.l.

(W/m2oC)

-

Description Number/name of within this bundle

first

OLGA

branches

End sections. Last section or first section (when the positive direction of GEOMETRY is opposite of BUNDLE) of the corresponding pipe in ENDPIPES.

Heat transfer coefficients at wall surface of the OLGA branches to the bulk fluid in the carrier line. Forced/free convection will be applied if this key is not defined.

Chapter 3: Input File Description, BUNDLE

Key

Type Unit: ( )

STARTPIPES

sym.l.

STARTSECTIONS

i.l.

Required keys: LABEL,

Page 169

Parameter set Default:[ ]

Description Label of the pipes that enter the bundle for each branch.

[First or section]

BRANCHES, STARTPIPES, ENDPIPES

last

Start sections. First section or last section (when the positive direction of GEOMETRY is opposite of BUNDLE) of the corresponding pipe in STARTPIPES.

BRANCHXCENTERS,

BRANCHYCENTERS,

Internal dependencies of keys: if (there is one or more lines within the bundle) then LINES = LINE_1, LINE_2 LINEXCENTERS = (-0.2,+0.2) [m] LINEYCENTERS = (0.0,0.0) [m] end if

Example: !*************************************************************************** !BUNDLE Definition !--------------------------------------------------------------------------BUNDLE LABEL = HEATING, \ STARTPIPES = PIPE_2, \ ENDPIPES = PIPE_7, \ BRANCHES = FLOWLINE, \ BRANCHXCENTERS = 0.0 m, \ BRANCHYCENTERS = 0.0 m, \ LINES=(CARRIERLINE, RETURNLINE, METHANOL), \ LINEXCENTERS = (0.0,33.5,0.0) cm, \ LINEYCENTERS = (0.0,0.0,30.0) cm

Page 170

Chapter 3: Input File Description, CASE

3.3.10 CASE Defines information about a simulation. Keyword:

CASE

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

AUTHOR

str.

["

"]

Author of input file/case

DATE

str.

["

"]

Date for creation of file.

INFO

str.

["

"]

Additional information

PROJECT

str.

["

"]

Project name. Will be printed in sub text for trend plots and profile plots in the OLGA GUI.

TITLE

str.

["

"]

Case title. Will be printed in sub text for trend plots and profile plots in the OLGA GUI.

Required keys:

Description

PROJECT, TITLE, AUTHOR, DATE, INFO

Internal dependencies of keys: NONE

Example: !**************************************************************************** ! CASE Description !--------------------------------------------------------------------------!Note! Keys not given will take default value. ! CASE PROJECT ="Project from Good Oil Company",\ TITLE ="SAMPLE CASE WITH SEVERE SLUGGING" . . .

Note! Always put string inside (" "). Do not use (' ').

Chapter 3: Input File Description, CHECKVALVE

Page 171

3.3.11 CHECKVALVE Defines a check valve in the pipeline. Allows flow only in the defined flow direction. Note that a checkvalve cannot be defined at the last section boundary (e.g. section boundary 3 if 2 sections) of the last branch of the branches going into a SPLIT node, since the last section volume is used as the control volume for the SPLIT node. Of the same reason no checkvalve can be defined on the first section boundary of the branch coming from a MERGE node. Keyword:

CHECKVALVE

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

Sym.

DIRECTION

Sym.

[POSITIVE] NEGATIVE

Allowed direction. Positive direction refers to direction of increasing segment/section numbers.

LABEL

str.

[Integer increment]

Check valve label

PIPE

Sym.

Number/name of pipe where check valve is located

POSITION

Sym.

Position is a reference to the label of a POSITION statement. This is an alternative way to specify the location of the check valve, instead of specifying branch, pipe and section boundary.

SECTIONBOUNDARY

i.

Section boundary where check valve is located.

Required keys:

Number/name of branch where check valve is located

LABEL, DIRECTION

Internal dependencies of keys: Either BRANCH PIPE SECTIONBOUNDARY

=1 =1 =1

POSITION

= POSITION-1

or end

Example: !*************************************************************************** ! Check Valve Definition !--------------------------------------------------------------------------! CHECKVALVE LABEL = CHECK-1, BRANCH = 1, PIPE = 17,\ SECTIONBOUNDARY = 3, DIRECT = POSITIVE !***************************************************************************

Page 172

Chapter 3: Input File Description, COMPOPTIONS

3.3.12 COMPOPTIONS This statement specifies the different options used in the PVT routines for calculating material properties and flashing terms in the compositional module. If VISCOSITYCORR is specified the chosen model is used for viscosity calculations for the gas and oil phases. An error is given if the feed has been tuned to another viscosity correlation in PVTsim, in which case this is the only allowed option. The table below shows which flash types that can be used in a two phase and a three phase simulation depending on if aqueous components (H2O, MEG, etc) are part of the feed or not. FLASH TYPE

TWOPHASE

PHASE in OPTION FEED with aqueous components FEED without aqueous components

SIMPLETHREEPHASE and FULLTHREEPHASE

Two

Three

Two

Three

No

Yes

No

Yes

Yes

No

No

No

Note: If salts are included in the feed, FLASHTYPE = FULLTHREEPHASE must be used. Keyword:

COMPOPTIONS

Dependencies:

OPTIONS

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

COMPONENT

str.l.

[ALL]

Components to specify delay constants for (defined in feed file).

DENSITYLIMIT

r.

[Internal routines]

Used in the dense phase region. A fluid with higher density is defined as liquid and fluid with lower density is defined as gas. If used it should preferably be set equal to the fluid density at the critical point. If not used internal routines will be used to decide phase (may cause instabilities when crossing bubble/dew point).

FLASHTYPE

sym.

[TWOPHASE] [SIMPLETHREEPHASE] FULLTHREEPHASE

The algorithm to use in flash calculations. TWOPHASE is default for two phase simulations and SIMPLETHREEPHASE is default for three phase simulations.

Chapter 3: Input File Description, COMPOPTIONS

Key

Type Unit: ( )

Page 173

Parameter set Default: [ ]

Description

TCONDENSATION

r.l.(s)

Time constant for mass transfer from gas phase to liquid phase for components in COMPONENT. (Non-equilibrium delay constant).

TVAPORIZATION

r.l.(s)

Time constant for mass transfer from liquid phase to gas phase for components in COMPONENT. (Non-equilibrium delay constant).

VISCOSITYCORR

sym.

Required keys:

[CORRSTATE], LBC

Use Corresponding state or Lohrenz-Bray-Clark correlation for viscosity correlation.

None

Internal dependencies of keys: if COMPONENT is given COMPONENT TCONDENSATION TVAPORIZATION

= (C1, C2, C3) = (10, 5, 5) s = (15, 10, 10) s

else if delay constant is given without COMPONENT TCONDENSATION TVAPORIZATION

= 10 s = 15 s

! Same values apply to all components ! in feed file

endif

Example: !*************************************************************************** ! Compoptions !--------------------------------------------------------------------------COMPOPTIONS FLASHTYPE = SIMPLETHREEPHASE, VISCOSITYCORR = CORRSTATE

!

Page 174

Chapter 3: Input File Description, COMPRESSOR

3.3.13 COMPRESSOR Describes the configuration of a compressor in the system. The compressor is represented through its characteristics which give pressure increase and temperature as a function of flow and rotating speed (RPM), see section 2.2. Note that the compressor characteristics are given in a separate file. It is possible to specify characteristics for more than one compressor. Each of the characteristics is assigned to a label, which is referred to in the COMPRESSOR statement. The compressor RPM is governed by the compressor speed controller: RPM = RPMmin + urpm ⋅ (RPMmax - RPMmin) where urpm = output signal from compressor speed controller The opening of the controlled choke (valve) in the recycle loop is governed by the anti surge controller (ASC). The set-point for the ASC unit is calculated by multiplying the compressor surge flow with the anti-surge security factor. The surge flow is specified in the compressor data file. The anti-surge recycle valve starts to open when compressor inlet flow equals the surge flow multiplied by the security factor. I.e. a security factor of 1.2 means that the anti-surge recycle valve starts to open if the compressor inlet flow is less than 1.2 times the surge flow.

Figure 3.1

An illustration of how the compressor is incorporated in the pipeline.

IASCON ISPDCO

= =

Antisurge controller Speed controller

Note that a compressor cannot be defined at the last section boundary (e.g. section boundary 3 if 2 sections) of the last branch of the branches going into a SPLIT node, since the last section volume is used as the control volume for the SPLIT node. Of the same reason no compressor can be defined on the first section boundary of the branch coming from a MERGE node.

Chapter 3: Input File Description, COMPRESSOR

Page 175

Keyword:

COMPRESSOR

Dependencies:

BRANCH, GEOMETRY, POSITION, FILES

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

ANTISURGECONTR

sym.

Name of antisurge controller. Refers to a controller label.

BRANCH

sym.

Number/name of branch compressor is located.

CD

r. (-)

[0.84]

Discharge coefficient of valve/choke in recycle loop.

COMPRDATA

sym.

[Integer increment]

Name of compressor data. This refers to a label in the compressor characteristics file.

COOLCAPACITY

r. (W)

COOLER

sym.

DIAMETER

r. (m)

LABEL

str.

MAXRPM

r. (rpm)

Maximum RPM

MINRPM

r. (rpm)

Minimum RPM

PIPE

sym.

Number/name of compressor is located.

POSITION

sym.

Reference to the label in a POSITION keyword. The POSITION statement refers to the location where the compressor will be located. This key is an alternative to the BRANCH, PIPE and SECTION keys.

SECTIONBOUNDARY

i.

Section boundary number compressor is located.

SECURITYFACTOR

r.(-)

Security factor (e.g. 1.2 = > min. flow is 120% of surge rate.

SPEEDCONTR

sym.

Name of compressor speed controller. Refers to a controller label.

TEMPERATURE

r.l. (oC)

Temperature values out of heatexchanger. Number of temperature values must correspond to the time points given in the TIME-key.

TIME

r.l. (s)

Time points for temperature out of heat exchanger.

where

Maximum heat transfer rate from fluid flowing through the heat exchanger in the recycle loop. [OFF] ON

Switch for turning on or off heat exchanger in recycle loop. Orifice diameter of valve/choke in recycle loop.

[Integer increment]

Compressor name or number.

pipe

where

where

Page 176

Chapter 3: Input File Description, COMPRESSOR

Required keys: ANTISURGECONTR, CD, COMPRDATA, COOLER, DIAMETER, LABEL, MAXRPM, MINRPM, SECURITYFACTOR, SPEEDCONTR Internal dependencies of keys: To specify checkvalve location, enter Either BRANCH =1 PIPE =1 SECTION BOUNDARY = 1 or POSITION

= POS-1

end If COOLER = ON, then COOLCAPACITY TIME TEMPERATURE

= 0.15E+08 [W] = (0.0, 1.0E+06) [s] = (2:40.0) [C]

endif If COMPRDATA not given, OLGA assumes that each of the compressor characteristics in the compressor data file are labelled with increasing integers, starting at 1.

Example: !*************************************************************************** ! COMPRESSOR Definition !--------------------------------------------------------------------------! COMPRESSOR LABEL = CMPR-2-1, BRANCH = 2, PIPE = 1,\ SECTIONBOUNDARY = 4, MINRPM = 0.66E+04, MAXRPM = 0.98E+04,\ SECURITYFACTOR = 1.15, DIAMETER = 0.15, CD = 0.25,\ SPEEDCONTR = C-301, ANTISURGECONTR = C-201, COOLER = ON,\ COOLCAPACITY = 0.15E+08, TIME = (0., 0.1000E+07),\ TEMPERATURE = (2:0.4E+02) COMPRESSOR LABEL = CMPR-2-2, BRANCH = 2, PIPE = 1,\ SECTIONBOUNDARY = 6, MINRPM = 0.66E+04, MAXRPM = 0.98E+04,\ SECURITYFACTOR = 1.15, DIAMETER = 0.15, CD = 0.2,\ SPEEDCONTR = C-301, ANTISURGECONTR = C-202, COOLER = OFF !*************************************************************************** . . .

Chapter 3: Input File Description, CONTROLLER

Page 177

3.3.14 CONTROLLER Defines controllers used together with the various types of equipment. See section 2.2 for the description of controllers. The following controller types are defined: ANTISURGE

Anti-surge controller (ASC) with alternate amplification.

CASCADE

Cascade controller (normal and extended)

ESD

Emergency shutdown controller (linear).

MANUAL

Operator controller (manual).

OVERRIDE

Override controller. It is possible to combine up to three subcontrollers. Each of the sub-controllers in such a combination responds to a separate input parameter. The output signals from each of the controllers in the combination are compared, and the minimum or maximum output signal is chosen as the output signal to the controlled device.

PID

PID controller.

PSV

Pressure safety valve controller (PSV).

SELECTOR

Switch controller. The controller switches between two subcontrollers (low and high sub-controllers) depending of the low and the high variable limits given in the input. If the low sub-controller is active, it stays active until the high limit is reached. Then the high sub-controller takes over, and stays active until the low variable limit is reached. More than one low and high limit variable can be given. If more than one low limit variable is given the one limit which is first reached causes the switch. Similarly, if more than one high limit variable is given the one which reaches it’s high limit will determine the switch.

For PID controllers, the user can also specify if the controller is linear or non-linear. If a controller is non-linear, the user has to give tables for specifying the amplification factors, integral time constants, and derivative time constants as functions of the error input. For PID and ASC, the user can also specify the normalised amplification factor. In this case, the working range (through the key NORMRANGE) has to be given in the input. For all the controller types, the digital controller option can be selected by using the key SAMPLETIME. The difference between analogue and digital sampling in an OLGA simulation is as follows: The analogue controller collects input and gives a corresponding output at each time step. The relative change in the input signal to the controller from one time step to the next will never exceed 0.25, due to automatic integration time step control. The digital controller collects input and generates a corresponding output at time points separated by time intervals given in input (Key: SAMPLETIME). There may be one or more integration time steps in between each sample time point. The automatic time step control assures that a simulation time point always agrees with

Page 178

Chapter 3: Input File Description, CONTROLLER

a sample time point. The output signal from the controller is kept constant during the following sample time interval. If a controlled variable is a mass flow rate, there are two ways to specify its setpoint value. The setpoint value can be specified directly as the relevant mass flow rate. Alternatively, to control total mass flow, a volumetric flow rate at standard conditions can be used as setpoint. The name of the controlled (mass flow) variable is used to determine the phase of the given volumetric flow setpoint. For example, if variable GG (Gas mass flow rate) is given as VARIABLE (see below), the gas volume flow rate must be specified by SETPOINT and this is used by OLGA to calculate the total mass flow rate setpoint value. The calculation is based on the given GOR (or GLR) and WATERCUT. To use volumetric flows as an alternative setpoint to total mass flow the following data must be specified: VARIABLE

A mass flow rate variable must be specified. The mass flow rate variable must be defined at the measurement point (i.e. GLLEAK in a leak).

SETPOINT

Volumetric flow rate at standard conditions.

REFCONDITION

STD (standard conditions i.e. 1 atm (~1 bara) and 60 °F (~ 15.5 °C)

GOR or GLR

Default value is based on the gas mass fraction from the fluid property file at standard conditions. The fluid property table range must cover standard pressure and temperature.

WATERCUT MOLWEIGHT

Molecular weight. If the equivalent gas volumetric flow rate is specified (when all hydrocarbons are assumed to be gas, which is relevant for wet gas) its molecular weight should be given in order to determine the density of the equivalent gas (under the assumption that the gas is ideal). By default, the gas density at the standard condition from the PVT table is used.

The individual mass flow rates can only be controlled at REFCONDITION = IN-SITU (which is default) i.e. for P and T at the position where the mass flow rate is measured. If the volumetric flow setpoint of a phase is known at IN-SITU conditions, the user could just as well specify a phase volumetric flow rate as VARIABLE e.g. QG. For all controller types a mode can be specified, using the subkeys MODE, MODETIME, MANUALSETPOINT, EXTSIGNCONTROLLER and EXTSETPCONTROLLER. Using MODE = AUTOMATIC the controller will behave as specified by the standard subkeys, e.g. AMPLIFICATION etc for a PID controller, but these settings can be ignored by using one of the other modes. See the end of the chapter for an example on how to use the different MODEs.

Chapter 3: Input File Description, CONTROLLER

Page 179

Keyword:

CONTROLLER

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

AMP1

r. (-)

For ASC: Controller amplification (proportional term) for anti surge controller. Used for negative deviation from setpoint.

AMP2

r. (-)

For ASC: Controller amplification (proportional term) for anti surge controller. Used for positive deviation from setpoint.

AMPLIFICATION

r.l. (-)

Controller amplification factor(s). If the non-linear option is chosen for PIDs, the number of amplification factors and their sequence must correspond to the error values listed in the key ERROR.

AVERAGETIME

r. (s)

For use with EXTENDED CASCADE controller: Average time for the moving averaging function of the primary controller variable.

BIAS

r. (-)

Initial controller output signal

BRANCH

sym. l.

Branch(es) where controller input is sampled.

COMBINEVARIABLES

Sym.

ON [OFF]

Switch for use of more than one variable in the input.

CONSTONE

r. (1/s)

For use with EXTENDED CASCADE controller: Constant C1

CONSTSWITCH

r. (-)

For use with EXTENDED CASCADE controller: Switching value for using C1 and C2.

CONSTTWO

r. (1/s)

For use with EXTENDED CASCADE controller: Constant C2

DERIVATIVECONST

r.l.(s)

[0.0]

Derivative term in controller equation. If the non-linear option is chosen for PIDs, the number of amplification factors and their sequence must correspond to the error values listed in the key ERROR.

Page 180

Chapter 3: Input File Description, CONTROLLER

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

ERROR

r.l.

Must be given if the non-linear controller option is chosen for PIDs. The list of error values (both positive and negative) is used for finding the correct proportional, derivative and integral terms listed in the keys AMPLIFICATION, DERIVATIVECONST and INTEGRALCONST. If the error measured is between two values in the list, OLGA interpolates between the corresponding values in the lists of the equation terms. If the error measured is outside the values in the ERROR list, the nearest corresponding value in each of the lists of the equation terms is used.

EXTENDED

Sym.

ON [OFF]

Specify ON to use the EXTENDED CASCADE controller.

EXTSETPCONTROLLER

Sym.

-

Label of controller used when MODE equals EXTERNALSETPOINT

EXTSIGNCONTROLLER

Sym.

-

Label of controller used when MODE equals EXTERNALSIGNAL

GLR

r.l.

GOR

r.l.

(Sm3/Sm3)

[Value from PVT-table]

Gas/oil volumetric flow ratio. Default is value from PVT-table. GOR and GLR can not be used together.

HIGHLIMIT

r.l

-

For use with SELECTOR controller: Values of the HIGHLIMITVARIABLES.

HIGHLIMITVARIABLE

sym.l.

-

For use with SELECTOR controller: Variables determining the high limits. The variables are defined in the input group SETPOINTVARIABLE.

INITIALCONTROLLER

sym.

-

For use with SELECTOR controller: Controller at start of simulation (must be either SUBCONLOW or SUBCONHIGH).

INTEGRALCONST

r.l.(s)

[1.e10]

Integrational time constant in controller equation. If the non-linear option is chosen for PIDs, the number of amplification factors and their sequence must correspond to the error values listed in the key ERROR.

Gas/liquid volumetric flow ratio.

(Sm3/Sm3)

Chapter 3: Input File Description, CONTROLLER

Key INTERLOCKHIGH

Type Unit: ( )

Parameter set Default: [ ]

sym.

-

Page 181

Description For use with SELECTOR controller or override controller: State of interlocking and resetting the integration term of SUBCONHIGH: = ON : The output signals of the nonactive controllers follow the output of the active controller. = OFF: Integrate as if the controller was active.

INTERLOCKLOW

sym.

-

For use with SELECTOR controller: State of interlocking and resetting the integration term of SUBCONLOW: = ON: Locking the integration term. = OFF: Integrate as if the controller was active.

LABEL

str.

Controller reference name.

LINE

Sym.

Bundle line label. Required if the controlled variable is bundle line temperature TBUN.

LOWLIMIT

r.l

-

For use with SELECTOR controller: Values of the LOWLIMITVARIABLES.

LOWLIMITVARIABLE

sym.l.

-

For use with SELECTOR controller: Variables determining the low limits. The variables are defined in the input group SETPOINTVARIABLE.

MANUALSETPOINT

r.l.

-

List of output signals used when MODE is MANUAL (no interpolation). One element for each MANUAL.

MAXCHANGE

r.

[0.2]

Analogue controller: Maximum allowed change in controller output signal from one timestep to the next. This is a restriction which is used by the time step control. If the change in output exceeds this value, OLGA will go back to the former time point and integrate with a shorter time step. Digital controller: Maximum allowed discrepancy between sample time point and integration time point in terms of a fraction of the sample time interval. (Example: With sample time = 1.0s and maxchange = 0.2, maximum discrepancy will be ± 0.2s.)

MAXSETPOINT

r.

Maximum setpoint for secondary controller in cascade control loop

MAXSIGNAL

r.

Maximum output signal from controller.

Page 182

Chapter 3: Input File Description, CONTROLLER

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

MINSETPOINT

r.

Minimum setpoint for secondary controller in cascade control loop

MINSIGNAL

r.

Minimum output signal from controller.

MODE

sym.l.

[AUTOMATIC] MANUAL EXTERNALSIGNAL EXTERNALSETPOINT FREEZE

Mode for controller, corresponding to the time points in MODETIME. AUTOMATIC: Behaves as specified by the other subkeys MANUAL: Manual mode. Output signal set directly by MANUALSETPOINT. Not applicable for ESD and PSV. EXTERNALSIGNAL: Output signal set equal to the output signal for the controller defined in EXTSIGNCONTROLLER. Not applicable for ESD and PSV. EXTERNALSETPOINT: Setpoint set equal to the output signal for the controller defined in EXTSETPCONTROLLER FREEZE: constant

-

The output signal stays

MODETIME

r.l.

MOLWEIGHT

r. (kg/kmol)

The molecular weight of equivalent gas at reference condition. Used to calculate gas density at reference conditions. By default the gas density, at standard condition from the PVT-table is used to compute the molweight.

NORMRANGE

r.

For normalised controllers (used together with AMPLIFICATION). Indicates measuring range for input variable to controller.

OPENMODE

Sym.l.

ABOVE BELOW

List of time points where MODE and MANUALSETPOINT change

For ESD: Switch for specifying when the close signal occurs. If OPENMODE = ABOVE, the valve will close when the signal exceeds the setpoint. For PSV: Switch for specifying when the open signal occurs. If OPENMODE = ABOVE, the valve will open when the signal exceeds the setpoint.

PIPE

Sym. l.

Pipe(s) where sampled.

controller

input

is

Chapter 3: Input File Description, CONTROLLER

Key

Type Unit: ( )

Parameter set Default: [ ]

Page 183

Description

POSITION

Sym. l.

PRIMARYCONTROL

sym.

REFCONDITION

sym.

RESET

r.l.

For PSV,the valve closes if the input variable gets below or exceeds the reset value depending on OPENMODE. For ESD, the valve opens if the input variable gets below or exceeds the reset value depending on OPENMODE.

SAMPLEDT

r. (s)

For use with EXTENDED CASCADE controller: Logging time interval for the primary controller variable. NB! Number of data stored is proportional with AVERAGETIME/SAMPLEDT.

SAMPLETIME

r.(s)

The digital controller option is selected by using this key. The digital controller collects input and generates a corresponding output at time points separated by the time interval given by SAMPLETIME

SECTION

i. l.

SELECTIONMODE

sym.

Section(s)/boundary(ies) (dependent of variable type) where controller input is sampled. An override controller selects either minimum or maximum of the signals from all the subcontrollers. Key SELECTIONMODE determines the selection of minimum or maximum signal.

STD, [IN-SITU]

[LOW] HIGH

SETOFVARIABLES

Sym. l.

Position(s) where controller input is sampled. Refers to a POSITION keyword label (an alternative to specifying BRANCH, PIPE and SECTION), the label of equipment (source, pump, etc), or a branch depending on the type of the controlled variable. Primary controller label in cascade control loop. NB! If a controller is used as a primary controller under a cascade controller it must be defined before the cascade controller. STD means standard conditions (1atm and 60 °F). Use STD if an equivalent volume flow at standard conditions is used as alternative setpoint for total mass flow setpoint. If STD is used, standard conditions must be included in the PVT-table. Separate phase mass flow rates can only be controlled at INSITU conditions.

Specify controlled variable(s) by referring to controlled variables defined by keyword SETPOINTVARIABLE.

Page 184

Chapter 3: Input File Description, CONTROLLER

Key

Type Unit: ( )

Parameter set Default: [ ]

Description Setpoint values. Multiple setpoint values can only be used for PIDs and manual controllers. The number of setpoints must correspond to the number of time points listed in the TIME-key. For the PSV, the valve opens if the input variable exceeds or gets below the setpoint value depending on OPENMODE. For the ESD, the valve closes if the input variable exceeds or gets below the setpoint value depending on OPENMODE. If non-default unit is used, unit should be specified together with variable. For the EXTENDED CASCADE controller, EXTENDED=ON, the initial setpoint of the secondary controller is given. Note: there is no interpolation between the setpoint values (constant setpoint until a new setpoint is defined).

SETPOINT

r.l.

STROKETIME

r.(s)

[10]

Stroke- or actuator time. Time required to change valve settings or compressor speed from minimum to maximum value.

SUBCONHIGH

sym.

-

For use with SELECTOR controller: Sub-controller for use from high limit (determined by HIGHLIMITVARIABLE and HIGHLIMIT) until low limit is reached (determined by LOWLIMITVARIABLE and LOWLIMIT). The sub-controller is defined in a separate controller definition.

SUBCONLOW

sym.

-

For use with SELECTOR controller: Sub-controller for use from low limit (determined by LOWLIMITVARIABLE and LOWLIMIT) to high limit is reached (determined by HIGHLIMITVARIABLE and HIGHLIMIT). The sub-controller is defined in a separate controller definition.

SUBCONTROLLER

Sym.l.

Used for DPID's and TPID's. (Only PID's can be referred to as subcontrollers. This key refers to names/labels of controller statements which describes PID controllers. Used together with TYPE = OVERRIDE.

TIME

r.l.(s)

Timepoint list for SETPOINT key.

TYPE

Sym.

ANTISURGE CASCADE ESD MANUAL OVERRIDE PID PSV SELECTOR

Controller type. Explained at start of section

Chapter 3: Input File Description, CONTROLLER

Key

Type Unit: ( )

VARIABLE

Sym. l.

VARIABLEFUNCTION

Sym. l.

WATERCUT

r.l. (-)

Required keys:

Parameter set Default: [ ]

ADD | SUBTRACT

Internal dependencies of keys: If TYPE = ANTISURGE, then AMP1 = -1.35 AMP2 = -0.35 DERIVATIVECONST = [0.0] INTEGRALCONST = [1.e10] MAXCHANGE = [0.2] MINSIGNAL = 0.0 MAXSIGNAL = 1.0 BIAS = 0.0 either VARIABLE = QG or SETOFVARIABLES = GASFLOW end NORMRANGE = 1.0

=1 =1 =1 = POSITION-1

end if STROKETIME

= 10 [s]

else if TYPE = CASCADE, then ERROR DERIVATIVECONST INTEGRALCONST

Description Input variable(s) to controller. Including unit, if non-default unit is used. See Appendix A for available variable names. The variables must be of same type.

LABEL, TYPE

If VARIABLE key is used either BRANCH PIPE SECTION or POSITION end

Page 185

= 0.0 = [0.0] = [∞]

For use when more than one variable are specified. The values of the variables will be added or subtracted depending on the operation. Between the two first listed variables, the first operator will be used. The second operator will be used between the result of the first operation and the third variable. Note that number of operations in VARIABLEFUNCTION must be 1 less than number of items in VARIABLES or SETOFVARIABLES. Water volume fraction in oil/water mixture.

Page 186

Chapter 3: Input File Description, CONTROLLER

AMPLIFICATION| = -0.5E-03 MINSIGNAL = 0.0 MAXCHANGE = [0.2] MAXSIGNAL = 1.0 BIAS = 0.25 COMBINEVARIABLES = ON | [OFF] if (COMBINEVARIABLES=OFF) either VARIABLE = GLT REFCONDITION = [IN-SITU] | STD or SETOFVARIABLES = GASFLOW end if (VARIABLE key is used) either BRANCH PIPE SECTION

= BRANCH-1 = PIPE-1 =1

or POSITION = POSITION-1 end else if (COMBINEVARIABLES=ON) either VARIABLE = (GLT, GLT, GLT, GLT) REFCONDITION = [IN-SITU] | STD or SETOFVARIABLES = (GASFL1, GASFL2, GASFL3, GASFL4) end if (VARIABLE key is used) either BRANCH = BR-1, BR-3, BR-5, BR-2 PIPE = PI-2, PI-4, PI-7, PI-5 SECTION = 1, 8, 4, 3 or POSITION = (POS-1, POS-2, POS-3, POS-4) end end if VARIABLEFUNCTION = (ADD,SUBTRACT,ADD) ! In this case 4 variables must be specified. end if NORMRANGE = 1.0 PRIMARYCONTROL = LEVEL-1 ! LEVEL-1 must be specified before specifying the cascade controller. EXTENDED = ON | [OFF] if (EXTENDED=OFF) MAXSETPOINT = 10.0 MINSETPOINT = 0.0 else (EXTENDED=ON) SETPOINT = 5.0 AVERAGETIME = 100.0 [s] SAMPLEDT = 1.0 [s] CONSSWITCH = 1.0E5 CONSTONE = 0.5E-6 [1/s] CONSTTWO = 1.0E-6 [1/s] end if if it's a digital controller, then SAMPLETIME

= 10 [s]

Chapter 3: Input File Description, CONTROLLER

Page 187

end if STROKETIME

= 15.0 [s]

else if TYPE = ESD, then OPENMODE either VARIABLE

= ABOVE = PT bar

REFCONDITION

= [IN-SITU] | STD

SETPOINT

= 30.0

If (key VARIABLE is used ) either BRANCH =1 PIPE =1 SECTION =1 or POSITION = POSITION-1 end if STROKETIME = 60 [s] RESET = 30.0 else if TYPE = MANUAL, then TIME SETPOINT STROKETIME

= (0.0, 100) [s] = (0.03, 0.1) = 33.33 [s]

else if TYPE = OVERRIDE, then RESET SUBCONTROLLER STROKETIME SELECTIONMODE else if TYPE = PID, then

= 28.0 = (LC-1, FC-1) = 10 [s] =[LOW] | HIGH

ERROR = 0.0 DERIVATIVECONST = [0.0] INTEGRALCONST = [∞] AMPLIFICATION| = -0.5E-03 MINSIGNAL = 0.0 MAXCHANGE = [0.2] MAXSIGNAL = 1.0 BIAS = 0.25 COMBINEVARIABLES = ON | [OFF] if (COMBINEVARIABLES=OFF) either VARIABLE = GG REFCONDITION = [IN-SITU] | STD or SETOFVARIABLES = GASFLOW end if (VARIABLE key is used) either BRANCH PIPE SECTION

= BRANCH-1 = PIPE-1 =1

or POSITION end else if (COMBINEVARIABLES=ON) either

= POSITION-1

Page 188

Chapter 3: Input File Description, CONTROLLER

VARIABLE REFCONDITION

= (GLT, GLT, GLT, GLT) = [IN-SITU] | STD

or SETOFVARIABLES = (GASFL1, GASFL2, GASFL3, GASFL4) end if (VARIABLE key is used) either BRANCH = BR-1, BR-3, BR-5, BR-2 PIPE = PI-2, PI-4, PI-7, PI-5 SECTION = 1, 8, 4, 3 or POSITION = (POS-1, POS-2, POS-3, POS-4) end end if VARIABLEFUNCTION = (ADD,SUBTRACT,ADD) !In this case 4 !variables must be !specified. end if NORMRANGE TIME SETPOINT

= 1.0 = 0.0 = 44.0

if it's a digital controller, then SAMPLETIME

= 10 [s]

end if STROKETIME

= 15.0 [s]

elseif TYPE = PSV, then OPENMODE

= ABOVE

either VARIABLE REFCONDITION

= PT bar = [IN-SITU] |

or SETOFVARIABLES = GASFLOW end SETPOINT RESET

= 30.0 = 28.0

If (key VARIABLE is used) then either BRANCH =1 PIPE =1 SECTION =1 or POSITION = POSITION-1 end end if if it's a digital controller, then SAMPLETIME

= 10 [s]

end if STROKETIME

= 10.0 [s]

elseif TYPE = SELECTOR , then SUBCONLOW

= S_CON_L

SUBCONHIGH

= S_CON_H

Chapter 3: Input File Description, CONTROLLER

Page 189

INITIALCONTROLLER

= SUBCONHIGH or SUBCONLOW

LOWLIMITVARIABLE

= (LOW_LIQLV, LOW_GLT)

HIGHLIMITVARIABLE

= HIGH_GLT

LOWLIMIT

= (0.3, 20)

HIGHLIMIT

= 0.9

INTERLOCKLOW

= ON

INTERLOCKHIGH

= ON

end if if (VARIABLE = 'any mass flow variable (no unit)' and REFCONDITION = STD and controller type is not SELECTOR controller), then either GOR

= 200 [Sm3/Sm3]

GLR

= 200 [Sm3/Sm3]

or

! Default value is computed from PVTtable

end WATERCUT

= [0.0]

if (wet gas flow), then MOLWEIGHT

= 25

! If not given gas density from PVT table is used.

endif endif if MODE = MANUAL ! This is not a valid option for TYPE = PSV or ESD MANUALSETPOINT = 0.5 else if MODE = EXTERNALSIGNAL EXTSIGNCONTROLLER = CONTROLLER-1 ! Refers to a controller of any TYPE else if MODE = EXTERNALSETPOINT EXTSETPCONTROLLER = CONTROLLER-2 ! Refers to a controller of any TYPE end if

Examples: ANTISURGE: !************************************************************************** ! Controller Definition !--------------------------------------------------------------------------! CONTROLLER LABEL = C-201, TYPE = ANTISURGE, AMP1 = -1.35,\ AMP2 = -0.35, INTEGRALCONST = 0.12E+03, DERIVATIVECONST = 0,\ MINSIGNAL = 0, MAXSIGNAL = 1., BIAS = 0, VARIABLE = QG,\ BRANCH = 2, PIPE = 1, SECTION = 4, STROKETIME = 0.1E+02

ESD : !************************************************************************** ! Controller Definition !--------------------------------------------------------------------------! CONTROLLER LABEL = ESD-1, TYPE = ESD, OPENMODE = ABOVE, \ VARIABLE = PT bara, POSITION = ESD_POS, \ SETPOINT = 30.0, STROKETIME = 10.0

CASCADE : !*************************************************************************** ! Controller Definition !--------------------------------------------------------------------------! CONTROLLER LABEL = LC-1, TYPE = PID, \

Page 190

Chapter 3: Input File Description, CONTROLLER

AMPLI = 1.3918, INTEGRAL = 1.E10, BIAS = 0.40676, \ MINSIG = 0.0, MAXSIG = 1.0, \ VAR = BE, POSITION = IN-SEP, \ TIME = 0, SETPOINT = 0.21 !--------------------------------------------------------------------------CONTROLLER LABEL = FC-1, TYPE = CASCADE, \ AMPLI = -0.02, INTEGRAL = 10, BIAS = 0, \ MINSIG = 0.0, MAXSIG = 1.0, \ VAR = GNODHL, POSITION = SEP-1, \ MAXSETPOINT = 51.0, MINSETPOINT = 0.0,\ PRIMARYCONTROL = LC-1 !--------------------------------------------------------------------------CONTROLLER LABEL = FC-2, TYPE = CASCADE, \ AMPLI = -0.02, INTEGRAL = 10, BIAS = 0, \ MINSIG = 0.0, MAXSIG = 1.0, \ VAR = GNODHL, POSITION = SEP-1, \ PRIMARYCONTROL = LC-1, \ EXTENDED = ON, AVERAGETIME = 100 s, SAMPLEDT = 1 s, \ CONSTSWITCH = 1E5, CONSTONE = 1E-9 , CONSTTWO = 1E-8, \ SETPOINT = 25.0

MANUAL : !**************************************************************************** ! Controller Definition !--------------------------------------------------------------------------! CONTROLLER LABEL = C-502, TYPE = MANUAL, TIME = 0,\ SETPOINT = 0.3E-01, STROKETIME = 33.33 CONTROLLER LABEL = C-503, TYPE = MANUAL, TIME = 0,\ SETPOINT = 0.3E-01, STROKETIME = 33.33

OVERRIDE : !**************************************************************************** ! Controller Definition !--------------------------------------------------------------------------! CONTROLLER LABEL = LC-1, TYPE = PID, \ AMPLI = 1.3918, INTEGRAL = 1.E10, BIAS = 0.40676, \ MINSIG = 0.0, MAXSIG = 1.0, \ VAR = BE, POSITION = IN-SEP, \ TIME = 0, SETPOINT = 0.21 !--------------------------------------------------------------------------CONTROLLER LABEL = FC-1, TYPE = PID, \ AMPLI = -0.02, INTEGRAL = 10, BIAS = 0, \ MINSIG = 0.0, MAXSIG = 1.0, \ VAR = GNODHL, POSITION = SEP-1, \ TIME = 0, SETPOINT = 50.7 !--------------------------------------------------------------------------CONTROLLER LABEL = DRAIN, TYPE = OVERRIDE, \ SUBCONTROLLER = (LC-1, FC-1), STROKETIME = 10.

PID: !*************************************************************************** ! Controller Definition !--------------------------------------------------------------------------! SETPOINTVARIABLE LABEL=VARPOS-1,VARIABLE=PT,BRANCH=BRANCH-1, \ PIPE=PIPE-2, SECTION=11, REFCONDITION = IN-SITU SETPOINTVARIABLE LABEL=VARPOS-2,VARIABLE=PT,BRANCH=BRANCH-3, \ PIPE=PIPE-5, SECTION=4, REFCONDITION = IN-SITU !--------------------------------------------------------------------------CONTROLLER LABEL = C-401, TYPE = PID, AMPLIFICATION = -0.5E-03,\ INTEGRALCONST = 0.1E+02, DERIVATIVECONST = 0, MINSIGNAL = 0,\ MAXSIGNAL = 1., BIAS = 0.25, VARIABLE = GG, BRANCH = 1,\ PIPE = 2, SECTION = 11, TIME = 0, SETPOINT = 44.,\ STROKETIME = 15. !--------------------------------------------------------------------------! The input variable to the controller C-402 is the sum of VARPOS-1 AND VARPOS-2 CONTROLLER LABEL = C-402, TYPE = PID, AMPLIFICATION = -0.5E-03,\ INTEGRALCONST = 0.1E+02, DERIVATIVECONST = 0, MINSIGNAL = 0,\ MAXSIGNAL = 1., BIAS = 0.25, \ SETOFVARIABLES = (VARPOS-1, VARPOS-2), COMBINEVARIABLES=ON,\ VARIABLEFUNCTION=ADD, TIME = 0, SETPOINT = 44., STROKETIME = 15.

PSV:

Chapter 3: Input File Description, CONTROLLER

Page 191

!**************************************************************************** ! Controllers Definition !--------------------------------------------------------------------------! CONTROLLER LABEL = PSV-1, TYPE = PSV, VARIABLE = PT bara \ POSITION = PSV_POS, SETPOINT = 30.0, \ RESET = 28.0, STROKETIME = 5.0 s

SELECTOR : !**************************************************************************** ! Controllers Definition for SELECTOR controller: ! ! The example below is the one described in Chapter 2. The controllers ! are defined for operation of a separator with a height of 4 m. It is ! desirable to keep the liquid level as close as possible to 1.8 m. ! A fast controller takes over if the liquid height ! increases above 2.7 m, or if the liquid flow rate just upstream of the ! separator becomes above 40 kg/s (indicating that a slug is coming). ! The slow (normal) controller takes over again when the level drops below ! 2.0 m. The controller (CON_LIQ) controls the separator liquid drain valve. ! ! The sub-controllers referred to (SUBCONLOW and SUBCONHIGH) must be defined ! before the SELECTOR controller in separate controller definitions. ! The low and high limit variables referred to (LOWLIMITVARIABLE and ! HIGHLIMITVARIABLE) must be defined before the SELECTOR controller in the ! separate main input group SETPOINTVARIABLE. !--------------------------------------------------------------------------! SETPOINTVARIABLE LABEL = LOW_LIQLV, VARIABLE = LIQLV, POSITION = SEPARATOR SETPOINTVARIABLE LABEL = HIGH_LIQLV, VARIABLE = LIQLV, POSITION = SEPARATOR SETPOINTVARIABLE LABEL = HIGH_GLT, VARIABLE = GLT, BRANCH = BRANCH_1, \ PIPE = PIPE_BEFORE_SEP, SECTION = SECT_BEFORE_SEP ! CONTROLLER LABEL = S_CON_L, TYPE = PID, AMPLIFICATION = 1,\ INTEGRALCONST = 30, DERIVATIVECONST = 0, MINSIGNAL = 0,\ MAXSIGNAL = 1, BIAS = 0.45, VARIABLE = LIQLV, POSITION = SEPARATOR,\ TIME = 0, SETPOINT = 1.8,\ STROKETIME = 30. ! CONTROLLER LABEL = S_CON_H, TYPE = PID, AMPLIFICATION = 5,\ INTEGRALCONST = 10, DERIVATIVECONST = 0, MINSIGNAL = 0,\ MAXSIGNAL = 1, BIAS = 0.45, VARIABLE = LIQLV, POSITION = SEPARATOR,\ TIME = 0, SETPOINT = 1.8,\ STROKETIME = 5. ! CONTROLLER LABEL = CON_LIQ, TYPE = SELECTOR, SUBCONLOW = S_CON_L, \ SUBCONHIGH = S_CON_H, INITIALCONTROLLER = SUBCONLOW, \ LOWLIMITVARIABLE = (LOW_LIQLV),\ HIGHLIMITVARIABLE = (HIGH_LIQLV, HIGH_GLT), \ LOWLIMIT = (2.0), HIGHLIMIT = (2.7, 40), \ INTERLOCKLOW = ON, INTERLOCKHIGH = ON

MODE: !**************************************************************************** ! The example below shows the use of MODE and the associated subkeys. ! Initially CONTROLLER-2 behaves as a PID controller defined by ! SETPOINT etc. At 200 s the mode is switched to FREEZE, meaning ! that the calculated output signal at 200 s is kept constant. ! At 400 s the mode is set to EXTERNALSIGNAL, meaning that the ! output signal is set equal to the output signal for CONTROLLER-1 ! (defined in EXTSIGNCONTROLLER), that is, 0.2 and 0.3. At 600 and ! 700 s the output signal is set manually to 0.2 and 0.3 defined in ! MANUALSETPOINT. At 800 s the setpoint is set equal to the output ! signal for CONTROLLER-3, meaning that the controller again behaves ! like a PID, but ignores the original SETPOINT. !--------------------------------------------------------------------------! CONTROLLER LABEL=CONTROLLER-1, TYPE=MANUAL, SETPOINT=(0.2,0.3), TIME=(0,500) CONTROLLER LABEL=CONTROLLER-3, TYPE=MANUAL, SETPOINT=(1,0.7), TIME=(0,1200) CONTROLLER LABEL=CONTROLLER-2, AMPLIFICATION=-0.05, BIAS=0.1, \ INTEGRALCONST=100 s, MAXSIGNAL=1 , MINSIGNAL=0 , \ POSITION=CONTROL, SETPOINT=5, TIME=0 s, \ TYPE=PID, VARIABLE=GT, MODETIME=(0,200,400,600,700,800), \ MODE=(AUTOMATIC,FREEZE, EXTERNALSIGNAL, MANUAL,MANUAL, EXTERNALSETPOINT), EXTSIGNCONTROLLER=CONTROLLER-1, \ MANUALSETPOINT=(0.2,0.3), EXTSETPCONTROLLER=CONTROLLER-3

Page 192

Chapter 3: Input File Description, CORROSION

3.3.15 CORROSION This group is used to define corrosion module input parameters. Requires access to the corrosion module. If the corrosion rate in single phase liquid flow is to be calculated correctly, PTMAX must be set equal to the pressure in the pipeline where gas is formed (bubble point pressure). That is, if a simulation shows single phase liquid flow, a new simulation should be performed with the correct PTMAX set to the pressure in the section where gas is formed. Alternatively, the output variable PCO2 can be read and PCO2MAX can be set to the PCO2 value in the section where gas is formed. The corrosion module cannot be applied together with the wax deposition module. Keyword:

CORROSION

Dependencies:

BRANCH, OPTIONS, WATEROPTIONS

Key description table: Key

Type Unit: ( )

Parameter set (Default:[ ])

Description

BICARBONATE

r.

[0.0]

Bicarbonate (HCO3-) in water concentration in Molar, M ( = mol/l), for all branches listed in the current keyword

BRANCH

sym.l.

[All branches]

Branches where corrosion rates are to be calculated.

CO2FRACTION

r.

GLYCOLFRACTION

r.

[0.0]

Glycol concentration in weight % in glycol/water mixture for all branches listed in the current keyword. Only used if the MEG-tracking function is not used. If MEG-tracking is used, the glycol fraction is calculated by the code.

INHIBITOREFFICIENCY

r.

[0.0]

Inhibitor (not glycol) efficiency in % for all branches listed in the current keyword. The effect of glycol and an additional inhibitor (through INHIBITOREFFICIENCY) is treated differently depending on the model used. For the NORSOK model, the larger of the two resulting reduction factors is used while for the de Waard models the product of the two factors is used. INHIBITOREFFICIENCY = 100 % means no corrosion.

IONICSTRENGTH

r.

[0.0]

Total ionic strength in Molar, M (= mol/l), for all branches listed in the current keyword.

Mole percentage of CO2 in gas phase (ratio of CO2 partial pressure to total pressure in %) for all branches listed in the current keyword.

Chapter 3: Input File Description, CORROSION

Key

Page 193

Type Unit: ( )

Parameter set (Default:[ ])

MODEL

sym.l.

MODEL1 MODEL2 MODEL3 [ALL]

Activates the specified model for the specified branches in the current keyword. Generic names are used, as the modular program design allows the current corrosion models to be replaced without changing the main program. Currently, the following models are available from Scandpower Petroleum Technology: MODEL1: NORSOK MODEL2: Top of Line corrosion model MODEL3: de Waard 95

PCO2MAX

r.

[1E6]

Maximum CO2 partial pressure in single phase liquid flow for all branches listed in the current keyword.

PHSAT

sym.

ON/[OFF]

If turned ON, pH is calculated for condensed water saturated with iron carbonate for all branches listed in the current keyword.

PTMAX

r.

-

Bubble point pressure, from which the CO2 partial pressure for single phase liquid flow will be calculated for all branches listed in the current keyword.

WCWET

r.

[30.0]

Water droplet wall wetting limit for all branches listed in the current keyword. Must be given as watercut in %. If the liquid film watercut is higher than this value, the water droplets will wet the wall, even if no continuous water film is present. It is only used in the corrosion module to detect if water droplets are wetting the wall. It has no influence on the flow conditions. If a continuous water film is predicted by the flow model, water wetting is detected by the corrosion module regardless of the water cut set as the wetting limit. See the corrosion module description in ch. 2 for further information.

Required keys:

Description

CO2FRACTION

Internal dependencies of keys: if MODEL1 or MODEL3 then CO2FRACTION = 6 [mol%] WCWET = [30] [%] if PHSAT = [OFF] then BICARBONATE = 0.1 [mol/l] IONICSTRENGTH = 0.1 [mol/l] endif else if PHSAT = ON then BICARBONATE = [0.0] [mol/l] IONICSTRENGTH = 0.1 [mol/l] endif

! deWaard 95 or NORSOK model

! Only 0.0 is allowed

Page 194

if COMPOSITIONAL = OFF GLYCOLFRACTION = 70 [%] endif INHIBITOREFFICIENCY = 70 [%] PCO2MAX = [1e6] [Pa] or PTMAX = [1.e7] [Pa] endif I If MODEL2 then CO2FRACTION = 6 [mol%] endif

Chapter 3: Input File Description, CORROSION

! MEG-tracking off

! Used if no free gas is present

! Top of Line model

Example: ! CORROSION MODEL = (MODEL1, MODEL2, MODEL3), BRANCH = BRANCH_1, \ CO2FRACTION = 5.0, GLYCOLFRACTION = 50, INHIBITOREFFICIENCY = 90, \ PHSAT = ON, WCWET = 30.0 ! . . . PROFILE TIME = (1000), VARIABLE = (PT, HOL, TM, HOLWT) PROFILE VARIABLE = (HOLHL,ROHL,ROWT,CORR1,CORRW1,CORR2,CORR3,CORRW3,PH1,PH2,PH3) PROFILE VARIABLE = (PCO2,ULHL,ULWT,USL,USLWT,USLHL,ID,WCWALL)

Chapter 3: Input File Description, COVER

Page 195

3.3.16 COVER This group is used to define trenched and covered soils groups. Requires access to the soil module. For specified cell groups in a defined SOIL specification, either a new material can be specified or the cells can be declared as belonging to the sea. The SOILCOLUMN and SOILROW keys specifies a rectangular area in the soil group that is modified. Keyword:

COVER

Dependencies:

GRID, SOIL, MATERIAL

Key description table: Key

Type Unit: ( )

Parameter set (Default:[])

Description

MATERIAL

sym.

SEA

sym.

ON | [OFF]

The cells are considered to contain sea water at ambient conditions.

SOIL

sym.

-

Name of soil group that is modified.

SOILCOLUMN

i.l.

-

List of cell columns that are modified (horizontal range)

SOILROW

i.l.

-

List of cell rows that are modified (vertical range)

Required keys:

Name of new material for the specified cells.

SOIL, SOILCOLUMN, SOILROW

Internal dependencies of keys: Either MATERIAL

= ROCKDUMP

SEA

= ON | OFF

or end

Page 196

Chapter 3: Input File Description, COVER

Example: Example 1: ! !*************************************************************************** ! MATERIAL Definition !--------------------------------------------------------------------------! MATERIAL LABEL = SOIL, DENSITY = 1800., CONDUCT = 2.5, CAPACITY = 1162 MATERIAL LABEL = ROCKD, DENSITY = 1800., CONDUCT = 1.8, CAPACITY = 1162 ! !*************************************************************************** ! GRID Definition !*************************************************************************** ! !--------------------------------------------------------------------------! 1000 mm crossover to top of pipe with some below pipe: Trenched pipe !--------------------------------------------------------------------------! GRID LABEL = G-TRCH, XGRID = ( 0., .25, .3, .4, .6, 1., 2.), \ YGRID = ( 0., .2, .3, .55, .8, .9, 1.1, 1.5, 2.),\ PIPEXCOORD = 0.6, PIPEYCOORD = 0.55 ! !*************************************************************************** ! SOIL Definition !*************************************************************************** ! SOIL LABEL = TRENCH, GRID = G-TRCH, MATERIAL = SOIL ! !*************************************************************************** ! COVER Definition !*************************************************************************** ! ! The sides of the rockdump cover ! COVER SOIL = TRENCH, SEA = ON, SOILCOLUMN = (4-6), SOILROW = 1 COVER SOIL = TRENCH, SEA = ON, SOILCOLUMN = (5-6), SOILROW = 2 ! ! Rockdump cover and trench ! COVER SOIL = TRENCH, MAT = ROCKD, SOILCOLUMN = 1-3, SOILROW = 1 COVER SOIL = TRENCH, MAT = ROCKD, SOILCOLUMN = 1-2, SOILROW = 2-3 ! !*************************************************************************** ! PIPE Definition !--------------------------------------------------------------------------! GEOMETRY LABEL = GEOM-1 ! PIPE LAB = P-1, NS = 3,LEN = 100., ELEV = 0.2, DIAM = 0.2727, \ ROUG = 0.457E-04, WALL = STEELWALL, SOIL = TRENCH PIPE LAB = P-2, NS = 5,LEN = 200., ELEV = -.4, SOIL = NONE . . .

Chapter 3: Input File Description, CROSSOVER

Page 197

3.3.17 CROSSOVER This group defines a crossover of fluid from one bundle line to another. The fluid is taken from a line outlet and enters at a line inlet. If zero MASSFLOW is given the lines are just connected. Crossovers can be specified between lines in the same bundle or in different bundle groups. Crossovers including OLGA-lines are impossible. The user must verify that the fluid specifications for the different lines are consistent if for example a line receives fluid from more that one crossover. For bundles with more than one OLGA-line, FROMPOSITION and TOPOSITION must always refer to the OLGA branch given first in the list of OLGA branches in the BUNDLE keyword. This statement requires access to the bundle module. Keyword:

CROSSOVER

Dependencies:

LINE, CONTROLLER, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

FLOWCONTROLLER

sym.

-

FRACTION

r.(-)

FROMLINE

sym.

-

Line that the fluid is taken from

FROMPOSITION

sym.

-

Position which the fluid is taken from.

HEATCONTROLLER

sym.

-

Label of the controller regulating the power input to the crossover.

HEATLIMIT

r. (W)

[0]

The crossed fluid is heated with this amount of heat. The boundary temperature for the receiving line sets the maximum inlet temperature and the added heat may be limited by this.

LABEL

str.

-

Name of the crossover

MASSFLOW

r. (kg/s)

[0]

Mass flow added to flow (TOLINE) in a crossover.

MAXFLOWRATE

r. (kg/s)

-

Maximum mass flow rate. Default given by key MASSFLOW.

MAXHEATINPUT

r. (W)

-

Maximum power input.

MINFLOWRATE

r. (kg/s)

[0]

Minimum mass default: zero.

MINHEATINPUT

r. (W)

-

Minimum power input.

TOLINE

sym

-

Line that receives the fluid

TOPOSITION

sym.

-

Position which receives the fluid.

Label of the controller regulating the crossover flow rate. Fraction of the flow in the line the flow is taken from

flow

rate

in line

allowed

Page 198

Chapter 3: Input File Description, CROSSOVER

Required keys:

FROMLINE, TOLINE, FROMPOSITION, TOPOSITION

Internal dependencies of keys: If (controlled power input), then HEATCONTROLLER MINHEATINPUT MAXHEATINPUT

= HEAT =0 = 60.E5 kW

HEATLIMIT

= [0] W

else endif if (controlled flow rate), then FLOWCONTROLLER MINFLOWRATE MAXFLOWRATE

= FLOW = [0] = 300 kg/s

MASSFLOW

= [0] kg/s

FRACTION

= 0.1

else or endif

Example: Example 1: !*************************************************************************** ! CROSSOVER definition !--------------------------------------------------------------------------! CROSSOVER FROMLINE = ANNULARLINE, TOLINE = RETURNLINE,\ FROMPOSITION = ANN_OUT, TOPOSITION = RET_IN,\ MASSFLOW = 120. ! CROSSOVER FROMLINE = RETURNLINE, TOLINE = ANNULARLINE,\ FROMPOSITION = ANN_OUT, TOPOSITION = RET_IN,\ MASSFLOW = 120., HEATLIMIT = 100. KW !*************************************************************************** . . .

Example 2: !*************************************************************************** ! CROSSOVER definition for connection to water injection lines !--------------------------------------------------------------------------! CROSSOVER FROMLINE= WATERLINE1, TOLINE = WATERLINE2,\ FROMPOSTION = WAT2_INLET, TOPOSITION = WAT1_OUT ! !*************************************************************************** . . .

Chapter 3: Input File Description, CROSSSECTION

Page 199

3.3.18 CROSSSECTION This keyword stores all information that is required to configure a pipe cross section. Here one should define the start and end pipe between which the same crosssection applies. The possible objects to be placed within a CROSSSECTION are the following: • • • •

SHAPE LINE BUNDLE BRANCH

Please ensure that the outer boundaries of these objects do not overlap. If two boundaries overlap the grid generator will fail to generate a grid and an error message will be displayed. It is possible to place any of the four objects above within a SHAPE, but one should not place a shape within a LINE, BRANCH or BUNDLE. Please note that the outer boundary of the grid should be defined with the SHAPE keyword. For every CROSSSECTION a finite element triangle mesh is generated. The fineness of the mesh is set by the MESHFINENESS sub key. The value of this key denotes the number of nodes on the SHAPE with the largest circumference excluding the SHAPEs of polygon type (polygon shapes have a fixed number of nodes). The higher the MESHFINENESS the finer the mesh. The quality of the grid is not very sensitive on the MESHFINENESS as the value of this parameters is being rounded off to multiples of 32. Typical values for this key is between 128 and 640. In the CROSSSECTION below the MESHFINENESS is equal to 128.

Page 200

Chapter 3: Input File Description, CROSSSECTION

At least two extra result files for each CROSSECTION are generated when a simulation is performed: 1. A file that stores the 2D temperature. The name of file will be in this format: -.osi, and can be viewed in FEMTherm Viewer. 2. A file that stores the cross section geometry required to generate a grid. The name of file will be in this format: -.cut, and can be viewed in FEMThermTool. 3. In addition there will be generated a file for each bundle in a crosssection that stores the bundle geometry. The name of file will be in this format: -.bun.cut, and can be viewed in FEMThermTool. Keyword:

CROSSSECTION

Dependencies:

SHAPE, LINE, BUNDLE, BRANCH

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCHES

sym.l.

-

BRANCHXCENTERS

r.l.(m)

-

Name labels of the branches that reside inside the cross-section Placement of geometric x-centers of branches relative to the center of the largest SHAPE

BRANCHYCENTERS

r.l.(m)

-

BUNDLES

sym.l.

-

BUNDLEXOFFSETS

r.l.(m)

-

BUNDLEYOFFSETS

r.l.(m)

-

DELTAT

r. (s)

-

Time step for thermal calculations

DTPLOT

r. (s)

-

Time step for saving thermal data

ENDPIPES

sym.l.

-

ENDSECTIONS

i.l.

[Last or section]

Name label of the pipe at the end position for each of the branches inside the CROSSSECTION. End sections. Last section or first section (when the positive direction of GEOMETRY is opposite of CROSSSECTION) of the corresponding pipe in ENDPIPES.

LABEL

Str.

-

Name of the CROSSSECTION.

LINES

sym.l.

-

LINEXOFFSETS

r.l.(m)

-

Name labels of the lines that reside inside the cross-section Placement of geometric x-centers of lines relative to the center of the largest SHAPE

Placement of geometric y-centers of branches relative to the center of the largest SHAPE Name labels of the bundles that reside inside the cross-section Placement of geometric x-centers of bundles relative to the center of the largest SHAPE Placement of geometric y-centers of bundles relative to the center of the largest SHAPE

first

Chapter 3: Input File Description, CROSSSECTION

Key

Page 201

Type Unit: ( )

Parameter set Default: [ ]

Description

LINEYOFFSETS

r.l.(m)

-

Placement of geometric y-centers of lines relative to the center of the largest SHAPE

MESHFINENESS

i.

[32]

The number of nodes on the largest SHAPE in the CROSSSECTION excluding polygon SHAPES. The higher the number the finer the mesh. Rounded to nearest multiple of 32.

SHAPES

sym.l.

-

Name labels of the shapes that reside inside the cross-section. The SHAPE with the largest circumference is automatically the outer surface of CROSSSECTION

SHAPEXOFFSETS

r.l.(m)

-

Placement of geometric x-centers of shapes relative to the center of the largest SHAPE

SHAPEYOFFSETS

r.l.(m)

-

Placement of geometric y-centers of shapes relative to the center of the largest SHAPE

STARTPIPES

sym.l.

-

STARTSECTIONS

i.l.

[First or section]

Name label of the pipe at the start position for each of the branches inside the CROSSSECTION. Start sections. First section or last section (when the positive direction of GEOMETRY is opposite of CROSSSECTION) of the corresponding pipe in STARTPIPES.

last

Required keys: LABEL, BRANCHES, BRANCHXCENTERS, BRANCHYCENTERS, DELTAT, DTPLOT, MESHFINENESS, SHAPES, SHAPEXOFFSETS, SHAPEYOFFSETS Internal dependencies of keys: if there is one or more shapes within the cross-section. SHAPES = CIRCLE_1, CIRCLE_2 SHAPEXOFFSETS = (-0.2,+0.2) [m] SHAPEYOFFSETS = (0.0,0.0) [m] end if if there is one or more lines within the cross-section LINES = (HEATING) LINEXOFFSETS = (0.0) [m] LINEYOFFSETS = (0.3) [m] end if if there is one or more bundles within the cross-section BUNDLES = (B_1) BUNDLEXOFFSETS = (0.0) [m] BUNDLEYOFFSETS = (0.0) [m] end if if there is one or more branches within the cross-section BRANCHES = (BRAN_1)

Page 202

Chapter 3: Input File Description, CROSSSECTION

BRANCHXCENTERS BRANCHYCENTERS

= (-0.4) [m] = (0.0) [m]

end if

Example: !******************************************************************* !GEOMETRY Definition !------------------------------------------------------------------GEOMETRY LABEL=GEOM-1 PIPE LABEL = PIPE-4, DIAMETER = 0.1 m, ELEVATION = 300 m,\ LENGTH = 300 m, NSEGMENTS = 4, ROUGHNESS = 2.8e-005 m,\ WALL = WALL-3 !******************************************************************* !BRANCH Definition !------------------------------------------------------------------BRANCH LABEL = BRAN-1, FLOAT = ON, FLUID = "1",\ FROM= INLET, GEOMETRY = GEOM-1, TO = OUTLET !******************************************************************* !SHAPE Definition !------------------------------------------------------------------SHAPE LABEL = CIRCLE1,\ MATERIAL = MATER-2,\ TYPE = CIRCLE,\ RADIUS = 0.80 m !******************************************************************* !LINE Definition !------------------------------------------------------------------LINE LABEL = METHANOL,\ FLUIDMATERIAL = METHANOLFLUID,\ RADIUS = 3.74 cm,\ WALL = METHANOLPIPE !******************************************************************* !BUNDLE Definition !------------------------------------------------------------------BUNDLE LABEL = HEATING,\ BRANCHES = BRAN-1,\ LINES =(CARRIERLINE,RETURNLINE),\ STARTPIPES = PIPE-4,\ ENDPIPES = PIPE-4,\ BRANCHXCENTERS = (0.00) m,\ BRANCHYCENTERS = (0.00) m,\ LINEXCENTERS = (0.00,0.30) m,\ LINEYCENTERS = (0.00,0.00) m !******************************************************************* !CROSSSECTION Definition !------------------------------------------------------------------CROSSSECTION LABEL = (SECTION42),\ SHAPES = CIRCLE1), \ SHAPEXOFFSETS = (0.00) m, \ SHAPEYOFFSETS = (0.00) m,\ LINES = (METHANOL), \ LINEXOFFSETS = (-0.65) m,\ LINEYOFFSETS = (0.00) m,\ BRANCHES = (BRAN-1), \ BRANCHXCENTERS = (0.65) m,\ BRANCHYCENTERS = (0.00) m,\ BUNDLES = (HEATING), \ BUNDLEXOFFSETS = (0.00) m,\ BUNDLEYOFFSETS = (0.00) m,\ STARTPIPES = (PIPE-4), \ ENDPIPES = (PIPE-4),\ MESHFINENESS = (128),\ DELTAT = (100),\ DTPLOT = (100)

Chapter 3: Input File Description, DRILLINGFLUID

Page 203

3.3.19 DRILLINGFLUID This statement enable the use of drilling fluids. They are treated as extra fluids and are tracked through the pipeline. They do not replace any of the phases. The fluid properties of a drilling fluid can be given in two different ways: 1. Define the range of density and viscosity at standard conditions for a drilling fluid. The density and viscosity used at the inlet is given in SOURCE or BOUNDARY. 2. Get the fluid properties for the drilling fluid from a separate fluid property file. The fluid property file must then have an appropriate string in the header of the file: string "GASMUD" if gas phase is used as drilling fluid string "OILMUD” if oil phase is used as drilling fluid string "WATERMUD" if water phase is used as drilling fluid Non-Newtonian rheology is applied if the pvt table contains the rheology parameters yield stress or power law exponent. The non-Newtonian models Bingham and Power law are used to modify the viscosity of the drilling fluid as for the complex viscosity option, see the chapter 3.3.23 (FLUID). For oil-based mud, the power law exponent or yield stress is read when the heading contains the strings "POWEXPL" or "YIELDSTRL" respectively. For water-based mud, the power law exponent or yield stress is read when the heading contains the strings "POWEXPW" or "YIELDSTRW" respectively. The syntax of the pvt table file when it contains the rheology parameters is given in chapter 4.1.1.1. A combination of 1) and 2) can not be used in the same case. This main keyword requires access to the Advanced Well module. Keyword:

DRILLINGFLUID

Dependencies: OPTION Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

LABEL

str.

-

Name of definition.

FLUIDTABLE

sym.

-

Fluid label or number of the fluid property table used for the drilling fluid

TYPE

sym. l.

-

Type of drilling fluid. The following types are allowed: WATERMUD, OILMUD, or GASMUD

MAXDENSITY

r. (kg/m3)

-

Max. density (at standard conditions)

MINDENSITY

r. (kg/m3)

-

Min. density (at standard conditions)

MAXVISCOSITY

r. (Ns/m2)

-

Max. viscosity (at standard conditions)

MINVISCOSITY

r. (Ns/m2)

-

Min. viscosity (at standard conditions)

Page 204

Chapter 3: Input File Description, DRILLINGFLUID

Required keys: LABEL, TYPE Internal dependencies of keys: If drillingfluid properties are given in a separate file, then FLUIDTABLE = “2” else MAXDENSITY = 2200 [kg/m3] MINDENSITY = 900 [kg/m3] MAXVISCOSITY = 10 [Ns/m2] MINVISCOSITY = 1 [Ns/m2] end

Examples: Example 1; !*************************************************************************** ! DRILLINGFLUID Definition !*************************************************************************** DRILLINGFLUID LABEL = OIL, TYPE = OILMUD, MAXDEN = 2200, MINDEN = 900, \ MAXVIS = 10 CP, MINVIS = 1 CP . . .

Example 2: !*************************************************************************** ! DRILLINGFLUID Definition !*************************************************************************** DRILLINGFLUID LABEL = OIL, TYPE = OILMUD, FLUIDTABLE= “2”

. . .

Chapter 3: Input File Description, DTCONTROL

Page 205

3.3.20 DTCONTROL This option defines a switch for stability control. The Courant-Friedrich-Levy criteria based on the mass velocity (CFL) is set "ON" by default. The limit of the time step due to accuracy in pressure integration is set "OFF" by default. See section 2.5.3 for a discussion of these stability control options. Keyword:

DTCONTROL

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

BRANCH

sym.l.

[ALL]

Branch number or label.

CFL

sym.

[ON] | OFF

The Courant-Friedrich-Levy criteria based on the flow velocity (CFL).

PIPE

sym.l.

[ALL]

Pipe number or label.

POSITION

sym.l.

-

Position where the stability control should be turned on or off. If POSITION is defined, BRANCH, PIPE, and SECTION should not be used.

PRESSURE

sym.

ON | [OFF]

The limit of the time step due to accuracy in pressure integration.

SECTION

i.l.

[ALL]

Section number.

Required keys:

CFL, PRESSURE

Internal dependencies of keys: either BRANCH PIPE SECTION

=1 =1 =1

POSITION

= POSITION-1

or end

Description

Page 206

Chapter 3: Input File Description, DTCONTROL

Examples: Example 1: !*************************************************************************** ! DTCONTROL Definition !--------------------------------------------------------------------------! DTCONTROL BRANCH = 1, PIPE = ( 2, 3, 6, 7, 8, 15), \ CFL = OFF, PRESSURE = ON !*************************************************************************** . . .

Example 2: !*************************************************************************** ** ! DTCONTROL Definition !--------------------------------------------------------------------------! DTCONTROL BRANCH = 1, PIPE = 2, SECTION = ( 1, 2, 3, 4), \ CFL = OFF, PRESSURE = ON DTCONTROL BRANCH = 2, PIPE = 1, SECTION = ( 5, 6, 7, 8 ), \ CFL = OFF, PRESSURE = ON !*************************************************************************** . . .

Example 3: !*************************************************************************** ! Definition for Position of DTCONTROL !--------------------------------------------------------------------------! POSITION LABEL = POSITION-1, BRANCH = 1, PIPE = 2, SECTION = ( 1, 2, 3, 4) POSITION LABEL = POSITION-2, BRANCH = 2, PIPE = 1, SECTION = ( 5, 6, 7, 8) !*************************************************************************** ** . . . !*************************************************************************** ! DTCONTROL Definition !--------------------------------------------------------------------------! DTCONTROL POSITION = ( POSITION-1, POSITION-2 ), \ CFL = OFF, PRESSURE = ON !*************************************************************************** . . .

Chapter 3: Input File Description, FEED

Page 207

3.3.21 FEED This statement defines a feed (fluid composition used in a source or at a boundary) and its components with belonging mole fractions. The components in the feed must be defined in the feed file, and the properties for each component will be taken from the feed file. Feeds can also be defined directly in the feed file. The feed file is generated in PVTSim. Keyword:

FEED

Dependencies:

FILES

Key description table: Key

Type Unit: ( )

COMPONENT

str.l.

LABEL

str.

MOLEFRACTION

r.l.

Required keys:

Parameter set Default: [ ]

Description Components in feed (defined in feed file)

[Integer increment]

Name of feed Mole fractions of components in feed

COMPONENT, MOLEFRACTION

Example: !*************************************************************************** ! Feed !--------------------------------------------------------------------------! FEED LABEL = FEED-1, COMPONENT = (H2O,C1,C2,C3,MeOH), MOLEFRACTION = (0.2,0.4,0.2,0.1,0.1) !

!*************************************************************************** . .

Page 208

Chapter 3: Input File Description, FILES

3.3.22 FILES This statement defines the additional input files, e.g., PVT table files for fluid properties, pump data table files, compressor table files, feed file for the compositional tracking model and wax file for the wax deposition model. Note that several files can be listed for COMPRESSORFILE, PUMPFILE and PVTFILE. For definition of a restart file, see 3.3.47. If drilling fluids are used and the fluid properties are given in files, these are specified as additional files in the PVTFILE key. Keyword:

FILES

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

COMPRESSORFILE

str.l.

-

FEEDFILE

str.

Name of feed file (used by the compositional tracking module). Note that only one file may be specified. The file can contain several feeds.

PUMPFILE

str.l.

Name of PUMP file(s). Each file can contain only one pump.

PVTFILE

str.l.

Name of PVT file(s) for fluid property calculations. The files can contain several fluids each.

WAXFILE

str.

Required keys:

-

Description Name of compressor file(s). The files can contain several compressors each.

Name of file containing wax tables. Note that multiple wax tables may be specified in the file. See chapter 4 for details.

PVTFILE

Internal dependencies of keys: if (compressor module is used), then COMPRESSORFILE = Name of compressor file endif if (compositional tracking is used), then FEEDFILE = Name of feed file else PVTFILE = Name of PVT file endif if (pump module is used), then PUMPFILE endif

= Name of pump file

if (wax deposition module is used), then WAXFILE = Name of file containing the wax table endif

Chapter 3: Input File Description, FILES

Page 209

Example: !*************************************************************************** ! Input Files ! The user should write the name of the PVT file and pump-, ! compressor- and wax table file when necessary. !--------------------------------------------------------------------------! FILES PVTFILE = PVT-1.tab, COMPRESSORFILE = COMP-1.tab, WAXFILE = Wax-1.tab !

!*************************************************************************** . .

Page 210

Chapter 3: Input File Description, FLUID

3.3.23 FLUID This statement enables the use of the complex viscosity model and the complex fluid model for simulation of non-Newtonian flows. The complex viscosity model The Complex Viscosity module requires a license for the Advanced Well module. The model modifies the effective viscosity as a function of velocity. Three different models for non-Newtonian fluids can be used for this behaviour: 1. 2. 3.

Bingham plastic model Power law model Herschel-Buckley model

Any of the three models may be utilised for the hydrocarbon liquid phase and the water phase independently. The models used are calculated according to: Bingham plastic model

τ = τ o + Kγ& n where τ 0 is the yield stress and µ ρ is the plastic viscosity. Power law model

τ = K ⋅ γ& n where K is the consistency factor and n is the power exponent. Herschel-Buckley model

τ = τ o + Kγ& n Where τ 0 is the yield stress, K is the consistency factor and n is the power exponent. The complex viscosity model is only recommended used for single phase flow as no feedback on the flow models is implemented. The complex fluid model The Complex Fluid module requires a separate license. The module utilises either the Bingham, the power law or a Newtonian model that may be used for hydrocarbon liquid and the water phase independently. As opposed to the complex viscosity model, the complex fluid model includes numerous modifications to the physical models for both separated and distributed flow taking into account the nonNewtonian behaviour of the fluids. As soon as TYPE is set COMPLEXFLUID the modified physical models are used, even if CFLUML or CFLUMW are set to NEWTONIAN. Due to limited testing against Newtonian data, the complex fluid model is not recommended used on gas-condensate and oil-gas systems with oil viscosity less than 50 cp.

Chapter 3: Input File Description, FLUID

Page 211

For the complex fluid model, the fluid properties can be given in two ways, simple or full (FULL = YES). In the simple mode the power law exponent or yield stress is given in the main input file. In the full mode, the power law exponent or the yield stress is given as a function of pressure and temperature in the fluid property table file specified in PVTFILE in FILES. This implies that the FLUID keyword must be given above the FILES keyword in the OLGA input file since the fluid property files are read as soon as OLGA reads the FILES keyword. When using the OLGA GUI to make the input file this is automatically taken care of. In all cases the hydrocarbon liquid and/or the water viscosity part of the usual PVT file is used. In the power law formulation it is used as the consistency factor K, and in the Bingham formulation it is used as the coefficient of rigidity. Therefore, setting CFLUML = NEWTONIAN is equivalent to CFLUML = BINGHAM with YIELDSTRL = 0, and CFLUML = POWERLAW with POWEXPL = 1. Slurry plug extension In this option only preprogrammed rheology correlations are used. They are (given by CFLUMW): • Krieger_Dougherty Newtonian rheology • IFE-Solaize power law correlation based on Solaize experiments • Thomas correlation for a Bingham fluid All of these correlations depend on the local particle correlations; therefore the existing table based option (FULL=YES) cannot be used as it does not have this functionality. The chosen rheology is used below the given hydrate formation temperature (slurry); above the hydrate formation temperature the KriegerDougherty correlation for Newtonian viscosity is used (emulsion). The use of the slurry plug extension requires that the three phase option is activated, PHASE=THREE on OPTIONS. It is assumed that an antiagglomerant is used and that the water is dispersed in the oil as a result. The equations for water are used to describe this emulsion or slurry stream, while the equations for oil is used to describe a pure oil phase that will separate from the slurry if the flow is sufficiently slow. As a consequence the usual way of describing the phase distribution of sources can not be used. One must give the fraction of dispersed water in the emulsion/slurry that is flowing into the pipe through the key WATERCUT. Keyword:

FLUID

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: []

Description

CFLUML

Sym

[NEWTONIAN]| BINGHAM| POWERLAW

Indicator for complex fluid model for liquid hydrocarbon phase

CFLUMW

Sym.

[NEWTONIAN]| BINGHAM| POWERLAW

Indicator for complex fluid model for water phase

Page 212

Chapter 3: Input File Description, FLUID

Key

Type Unit: ( )

Parameter set Default: []

Description

CONSFL

r. [*]

-

Consistency factor for hydrocarbon liquid. Used in complex viscosity model.

CONSFW

r. [*]

-

Consistency factor for water phase. Used in complex viscosity model.

CVISL

Sym.

[NEWTONIAN]| BINGHAM| POWERLAW| HERSCHELBUCKLEY

Indicator for complex viscosity model type for liquid hydrocarbon phase.

CVISW

Sym.

[NEWTONIAN]| BINGHAM| POWERLAW| HERSCHELBUCKLEY

Indicator for complex viscosity model type for water phase.

FULL

Sym

YES/[NO]

Use power exponent/yield stress as function of P and T from the fluid property file in complex fluid model.

FINEFRACT

r [-]

-

Requires CFLUMW = BINGHAM. Fraction of fine particles used in the Bingham type correlation of Thomas, only used with PARTICLESETTLE=ON

HYDTEMP

r [oC]

-

Hydrate temperature, only used with PARTICLESETTLE=ON

MAXPARTCONC

r [-]

-

For particle concentrations above this the particle settling stops, only used with PARTICLESETTLE=ON

MAXCONCK_G_EMUL

r [-]

-

Used with the Krieger-Dougherty correlation for Newtonian viscosity. It is the particle fraction where the viscosity of the emulsion (T>HYDTEMP) goes to infinity. Only used with PARTICLESETTLE=ON

MAXCONCK_G_SLUR

r [-]

-

Requires CFLUMW = NEWTONIAN. Used with the Krieger-Dougherty correlation for Newtonian viscosity. It is the particle fraction where the viscosity of the slurry (T 0

2

DTHYD < 0

4

DPHYD > 0 DPHYD > 0

DPHYD < 0 MEGCONC = 40 %

DTHYD < 0

20 %

3

DTHYD > 0

DPHYD > 0

1 0%

TEMPERATURE

Figure 3.2 Hydrate curve square with different pressure/temperature conditions. Condition 1 and 2 has a MEG concentration of 40%, while Condition 3 has 0%. When OLGA2000 computes DPHYD and DTHYD it uses the MEG concentration, the pressure and the temperature in the section, see Condition 1 in the figure above. If the Hammerschmidt equation is used (MEGFORMULA = ON), the hydrate temperature is calculated based on the actual MEG concentration. If MEGFORMULA = OFF it is checked whether the MEG concentration in a section is within the range given by the hydrate curves. If it is above the highest MEG concentration, the hydrate curve for the highest MEG concentration is used. If is below the lowest MEG concentration, the hydrate curve for the lowest MEG concentration is used. If the MEG concentration in the section is between two hydrate curves, OLGA2000 interpolates the two hydrate curves to generate a new hydrate curve for the MEG concentration in the section. When DPHYD is computed the temperature in the section is used to find the hydrate pressure for the given MEG concentration. If the temperature in the section is inside the square and no match is found, the highest hydrate pressure is used if the temperature is to the right of the hydrate curve (Condition 2) and the lowest is used if it is to the left (MEGFORMULA = OFF only; hydrate pressure always defined within the square with ON). If the temperature in the section is to the right of the square (Condition 3) the highest pressure in the square is used as the hydrate pressure. When the temperature in the section is to the left of the square the lowest pressure in the square is used as the hydrate pressure. When DTHYD is computed the pressure in the section is used to find the hydrate temperature for the given MEG concentration. If the pressure in the section is inside the square and no match is found, the highest hydrate temperature is used if the pressure is above the hydrate curve (Condition 3) and the lowest is used if it is below (MEGFORMULA = OFF only; hydrate temperature always defined within the

Page 230

Chapter 3: Input File Description, HYDRATECHECK

square with ON). If the pressure in the section is above the square (Condition 2) the highest temperature in the square is used as the hydrate temperature. When the pressure in the section is below the square the lowest temperature in the square is used as the hydrate temperature. It should be noted that if the section pressure is above the highest pressure in the square the reported DPHYD will always be a positive value that indicates hydrate formation. This can be misleading, especially if the section temperature also is higher than the highest temperature in the square, in which case DTHYD < 0 and the section temperature in reality may be far above the hydrate formation temperature, see Condition 4. To remove this source of error all hydrate curves should include both the minimum and maximum pressure in the pipeline. That is, the hydrate curves in Figure 3.2 are not well defined for conditions 2, 3 and 4 (especially the hydrate curvet for 0%). Also, it is recommended to always include the hydrate curve for a MEG concentration of 0% to avoid underestimating the hydration formation temperature. Using DEBUG = ON in OPTIONS, a warning is given the first time the fluid temperature is above or below the maximum temperature in the “hydrate curve” square to alert the user. This goes for pressure above/below the square and MEG concentrations above/value the given values, as well.

Chapter 3: Input File Description, HYDRATECHECK

Keyword:

HYDRATECHECK

Dependencies:

BRANCH

Page 231

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

APPLYTO

sym.l.

[None]

COLUMNHEADER

str.l.

Labels of the branches the hydrate formation curve is applied to. By default, it is not applied to any of the branches; and if it is applied to some branches in a previous run, the hydrate check will be removed for these branches. Units and orders of columns of the temperature and pressure in the file. By default, the first column is for temperature (C) and the second for pressures (Pa).

FROMFILE

sym.

[NO] | YES

YES if the hydrate dissociation curve is to be read from a data file. NO if the hydrate curve is specified with keys PRESSURE and TEMPERATURE. This is the default.

HYDRATEFILE

str.

Name of the file containing hydrate temperature as a function of pressure or vice versa.

LABEL

str.

Label of the hydrate curve

MEGCONC

r. (-)

[0.0]

MEG-concentration for a hydrate curve. The default value for MEGCONC is 0.0. (To use this feature you need a license for the MEG-tracking module, and COMPOSITIONAL=MEG under OPTIONS in the input file.)

MEGFORMULA

sym.

[OFF] | ON

Switch for activating the Hammerschmidt formula for computing hydrate temperature curves for different MEG concentrations. Must only be used with a hydrate temperature curve for a mixture that is free of any inhibitors. (MEGCONC = 0.0) MEGFORMULA is set to OFF by default. (To use this feature you need a license for the MEG-tracking module, and COMPOSITIONAL=MEG under OPTIONS in the input file.)

Page 232

Chapter 3: Input File Description, HYDRATECHECK

Key PRESSURE

Type Unit: ( ) r.l. (pa)

Parameter set Default: [ ]

Description Hydrate formation pressure for each of the temperature points given for key TEMPERATURE. The pressure points must be unique for each HYDRATECHECK LABEL, and entered in increasing order.

TEMPERATURE

r.l. (oC)

Temperature points. The temperature points must be unique for each HYDRATECHECK LABEL, and entered in increasing order.

Required keys:

LABEL, FROMFILE, APPLYTO

Internal Dependencies of keys If FROMFILE = NO then TEMPERATURE = (0, 5, 10, 20, 30), PRESSURE = (32, 47, 62, 163, 500) BARA else if FROMFILE = YES then HYDRATEFILE = hyd.dat COLUMNHEADER = (TEMPERATURE C, PRESSURE BARA) end if If MEGFORMULA = OFF then MEGCONC = 30 % ! One MEGCONC and hydrate curve per keyword else if MEGFORMULA = ON then MEGCONC = [0.0] % ! No other value allowed end if

Chapter 3: Input File Description, HYDRATECHECK

Page 233

Examples: Example 1: Hydrate formation curve specified with the key pair, TEMPERATURE and PRESSURE, no MEG influence HYDRATECHECK

LABEL FROMFILE TEMPERATURE PRESSURE APPLYTO

= = = = =

HYD_1, \ NO, \ (0, 5, 10, 20, 30), \ (32, 47, 62, 163, 500) BARA, \ (BRANCH_1)

Example 2: Hydrate formation curve specified for no MEG with the key pair, TEMPERATURE and PRESSURE, and MEG influence on hydrate formation computed by OLGA HYDRATECHECK

LABEL FROMFILE TEMPERATURE PRESSURE MEGFORMULA APPLYTO

= = = = = =

HYD_1, \ NO, \ (0, 5, 10, 20, 30), \ (32, 47, 62, 163, 500) BARA, \ ON, \ (BRANCH_1)

Example 3: Hydrate formation curve from a file, no MEG influence HYDRATECHECK

LABEL FROMFILE HYDRATEFILE COLUMNHEADER APPLYTO

= = = = =

HYD_1, \ YES, \ hyd.dat , \ (TEMPERATURE C, PRESSURE BARA), \ (BRANCH_1)

Example 4: Hydrate formation curve for no MEG from a file and MEG influence on hydrate formation computed by OLGA HYDRATECHECK

LABEL FROMFILE HYDRATEFILE COLUMNHEADER MEGFORMULA APPLYTO

= = = = = =

HYD_1, \ YES, \ hyd.dat, \ (TEMPERATURE C, PRESSURE BARA), \ ON, \ (BRANCH_1)

Example 5: Hydrate formation curves at different MEG concentration from different files HYDRATECHECK

LABEL FROMFILE HYDRATEFILE COLUMNHEADER MEGFORMULA MEGCONC APPLYTO

= = = = = = =

HYD_1, \ YES, \ hyd.dat , \ (TEMPERATURE C, PRESSURE BARA), \ OFF, \ 0.0 %, \ (BRANCH_1)

HYDRATECHECK

LABEL FROMFILE HYDRATEFILE COLUMNHEADER MEGFORMULA MEGCONC APPLYTO

= = = = = = =

HYD_2, \ YES, \ hydMEG10.dat , \ (TEMPERATURE C, PRESSURE BARA), \ OFF, \ 10.0 %, \ (BRANCH_1)

The file hyd.dat for this examples is as follows (The temperature entries and the pressure entries must be unique, and in increasing order) WRONG: TEMPERATURE (C) 0.4853 0.4853 3.4717

PRESSURE (BAR) 32.4656 36.7623 35.6277

Page 234

Chapter 3: Input File Description, HYDRATECHECK

RIGHT: TEMPERATURE (C) 0.4853 1.9738 3.4717 4.9768 6.4870 7.9997 9.5125 11.0227 12.5282 14.0272 15.5187 17.0031 18.4827 19.9615 21.4459 22.9438 24.4647 26.0192 27.6184 29.2738 30.9976 32.8023 34.7010

PRESSURE (BAR) 32.4656 36.7623 41.6277 47.1369 53.3754 60.4394 68.4384 77.4959 87.7523 99.3660 112.5168 127.4080 144.2700 163.3636 184.9843 209.4663 237.1885 268.5796 304.1252 344.3751 389.9520 441.5609 500.0000

Chapter 3: Input File Description, INITIALCONDITIONS

Page 235

3.3.29 INITIALCONDITIONS This statement defines initial conditions for a dynamic calculation. The initial conditions are given branch-wise and pipe-wise. The total mass flow is defined at section boundaries while the remaining parameters are given for section volumes. There are several ways to define initial data, depending on the key STEADYSTATE in the OPTIONS statement: 1.

STEADYSTATE=OFF (initial conditions not calculated by steady state preprocessor): User defines the pressure, temperature, gas volume fraction, mass flow, and water volume fraction in the liquid phase for all sections in each branch.

2.

STEADYSTATE=NOTEMP (initial temperature not calculated by steady state pre-processor): User defines the temperature for all sections in each branch.

The latter option can be useful if the pre-processor has problems finding a solution. This implies that the simulation must be run for some time in order to achieve a steady state solution. Compositional tracking input such as FEEDMOLEFRACTION can be given for all settings of STEADYSTATE (in OPTIONS). For STEADYSTATE=ON or NOTEMP, the given FEEDMOLEFRACTION will be an initial input to the steady state preprocessor. For Compositional Tracking, Drilling fluid, and MEG Tracking it is possible to specify the compositional masses in the initial conditions through one or more of the subkeys CMG, CMHL, CMHD, CMWL and CMWD (STEADYSTATE = OFF). For Compositional Tracking these values are used as initial input to the steady state pre-processor if STEADYSTATE = ON or NOTEMP. In the same initial statement, the compositional masses cannot be specified together with FEEDNAME, FEEDMASSFRACTION, FEEDMOLEFRACTION, MEGFRACTION, VOIDFRACTION, or WATERCUT (including INMEGFRACTION/OUTMEGFRACTION etc). There are three ways to specify the compositional masses (N: number of sections, Z: number of components): 1. For each component in each section: N*Z values. The values are read first for the first component for all sections, and then the second component for all sections and so forth. 2. For each component in all sections: Z values. If the number of values in a subkey is equal to the number of components, the masses are then constant for all the sections. 3. Interpolation for each component from inlet to outlet section: 2*Z values. If the number of values in a subkey is equal to twice of the number of the components, interpolation as given by subkey INTERPOLATION will be applied. After the compositional masses are read, the values will be normalized so that the volume fractions in each section add up to one. For Compositional Tracking the number and order of components can be found by e.g. pressing the button next to COMPONENT in the FEED window in the GUI. For MEG Tracking there are three components in the following order: HC, H2O, MEG. For Drilling fluid there are 15 components with order as specified in Chapter 2 (Drilling option).

Page 236

Chapter 3: Input File Description, INITIALCONDITIONS

In order to simplify the input for certain initial condition variables, OLGA can perform interpolation along pre-defined pipeline segments. Three different interpolation options are available; HORIZONTAL, LENGTH and VERTICAL. The variable is specified at the inlet and outlet of the pipeline segment, and the interpolation is performed based on horizontal length, actual length or vertical depth along the pipeline. LENGTH is the default option. Keyword:

INITIALCONDITIONS

Dependencies:

BRANCH, GEOMETRY, OPTIONS, BOUNDARY, FILES, FEED Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.l.

[ALL]

Branch.

CMG

r.l. (kg/m3)

[0.0]

Component masses in gas phase. Not applicable if FEEDMASSFRACTION etc are specified.

CMHL

r.l. (kg/m3)

[0.0]

Component masses in oil film. The default value of zero is not used if FEEDMASSFRACTION etc are specified instead.

CMHD

r.l. (kg/m3)

[0.0]

Component masses in oil droplets. The default value of zero is not used if FEEDMASSFRACTION etc are specified instead.

CMWL

r.l. (kg/m3)

[0.0]

Component masses in water film. The default value of zero is not used if FEEDMASSFRACTION etc are specified instead.

CMWD

r.l. (kg/m3)

[0.0]

Component masses in water droplets. The default value of zero is not used if FEEDMASSFRACTION etc are specified instead.

FEEDNAME

sym.l.

Label of initial feed to be used for calculating local fluid compositions in the branch (from feed file and FEED keyword). A list means mixing of feeds for each section in the branch. Requires COMPOSITIONAL = ON under the OPTIONS keyword and access to the compositional module. Not applicable if component masses are specified (CMG etc.)

FEEDMASSFRACTION

r.l. (-)

Mass fraction of each feed given in FEEDNAME. Not applicable if component masses are specified (CMG etc.)

FEEDMOLEFRACTION

r.l. (-)

Mole fraction of each feed given in FEEDNAME. Not applicable if component masses are specified (CMG etc.)

Chapter 3: Input File Description, INITIALCONDITIONS

Key

Type Unit: ( )

Parameter set Default: [ ]

Page 237

Description

FEEDVOLFRACTION

r.l. (-)

Volume fraction of each feed given in FEEDNAME (only for Blackoil model)

INMEGFRACTION

r. (-)

INPRESSURE

r. (Pa)

Pressure at inlet to the first pipe in a pipeline section where interpolation is used for the pressure.

INTEMPERATURE

r.(oC)

Temperature at inlet to the first pipe in a pipeline section where interpolation is used for the temperature.

INTERPOLATION

sym.

INVOIDFRACTION

r.(-)

INWATERCUT

r.(-)

[0.0]

Water cut at inlet to the first pipe in a pipeline section where interpolation is used for the water cut.

MASSFLOW

r.l. (kg/s)

[0.0]

Total mass flow at each section boundary. Note that the number of entries is equal to number of sections plus 1.

MEGFRACTION

r.l. (-)

[0.0]

Mass fraction of MEG in water phase in each section.

OUTMEGFRACTION

r. (-)

[0.0]

Mass fraction of MEG in water phase at outlet of last pipe in a pipeline section where interpolation is used.

OUTPRESSURE

r. (Pa)

-

Pressure at outlet of last pipe in a pipeline section where interpolation is used for pressure.

OUTTEMPERATURE

r. (oC)

-

Temperature at outlet of last pipe in a pipeline section where interpolation is used for temperature.

OUTVOIDFRACTION

r. (-)

-

Void fraction at outlet of last pipe in a pipeline section where interpolation is used for void fraction.

OUTWATERCUT

r. (-)

[0.0]

Water cut at outlet of last pipe in a pipeline section where interpolation is used for water cut.

[0.0]

HORIZONTAL | [LENGTH] | VERTICAL

Mass fraction of MEG in water phase at inlet to the first pipe in a pipeline section where interpolation is used for MEG fraction.

Type of interpolation used for calculation of initial conditions. Void fraction at inlet to the first pipe in a pipeline section where interpolation is used for the void fraction.

Page 238

Chapter 3: Input File Description, INITIALCONDITIONS

Key

Type Unit: ( )

Parameter set Default: [ ]

PIPE

sym.l.

[ALL]

Pipe label or pipe number. If a range of pipes is to be defined, e.g., from pipe 1 to pipe 10, pipe number must be given as: PIPE = (1-10), with a dash between the two numbers. If there is a comma between two pipe numbers or labels, for example, PIPE = (1,10) or PIPE = (PIPE_1,PIPE_10), that means the value will be defined for pipe 1 and pipe 10, not the pipes from 2 to 9.

PRESSURE

r.l. (Pa)

-

Initial pressure in each section.

REFPRESSURE

r.(Pa)

SECTION

i.l.

[ALL]

TEMPERATURE

r.l. (°C)

-

Section volume or section boundary. Initial temperature in each section.

VOIDFRACTION

r.l.(-)

-

Initial void fraction in each section.

WATERCUT

r.l.(-)

[0.0]

Initial water cut in each section. This key can be given a value different from 0.0 only if the water option is available. Non-zero values are ignored for twophase simulations, even if the water option is available.

Required keys:

Description

Reference pressure used if no pressure b.c. and no wells are used. To be given for one section only for one branch, and only if STEADYSTATE=ON or NOTEMP in keyword OPTIONS. Keeps the pressure constant at the given section throughout the simulation.

None

Internal dependencies of keys: If no PRESSURE boundary conditions or WELLs are given (e.g. SOURCE in and SOURCE out) and STEADYSTATE = ON or NOTEMP in keyword OPTIONS, then REFPRESSURE BRANCH PIPE SECTION

= 50 bara =1 =1 =1

Note: Can only define the reference pressure at one section in one branch end if If the initial conditions are to be defined by user, (STEADYSTATE = OFF in keyword OPTIONS), then BRANCH PIPE SECTION either INPRESSURE OUTPRESSURE or PRESSURE

= [ALL] = [ALL] = [ALL] = 1.5e+7 [Pa] = 5E+6 [Pa] = (3 : 7E + 6, 2: 6E + 6) [Pa]

! 5 sections

Chapter 3: Input File Description, INITIALCONDITIONS

Page 239

or PRESSURE

= (7E + 6) [Pa]

! One value enough if same for all sections

end correspondingly for TEMPERATURE, VOIDFRACTION and WATERCUT MASSFLOW

= (6:50.0) [kg/s]

! 6 section boundaries

else if only the initial temperature are to be defined by user, (STEADYSTATE = NOTEMP or TEMPERATURE = OFF in keyword OPTIONS), then BRANCH PIPE SECTION

= [ALL] = [ALL] = [ALL]

either INTEMPERATURE = 100 [C] OUTTEMPERATURE = 10 [C] or TEMPERATURE = (5: 10.0) [C] end endif if the compositional tracking module is used either ! Branch-wise specification of initial composition FEEDNAME = (FEED-1, FEED-2) ! Mixing of two feeds for each either ! section in the branch FEEDMASSFRACTION = (0.5, 0.5) ! Gives initial value to pre-processor or FEEDMOLEFRACTION = (0.5, 0.5) end either INVOIDFRACTION = 1.5e+7 [Pa] OUTVOIDFRACTION = 5E+6 [Pa] or VOIDFRACTION = (5 : 7E + 6) [Pa] ! 5 sections end correspondingly for WATERCUT or ! Section-wise specification of initial composition masses either ! Specify for each component in each section CMG = (0.1, 0.1, 0.1, 0.2, 0.2, 0.2) ! Two components; first component is 0.1 ! in all 3 sections, second is 0.2 or ! Specify for each component, all sections CMG = (0.1, 0.2) ! Two components; first component is 0.1, second is 0.2, for all ! number of sections or ! Specify for each component, interpolate between inlet and outlet section INTERPOLATION = [LENGTH] CMG = (0.1, 0.11, 0.2, 0.19) ! Two components; first component is ! interpolated between 0.1 and 0.11 end correspondingly for CMHL, CMHD, CMWL and CMWD end else if the MEG tracking module is used either ! Branch-wise specification of initial composition either MEGFRACTION = 5:0.4 or INMEGFRACTION = 0.6 OUTMEGFRACTION = 0.3 end

Page 240

Chapter 3: Input File Description, INITIALCONDITIONS

correspondingly for WATERCUT and VOIDFRACTION or ! Section-wise specification of initial composition masses either ! Specify for each component in each section CMG = (0.1, 0.1, 0.2, 0.2, 0.3, 0.3) ! Three components (HC, H2O and MEG) ! HC is 0.1 in both 2 sections, etc or ! Specify for each component, all sections CMG = (0.1, 0.2, 0,3) ! HC, H2O and MEG; HC is 0.1, H2O is 0.2, ! MEG is 0.3 for all number of sections or ! Specify for each component, interpolate between inlet and outlet section INTERPOLATION = [LENGTH] CMG = (0.1, 0.11, 0.2, 0.19, 0.3, 0.29) ! HC, H2O and MEG; HC is ! interpolated between 0.1 and 0.11 end correspondingly for CMHL, CMHD, CMWL and CMWD end end if else if the Drilling fluid is used either ! Branch-wise specification of initial composition either INVOIDFRACTION = 1.5e+7 [Pa] OUTVOIDFRACTION = 5E+6 [Pa] or VOIDFRACTION = (5 : 7E + 6) [Pa] ! 5 sections end correspondingly for WATERCUT or ! Section-wise specification of initial composition masses either ! Specify for each component in each section CMG = (0.1, 0.1, 0.2, 0.2, ..., 1.5, 1.5) ! 15 components (HC, etc) ! HC is 0.1 in both 2 sections, etc or ! Specify for each component, all sections CMG = (0.1, 0.2, ..., 1.5) ! 15 components; HC is 0.1, H2O is 0.2, ! CUTTING is 1.5 etc for all number of sections or ! Specify for each component, interpolate between inlet and outlet section INTERPOLATION = [LENGTH] CMG = (0.1, 0.11, 0.2, 0.19, ..., 1.5, 1.55) ! 15 components; HC is ! interpolated between 0.1 and 0.11 end correspondingly for CMHL, CMHD, CMWL and CMWD end else if the Black oil module is used FEEDNAME = (BO-1, BO-2) FEEDVOLFRACTION = (0.2, 0.8) end if

Chapter 3: Input File Description, INITIALCONDITIONS

Page 241

Examples: Example 1 (all initial conditions defined by user): !*************************************************************************** ! Setting Calculation Options !--------------------------------------------------------------------------! OPTIONS POSTPROCESSOR = ON, STEADYSTATE = OFF, TEMPERATURE = WALL !*************************************************************************** ! Definition for INITIAL CONDITIONS !--------------------------------------------------------------------------! INITIALCONDITIONS BRANCH = BRAN-1, PRESSURE = (12:0.108E+08),\ TEMPERATURE = (12:5.), VOIDFRACTION = (12:0.99),\ MASSFLOW = (13:0.9E+02), WATERCUT = (12:0) INITIALCONDITIONS BRANCH = BRAN-2, PRESSURE = (0.1080E+08, 2:0.95E+07,\ 2:0.195E+08, 2:0.265E+08), TEMPERATURE = (3:5., 2:45., 2:65.),\ VOIDFRACTION = (7:1.), MASSFLOW = (8:0.9E+02), WATERCUT = (7:0) INITIALCONDITIONS BRANCH = BRAN-3, PIPE = (PIPE-1, PIPE-5), \ INTERPOLATION = VERTICAL, INPRESSURE = 300 bara,\ OUTPRESSURE = 100 bara, TEMPERATURE = (60, 58, 10 : 55),\ VOIDFRACTION = (12 : 0.2), MASSFLOW = 10, WATERCUT = 0.2 !***************************************************************************

Example 2 (Compositional Tracking, branch-wise, initial guess to preprocessor): !*************************************************************************** ! OPTIONS STEADYSTATE = ON, COMPOSITIONAL = ON !*************************************************************************** ! Definition for INITIAL CONDITIONS !--------------------------------------------------------------------------INITIALCONDITIONS BRANCH = "BRANCH-2", \ FEEDNAME = (FEED-1, FEED-2), FEEDMASSFRACTION = (0.5, 0.5)

Example 3 (Compositional Tracking, branch-wise, all initial conditions given): !*************************************************************************** ! OPTIONS STEADYSTATE = OFF, COMPOSITIONAL = ON !*************************************************************************** ! Definition for INITIAL CONDITIONS !--------------------------------------------------------------------------INITIALCONDITIONS BRANCH = "BRANCH-2", \ FEEDNAME = (FEED-1, FEED-2), FEEDMASSFRACTION = (0.5, 0.5),\ PRESSURE = (0.108E+08),\ TEMPERATURE = (5.), VOIDFRACTION = (0.99),\ MASSFLOW = (0.9E+02), WATERCUT = (0)

Example 4 (Compositional Tracking, section-wise, all initial conditions given): !*************************************************************************** ! OPTIONS STEADYSTATE = OFF, COMPOSITIONAL = ON !*************************************************************************** ! Definition for INITIAL CONDITIONS !--------------------------------------------------------------------------! 3 sections, 2 components, component masses given for each section ! only gas (CMHL etc not specified, default value zero) INITIALCONDITIONS BRANCH = "BRANCH-2", \ CMG = (0.1,0.11,0.12,0.2,0.19,0.18), \ PRESSURE = (0.108E+08), TEMPERATURE = (5.),\ MASSFLOW = (0.9E+02)

Page 242

Chapter 3: Input File Description, INTEGRATION

3.3.30 INTEGRATION This statement defines start and end times of the simulation. Data for the time step control and CPU time limit are also given. The thermal mass of the cells in a soil group can be set to a very small value for a period of time with the SOILINIT key. This can be used to quickly reach a steady state. See also section 2.5.4. A controller can be used to setup conditional stop of the simulation before the end of simulation time. The simulation stops when the signal from the controller is zero. Keyword:

INTEGRATION

Dependencies:

RESTART, SOIL, OPTION (key DEBUG), CONTROLLER

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

ENDCONTROLLER

sym.

-

Name of the controller for conditional termination of the simulation

CPULIMIT

r. (s)

[1e7] If in restart: [Same as for precedent run]

CPU time limit for the simulation.

DTSTART

r. (s)

If in restart: [DT of last time step in precedent run]

First time step used in the integration.

ENDTIME

r. (s)

-

Simulation end time.

MAXDT

r.l. (s)

If in restart: [Same as for precedent run]

Maximum integration time step table.

MAXTIME

r.l. (s)

[0.0] If in restart: [Same as for precedent run]

Timepoint table for changing MAXDT

MINDT

r.l. (s)

If in restart: [Same as for precedent run]

Minimum integration time step table.

MINTIME

r.l. (s)

[0.0]If in restart: [Same as for precedent run]

Timepoint table for changing MINDT

NSIMINFO

i. (-)

Number of times to print simulation progress info to standard output

SOILINIT

r. (s)

if DEBUG = ON [100] else [10] -

STARTTIME

r. (s)

-

Simulation start time.

Period from start with minimal thermal mass in soil cells

Note! In a restart case, all data except ENDTIME can be read from the restart file. STARTTIME must be less or equal to ENDTIME in the preceding case. If STARTTIME is not specified in a restart case, STARTTIME will be set equal to TIME read from the restart file.

Chapter 3: Input File Description, INTEGRATION

Page 243

DTSTART is not required in a restart case, as default value is equal to timestep read from the restart file. Value for MAXDT and MINDT can be given as a time series with timepoints for changing MAXDT and MINDT given by time tables MAXTIME and MINTIME. Required keys:

STARTTIME, ENDTIME, DTSTART, MINDT, MAXDT, NSIMINFO

Internal dependencies of keys: If soil module is used, then SOILINIT

= 10 [s]

endif

Example: !*************************************************************************** ! Integration !--------------------------------------------------------------------------! INTEGRATION STARTTIME = 0, ENDTIME = 0.108E+06, CPULIMIT = 0.4E+05,\ DTSTART = 0.1E-01, MINDT = 0.1E-01, MAXDT = 5. !*************************************************************************** . . .

Page 244

Chapter 3: Input File Description, LEAK

3.3.31 LEAK This statement specifies a negative mass source (mass out of the pipe). The leak is positioned in the middle of the section that is specified. Both sub-critical and critical flow is modelled. LEAKs have two main functionalities: 1. It can be used to model a valve or rupture where the mass out of the pipe is removed from the simulated system, that is, the mass is lost to the surroundings (requires the key BACKPRESSURE) 2. It can also be used to model interconnections in the model, where the mass out of one section is transferred to mass into another section (requires the key TOPOSITION; BACKPRESSURE cannot be defined as the backpressure is equal to the section defined in TOPOSITION). Backflow is not allowed for option 1, that is, there will be no backflow if section pressure is lower than the backpressure. For option 2 backflow is not allowed if GASLIFTTABLES is used (to define a gas lift valve/GLV). Backflow is allowed if CD/DIAMETER/CONTROLLER is used instead, but the sign of the flow variables is negative for both flow directions. Note: GASLIFTTTABLES can also be used for option 1. See chapter 2.3.4.8 for information about GLV’s. Keyword:

LEAK

Dependencies:

BRANCH, GEOMETRY, POSITION, CONTROLLER

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

ALFA

r. (-)

-

For TEMPDEPENDENCY = ON. Constant used for a temperature dependent GLV. 0 means that the bellows temperature equals the injection temperature, 1 means the production temperature, and interpolation for .

BACKPRESSURE

r.l. (Pa)

-

Leak back pressure.

BELLOWSPRESSURE

r. (Pa)

-

For TEMPDEPENDENCY = ON. Pressure in GLV bellows (dome) at REFTEMPERATURE, used for a temperature dependent GLV.

BRANCH

sym.

-

Branch with the leak, label or number.

CD

r.

[0.84]

Discharge coefficient.

CONTROLLER

sym.

Controller label for relative leak flow area.

Chapter 3: Input File Description, LEAK

Key CRITFLOWMODEL

Page 245

Type Unit: ( )

Parameter set Default: [ ]

sym.

[FROZEN] | HENRYFAUSKE | SUBCRITICAL

Description Choice of critical flow model to be used. Homogenous frozen critical flow model or Henry-Fauske model. In addition, a forced subcritical option is available.

DIAMETER

r. (m)

-

Maximum equivalent diameter of leak area.

GASLIFTTABLES

sym.l.

-

Names of tables (defined in keyword TABLE) that define the curves for a GLV.

GLVOPERATION

sym

[INJOPERATED] | PRODOPERATED

For TEMPDEPENDENCY = ON. Specifies whether a GLV is operated by injection pressure or production pressure. Used for a temperature dependent GLV.

LABEL

str.

[Integer increment]

Leak label, default is leak number.

PIPE

sym.

-

Pipe with the leak, label or number.

POSITION

sym.

-

Position where the leak is located. If POSITION is defined, BRANCH, PIPE, and SECTION should not be used.

R

r (-)

-

For TEMPDEPENDENCY = ON. Geometry factor used for a temperature dependent GLV.

REFTEMPERATURE

r (C)

-

For TEMPDEPENDENCY = ON. The temperature for which the gas lift response curve is defined.

SECTION

i.

-

Section boundary where the leak is located.

TEMPDEPENDENCY

sym.

[OFF] | ON

Specifies the temperature dependency for a GLV: OFF: No temperature dependency ON: Temperature dependency for a nitrogen charged bellow. Subkeys ALFA, BELLOWPRESSURE, GLVOPERATION, R and REFTEMPERATURE must be specified

TIME

r.l. (s)

-

Time points for BACKPRESSURE.

TOPOSITION

sym.

-

Refer to position the leak is targeted to. When this key is used, the following sub-keys cannot be defined: TIME, BACKPRESSURE.

Page 246

Chapter 3: Input File Description, LEAK

Required keys:

LABEL

Internal dependencies of keys: Either BRANCH PIPE SECTION

=1 =1 =1

POSITION

= POSITION-1

or end Either TIME =0 BACKPRESSURE = 70 bara or TOPOSITION

= POSITION-2

end Either

or

! Flow through leak defined by parameters CD = [0.84] CONTROLLER = CONTR-1 DIAMETER = 0.1 ! Flow defined by GASLIFTTABLES for a GLV GASLIFTTABLES = (GLVTABLE-1, GLVTABLE-2) if TEMPDEPENDENCY = ON then ALFA =0 BELLOWSPRESSURE = 50 bara GLVOPERATION = [INJOPERATED] R = 0.1 REFTEMPERATURE = 100 C end if

end

Example: Example 1: LEAK from pipe to surrondings !*************************************************************************** ! Leak Definition !--------------------------------------------------------------------------! LEAK LABEL = LEAK-1-1, BRANCH = 1, PIPE = 1, SECTION = 4,\ CD = 1., DIAMETER = 0.1779, TIME = 0, BACKPRESSURE = 0.2E+06,\ CONTROLLER = C-503 !***************************************************************************

Example 2: LEAK from one section to another by using CD/DIAMETER/CONTROLLER !*************************************************************************** ! Leak Definition !--------------------------------------------------------------------------! LEAK LABEL = LEAK-1-1, BRANCH = 1, PIPE = 1, SECTION = 4,\ CD = 1., DIAMETER = 0.1779, TOPOSITION = DOWNSTREAM-LEAK,\ CONTROLLER = C-503 !***************************************************************************

Example 3: LEAK from one section to another by using GLV (no temperature dependency) !*************************************************************************** ! Leak Definition !--------------------------------------------------------------------------! LEAK LABEL = LEAK-1-1, BRANCH = 1, PIPE = 1, SECTION = 4,\ TOPOSITION = DOWNSTREAM-LEAK, GASLIFTTABLES = (GLVTAB-1, GLVTAB-2), \ TEMPDEPENDENCY = OFF !***************************************************************************

Chapter 3: Input File Description, LEAK

Page 247

Example 4: LEAK from one section to another by using GLV (with temperature dependency) !*************************************************************************** ! Leak Definition !--------------------------------------------------------------------------! LEAK LABEL = LEAK-1-1, BRANCH = 1, PIPE = 1, SECTION = 4,\ TOPOSITION = DOWNSTREAM-LEAK, GASLIFTTABLES = (GLVTAB-1, GLVTAB-2), \ TEMPDEPENDENCY = ON, ALFA = 0, BELLOWPRESSURE = 50 BARA, \ GLVOPERATION = INJOPERATED, R = 0.1, REFTEMPERATURE = 100 C !*************************************************************************** . . .

Page 248

Chapter 3: Input File Description, LINE

3.3.32 LINE This group defines a bundle line. The user can specify the dimension of the line, the material data for the fluid it transports and the thermal characteristics of the wall. The inner surface heat transfer coefficient can either be determined by OLGA heat transfer correlations or specified by users. The same applies for the outer surface heat transfer coefficient. Keyword:

LINE

Dependencies:

MATERIAL

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

LABEL

str.

[Integer increment]

Name of line

FLUIDMATERIAL

sym.

-

Name/label of the material that gives the fluid properties.

RADIUS

r. (m)

-

Internal radius of the line

INNERHVALUE

r. (W/m²°C)

[Calculated by OLGA]

Inner surface heat transfer coefficient for the line

OUTERHVALUE

r. (W/m²°C)

[Calculated by OLGA]

Outer surface heat transfer coefficient for the line

WALL

sym.

-

Name/label of wall that gives the wall thermal properties

SHAPE

sym

-

Name/label of shape. Only SHAPEs of type CIRCLE is implemented.

Required keys:

LABEL, WALL

Internal dependencies of keys: either RADIUS FLUIDMATERIAL

= 0.5 [m] = MAT_1

SHAPE

= CIRCLE_1

or end

Description

Chapter 3: Input File Description, LINE

Page 249

Example: !*************************************************************************** ! SHAPE Definition !*************************************************************************** SHAPE LABEL=SHAPE-1, MATERIAL=FL-19, TYPE=CIRCLE, RADIUS=41 cm ! *************************************************************************** ! LINE definition !--------------------------------------------------------------------------! LINE LABEL = "TANNULUS", SHAPE=SHAPE-1,\ WALL = Steel-wall ! LINE LABEL = "AUXLINE", RADIUS = 8.5 cm,\ WALL = Steel-wall, INNERHVALUE = 15., \ FLUIDMATERIAL = (FL-1) ! LINE LABEL = "RETURN-1", RADIUS = 10. cm,\ WALL = Steel-wall, FLUIDMATERIAL = (FL-6)

Page 250

Chapter 3: Input File Description, LOSS

3.3.33 LOSS This statement defines pressure loss due to valves, bends, contractions, expansions or other obstructions in or between pipes. Keyword:

LOSS

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

BRANCH

sym.

-

Branch number with pressure loss.

LABEL

str.

[Integer increment]

Loss label.

NEGCOEFF

r.

-

Loss coefficient when the flow is in negative direction.

PIPE

sym.

-

Pipe number with pressure loss.

POSCOEFF

r.

-

Loss coefficient when the flow is in positive direction.

POSITION

sym.

-

SECTIONBOUNDARY

i.

-

Position where the pressure loss is located. Section boundary where pressure loss is located.

J-1

Description

J+ 1

J

CONTRACTION A', U'

J-1

A, U

J

J+ 1 EXPANSION

A, U

A', U'

Figure 3.3 An illustration of the use of loss coefficients for contraction and expansion.

Chapter 3: Input File Description, LOSS

Page 251

The expansion pressure recovery that is always included in OLGA is:

A A 2  1-  ρ U A′  A′ The contraction pressure loss that is always included in OLGA is: ∆p = -

1  A  ∆P =  1 -   2   A′ 

2

  ρU2 

The additional loss specified by the user for positive flow is:

∆P =

1 POSC(J)ρ U 2 2

The additional loss specified by the user for negative flow is:

∆P =

1 NEGC(J)ρ U 2 2

Required keys:

LABEL, POSCOEFF, NEGCOEFF

Internal dependencies of keys: Either BRANCH PIPE SECTIONBOUNDARY

=1 =1 =1

POSITION

= POSITION-1

or end

Example: !*************************************************************************** ! Loss Coefficient Definition !--------------------------------------------------------------------------! LOSS LABEL = LOSS-1, BRANCH = 1, PIPE = 3, SECTIONBOUNDARY = 6, \ POSCOEF = 0.1, NEGCOEF = 0.50E-01 LOSS LABEL = LOSS-2, BRANCH = 1, PIPE = 10, SECTIONBOUNDARY = 1, \ POSCOEF = 0.1, NEGCOEF = 0.50E-01 LOSS LABEL = LOSS-3, BRANCH = 1, PIPE = 15, SECTIONBOUNDARY = 19, \ POSCOEF = 0.1, NEGCOEF = 0.50E-01 ! !*************************************************************************** . . .

Page 252

Chapter 3: Input File Description, MATERIAL

3.3.34 MATERIAL

This statement specifies physical properties of the materials associated with the pipe wall, pipeline coating, insulation and soil. If a fluid is enclosed between two concentric cylinders, natural convection will be significant for the heat transfer rate. By choosing TYPE = FLUID, OLGA will calculate the natural convection. The viscosity and expansion coefficient of the fluid must then be given. If the fluid is a gas at low pressure (< 100 bar) natural convection will have less influence on the heat transfer rate and radiation will become important as well. Radiation is included in heat transfer calculation by setting RADIATION = YES. INNEREMISSIVITY and OUTEREMISSIVITY must then be specified. (High emissivity means low reflectivity.) Stefan-Boltzmann's law for long concentric cylinders is used to calculate the heat transfer rate. The heat transfer rate due to radiation is neglectable if one or both of the emissivities are small. Keyword:

MATERIAL

Dependencies:

OPTIONS

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

CAPACITY

r. (J/kg°C)

-

Thermal capacity of the material.

CONDUCTIVITY

r. (W/mK)

-

Thermal conductivity of the material.

DENSITY

r. (kg/m3)

-

Density of the material.

EXPANSION

r. (1/°C)

-

Expansion coefficient of fluid layer

INNEREMISSIVITY

r.

[0.]

Emissivity of inside surface of fluid layer

LABEL

str.

-

Material label

OUTEREMISSIVITY

r

[0.]

RADIATION

sym

YES | [NO]

TYPE

sym

[SOLID] | FLUID

Emissivity of outer surface of fluid layer =NO: No radiation across fluid layer =YES: Radiation across fluid layer Type of wall material =SOLID: Normal wall layer material =FLUID: Stagnant fluid material

VISCOSITY

r.(Ns/m2)

-

Required keys:

Description

Dynamic viscosity of fluid material

LABEL, CAPACITY, CONDUCTIVITY, DENSITY, TYPE

Internal dependencies of keys: if (TYPE = FLUID) then EXPANSION RADIATION if (RADIATION = YES) then INNEREMISSIVITY OUTEREMISSIVITY end if VISCOSITY end if

= 1.E-04 = YES or NO = 0.79 (oxided steel) = 0.07 (polished surface) = 0.9E-5

Chapter 3: Input File Description, MATERIAL

Page 253

Example: !*************************************************************************** ! MATERIAL Definition !--------------------------------------------------------------------------! MATERIAL LABEL = MATER-1, DENSITY = 0.78E+04, CAPACITY = 0.45E+03,\ CONDUCTIVITY = 48. MATERIAL LABEL = MATER-2, DENSITY = 0.6E+03, CAPACITY = 0.15E+04,\ CONDUCTIVITY = 0.187 MATERIAL LABEL = MATER-3, DENSITY = 0.1E+04, CAPACITY = 0.15E+04,\ CONDUCTIVITY = 0.202E-01 MATERIAL LABEL = MATER-4, DENSITY = 0.23E+04, CAPACITY = 0.65E+03,\ CONDUCTIVITY = 1.1 MATERIAL LABEL = GAS, DENSITY = 1.0, CAPACITY = 2000., \ CONDUCTIVITY = 0.024, \ TYPE = FLUID, EXPANSION = 1.E-04, VISCOSITY = 0.9E-5, \ RADIATION = YES, INNEREMISSIVITY = 0.79, OUTEREMISSIVITY = 0.07 !*************************************************************************** . . .

Page 254

Chapter 3: Input File Description, NODE

3.3.35 NODE

This statement defines the nodes in a single branch or a network. Note that no process equipment (e.g. valve, heatexchanger) can be defined at the last section boundary (e.g. section boundary 3 if 2 sections) of the last branch of the branches going into a SPLIT node, since the last section volume is used as the control volume for the SPLIT node. Of the same reason no process equipment can be defined on the first section boundary of the branch coming from a MERGE node. Keyword:

NODE

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

LABEL

str.

-

Node label.

NUMBER

i.

[Integer increment]

Node number.

TYPE

sym.

TERMINAL | MERGE | SPLIT

Type of the node. TERMINAL: Inlet or outlet nodes. MERGE: Nodes or junctions where different branches are connected. SPLIT: Nodes or junctions that have more than one outgoing branch.

X

r.(m)

[0]

X-co-ordinate of the node.

Y

r.(m)

[0]

Y-co-ordinate of the node.

Z

r.(m)

[0]

Z-co-ordinate of the node.

Required keys:

Description

TYPE, X, Y, Z

Internal dependencies of keys: either LABEL

= NODE-1

NUMBER

= [nr.]

or end

Examples: Example 1: Single branch !*************************************************************************** ! NODE Definitions !--------------------------------------------------------------------------NODE LABEL = INLET, TYPE = TERMINAL, X = 0, Y = 0 NODE LABEL = OUTLET, TYPE = TERMINAL, X = 0.2E+02, Y = 0 !***************************************************************************

Chapter 3: Input File Description, NODE

Page 255

Example 2: Network !*************************************************************************** ! NODE Definitions !--------------------------------------------------------------------------NODE LABEL = NODE-1, TYPE = TERMINAL, X = 1862., Y = -2318.,\ Z = -310.6 NODE LABEL = NODE-2, TYPE = TERMINAL, X = 1779., Y = -2318.,\ Z = 0 NODE LABEL = NODE-3, TYPE = TERMINAL, X = 1862., Y = -2318.,\ Z = 310.6 NODE LABEL = NODE-4, TYPE = MERGE, X = 0.24E+04, Y = 0, Z = 0 NODE LABEL = NODE-5, TYPE = SPLIT, X = 0.25E+04, Y = 0, Z = 0 NODE LABEL = NODE-6, TYPE = TERMINAL, X = 0.48E+04, Y = 0.5E+03,\ Z = -100 NODE LABEL = NODE-7, TYPE = TERMINAL, X = 0.48E+04, Y = 0.4E+03,\ Z = 0

Page 256

Chapter 3: Input File Description, OPTIONS

3.3.36 OPTIONS

This statement specifies the different calculating options to be applied in the simulation. Keyword:

OPTIONS

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

AXIALHEAT

sym.

ON | [OFF]

Option for selecting axial heat redistribution by means of thermally driven natural/free convection. In circumstances with no or little flow this option may give leveling of the temperatures in vertical or near vertical pipeline sections.

COMPOSITIONAL

sym.

ON | [OFF] | MEG|BLACKOIL

Turn on Compositional tracking, MEG tracking, or Black oil model.

DEBUG

sym.

ON | [OFF] | LIMITED

Turn on or off printing of time step information to standard output and output file. With DEBUG = OFF, only a summary of the warning messages regarding the fluid file is written to the screen. LIMITED gives the same warnings as ON except for the fluid table warnings.

DRILLING

sym.

ON | [OFF]

Set it to ON for simulation drilling process

NOSLIP

sym.

ON | [OFF]

OFF: Slip between phases is calculated (recommended) ON: Should only be used for sensitivity simulations. The gas and liquid (oil and water) is treated as one single homogenized phase in the pressure drop and momentum calculations. The other calculations, mass conservation equations, mass transfer, etc, will be as for a normal simulation with slip. The no-slip option is implemented in both the steady state pre-processor and in the dynamic code.

PHASE

sym.

GAS | LIQUID | [TWO] | THREE

Defines the number of phases / nature of phase to be simulated. Option THREE (i.e. three phase flow) can be used only if the water module is available. IF option THREE is not used, non-zero values for watercut, total water fraction and waterfraction in keywords like SOURCE, WELL, etc., will stop the simulation even if the water module is available.

POSTPROCESSOR

sym.

[ON] | OFF

Turn on or off postprocessor. If the output post processor is turned on, the code will print an edited summary of the calculated results.

SLUGVOID

sym.

[SINTEF] | AIR

Option for selecting correlations for determining gas volume fraction in liquid slugs.

Chapter 3: Input File Description, OPTIONS

Key

Page 257

Type Unit: ( )

Parameter set Default: [ ]

Description

STEADYSTATE

sym.

[ON] | OFF | NOTEMP

Turn off the initial value (steady state) preprocessor or only turn off the temperature calculation in the pre-processor.

TABLETOLERANCE

sym.

ON | [OFF]

Defines the maximum and minimum pressure and temperature allowed in the simulation, based on the PVT fluid tables. OFF: Max./min. allowed pressure/temperature are the same as the max./min. values defined in the tables (recommended). ON: Min. allowed pressure is 50% of the min. pressure in the tables, max. is 110% of the max. pressure, min./max. allowed temperature is the min./max temperature in the tables -/+ half the distance to the nearest point. This was how it was done in v4.16 and older versions, but should only be used when old PVT files with too narrow pressure/temperature range cannot be reproduced and improved. Only enthalpy and entropy are extrapolated, the other properties stay constant equal to the min./max. value.

TEMPERATURE

sym.

[WALL] | ADIABATIC | UGIVEN | FASTWALL | OFF |

Specify the desired temperature calculation option. OFF: No temperature calculation, initial values used for temperature. ADIABATIC: No energy exchange with walls. Adiabatic flow is assumed. UGIVEN: Total heat transfer coefficient for pipewall is given. No wall temperatures are calculated. WALL: Heat transfer on wall inside and outside, wall heat conduction and heat storage is accounted for. FASTWALL: The same as option WALL except for the heat storage which is neglected. This option is used for a fast approach to steady state thermal conditions.

WAXDEPOSITION

sym.

ON|[OFF]

Switch for using wax deposition model.

Page 258

Required keys:

Chapter 3: Input File Description, OPTIONS

All (default values can be used)

Internal dependencies of keys: NONE Examples: Example 1: !*************************************************************************** ! Setting Calculation Options !--------------------------------------------------------------------------!Note! Keys not given will take default values. ! OPTIONS POSTPROCESSOR = ON, STEADYSTATE = OFF, TEMPERATURE = WALL !*************************************************************************** . . .

Example 2: !*************************************************************************** ! Setting Calculation Options !--------------------------------------------------------------------------! OPTIONS STEADYSTATE = OFF, POSTPROCESSOR = ON,\ DEBUG = ON, TEMPERATURE = ADIABATIC,\ PHASE = GAS !*************************************************************************** . . .

Note: If PHASE = GAS or LIQUID, a single phase simulation is carried out and the boundary condition and PVT-data must be defined so that the correct phase is present.

Chapter 3: Input File Description, OUTPUT

Page 259

3.3.37 OUTPUT

This statement defines the time intervals for printed output of the simulation results, the section volumes or boundaries for which a set of variables is to be printed and the desired variables. Also the printed output page width is specified. The available variables are listed in Appendix A. Printout of soil temperature for selected cells is possible if the soil module is available. Keyword:

OUTPUT

Dependencies:

BRANCH, OPTIONS

PIPE,

INTEGRATION,

SOIL,

GRID,

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.l.

-

Branch number or label.

COLUMNS

i.

[4]

Number of variable columns per page, must not be greater than 6.

DELETEPREVIOUS

sym.

ON | [OFF]

All output variables defined before this key will be deleted from the list of output variables, also those read from restart file.

DTOUT

r.l.(s)

-

Time intervals between printing of output. The time interval is changed at the times specified in key TIME. If TIME is not specified, or one value is given, one value must be given for DTOUT, and this value will be used for the entire simulation.

PIPE

sym.l.

-

Pipe label or number.

SECTION

i.l.

-

Section volume or section boundary number.

SOILCOLUMN

i.l.

-

Column of soil cells that TSOIL is printed for. Must be specified together with SOILROW.

SOILROW

i.l.

-

ROW of soil cell that TSOIL is printed for. Must be specified together with SOILCOLUMN.

TIME

r.l.(s)

-

Times at which time intervals between printing of output is changed.

VARIABLE

sym.l.

-

List of variables to be printed. Units may be included in the list.

Page 260

Chapter 3: Input File Description, OUTPUT

Required keys:

DTOUT, COLUMNS, VARIABLE

Internal dependencies of keys: If DTOUT should be changed during simulation, then TIME DTOUT

= (0., 7200) = (7200., 3600)

VARIABLE

= TSOIL, then

SOILROW SOILCOLUMN

= (2, 4) = (3 - 8)

BRANCH VARIABLE

= (1, 2, 3, 4) = (UL, UG)

endif If

else endif

Examples: Example 1: !*************************************************************************** ! Output Definition !--------------------------------------------------------------------------! OUTPUT TIME = (0., 7200.), DTOUT = (7200., 3600.), COLUMNS = 3 OUTPUT BRANCH = 1 OUTPUT VARIABLE = (UL, UG, UD, DS, WL, WG, ROL, ROG, AL,\ PT, DPT, BE, GA, PSI, ID, RMTOT, PSID, PSIE, BOU,\ MG, ML, MD, TM, TW, CONTR, Q2) !*************************************************************************** . . This will produce output at T=0s, T=7200s, T=10800s,… and T=ENDTIME

. Example 2: !*************************************************************************** ! Output Definition !--------------------------------------------------------------------------! OUTPUT DTOUT = 0.144E+05, COLUMNS = 4 OUTPUT BRANCH = 1 OUTPUT BRANCH = 2 OUTPUT BRANCH = 3 OUTPUT BRANCH = 4 OUTPUT VARIABLE = (UL, UG, UD, GG, GL, GD, AL, PT, DPT,\ HOL, PSI, ID, RMTOT, BOU, RETOT, TM, VOL) !*************************************************************************** . . .

Example 3: !*************************************************************************** ! ! OUTPUT DTOUT = 5h, COL = 4 OUTPUT VARIABLE = TSOIL, \ SOILROW = 1, SOILCOLUMN = (1,20) OUTPUT VARIABLE = TSOIL, \ SOILROW = 5, SOILCOLUMN = (6-9)

Page 261

Chapter 3: Input File Description, PIGTRACKING

3.3.38 PIGTRACKING

This statement defines the pig tracking option. OLGA contains a coupled pig and slug tracking model, named pig tracking. This combined model is capable of tracking the pig itself and the front of the liquid slug ahead of the pig. This model is additional to the pig model under the PLUG keyword, and the two models should not be used simultaneously. The following approach is recommended when using the pig tracking model. Do not use the slug tracking option, or turn off both options for generating liquid slugs (level and hydrodynamic) in the keyword SLUGTRACKING. The slug can now be tracked through the usual slug tracking variables, and the first pig will be slug number one. If a new pig is inserted after the first pig has been removed, this pig will be slug number two. It is not allowed to have a node, separator, pump or compressor between the launch and trap position, this only works for PLUG. Also, it is not allowed to have the launch and trap position in the first and last section of a branch, respectively. The second first is not allowed if the inlet is connected to a merge or split node, and the second last is not allowed if the outlet is connected to a split node as the last branch. Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

INSERTTIME

r. (s)

-

Time point for insertion of pig.

LAUNCHPOSITION

sym.

-

Position for pig launch.

LEAKAGEFACTOR

r.

-

Pig leakage factor. Leakage factor = 0. Corresponds to no fluid leaking through the pig, and 1.0 corresponds to all fluid leaking through the pig.

LEAKDPCOEF

r.

[∞]

Pressure loss coefficient measured by letting the fluid flow past a pig that is fixed to the pipe wall. Described in section 2.2.6

LEAKOPENING

r.(-)

[0.0]

Leakage opening relative to pipe cross section area.

LINEARFRIC

r. (Ns/m)

-

Friction factor coefficient for friction of fluid film between pig and pipe wall.

LABEL

str.

-

Pig label

MASS

r. (kg)

-

Pig mass

QUADRATICFRI

r. (Ns2/m2)

STATICFORCE

r. (N)

-

Force necessary to tear pig loose from the wall.

TRAPPOSITION

sym.

-

Position for pig trap

Wall friction factor for freely moving pig.

Page 262

Chapter 3: Input File Description, PIGTRACKING

Required keys: LABEL, MASS, INSERTTIME, LAUNCHPOSITION, TRAPPOSITION, STATICFORCE, LINEARFRIC, QUADRATICFRIC Internal dependencies of keys: LABEL = PIG-1 LAUNCHPOSITION = PIGSTART-1 TRAPPOSITION = PIGTRAP-1 INSERTTIME = 300.0 [s] MASS = 140.0 [kg] STATICFORCE = 1000.0 [N] LINEARFRIC = 1000.0 [Ns/m] QUADRATICFRI = 100.0 [Ns2/m2] either LEAKAGEFACTOR = [0] or LEAKDPCOEF = [∞] or LEAKOPENING = [0.0] end

Examples: !************************************************************************* ! Pig Tracking definition !--------------------------------------------------------------------------! PIGTRACKING LABEL = PIG-1, LAUNCHPOSITION = PIGSTART-1,\ TRAPPOSITION = PIGTRAP-1, INSERTTIME = 0.3E+03,\ MASS = 0.14E+03, STATICFORCE = 0.1E+04,\ LINEARFRIC = 0.1E+04, QUADRATICFRI = 0.1E+03,\ LEAKAGEFACTOR = 0

Chapter 3: Input File Description, PIPE

Page 263

3.3.39 PIPE

This statement defines pipe elements in a branch. Geometrical data, wall definitions, and number and size of sections for discretization are specified. All pipe statements are registered sequentially and belong to the geometry specified by the GEOMETRY statement above the PIPE-statement. See section for Vital Numerical Recommendations in Chapter 2.5.3 for hints and limitations regarding discretization. Several parallel pipes with equal diameter can be represented by a single equivalent pipe. There are two ways of specifying an equivalent pipe. 1. 2.

Specify the individual hydraulic diameter (DIAMETER) of the parallel pipes and the total flow area AREA. Specify the individual hydraulic diameter (DIAMETER) of the parallel pipes and the number of parallel pipes represented by the equivalent pipe (NEQUIPIPE).

The hydraulic diameter of the individual pipes is used to obtain correct pressure drop. Number of parallel pipes is used to obtain total flow area for calculation of total flow rates. It is possible to specify flow in an annulus by using DIAMETER and AREA or NEQUIPIPE. The possibility to specify the internal diameter of the external pipe (IDIAMETER) and the external diameter of the internal pipe (ODIAMETER) for annulus flow is also included. There are three options available for specifying the pipeline profile: 1. 2. 3.

Pipe lengths and elevations, x-, y- and z co-ordinates of the end of each pipe, True vertical depth, North/South and East/West co-ordinates of the end of each pipe.

Page 264

Chapter 3: Input File Description, PIPE

Keyword:

PIPE

Dependencies:

GEOMETRY, OPTIONS, WALL

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

AREA

r. (m2)

[not used]

Total cross-sectional flow area in case of equivalent pipes. Equivalent pipe means one single pipe representing a number of equal parallel pipes with a correct total flow area.

DIAMETER

r. (m)

-

Pipe hydraulic diameter. Equivalent to pipe inner diameter for normal pipe flow.

ELEVATION

r. (m)

-

Pipe endpoint elevation relative to start of pipe.

EWEND

r. (m)

-

East/West co-ordinate of end of pipe.

IDIAMETER

r. (m)

-

Internal diameter of external pipe for annulus flow.

LABEL

str.

[Integer increment]

Pipe label.

LENGTH

r. (m)

-

Length of the pipe.

LSEGMENT

r.l. (m)

[LENGTH / NSEGMENTS]

Section lengths.

NEQUIPIPE

-

-

Number of parallel equivalent pipe.

NSEGMENTS

i.

[No. of items in LSEGMENT]

Number of sections in the pipe.

NSEND

r. (m)

-

North/South co-ordinate of end of pipe.

NUMBER

i.

-

Pipe number. It is an alternative to pipe label (not supported by the Olga GUI).

ODIAMETER

r. (m)

-

External diameter for internal pipe for annulus flow. Zero for internal flow.

ROUGHNESS

r. (m)

-

Absolute roughness of the pipe.

TVDEND

r. (m)

-

True vertical depth co-ordinate of end of pipe.

WALL

sym.

-

Wall label for pipe.

XEND

r. (m)

-

X-co-ordinate of end of pipe.

YEND

r. (m)

-

Y-co-ordinate of end of pipe.

ZEND

r. (m)

[0.0]

Z-co-ordinate of end of pipe.

pipes

in

an

Chapter 3: Input File Description, PIPE

Page 265

ODIAMETER

IDIAMETER

Required keys:

NSEGMENTS, ROUGHNESS, either LENGTH and ELEVATION or XEND, YEND, and ZEND or TVDEND, NSEND, and EWEND

Note: The keys DIAMETER, ROUGHNESS and WALL need only to be defined if a pipe has different values from the previous pipe within the same geometry. If DIAMETER is not defined for a pipe, the equivalent pipe definition, if any, will also be inherited from the previous pipe, unless explicitly given. Internal dependencies of keys: either LABEL

= [no.]

NUMBER

= no.

or end either DIAMETER = 0.3 [m] and if an equivalent pipe is to be defined, then either

= 0.63 [m2]

AREA or NEQUIPIPE

=5

end if or IDIAMETER ODIAMETER

= 10.0 [m] = 100.0 [m]

end If the pipe LENGTH and ELEVATION are to be given, then ELEVATION LENGTH

= 10.0 [m] = 100.0 [m]

else if XEND, YEND, and ZEND are to be given, then XEND YEND ZEND

= 70.0 [m] = 70.0 [m] = [0.0] [m]

Page 266

Chapter 3: Input File Description, PIPE

else if TVDEND, NSEND and EWEND are to be given, then TVDEND NSEND EWEND

= 100.0 [m] = 50.0 [m] = [0.0] [m]

end if If equal section lengths are to be defined, then NSEGMENTS

=5

else if non-equal section lengths are to be defined, then LSEGMENT

= (5.0, 10.0, 20.0, 30.0, 35.0)

end if If TEMPERATURE = WALL or FASTWALL in OPTIONS statement, then WALL

= WALL-1

end if

Examples: Example 1: !*************************************************************************** ! PIPE Definition !--------------------------------------------------------------------------! GEOMETRY LABEL = GEOM-1 ! PIPE LABEL = PIPE-1, DIAMETER = 0.4826, ROUGHNESS = 0.445E-04,\ NSEGMENT = 1, LENGTH = 0.2E+02, ELEVATION = 0, WALL = WALL-1 PIPE LABEL = PIPE-2, DIAMETER = 0.4826, ROUGHNESS = 0.445E-04,\ NSEGMENT = 3, LENGTH = 44., ELEVATION = -44., WALL = WALL-1 PIPE LABEL = PIPE-3, DIAMETER = 0.4826, ROUGHNESS = 0.445E-04,\ NSEGMENT = 14, LENGTH = 0.71E+04, ELEVATION = 2.,\ LSEGMENT = (30.00, 60.00, 100.0, 200.0, 300.0, 400.0, 500.0,\ 600.0, 700.0, 800.0, 4:852.5), WALL = WALL-2 PIPE LABEL = PIPE-4, DIAMETER = 0.4826, ROUGHNESS = 0.445E-04,\ NSEGMENT = 6, LENGTH = 0.5E+04, ELEVATION = -2., WALL = WALL-2 . . . PIPE LABEL = PIPE-15, DIAMETER = 0.4826, ROUGHNESS = 0.445E-04,\ NSEGMENT = 19, LENGTH = 0.53E+04, ELEVATION = -8.,\ LSEGMENT = (815.0, 800.0, 750.0, 650.0, 500.0, 400.0, 320.0,\ 250.0, 200.0, 150.0, 120.0, 90.00, 70.00, 55.00, 40.00,\ 30.00, 25.00, 20.00, 15.00), WALL = WALL-2 ! !*************************************************************************** . . . !*************************************************************************** ! BRANCH Definitions !--------------------------------------------------------------------------BRANCH LABEL = BRAN-1, FROM = INLET, TO = OUTLET,\ GEOMETRY = GEOM-1, FLUID = 1, FLOAT = ON

Chapter 3: Input File Description, PIPE

Page 267

Example 2: !*************************************************************************** ! PIPE Definition !--------------------------------------------------------------------------! GEOMETRY LABEL = GEOM-1, XSTART = 1862., YSTART = -2318.,\ ZSTART = -310.6 ! PIPE LABEL = PIPE-1, DIAMETER = 0.12, ROUGHNESS = 0.28E-04,\ NSEGMENT = 3, XEND = 2131., YEND = -1159., ZEND = -155.3 PIPE LABEL = PIPE-2, DIAMETER = 0.12, ROUGHNESS = 0.28E-04,\ NSEGMENT = 3, XEND = 0.24E+04, YEND = 0, ZEND = 0 ! GEOMETRY LABEL = GEOM-2, XSTART = 1779., YSTART = -2318.,\ ZSTART = 0 ! PIPE LABEL = PIPE-3, DIAMETER = 0.12, ROUGHNESS = 0.28E-04,\ NSEGMENT = 3, XEND = 2089.4, YEND = -1159., ZEND = 0 PIPE LABEL = PIPE-4, DIAMETER = 0.12, ROUGHNESS = 0.28E-04,\ NSEGMENT = 3, XEND = 0.24E+04, YEND = 0, ZEND = 0 ! !*************************************************************************** . . .

Page 268

Chapter 3: Input File Description, PLOT

3.3.40 PLOT

Note: This keyword must be placed as the last keyword in the input file (before ENDCASE). This is done automatically if the input file is generated in the Olga GUI. This statement defines the plot option that prints data to a file for plotting of specific variables as a function of time. The data are printed for all sections in all branches. The results are viewed in OLGA Viewer. See Appendix A for list of variables available for plotting. The variables HOLHL (volume fraction of oil) and HOLWT (volume fraction of water) should be specified to view “Gas/Oil/Water holdup” in OLGA Viewer. If the Compositional Tracking, MEG Tracking or Advanced Well (drilling) modules are used, variables for all components can be plotted. Keyword:

PLOT

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

DELETEPREVIOUS

sym.

ON | [OFF]

All variables defined before this keyword will be deleted from the list of variables, also those read from the restart file.

DTPLOT

r.l. (s)

-

Sample period for obtaining variable values. DTPLOT should only be given once in the input file. If it is given more than once, OLGA will only use the last one.

TIME

r.l. (s)

-

Time point when the plot interval is changed.

VARIABLE

sym.l.

-

List of variables to be plotted. Units may be included in the list. Variables from different groups can be defined on the same line.

Required keys:

DTPLOT

Internal dependencies of keys: None Example: !*************************************************************************** ! PLOT Definition !--------------------------------------------------------------------------! PLOT DTPLOT = 1 PLOT VARIABLE = (GT, HOL, LIQLV, LSLEXP, PUMPSPEED, LIQC, HT, NSLUG, \ LSBEXP, ALEXP, CORR1, BEWX, XG)

Chapter 3: Input File Description, PLUG

Page 269

3.3.41 PLUG

This statement specifies the data for simulation of plug or pig transport, plug or pig release and possibly plug growth, in a pipeline. A pig is a mechanical device for internal cleaning of a pipe. There are three types of pig/plug that can be simulated in OLGA: Spherical pigs (TYPE = SHORT), which are usually rubber balls used to clean the pipeline, or wax removal devices, and pig trains (TYPE = LONG), which contain inspection and measurement equipment. A plug is a flow obstruction due to hydrate formation (TYPE = HYDRATE). A plug (or a pig) can go from one branch to another. The route from the launch to trap position can be specified with key ROUTING. The PLUG group must not be used if a pig is specified by the keyword PIGTRACKING. The pig/plug module is described in section 2.2.6. Remarks: If TYPE = HEAVYSSH, a pig train is simulated as a SHORT pig. The friction force due to the pigging fluid is added to the friction force between pig and pipe wall.

When using the wax module and the plug module in combination, the following modules cannot be used: - Water/threephase - Slugtracking - Compositional tracking - MEG tracking The availability of the wax deposition removal functionality depends on the user's licensing agreement with Scandpower Petroleum Technology. Keyword:

PLUG

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

CAPACITY

r.(J/kgoC)

-

Thermal capacity of pigging fluid

CONDUCTIVITY

r. (W/mK)

-

Thermal conductivity of pigging fluid

3

Description

DENSITY

r. (kg/m )

-

If TYPE = SHORT: Not necessary If TYPE = LONG: Pigging fluid density If TYPE = HYDRATE: Hydrate density

DIAMETER

r. (m)

-

Pig diameter NOTE! If no diameter is given, the diameter of the pig is set to the inner pipe diameter minus 4 times the wall roughness. This implies that leakage between the pig and the wall will occur

Page 270

Chapter 3: Input File Description, PLUG

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

DISPRATE

r. (m/s)

-

Water mix velocity in stagnant fluid. This key is only necessary for the hydrate model.

GROWTHRATE

r.

-

Hydrate growth rate coefficient. This key is only necessary for the hydrate model.

HYDRATETEMPERATUR E

r. (°C)

-

Hydrate temperature. This key is only necessary for the hydrate model.

ROUTING

Sym.L.

-

Name of branches a plug/pig passes from the launch position to trap position. This key is optional. If not given, a pig goes to the branch that has the highest volumetric flowrate out of the node the pig enters.

INITTEMPERATURE

r. (oC)

-

Initial temperature of pigging fluid.

INJECTIONPERIOD

r. (s)

-

Time period when pigging fluid is injected into the pipeline. This key is only necessary for the long pig model.

INSERTTIME

r. (s)

-

Plug/pig launch time.

LABEL

str.

[Integer incr.]

Plug/pig label, default is plug number.

LAUNCHPOSITION

sym.

-

Position for plug/pig launch. The position should be defined before PLUG group

LEAKAGEFACTOR

r.

-

Plug/pig leakage factor. Leakage factor at 0 corresponds to no fluid leaking past pig, and 1.0 corresponds to all fluid leaking past pig. When not given for the hydrate model, the program will calculate the leakage factor from the cross sectional area.

LEAKDPCOEF

r.

[∞]

Pressure loss coefficient measured by letting the fluid flow past a pig that is fixed to the pipe wall. Described in section 2.2.6

LEAKOPENING

r.(-)

[0.0]

Leakage opening relative to pipe cross section area.

LENGTH

r. (m)

-

If TYPE = SHORT, not necessary If TYPE = LONG, pigging fluid length If TYPE = HYDRATE, initial hydrate plug length.

LINEARFRIC

r. (Ns/m)

[10.]

Linear friction factor coefficient for fluid friction of fluid film between pig and pipe wall.

Chapter 3: Input File Description, PLUG

Key

Page 271

Type Unit: ( )

Parameter set Default: [ ]

MASS

r. (kg)

[140.]

Plug/pig mass. If TYPE = HYDRATE: Initial hydrate plug mass. If TYPE = LONG: pig mass, pigging fluid should not be included If TYPE = HEAVYSSH: mass of pigging fluid

PGWXFORMFAC

r. (-)

[0]

Wax cutting efficiency, see eq. for breaking force in sec. 2.2.6. Only available with the wax module.

QUADRATICFRIC

r. (Ns2/m2)

[0.]

Quadratic friction factor coefficient for fluid friction of fluid film between pig and pipe wall.

STATICFORCE

r. (N)

[1000.]

Force necessary to tear plug/pig loose from the wall.

TRAPPOSITION

sym.

-

Position for plug/pig trap. The position should be defined before PLUG group.

sym.

[SHORT] | LONG | HYDRATE | HEAVYSSH

VISCOSITY

r. (N-s/m2)

-

Dynamic viscosity of the pigging fluid. This key is only necessary for the long pigging model.

WALLFRICTION

r. (Ns/m)

[1000]

Factor for wall friction between pig and pipe.

WATERFRACTION

r.

-

Mass fraction of free water in total liquid. This key is only necessary for the hydrate model.

WPPLASTVISC

r. (N-s/m2)

[-1]

Plastic viscosity of wax plug in front of pig. The wax plug is assumed to exhibit Bingham fluid behavior. –1 implies using internal model for estimating the plastic viscosity. See 2.2.6 for further details. Only available with the wax module.

TYPE

Description

Type of pig: SHORT: Spherical pig used for cleaning. LONG: Pig train containing inspection and measurement equipment. HYDRATE: Hydrate formation and growth followed by possible plug release and transport. HEAVYSSH: Simulate pig train as short pig, with friction force due to pigging fluid added.

Page 272

Chapter 3: Input File Description, PLUG

Key WPPOROSITY

Type Unit: ( )

Parameter set Default: [ ]

r. [-]

[-1]

Description Porosity of wax plug in front of pig. Used for wax plug friction calculation. Default value –1 implies that no special friction calculation for the wax plug is performed. Only available with the wax module.

WPYIELDSTRESS

r. [Pa]

[-1]

Yield stress of wax plug in front of pig. The wax plug is assumed to exhibit Bingham fluid behavior. –1 implies using internal model for estimating the yield stress. See 2.2.6 for further details. Only available with the wax module.

WXBRFCOEF

r. [-]

[1]

Coefficient C in wax breaking force equation, see eq. in sec. 2.2.6. Only available with the wax module.

WXRMEFF

r. [-]

[1.0]

Wax removal efficiency. Only available with the wax module.

WXYIELDSTR

r. [Pa]

[-1]

Yield stress of wax layer on the wall. –1 imples that the internal yieldstress correlation is used, see sec. 2.2.6. Only available with the wax module.

Required keys:

LABEL, TYPE, INSERTTIME, LAUNCHPOSITION, TRAPPOSITION, STATICFORCE, WALLFRICTION, LINEARFRIC, QUADRATICFRIC

Internal dependencies for keys: If TYPE = SHORT then MASS = [140] [kg] (mass of pig) DIAMETER = 0.47 [m] either LEAKAGEFACTOR = [0] or LEAKDPCOEF = [∞] or LEAKOPENING = [0.0] end WXBRFCOEF = 1 ! Only available when the wax module is active WXRMEFF = 1.0 ! Only available when the wax module is active PGWXFORMFAC = 0 ! Only available when the wax module is active WXYIELDSTR = 50 ! Only available when the wax module is active WPPOROSITY = 0.8 ! Only available when the wax module is active If WPPOROSITY >= 0.0 then WPPLASTVISC = 5.0 ! Only available when the wax module is active WPYIELDSTRESS = 10000 ! Only available when the wax module is active end else if TYPE = LONG then MASS = [140] [kg] (mass of pig) VISCOSITY = 0.008 [Ns/m2]

Chapter 3: Input File Description, PLUG

CAPACITY CONDUCTIVITY INITTEMPERATURE LENGTH DENSITY INJECTIONPERIOD

Page 273

= 2000 [J/kg OC] = 0.4 [W/mK] = 5 [oC] = 100 [m] = 800 [kg/m3] = 100 [s]

else if TYPE = HYDRATE then LENGTH = 0 [m] MASS = [140] [kg] (initial hydrate mass) DENSITY = 700 [kg/m3] DISPRATE = 0.01 [m/s] HYDRATETEMP = 15 [C] WATERFRACTION = 0.01 GROWTHRATE = 0.01 [LEAKAGEFACTOR calculated from free flow area.] else if TYPE = HEAVYSSH MASS VISCOSITY

= [140] [kg] (mass of pig and pigging fluid) = 0.001 [N-S/M2]

end if

Examples: Example 1: Short pig - TYPE = SHORT !*************************************************************************** ! Definition for Position of Plug !--------------------------------------------------------------------------! POSITION LABEL = PLUGSTART-1, BRANCH = 1, PIPE = 1, SECTION = 2 POSITION LABEL = PLUGTRAP-1, BRANCH = 1, PIPE = 2, SECTION = 10 !*************************************************************************** ! PLUG Definition !--------------------------------------------------------------------------PLUG LABEL = PLUG-1, TYPE = SHORT, INSERTTIME = 0.3E+02, \ LAUNCHPOSITION = PLUGSTART-1, TRAPPOSITION = PLUGTRAP-1 ,\ MASS = 0.14E+03, DIAMETER = 0.468 , \ STATICFORCE = 0.1E+04, WALLFRICTION = 0.1E4, \ LINEARFRIC = 150, QUADRATICFRIC = 0.0, \ LEAKAGEFACTOR = 0 Example 2: Short pig in combination with wax !*************************************************************************** !WAXDEPOSIT Definition !--------------------------------------------------------------------------! WAXDEPOSITION RANCH=BRANCH_1, CALVCD=37.82, CALVCE=83.96, CALVCF=8559000,\ COEFSHEAR=0 kg/m2, CONDUCTIVITY=0.242 W/m-K, \ DIFFCOEFFMULT=0 , MAXROUGHNESS=0 m, MODEL=RRR,\ POROSITYOPTION=CONSTANT, SHEARSTRIPPING=OFF, \ TSHEARC1=15 , TSHEARC2=0.055 , TSHEARC3=1.4 ,\ VISCOPTION=TABULAR, WAXPOROSITY=0.6 -, WAXROUGHNESS=0 -, \ WAXTABLE="WAXTABLE",VISMULTIPLIER = (1.,1.), \ WAXVOLFRACTION = (0.0,1.0) !*************************************************************************** ! PLUG Definition !*************************************************************************** PLUG LABEL=PLUG-1, INSERTTIME=17.5 h, LAUNCHPOSITION=PIGLAUNCHER,\ LEAKAGEFACTOR=0., \ QUADRATICFRIC=0 Ns2/m2, STATICFORCE=1000 N,\ TRAPPOSITION=PIGRECEIVER, TYPE= SHORT,\ WXBRFCOEF = 1,WXRMEFF = 100.0 %,\ PGWXFORMFAC = 0.0, WPPOROSITY = 0.6

Page 274

Chapter 3: Input File Description, PLUG

Example 3: Pig train - TYPE = LONG PLUG LABEL = PLUG-1, TYPE = LONG, INSERTTIME = 0.3E+02, \ LAUNCHPOSITION = PLUGSTART-1, TRAPPOSITION = PLUGTRAP-1 ,\ MASS = 0.14E+03, STATICFORCE = 0.1E+04, WALLFRICTION = 0.1E4, \ LINEARFRIC = 150, QUADRATICFRIC = 0.0, \ DENSITY = 800, LENGTH = 100, INJECTIONPERIOD = 100, \ CAPACITY = 2400, VISCOSITY = 0.8E-3, CONDUC = 0.16, \ INITTEMP = 5

Chapter 3: Input File Description, POSITION

Page 275

3.3.42 POSITION

This statement specifies the positions for choke, valve, separator, compressor etc. as an alternative to sub-keys BRANCH, PIPE, and SECTION. It can also be used when referring to equipment variables. Keyword:

POSITION

Dependencies:

BRANCH, GEOMETRY, PIPE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

BRANCH

sym.

-

Branch label or number of the position.

LABEL

str.

-

Label of the position.

PIPE

sym.

-

SECTION

i.

-

Pipe label or number of the position. Section or section boundary number of the position.

Required keys:

Description

All keys required

Internal dependencies of keys: None Examples: Example 1: ! Equipment is placed using POSITION !*************************************************************************** ! Definition for POSITIONS !--------------------------------------------------------------------------POSITION LABEL = UP-SEP, BRANCH = 1, PIPE = 53, SECT = 2 POSITION LABEL = IN-SEP, BRANCH = 1, PIPE = 54, SECT = 1 POSITION LABEL = DN-SEP, BRANCH = 1, PIPE = 55, SECT = 2 !*************************************************************************** ! SEPARATOR Definition !--------------------------------------------------------------------------! SEPARATOR LABEL = SEP-1, POSITION = IN-SEP, PHASE = TWO, TRAIN = GAS, \ ORIENTATION = HORIZONTAL, DIAM = 2.75, LENGTH = 10.1, EFF = 1.0, \ OILCD = 1.0, OILDIAM = 0.05, OILTIME = 0, OILBACKPRESSURE = 14 BAR, \ EMGCD = 1.0, EMGDIAM = 0.05, EMGBACKPRESSURE = 14 BAR, STROKETIME = 15,\ LLOILHOLDUP = 0.135, HHOILHOLDUP = 0.365, RESETHOLDUP = 0.25, \ OILCONTROLLER = DRAIN ! !*************************************************************************** ! Check Valve Definition !--------------------------------------------------------------------------! CHECKVALVE LABEL = CHEK-1, POSITION = UP-SEP, DIRECT = POSITIVE CHECKVALVE LABEL = CHEK-2, POSITION = DN-SEP, DIRECT = POSITIVE ! !***************************************************************************

Page 276

Chapter 3: Input File Description, POSITION

Example 2: Some of the output variables that are related to process equipment, such as the variables for CHOKE, CHECK VALVE, VALVE, COMPRESSOR, CONTROLLER, HEATEXCHANGER, LEAK, PIG/PLUG, SEPARATOR, SOURCE, PUMP and WELL, can be referred to using the LABEL of the process equipment instead of a defined POSITION (BRANCH=xx, PIPE=xx, SECTION=xx) in the POSITION key: !Equipment variables are referred to using POSITION ! CONTROLLER LABEL=SEP-1, AMPLIFICATION=65, BIAS=0, DERIVATIVECONST=0 s, \ INTEGRALCONST=360 s, MAXSIGNAL=1, MINSIGNAL=0, POSITION=POSITION-1, \ SETPOINT=1.0 m, STROKETIME=60 s, TIME=0 s, TYPE=PID, VARIABLE=LIQLV ! TREND POSITION=SEP-1, VARIABLE=(LIQLV,GTDHL)

Chapter 3: Input File Description, PRINTINPUT

Page 277

3.3.43 PRINTINPUT

This statement defines the input data which will be printed in the output file. Keyword:

PRINTINPUT

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

DATA

sym.l.

PVTDATA | COMPRESSORDATA | DIMENSIONS

Define whether the PVT table, compressor table or array dimensions will be printed out.

KEYWORD

sym.l.

-

Define which input keyword will be printed out. Currently valid for the following keywords: GEOMETRY (incl. BRANCH, PIPE etc.) HEATTRANSFER GRID SOIL (incl. COVER) LINE BUNDLE CROSSOVER TABLE FEED WALL

Required keys:

Description

Either DATA or KEYWORD must be specified

Internal dependencies of keys: None Example: !*************************************************************************** ! PRINTINPUT Definition !--------------------------------------------------------------------------! PRINTINPUT DATA = (PVTDATA, COMPRESSORDATA), KEYWORD = GEOMETRY !*************************************************************************** . . .

Page 278

Chapter 3: Input File Description, PROFILE

3.3.44 PROFILE

This statement defines profile plots of variables along the pipeline at specified time points. See Appendix A for list of variables available for plotting. Plots of bundle variables along a bundle line can be specified if the bundle module is used, and plots of soil temperature for selected cells can be specified if the soil module is available. If the Compositional Tracking, MEG Tracking or Advanced Well (drilling) modules are used, variables for different components can be specified. Keyword:

PROFILE

Dependencies:

BRANCH, INTEGRATION, LINE, GRID, OPTIONS

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.l.

[ALL]

Branch number or label.

COMPONENT

sym.l.

[ALL]

Component names. With the MEG tracking module, available components are HC, H2O and MEG. With DRILLING=ON in OPTIONS there are 15 available components as specified in Chapter 2 (Drilling option). For the compositional model the names of the available components are given in the feed file.

DELETEPREVIOUS

sym.

ON | [OFF]

All profile variables defined before this key will be deleted from the list of output variables, also those read from restart file.

DTPLOT

r.(s)

-

Time interval for writing to profile plot file.

LAYER

i.l.

[ALL]

Wall layer no's for plotting of wall temperatures. Layer no 1 is the innermost.

LINE

sym.l.

-

Refers to bundle line labels.

SOILCOLUMN

i.l.

-

Column of soil cells that TSOIL is printed for. Must be specified together with SOILROW.

SOILROW

i.l.

-

ROW of soil cell that is printed for. Must be specified together with SOILCOLUMN.

TIME

r.l.(s)

-

Time points for writing to profile plot file.

VARIABLE

sym.l.

-

Variables to be written to the profile plot file. Units can be included.

Chapter 3: Input File Description, PROFILE

Required keys:

Page 279

TIME or DTPLOT, VARIABLE

Internal dependencies of keys: either TIME

= (0.0, 100, 300) [s]

DTPLOT

= 100 [s]

or end if variable is a volume variable or boundary variable BRANCH = BRANCH-1 VARIALBE = (HOL, UG) else if it is a bundle variable LINE = CARLINE VARIABLE = (TBUN, UVALUE) else if VARIABLE = TSOIL, then BRANCH = BRANCH-1 SOILROW =5 SOILCOLUMN =2 else if VARIABLE = TW, then ! Wall layer temperatures see example else if it is a compositional variable, then BRANCH = BRANCH-1 VARIABLE = (XG, CGDH) if COMPOSITIONAL=ON in OPTIONS COMPONENT = (C1, C2, MeOH) !Defined in feed file else if COMPOSITIONAL=MEG in OPTIONS COMPONENT = (HC, H2O, MEG) else if DRILLING=ON in OPTIONS COMPONENT = (HC, H2O, DENMIN, VISMIN) end if end if

Note that TIME or DTPLOT must be specified before any variables are specified. Examples: Example 1: !*************************************************************************** ! Profile Plot Definition !--------------------------------------------------------------------------! PROFILE TIME = (7200., 0.2880E+05, 0.7200E+05, 0.9000E+05,\ 0.1080E+06), VARIABLE = (PT, TM, HOL, GT) !*************************************************************************** . .

Example 2: !*************************************************************************** ! Integration !--------------------------------------------------------------------------! INTEGRATION STARTTIME = 0, ENDTIME = 0.36E+05, CPULIMIT = 0.175E+06,\ DTSTART = -1., MINDT = 0.1E-02, MAXDT = 0.5 !*************************************************************************** .

Page 280

Chapter 3: Input File Description, PROFILE

. !*************************************************************************** ! Profile Plot Definition !--------------------------------------------------------------------------! PROFILE DTPLOT = 0.18E+04, VARIABLE = (PT, TM, HOL, ID) !*************************************************************************** . .

Example 3: !*************************************************************************** ! Profile Plot Definition !--------------------------------------------------------------------------! PROFILE DTPLOT = 1 h PROFILE VARIABLE = TBUN, LINE = CARLINE, BUNDLE = BUNDLE_1 PROFILE VARIABLE = (PT, HOL), BRANCH = BRI !*************************************************************************** . .

Example 4: !*************************************************************************** ! Profile Plot Definition !--------------------------------------------------------------------------! PROFILE DTPLOT = 1h PROFILE VARIABLE = TSOIL, BRANCH = BRI, SOILROW = 5, SOILCOLUMN = 2 !*************************************************************************** . .

Example 5: !*************************************************************************** ! Plotting of wall layer temperatures !--------------------------------------------------------------------------! All or selected wall layer temperatures can be plotted - depending on the ! LAYER key (LAYER no 1 is the innermost wall layer): ! Plotting of all layer temperatures for a wall consisting of 4 layers in ! BRANCH_2 ! either PROFILE BRANCH = BRANCH_2,VARIABLE = TW ! or PROFILE BRANCH = BRANCH_2,VARIABLE = TW, LAYER = (1-4) ! or ...,LAYER = (1,2,3,4) ! ! Plotting of selected layers, e.g. layer no 2 and 4 for the wall described ! above: ...,LAYER = (2,4) ! !If the pipes in a branch have walls with different no of layers, specifying !plotting of TW in e.g. layer no 4 or no 3 or no 2 for a wall having only 2 layers !will result in that TW in layer no 2 is plotted for all these cases ( i.e. the !outermost layer) ! . . .

Chapter 3: Input File Description, PUMP

Page 281

3.3.45 PUMP

There are four pump models in OLGA: the centrifugal pump, the displacement pump, the simplified centrifugal pump and the pump battery models. The pump models are described in more detail in section 2.2.10, and the pump tables in section 4.3. The pump battery model is used for drilling applications, and this option is only available with the Advanced Well module. This model is described in section 2.3.4.3. Centrifugal and displacement pumps The centrifugal pump and the displacement pump are modelled with a recycle flow line, and a bypass flow line, as illustrated in Figure 3.4. The pump characteristics are defined through the pump data tables. A complete set for both types of pumps is included in the code. However, the users can change these data by specifying their own pump data tables. Each of the characteristics is assigned a label, which is referred to in the PUMP keyword. The pump speed and recycle flow can be regulated by controllers. The user can choose the recycle flow as gas only, liquid mixture, water only, or fluid mixture. The bypass flow line is modelled so that no back flow is allowed.

Figure 3.4 Simplified illustration of Displacement or Centrifugal Pump Element in the Pipeline

For the centrifugal pump, the pressure increase over the pump, ∆P, is dependent on the flow rate Q, pump speed N, inlet gas volume fraction αI, and the pump inlet pressure PI. The pump characteristics for the centrifugal pump are presented in the form of four quadrant curves. The four quadrant curves are converted to a simpler form by the development of homologous curves where the head and torque ratios (actual value to rated value) are functions of the pump speed and flow rate ratios. A complete default set of homologous curves is tabulated in the code. These are based on experimental data and are representative for centrifugal pumps. However, the users can change these data easily by specifying their own experimental data through the pump data table. Because the homologous curves are dimension-less, they can describe a variety of pumps by specifying through input the desired rated

Page 282

Chapter 3: Input File Description, PUMP

density, head, torque, flow rate and speed. A valve can be located at the centrifugal pump section boundary for controlling flow through the pump. For the displacement pump, the pump flow rate can be expressed as the difference between the theoretical flow rate and the back flow rate. For a given pump the theoretical rate is proportional to pump speed. The back flow, Qb, is tabulated as a function of N (pump speed), ∆P (pressure increase across the pump), αI (void fraction at pump inlet), νl (liquid kinetic viscosity) and PI (pressure at pump inlet) in the pump data table. The opening of the recycle and bypass chokes can be controlled through controller statements in order to get the desired flow. Simplified centrifugal pump A simplified description of a centrifugal pump is used for modelling the behaviour of a centrifugal pump around an operational point. Simple algebraic expressions are used to calculate pressure increase over the pump and pump efficiency.

∆ Po = ∆ Pr ( 1 + D1 ( N - Nr ) + D2 ( Q - Qr ) ) ( 1 - D3 α )

η = η r ( 1 + E1 ( N - Nr ) + E2 ( Q - Qr ) ) ( 1 - E3 α ) ∆ P = ∆ Po ρ / ρ r where:

∆ Po = Pump pressure increase at rated density ( bar ) ∆ P = Pump pressure increase ( bar ) N

= Pump speed

( rpm )

Q

= Flow rate

( m3/s )

α

= Gas volume fraction

η

= Pump efficiency (adiabatic)

ρ

= Specific density

( kg/m3)

D1,2,3 = Input coefficients for pressure increase E1,2,3 = Input coefficients for efficiency Subscripts:

r = rated

Note that by setting the coefficients D1,2,3 and E1,2,3 = 0.0, a pump with a constant pressure increase will be simulated. If the user wants to obtain a certain flow rate in a simple way, one can either iterate on the input value for ∆ Pr or assume some value for D1 and let a controller determine the necessary speed. Note also that if using the simplified pump model, the input values for BYDIAMETER and RECDIAMETER (see table below) must be = 0.0.

Chapter 3: Input File Description, PUMP

Page 283

Pump battery The pump battery is used for pumping drilling fluids, e.g. muds in a drilling operation. The purpose is to get an overall estimate of pump power needed as well as the volume of mud pumped. The volume delivered by the pump is proportional to the rate of pump strokes. Qp = PFAC*SPES where QP = Volume delivered by the pump PFAC = Pumping factor SPES = Strokes per time unit The pump rate is normally controlled by the following set of controllers: • • • •

Controller on the maximum hydraulic horsepower allowed (HPMAX) Controller on the maximum pump rate (MAXCAPACITY) Controller on the minimum pump rate (MINCAPACITY) Controller on the maximum pump pressure allowed (MAXPRESSURE)

If either one of these controllers is set into action the pump rate is reduced automatically. The number of controllers can be extended above the number shown above and different variables (e.g. fluid rate, inflow rate etc.) can be used to control the pumps. Controlling the pump speed The following options are available for controlling the pump speed: 1.

Pump speed regulated by controller (All pump models):

(1).

Controlled manually by specifying time and speed series in the controller definition.

(2).

Regulated by a physical parameter. The speed is calculated by :

N = N min + u ( N max - N min ) where Nmax is the maximum pump speed (defined by user), Nmin is the minimum pump speed (defined by user) and u the signal from the controller. 2.

Controlled by an override controller (Only for centrifugal and displacement pumps):

To adapt the pump to the production change (because the recycle flow is at upper or lower limits), the pump speed will be changed automatically according to the required speed variation (speed acceleration). The speed variation may be given in form of:

SPEED = SPEED ± A ⋅ TIME where A is a constant pump speed variation rate (acceleration), specified with the key ACCECOEFF. The speed variation will stop once the recycle flow is within a defined range below MAXRECYCLE and above MINRECYCLE.

Page 284

3.

Chapter 3: Input File Description, PUMP

If the maximum pump torque has been given by users (Only for centrifugal pumps):

If the pump shaft torque is over the maximum limit specified, the pump speed is reduced, and a warning message will be given in the output file. Note that a pump cannot be defined at the last section boundary of the last branch of the branches going into a SPLIT node, since the last section volume is used as the control volume for the SPLIT node. Of the same reason no pump can be defined on the first section boundary of the branch coming from a MERGE node. Keyword:

PUMP

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

ACCECOEFF

r. (rad/s2)

[0.0]

Pump speed acceleration. When recycle flow is over or below the limits, this value will be used to increase or decrease the pump speed. For centrifugal and displacement pumps.

ACOEFFICIENT

r.

[1.6]

Experimentally determined exponent for calculating the mechanical friction loss for a displacement pump.

BCOEFFICIENT

r.

[1.6]

Experimentally determined exponent for calculating the viscous friction loss for a displacement pump.

BRANCH

sym.

-

Number/name of branch where pump is located.

BYCONTROL

sym.

-

Label of controller for regulating the bypass flow rate. For centrifugal and displacement pumps.

BYDIAMETER

r. (m)

[0.0]

Diameter of the valve in the bypass flow line. For centrifugal and displacement pumps. Must be = 0.0 if PUMPTYPE = SIMPLIFIED

DCOEFF1

r (1/rpm)

[0.0]

Relative change in pump pressure increase with pump speed for simplified pump

DCOEFF2

r (1/m3/s)

[0.0]

Relative change in pump pressure increase with flow rate for simplified pump

DCOEFF3

r(-)

[0.0]

Relative reduction in pump pressure increase with gas volume fraction

DENSITYR

r. (kg/m3)

[900]

Rated pump density. Used centrifugal and simplified pumps.

for

Chapter 3: Input File Description, PUMP

Key

Page 285

Type Unit: ( )

Parameter set Default: [ ]

Description

DPRATED

r [ bar ]

-

Pump pressure increase at rated conditions for simplified pump

ECOEFF1

r (1/rpm)

[0.0]

Relative change in pump efficiency with pump speed for simplified pump

ECOEFF2

r (1/m3/s)

[0.0]

Relative change in pump efficiency with pump speed for simplified pump

ECOEFF3

r(-)

[0.0]

Relative reduction in pump efficiency with gas volume fraction

EFFIMECH

r.

[0.7]

Mechanical efficiency of centrifugal and simplified pump.

EFFRATED

r.

[0.5]

Adiabatic efficiency of simplified pump at rated conditions

FLOWRATED

r. (m3/s)

-

Rated pump flow. Used for centrifugal and simplified pumps.

HEADRATED

r. (m)

-

Rated pump head. centrifugal pumps.

HPMAX

r. (W)

-

Maximum hydraulic horsepower for each single pump in the pump battery.

LABEL

sym.

[Numerical increment]

Label of the pump.

MAXCAPACITY

r.(m3/s)

-

Maximum flow capacity for pump battery.

MAXPRESSURE

r.(Pa)

-

Maximum downstream pressure for pump battery.

MAXRECYCLE

r. (kg/s)

-

Maximum recycle mass flow rate.

MAXSPEED

r. (rpm)

-

Maximum pump speed.

MDISSIPATION

r. (W)

[0.0]

Mechanical dissipation at nominal speed for a displacement pump.

MINCAPACITY

r.(m3/s)

-

Minimum battery.

MINRECYCLE

r. (kg/s)

[0.0]

Minimum recycle mass flow rate.

MINSPEED

r. (rpm)

[0.0]

Minimum pump speed.

PIPE

sym.

-

Pipe number for pump location.

POSITION

sym.

-

Position where pump is located.

PREFSPEED

r. (rpm)

[3000]

Pump reference speed. Used for displacement pumps.

PUMPTYPE

sym.

CENTRIFUGAL | DISPLACEMENT | PUMPBATTERY | SIMPLIFIED

Name

of

PUMPVALVECONTRO L

sym.

-

Label for controller.

centrifugal

RECCONTROL

sym.

-

Label of the controller for regulating the recycle flow rate. For centrifugal and displacement pumps.

flow

Used

capacity

for

pump

pump

for

pump

type.

valve

Page 286

Chapter 3: Input File Description, PUMP

Key

Type Unit: ( )

Parameter set Default: [ ]

RECDIAMETER

r. (m)

[0.0]

Choke diameter for recycle flow. For centrifugal and displacement pumps. Must be = 0.0 if PUMPTYPE = SIMPLIFIED

RECPHASE

sym.

[MIXTURE] GAS LIQUID WATER

Phase of recycle flow. For centrifugal and displacement pumps.

SCONTROL

sym.

-

Label of the controller regulating the pump speed.

SECTIONBOUNDARY

i.

-

Section boundary number for pump location.

SPECAPACITY

r. (m3/R)

-

Pump specific volumetric capacity, Qspc. Used for displacement pumps.

SPEEDR

r. (rpm)

-

Rated pump speed. Used centrifugal and simplified pumps.

TABLE

sym.

[Default defined code]

TORQMAX

r. (Nm)

-

Maximum motor torque allowed. Can only be used for centrifugal pumps.

TORQR

r. (Nm)

-

Rated pump hydraulic torque. Used for centrifugal pumps.

VDISSIPATION

r. (W)

[0.0]

Viscous dissipation at nominal speed for a displacement pump.

Required key:

table in

Description

Name of the tables of pump back flow data or pump characteristic data. For centrifugal and displacement pumps.

LABEL, PUMPTYPE

Internal dependencies of keys: Either BRANCH PIPE SECTION

= BRAN_1 = PIPE_1 =1

POSITION

= POS-1

or end If RECDIAMETER > 0, then RECPHASE RECCONTROL

= [MIXTURE] | GAS | LIQUID | WATER = RECCONT-1

If recycle flow limits are required MAXRECYCLE MINRECYCLE ACCECOEFF end if end if If BYDIAMETER > 0.0, then

= 30 [kg/s] = 10 [kg/s] = [0 ] [1/s2]

for

Chapter 3: Input File Description, PUMP

BYCONTROL

= BYCONT-1

end If Maximum torque limit is required, then TORQMAX = 3000 [Nm] end if if PUMPTYPE = DISPLACEMENT, then ACOEFFICIENT = [1.6] BCOEFFICIENT = [1.6] SCONTROL = CSPEED MINSPEED = [0] [rpm] MAXSPEED = 6000 [rpm] PREFSPEED = [3000] [rpm] MDISSIPATION = [0.0] [kW] VDISSIPATION = [0.0] [kW] SPECAPACITY = 0.1 [m3/rev] TABLE = PUMPTABLE_LABEL RECDIAMETER = [0.0] [m] BYDIAMETER = [0.0] [m] else if PUMPTYPE = CENTRIFUGAL, then DENSITYR = [900] [kg/m3] FLOWRATED = 0.1 [m3/s] HEADRATED = 30 [m] SPEEDR = 2000 [rpm] TORQR = 1000 [Nm] SCONTROL = CSPEED MINSPEED = [0] [rpm] MAXSPEED = 6000 [rpm] EFFIMECH = 0.9 TABLE = PUMPTABLE_LABEL RECDIAMETER = [0.0] [m] BYDIAMETER = [0.0] [m] If the flow through the centrifugal pump will be controlled, then PUMPVALVECONTROL end if else if PUMPTYPE = SIMPLIFIED FLOWRATED = 0.1 [m3/s] EFFRATED = 0.7 EFFIMECH = 0.9 DENSITYR = 900 [kg/m3] DPRATED = 56 [ bar ] SPEEDR = 3500 [rpm ] DCOEFF1 = 0.001 [ 1/rpm ] DCOEFF2 = - 0.006 [ 1/m3/s ] DCOEFF3 = 0.9 [ - ] ECOEFF1 = 0.0 [ 1/rpm ] ECOEFF2 = - 0.72 [ 1/m3/s ] ECOEFF3 = 0.0 [ - ] if DCOEFF1 or ECOEFF1 different from 0 SCONTROL = CSPEED MINSPEED = [0] [rpm] MAXSPEED = 6000 [rpm] end if else if PUMPTYPE = PUMPBATTERY, then HPMAX = 4000 [hhp] MAXPRESSURE = 50 [bar]

Page 287

Page 288

Chapter 3: Input File Description, PUMP

MAXCAPACITY MINCAPACITY SCONTROL MINSPEED MAXSPEED

= 0.13 [m3/s] = 0.013 [m3/s] = CSPEED = [0] [rpm] = 6000 [rpm]

end if

Examples: ! !*************************************************************** ! PUMP Definition !--------------------------------------------------------------! PUMP LABEL = PUMP-1, BRANCH = 1, PIPE = 3, SECTION = 5, \ TABLE = "pumpc.tab", PUMPTYPE = CENTRIFUGAL, \ FLOWRATED = 50, HEADRATED = 30., SPEEDR = 2000.0 , \ MAXSPEED = 6000, MINSPEED = 1000.0, \ SCONTROL = C-103, TORQR = 400.0, \ RECDIAMETER = 0.1, RECCONTROL=C-101, RECPHASE = MIXTURE , \ BYDIAMETER = 0.0, PUMPVALVECONTROL = C-PUMPV-1 ! !*************************************************************** ! PUMP Definition !--------------------------------------------------------------! PUMP LABEL = PUMP-1, BRANCH = 1, PIPE = 3, SECTION = 5, \ TABLE = "pump1.tab", PUMPTYPE = DISPLACEMENT, \ ACOEFFICIENT = 1.6, BCOEFFICIEN = 1.6, PREFSPEED = 1500.0,\ MDISSIPATION = 10.0 KW, VDISSIPATION = 10.0 KW, \ SPECAPACITY = 0.080 M3/R , \ MAXSPEED = 5000, MINSPEED = 1000.0,SCONTROL = C-103,\ RECDIAMETER = 0.1, RECCONTROL=C-101, RECPHASE = MIXTURE ,\ BYDIAMETER = 0.0 ! !*************************************************************** ! PUMP Definition !--------------------------------------------------------------! PUMP LABEL = PUMP-1, BRANCH = 1, PIPE = 1, SECTION = 1, \ PUMPTYPE = PUMPBATTERY, MAXCAPACITY = 0.13 m3/s, \ MINCAPACITY = 0.013 m3/s, HPMAX = 4000 hhp, SCONTROL = C-PUMP1, MAXPRESSURE = 50 bar ! ! !*************************************************************** ! PUMP Definition !--------------------------------------------------------------! PUMP LABEL = PUMP-1, BRANCH = 1, PIPE = 3, SECTION = 5, \ PUMPTYPE = SIMLIFIED, \ \ FLOWRATED = 350 m3/h, DPRATED = 56. BAR, SPEEDR = 3500.0 rpm,\ MAXSPEED = 6000, MINSPEED = 1000.0, DENSITYR = 900., \ SCONTROL = C-103, EFFRATED = 0.5, EFFIMECH = 0.9, \ DCOEFF1 = 0.001, DCOEFF2 = -0.006,DCOEFF3 = 0.9, \ ECOEFF1 = 0.0,ECOEFF2 = -0.72, ECOEFF3 = 0.0

Chapter 3: Input File Description, REROUTE

Page 289

3.3.46 REROUTE

This statement reroutes a branch from one destination node to another. Keyword:

REROUTE

Dependencies:

BRANCH, NODE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.

Name or number of branch

TIME

r.l. (s)

[0.0]

Time points for routing and rerouting of branch

TO

sym.l.

-

Label/name of destination node(s). A change in destination node will be done at the corresponding time point given in the TIME-key. Note: In a restart no new destination nodes can be defined

All keys required

Required keys:

Internal dependencies of keys: None Example: !*************************************************************** ! REROUTE Definition !--------------------------------------------------------------! REROUTE BRANCH

=

INLET-1, TO

=

(MERG-1, MERG-2), TIME

= (0, 3600)

!***************************************************************

. . . Remarks:

From time = 0 sec to 3600 secs, branch INLET-1 is routed to node MERG-1. At time = 3600 secs, it is rerouted to node MERG-2.

Page 290

Chapter 3: Input File Description, RESTART

3.3.47 RESTART

This keyword defines the time(s) when restart files (i.e. the files with extension rsw) are written during an ongoing simulation (restart write) as well as how to use restart files generated in earlier simulations as initial conditions for new simulations (restart read). By default, without using the RESTART keyword, a restart file is written each time the output file is updated, but contains data only for the last write time. If the users want to save restart files generated at other times, the RESTART keyword with the options listed below can be used. The simplest restart case (restart read) would consist of the keywords RESTART, INTEGRATION, and ENDCASE. The fluid file from the previous run must be present in the directory. As no geometry data may be changed in a restart run, the following input statements are not allowed after keyword RESTART (both with restart write and restart read) in a restart case NODE BRANCH PIPE GEOMETRY WALL MATERIAL Only keywords read after RESTART will be accepted in a restart run. For all other keywords OLGA will use the statements from the restart file. Keyword:

RESTART

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

DTWRITE

r. (s)

[Total simulation time]

The constant time interval between writing of data to the restart file.

FILE

str.

-

The name of the restart file.

READTIME

r. (s)

[The end time of the previous simulation]

Time when the restart file should be read (only one time point is allowed).

WRITE

sym.

[OVERWRITE], APPEND, OFF

OVERWRITE: File will be rewound before writing new data to file. APPEND: New data will be added to previous data =OFF: No writing of data to file

WRITETIME

r.l. (s)

[End of the simulation time]

A time point or series of time points when data are written to the restart file.

Chapter 3: Input File Description, RESTART

Required keys:

Page 291

None

Internal dependencies of keys: If (WRITE = APPEND or OVERWRITE) then DTWRITE = 1000 s (default = total simulation time) or WRITETIME = (1000, 2000) s (default = end of the simulation time) else if (WRITE = OFF) then No restart file is written end if If the results should be read from the restart file(restart read), then FILE = previous_run.rsw READTIME = 2000 s [The end time of the previous simulation] end if

Examples:

Example 1: !*************************************************************************** ! Definition of a RESTART write statement !---------------------------------------------------------------------------! RESTART WRITE = APPEND, WRITETIME = (1,10) H !*************************************************************************** . .

Example 2: !*************************************************************************** ! Definition of a combined RESTART read and write statement !--------------------------------------------------------------------------! RESTART WRITE = APPEND, WRITETIME = (1,10)H,\ FILE = CASE2.rsw, READTIME = 1 H !***************************************************************************

Example 3: !*************************************************************************** ! An example of the shortest possible and complete RESTART read case RESTART FILE = "CASE1.rsw" FILES PVTFILE="fluid1.tab" INTEGRATION ENDTIME=1000. s ! Start time is by default the endtime of CASE1 ENDCASE !*************************************************************************** . . .

Page 292

Chapter 3: Input File Description, SEPARATOR

3.3.48 SEPARATOR

This statement defines the input required for separators. There are two separator models in OLGA. The “single train” separator model follows one flow path out of the separator. The “multi train” separator model follows all outlets from the separator in different branches, see section 2.2.1 for detailed description of the two separator models. OLGA's separator models assume that the separator is a (fictitious) pipe section. The following options are available for the modelling a separator: 1. Separator model a. Single train separator b. Multi train separator 2. Separator type: a. b. c. d. e. f.

Two-phase vertical separator Three-phase vertical separator Two-phase horizontal separator Three-phase horizontal separator Two-phase user-given shape Three-phase user-given shape

3. Flow path to be simulated for single train separator: Note that this is only needed for single train separators

a. Downstream of gas outlet b. Downstream of oil outlet c. Mixing of gas and oil downstream of outlet Note: For alternative c the pipe model must include at least one complete OLGA PIPE downstream the separator. 4. Calculating flow rate at each outlet: a. Use flow equation b. Use valve sizing coefficient table Section 2.2.3 briefly describes how separator control parameters can be chosen. Please observe that for a network case, the separator should not be positioned in the first section of the branch immediately downstream of a junction node. It is possible to define valves for separators in the VALVE keyword and refer to the valve label in SEPARATOR using the key GASTRAINVALVE, OILTRAINVALVE etc. This is in order to be able to reduce the number of keys in the SEPARATOR keyword. Users must set initial water and oil level for multi train separators. For single train separators this is not required. If the initial levels are not specified (for single train separators), the oil and water level are set to the average of high and low limits of the respective levels.

Chapter 3: Input File Description, SEPARATOR

Page 293

Keyword:

SEPARATOR

Dependencies:

BRANCH, GEOMETRY, VALVE, CONTROLLER, OPTIONS, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.

-

Branch number or LABEL.

CF

r.

-

Ratio between gas and liquid sizing coefficient.

CRITFLOWMODEL

sym.

[FROZEN] | HENRYFAUSKE

Choice of critical flow model to be used. Homogenous frozen critical flow model or Henry-Fauske model.

DIAMETER

r. (m)

-

Separator inner diameter.

EFFICIENCY

r.

[1.0]

Separator efficiency (one minus the volume fraction of the liquid droplets in the gas outlet stream: 1 - GA)

EMGBACKPRESSURE

r. (Pa)

-

Emergency drain outlet pressure.

EMGCD

r.

[0.84]

Discharge coefficient for emergency drain choke (required only if equation is used for calculating liquid flow at the emergency drain).

EMGDIAMETER

r. (m)

-

Maximum diameter of the emergency drain choke (required only if equation is used for calculating liquid flow at the emergency drain).

EMGOUTLET

sym.

-

Branch label for emergency outlet for multi-train separator (required if TYPE = MULTITRAIN)

EMGTABLE

sym.

-

Called EMGVALVE in v3.00 and earlier. Label of the table where the emergency drain valve sizing coefficients are specified.

EMGTRAINVALVE

sym.

-

Label of the valve for the emergency drain.

FLAREOUTLET

sym.

-

Branch label for flare outlet for multitrain separator.

GASBACKPRESSURE

r.l. (Pa)

-

Gas outlet pressure

GASCD

r.

[0.84]

Discharge coefficient for gas outlet choke (required only if equation is used for calculating gas flow at the gas outlet).

GASCONTROLLER

sym.

-

Label of the controller regulating the gas outlet choke or valve.

Page 294

Chapter 3: Input File Description, SEPARATOR

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

GASDIAMETER

r. (m)

-

Maximum diameter of the gas outlet choke (required only if equation is used for calculating gas flow at the gas outlet).

GASOUTLET

sym.

-

Branch label for gas outlet for multi-train separator (required for TYPE = MULTITRAIN)

GASPIPEDIAM

r. (m)

-

Diameter of outlet gaspipe if TRAIN=MIX

GASPIPELENGTH

r. (m)

-

Length of outlet gaspipe if TRAIN=MIX

GASPIPEROUGH

r. (m)

-

Roughness of outlet gaspipe if TRAIN=MIX

GASTIME

r.l. (s)

-

Time points for gas outlet pressure

GASTABLE

sym.

-

Called GASVALVE in v3.00 and earlier. Label of the table where the gas outlet valve sizing coefficients are specified.

GASTRAINVALVE

sym.

-

Label of the valve used for the gas drain

HHOILHOLDUP

r.(-)

-

Liquid hold-up upper limit. If liquid holdup is higher than this value, the emergency valve will be opened.

HHOILLEVEL

r. (m)

-

Liquid level height limit. If liquid level is higher than this value, the emergency valve will be opened.

HHWATHOLDUP

r.(-)

-

Water hold-up upper limit. If water holdup is higher than this value, water will be drained together with oil through the oil drain (required if PHASE = THREE)

HHWATLEVEL

r. (m)

-

Water level height limit. If water level is higher than this value, water will be drained together with oil through the oil drain (required if PHASE = THREE).

INITOILLEVEL

r. (m)

Average of high and low limit of oil level for singletrain

The initial oil level (required if TYPE=MULTITRAIN).

INITWATLEVEL

r. (m)

Average of high and low limit of water level for singletrain

The initial water level (required if TYPE= MULTITRAIN and PHASE=THREE).

LABEL

str.

[increment]

Separator label, default is separator number.

LENGTH

r. (m)

-

Separator length.

LEVELTABLE

sym.

-

Label of the table where the shape (range of level-volume data points) of the separator is specified.

LLOILHOLDUP

r.(-)

-

Liquid hold-up lower limit. If liquid holdup is lower than this value, oil drain rate will start to decrease.

Chapter 3: Input File Description, SEPARATOR

Key

Page 295

Type Unit: ( )

Parameter set Default: [ ]

Description

LLOILLEVEL

r. (m)

-

Liquid level lower limit. If liquid level is lower than this value, oil drain rate will start to decrease.

LLWATHOLDUP

r.(-)

-

Water hold-up lower limit. If the water level is lower than this value, water drain rate will start to decrease (required if PHASE = THREE).

LLWATLEVEL

r. (m)

-

Water level lower limit. If the water level is lower than this value, water drain rate will start to decrease (required if PHASE = THREE).

OILBACKPRESSURE

r.l. (Pa)

-

Oil outlet pressure

OILCD

r.

[0.84]

Discharge coefficient for oil outlet choke (required only if equation is used for calculating oil flow at the oil normal drain).

OILCONTROLLER

sym.

-

Label of the controller regulating the oil outlet choke or valve.

OILDIAMETER

r. (m)

-

Maximum diameter of the oil outlet choke (required only if equation is used for calculating oil flow at the normal oil drain).

OILOUTLET

sym.

-

Branch label for oil outlet for multi-train separator (required for TYPE = MULTITRAIN)

OILPIPEDIAM

r. (m)

-

Diameter of outlet oilpipe if TRAIN=MIX

OILPIPELENGTH

r. (m)

-

Length of outlet oilpipe if TRAIN=MIX

OILPIPEROUGH

r. (m)

-

Roughness of outlet oilpipe if TRAIN=MIX

OILTABLE

sym.

-

Called OILVALVE in v3.00 and earlier. Label of the table where the oil outlet valve sizing coefficients are specified.

OILTCONST

r. (s)

-

Time constant for separating oil from water.

OILTIME

r.l. (s)

-

Time points for oil outlet pressure

OILTRAINVALVE

sym.

-

Label of the valve used for the oil drain

ORIENTATION

Sym

VERTICAL | HORIZONTAL

Orientation of the separator. Orientation is ignored if LEVELTABLE is given.

PHASE

sym.

TWO | THREE

Number of phases separated in the separator. Option THREE can only be used if the water option is available (PHASE=THREE in OPTIONS).

PIPE

sym.

-

Pipe number where the separator is located.

POSITION

sym.

-

Position where the separator is located.

Page 296

Chapter 3: Input File Description, SEPARATOR

Key

Type Unit: ( )

Parameter set Default: [ ]

RESETHOLDUP

r.(-)

-

Liquid hold-up below which the emergency drain starts to close.

RESETLEVEL

r. (m)

-

Liquid level below which the emergency drain starts to close.

SECTION

i.

STROKETIME

r. (s)

-

Stroke time of the emergency drain choke or valve.

TRAIN

sym.

OIL | GAS | MIX

Defines from which outlet the fluid in the downstream sections, comes. If TRAIN = GAS, the pipeline calculations is continued moving the gas from the separator. If TRAIN = OIL, the pipeline calculations is continued moving the oil from the separator. If TRAIN = MIX, both gas and oil outlets are simulated and mixed in the separator downstream section.

TYPE

sym.

[SINGLETRAIN]| MULTITRAIN

Separator type, inline separator follows one outlet, multi-train separator follows all outlets.

WATBACKPRESSURE

r.l. (Pa)

-

Water outlet pressure (required only if PHASE = THREE).

WATCD

r.

[0.84]

Discharge coefficient for water outlet choke (required only if equation is used for calculating water flow at the water normal drain).

WATCONTROLLER

sym.

-

Label of the controller regulating the water outlet choke or valve.

WATDIAMETER

r. (m)

-

Maximum diameter of water outlet choke (required only if equation is used for calculating water flow at the water normal drain).

WATOUTLET

sym.

-

WATTABLE

sym.

-

Branch label for water outlet from multitrain separator (required if TYPE = MULTITRAIN and PHASE = THREE) Called WATVALVE in v3.00 and earlier. Label of the table where the water outlet valve sizing coefficients are specified.

WATTCONST

r.(s)

-

Time constant for separating water from oil.

WATTIME

r.l.(s)

-

Time points for water outlet pressure (required only if PHASE=THREE)

WATTRAINVALVE

sym.

-

Label of the valve used for water outlet.

Required keys:

Description

Section volume number where the separator is located.

EFFICIENCY, LABEL, ORIENTATION, PHASE

Chapter 3: Input File Description, SEPARATOR

Page 297

Internal dependencies of keys for single train separator: TYPE

= SINGLETRAIN

either BRANCH PIPE SECTION or POSITION end either DIAMETER LENGTH or LEVELTABLE end either GASTRAINVALVE or either GASTABLE CF

!separator location = 1, = 1, =1 = SECT-1

= 2.5 [m] = 10 [m] = table for separator shape

= gasvalve

!label for gas valve defined in VALVE

= gasdrain =1

! label for gas valve table ! Note that if TRAIN = GAS, the gas valve can also be specified with keyword VALVE or it can be omitted.

or GASCD GASDIAMETER end GASCONTROLLER

= [1] = 0.05 [m] = GASCONTR-1

!label for gas valve controller

if (TRAIN = OIL) then !gas outlet data GASTIME = (0, 3600) [s] GASBACKPRESSURE = (10E5, 5E5) [Pa] end end either OILTRAINVALVE = oilvalve or either OILTABLE = oildrain or OILCD = [1] OILDIAMETER = 0.05 [m] end OILCONTROLLER = OILCONT-1 If (TRAIN = GAS), then OILTIME = (0, 3600) [s] OILBACKPRESSURE = (10E5, 5E5) [pa] end end if (TRAIN = MIX) then GASPIPEDIAMETER = 0.15 GASPIPELENGTH = 25 GASPIPEROUGH = 4.5E-5 OILPIPEDIAM = 0.1

!label for oil valve defined in VALVE !label for oil valve table

!label for oil valve controller !oil drain data

Page 298

Chapter 3: Input File Description, SEPARATOR

OILPIPELENGTH OILPIPEROUGH

= 20 = 4.5E-5

end either EMGTRAINVALVE

=emgvalve

!emergency drain data !label for emergency valve defined in ! the VALVE keyword

or either EMGTABLE or EMGCD EMGDIAMETER end EMGBACKPRESSURE STROKETIME end either HHOILHOLDUP or HHOILLEVEL end either LLOILHOLDUP or LLOILLEVEL end either RESETHOLDUP or RESETLEVEL end If (PHASE = THREE) then OILTCONST WATCONST either WATTRAINVALVE

= emgdrain

!label for emergency valve table

= [1] = 0.5 [m] = 1E5 [Pa] = 30 s

= 0.8 = 0.5 [m]

= 0.01 = 0.1 [m]

= 0.6 = 0.65 [m]

= 60 [s] = 60 [s] =watvalve

! label for water valve defined in ! the VALVE keyword

or either WATCD WATDIAMETER

= [1] = 0.5 [m]

or WATTABLE = WAT-DRAIN end WATCONTROLLER =WAT-C WATTIME = (0, 3600) [s] WATBACKPRESSURE = (10E5, 5E5) [Pa] end either HHWATHOLDUP or HHWATLEVEL end

= 0.3 = 0.34 [m]

!label for watercontroller

Chapter 3: Input File Description, SEPARATOR

either LLWATHOLDUP or LLWATLEVEL end endif

= 0.01 = 0.1 [m]

Page 299

Page 300

Chapter 3: Input File Description, SEPARATOR

Internal dependencies of keys for multi train separator: TYPE either BRANCH PIPE SECTION or POSITION end

= MULTITRAIN !separator location =1 =1 =1 = SECT-1

GASTOUTLET

= BRAN-GAS

EMGOUTLET FLAREOUTLET (optional)

= BRAN-EMG = BRAN-FLR

if ( PHASE = TWO ) then OILOUTLET = BRAN-LIQ else if ( PHASE = THREE ) then OILOUTLET = BRAN-OIL WATOUTLET = BRAN-WAT end INITOILLEVEL

= 2.8 [m]

If (PHASE = THREE) then OILTCONST WATCONST

= 60 [s] = 60 [s]

either HHWATHOLDUP or HHWATLEVEL end INITWATLEVEL endif

= 0.3 = 0.34 [m] = 0.8 [m]

!label for gas outlet branch ! specified in BRANCH !label for emergency outlet branch !label for flare outlet branch

!label for liquid outlet branch !label for oil outlet branch !label for water outlet branch

Chapter 3: Input File Description, SEPARATOR

Page 301

Examples: Example 1: ! !*************************************************************************** ! SINGLE TRAIN TWO-PHASE SEPARATOR WHICH FOLLOWS GAS TRAIN ! USING SEPARATE VALVE DEFINITIONS !--------------------------------------------------------------------------! VALVE LABEL = V-GAS, POSITION = SEPA-1-1, DIAMETER = 0.3, CD = 0.4, \ CONTROLLER = C-401 ! VALVE LABEL = V-OIL, POSITION = SEPA-1-1, DIAMETER = 0.50E-01, CD = 0.2, \ CONTROLLER = C-103 TIME = (0., 0.1000E+07), \ BACKPRESSURE = (2:0.4E+07), VALVE LABEL = V-EMG, POSITION = SEPA-1-1, TIME = 0 s, \ BACKPRESSURE = 0.4E+07, DIAMETER = 0.1, CD = 0.45, \ STROKETIME = 5. SEPARATOR LABEL = SEPA-1-1, BRANCH = 1, PIPE = 1, SECTION = 1,\ ORIENTATION = HORIZONTAL, PHASE = TWO, DIAMETER = 1.,\ LENGTH = 0.5E+02, TRAIN = GAS, EFFICIENCY = 0.99,\ HHOILHOLDUP = 0.5, LLOILHOLDUP = 0.5E-02, RESETHOLDUP = 0.3,\ OILTRAINVALVE=V-OIL, INITOILLEVEL= 0.5 m, \ EMGTRAINVALVE=V-EMG, GASTRAINVALVE = V-GAS

Example 2: ! !*************************************************************************** ! SINGLE TRAIN TWO-PHASE SEPARATOR WHICH FOLLOWS GAS TRAIN ! VALVES DEFINED IN SEPARATOR KEYWORD !--------------------------------------------------------------------------! SEPARATOR LABEL = SEPA-1-1, BRANCH = 1, PIPE = 1, SECTION = 1,\ ORIENTATION = HORIZONTAL, PHASE = TWO, DIAMETER = 1.,\ LENGTH = 0.5E+02, TRAIN = GAS, EFFICIENCY = 0.99,\ HHOILHOLDUP = 0.5, LLOILHOLDUP = 0.5E-02, RESETHOLDUP = 0.3,\ STROKETIME = 5., OILTIME = (0., 0.1000E+07),\ OILBACKPRESSURE = (2:0.4E+07), EMGBACKPRESSURE = 0.4E+07,\ GASDIAMETER = 0.3, GASCD = 0.4, OILDIAMETER = 0.50E-01,\ OILCD = 0.2, EMGDIAMETER = 0.1, EMGCD = 0.45,\ GASCONTROLLER = C-401, OILCONTROLLER = C-103, INITOILLEVEL= 0.5 m !

Example 3: ! !*************************************************************************** ! SINGLE TRAIN TWO-PHASE SEPARATOR WHICH FOLLOWS GAS TRAIN ! There is no gas valve at the gas outlet !--------------------------------------------------------------------------! VALVE LABEL = V-OIL, POSITION = SEPA-1-2, TIME = (0., 0.1000E+07),\ BACKPRESSURE = (2:0.4E+07), DIAMETER = 0.50E-01, CD = 0.1, \ CONTROLLER = C-105 ! VALVE LABEL = V-EMG, POSITION = SEPA1-2, BACKPRESSURE = 0.4E+07,\ DIAMETER = 0.50E-01, CD = 0.1, STROKETIME = 0.1E+02 ! SEPARATOR LABEL = SEPA-1-2, BRANCH = 1, PIPE = 1, SECTION = 3,\ ORIENTATION = HORIZONTAL, PHASE = TWO, DIAMETER = 1.,\ LENGTH = 25., TRAIN = GAS, EFFICIENCY = 1., HHOILHOLDUP = 0.5,\ LLOILHOLDUP = 0.5E-02, RESETHOLDUP = 0.3, \ OILTRAINVALVE = V-OIL, EMGTRAINVALVE = V-EMG ! !--------------------------------------------------------------------------! SEPARATOR LABEL = SEPA-1-2, BRANCH = 1, PIPE = 1, SECTION = 3,\ ORIENTATION = HORIZONTAL, PHASE = TWO, DIAMETER = 1.,\ LENGTH = 25., TRAIN = GAS, EFFICIENCY = 1., HHOILHOLDUP = 0.5,\ LLOILHOLDUP = 0.5E-02, RESETHOLDUP = 0.3, STROKETIME = 0.1E+02,\ OILTIME = (0., 0.1000E+07), OILBACKPRESSURE = (2:0.4E+07),\ EMGBACKPRESSURE = 0.4E+07, OILDIAMETER = 0.50E-01, OILCD = 0.1,\ EMGDIAMETER = 0.50E-01, EMGCD = 0.1, OILCONTROLLER = C-105

Page 302

Chapter 3: Input File Description, SEPARATOR

Example 4: ! !*************************************************************************** ! SEPARATOR Definition: Mixing of gas and oil downstream of separator !--------------------------------------------------------------------------! VALVE LABEL = V-OIL, DIAMETER = 0.05, CD = 1.0, OILCONTROLLER = DRAIN,\ POSITION=SEP-1 VALVE LABEL = V-GAS, DIAMETER = 0.15, CD = 0.84, CONTROLLER = GASOUT, \ POSITION = SEP-1 VALVE LABEL = V-EMG, DIAMETER = 0.05, CD = 1.0, BACKPRESSURE = 10 BAR, \ STROKETIME = 15, POSITION = SEP-1 VALVE LABLE = V-WAT, DIAMETER = 0.05, CD = 1.0, CONTROLLER = WDRAIN, \ TIME = 0, BACKPRESSURE = 14 BAR, POSITION = SEP-1 ! SEPARATOR LABEL = SEP-1, POSITION = SEPARATOR, DIAMETER = 2.75, \ LENGTH = 10.0, EFFICIENCY = 1.0, ORIENTATION = HORIZONTAL, PHASE = THREE, TRAIN = MIX, HHOILHOLDUP = 0.65, \ LLOILHOLDUP = 0.135, RESETHOLDUP = 0.25, OILTCONST = 5.,\ HHWATHOLDUP = 0.3, LLWATHOLDUP = 0.05, WATTCONST = 0., \ OILPIPELENGTH = 25., OILPIPEROUGH = 0.000045, GASPIPEDIAM = 0.3, \ GASPIPELENGTH = 25., GASPIPEROUGH = 0.000045, OILPIPEDIAM = 0.3, \ GASTRAINVALVE = V-GAS, OILTRAINVALVE = V-OIL, \ EMGTRAINVALVE = V-EMG, WATTRAINVALVE = V-WAT

Example 5: ! !*************************************************************************** ! MULTI TRAIN THREE-PHASE SEPARATOR ! Valves are defined on section boundaries using VALVE keyword !--------------------------------------------------------------------------! POSITION LABEL=SEPARATOR, BRANCH=BRANCH_1, PIPE=P-10, SECTION=1 CONTROLLER LABEL=GDRAIN, AMPLIFICATION=2.0E-7, BIAS=0 , \ INTEGRALCONST=100 s, MAXSIGNAL=1 , MINSIGNAL=0, \ POSITION=SEPARATOR, SETPOINT=2800000 ,\ STROKETIME=30 s, TIME=0 s, TYPE=PID, VARIABLE=PT CONTROLLER LABEL=DRAIN, AMPLIFICATION=1 , BIAS=0 , INTEGRALCONST=100 s,\ MAXSIGNAL=1, MINSIGNAL=0, POSITION=SEPARATOR, SETPOINT=0.31,\ STROKETIME=30 s, TIME=0 s, TYPE=PID, VARIABLE=BEHL CONTROLLER

LABEL=EDRAIN, AMPLIFICATION=1, BIAS=0, INTEGRALCONST=100 s,\ MAXSIGNAL=1, MINSIGNAL=0, POSITION=SEPARATOR, SETPOINT=0.8,\ RESET=0.1, STROKETIME=30 s, TIME=0 s, TYPE=PSV, VARIABLE=BE

CONTROLLER LABEL=WDRAIN, AMPLIFICATION=2 , BIAS=0, INTEGRALCONST=583 s,\ MAXSIGNAL=1, MINSIGNAL=0, POSITION=SEPARATOR, SETPOINT=0.21, STROKETIME=30 s, TIME=0 s, TYPE=PID, VARIABLE=BEWT ! SEPARATOR LABEL=SEP-1, DIAMETER=2.75 m, EFFICIENCY=1 , TYPE=MULTITRAIN, \ GASOUTLET=BRANCH_2, OILOUTLET=BRANCH_3, EMGOUTLET=BRANCH_4,\ WATOUTLET=BRANCH_5, HHWATHOLDUP=0.3 -, LENGTH=10 m, \ INITOILLEVEL=3.92 m, INITWATLEVEL = 1.75 m, \ OILTCONST=0.1 s, OILTIME=0 s, ORIENTATION=HORIZONTAL, \ PHASE=THREE, POSITION=SEPARATOR, \ WATTCONST=0.1 s ! VALVE LABEL = GASVAL, BRANCH =BRANCH_2, PIPE = CD = 1, DIAMETER = 0.5 m, CONTROLLER=GDRAIN ! VALVE LABEL = OILVAL, BRANCH =BRANCH_3, PIPE = CD = 1, DIAMETER = 0.07 m, CONTROLLER=DRAIN ! VALVE LABEL = EMGVAL, BRANCH =BRANCH_4, PIPE = CD = 1, DIAMETER = 0.07 m, CONTROLLER=EDRAIN ! VALVE LABEL = WATVAL, BRANCH =BRANCH_5, PIPE = CD = 1, DIAMETER = 0.07 m, CONTROLLER=WDRAIN

P-11, SECTIONBOUNDARY = 1, \ P-11, SECTIONBOUNDARY = 1, \ P-11, SECTIONBOUNDARY = 1, \ P-11, SECTIONBOUNDARY = 1, \

Chapter 3: Input File Description, SETPOINTVARIABLE

Page 303

3.3.49 SETPOINTVARIABLE

This input group offers the user an alternative way of specifying controlled variables, see keyword CONTROLLER. Under the keyword CONTROLLER the controlled variables defined by SETPOINTVARIABLE are referenced by the sub-key SETOFVARIABLES. If a controlled variable is a mass flow rate, there are two ways to specify its setpoint value. The setpoint value can be specified directly as the relevant mass flow rate. Alternatively, to control total mass flow, a volumetric flow rate at standard conditions can be used as setpoint. The name of the controlled (mass flow) variable is used to determine the phase of the given volumetric flow setpoint. For example, if variable GG (Gas mass flow rate) is given as VARIABLE (see below), the gas volume flow rate must be specified by SETPOINT and this is used by OLGA to calculate the total mass flow rate setpoint value. The calculation is based on the given GOR (or GLR) and WATERCUT. To use volumetric flows as an alternative setpoint to total mass flow the following data must be specified: VARIABLE

A mass flow rate variable must be specified. The mass flow rate variable must be defined at the measurement point (i.e. GLLEAK in a leak).

SETPOINT

Volumetric flow rate at standard conditions. NB! The actual setpoints are given in the CONTROLLER input group.

REFCONDITION

STD (standard conditions i.e. 1 atm (~1 bara) and 60 °F (~ 15.5 °C)

GOR or GLR

Default value is based on the gas mass fraction from the fluid property file at standard conditions. The fluid property table range must cover standard pressure and temperature.

WATERCUT

Water volume fraction in oil/water mixture.

MOLWEIGHT

Molecular weight. If the equivalent gas volumetric flow rate is specified (when all hydrocarbons are assumed to be gas, which is relevant for wet gas) its molecular weight should be given in order to determine the density of the equivalent gas (under the assumption that the gas is ideal). By default, the gas density at the standard condition from the PVT table is used.

The individual mass flow rates can only be controlled at REFCONDITION = IN-SITU (which is default) i.e. for P and T at the position where the mass flow rate is measured. If the volumetric flow setpoint of a phase is known at IN-SITU conditions, the user could just as well specify a phase volumetric flow rate as VARIABLE e.g. QG.

Page 304

Chapter 3: Input File Description, SETPOINTVARIABLE

Keyword:

SETPOINTVARIABLE

Dependencies:

BRANCH, GEOMETRY, PIPE, SECTION, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.

-

Branch label or number.

GLR

r. (Sm3/Sm3)

-

Gas/liquid volumetric flow ratio.

GOR

r. (Sm3/Sm3)

[Value from PVT-table]

Gas/oil volumetric flow ratio. Default is value from PVT-table. GOR and GLR can not be used together.

LABEL

str.

-

Label given to the controlled variable.

LINE

sym.

-

Bundle line label. Required if the controlled variable is bundle line temperature TBUN.

MOLWEIGHT

r.(kg/kmol)

-

The molecular weight of equivalent gas at the reference condition. Used to calculate gas density at reference conditions. By default the gas density at standard condition from the PVT-table is used to compute the mole weight.

PIPE

sym.

-

Pipe label or number.

POSITION

sym.

-

Position of the controlled variable. Position must be defined before it is referenced under SETPOINTVARIABLE.

REFCONDITION

sym.

STD, [IN-SITU]

STD means standard conditions (1atm and 60 °F). Use STD if an equivalent volume flow at standard conditions shall be used as alternative setpoint for total mass flow setpoint. If STD is used, standard conditions must be included in the PVT-table. Separate phase mass flow rates can only be controlled at IN-SITU conditions.

SECTION

sym.

-

Section number.

VARIABLE

sym.

-

Controlled variable. Including unit if non-default unit is used. See Appendix A for available variable names.

WATERCUT

r. (-)

0

Water volume fraction in oil/water mixture.

Chapter 3: Input File Description, SETPOINTVARIABLE

Required keys:

Page 305

LABEL, VARIABLE

Internal dependencies of keys: If VARIABLE is a volume or section boundary variable: Give BRANCH, PIPE and SECTION, or give POSITION. Se example below for details. If VARIABLE is not a volume or section boundary variable: Give POSITION. Se example below for details.

Example: !*************************************************************************** ! Definition for SETPOINTVARIABLE ! ! The example is for three variables to be used by a SELECTOR controller ! which is used by a separator. The variables are meant to be used for ! lower and upper limits for switching between two sub-controllers. ! ! For variable labelled LOW_GLT the POSITION called INTO_SEPARATOR must be ! defined before it can be used by SETPOINTVARIABLE. ! !--------------------------------------------------------------------------SETPOINTVARIABLE LABEL = LOW_LIQLV, VARIABLE = LIQLV, \ POSITION = SEPARATOR, REFCONDITION = IN-SITU SETPOINTVARIABLE LABEL = LOW_GLT, VARIABLE = GLT, \ POSITION = INTO_SEPARATOR SETPOINTVARIABLE LABEL = HIGH_GLT, VARIABLE = GLT Kg/S, \ BRANCH = INLET_BRANCH, PIPE = TOP_PIPE, SECTION = 2, \ REFCONDITION = STD, GLR = 200

Page 306

Chapter 3: Input File Description, SHAPE

3.3.50 SHAPE

This keyword describes the external contour of a material. The type of the shape can be one of the following: CIRCLE, ELLIPSE, RECTANGLE, POLYGON. The material inside the shape is being described with the MATERIAL keyword. The shape keyword is being used in the LINE and CROSSSECTION keywords. Keyword:

SHAPE

Dependencies:

MATERIAL

Key description table: Key

Type Unit: ( )

Parameter set Default:[ ]

Description

LABEL

str

Name of shape.

MATERIAL

sym

Name/label of solid (or fluid if used by LINE) inside the shape.

TYPE

sym

RADIUS

r.(m)

This keyword is given if the type is a circle. Denotes the radius of the circle.

WIDTH

r.(m)

This keyword is given if the type is an ellipse. Denotes the width of the ellipse.

HEIGHT

r.(m)

This keyword is given if the type is an ellipse. Denotes the height of the ellipse.

X_LOWER_LEFT

r.(m)

This keyword is given if the type is a rectangle. Denotes the x-coordinate of the lower left corner of the rectangle.

Y_LOWER_LEFT

r.(m)

This keyword is given if the type is a rectangle. Denotes the y-coordinate of the lower left corner of the rectangle.

X_UPPER_RIGHT

r.(m)

This keyword is given if the type is a rectangle. Denotes the x-coordinate of the upper right corner of the rectangle.

Y_UPPER_RIGHT

r.(m)

This keyword is given if the type is a rectangle. Denotes the y-coordinate of the upper right corner of the rectangle.

XPOINTS

r.l. (m)

YPOINTS

r.l. (m)

CIRCLE | ELLIPSE | RECTANGLE | POLYGON

-

Type of shape. CIRCLEs and ELLIPSEs are automatically placed in the origin.

This keyword is given if the type is a polygon. Denotes the x-coordinates of the polygon points. Polygon points must be specified counter clockwise. This keyword is given if the type is a polygon. Denotes the y-coordinates of the polygon points. Polygon points must be specified counter clockwise.

Chapter 3: Input File Description, SHAPE

Required keys:

Page 307

MATERIAL, TYPE , LABEL

Internal dependencies of keys: if (TYPE=CIRCLE) then RADIUS else if (TYPE = ELLIPSE) then WIDTH HEIGTH else if (TYPE=RECTANGLE) then X_LOWER_LEFT Y_LOWER_LEFT X_UPPER_RIGHT Y_UPPER_RIGHT else if (TYPE = POLYGON) then XPOINTS YPOINTS end if

= 0.015 [m] = 0.01 [m] = 0.01 [m] = -0.05 [m] = -0.05 [m] = -0.03 [m] = -0.03 [m] = (-0.1, 0.1, 0.2, -0.2) [m] = (-0.2, -0.2, 0.1, 0.1) [m]

Example: ! !*************************************************************************** !MATERIAL Definition !--------------------------------------------------------------------------MATERIAL LABEL = MATER-2,\ CAPACITY = 880 J/kg-C,\ CONDUCTIVITY = 10 W/m-K,\ DENSITY = 2500 kg/m3 ! !*************************************************************************** !SHAPE Definition !--------------------------------------------------------------------------! Cirle SHAPE LABEL = CIRCLE1, \ MATERIAL = MATER-2, \ TYPE = CIRCLE, \ RADIUS = 0.80 m ! Polygon, see drawing below SHAPE LABEL = POLYGON, \ MATERIAL = MATER-2, \ TYPE = POLYGON, \ XPOINTS = (-0.1, 0.1, 0.2, -0.2) m, \ YPOINTS = (-0.2, -0.2, 0.1, 0.1) m

y (-0.2, 0.1)

(0.2, 0.1)

x

(-0.1, -0.2)

(0.1, -0.2)

Page 308

Chapter 3: Input File Description, SHUTIN

3.3.51 SHUTIN

This statement defines start and end times of a shutdown period. During this shutdown period, the flow regime will always be stratified/annular. Numerical flow regime flipping during shutdown can therefore be avoided. Note: SHUTIN should only be used for shutdown simulations, and must be switched off e.g. in a start-up simulation following a shutdown. In a restart from a file where SHUTIN has been defined, it is required that SHUTIN is redefined after RESTART, otherwise an input error is given. To switch off SHUTIN, set TSHUT1 > TSHUT2, both < STARTTIME or both > ENDTIME. Keyword:

SHUTIN

Dependencies:

INTEGRATION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

TSHUT1

r. (s)

-

Start time for shutdown simulation.

TSHUT2

r. (s)

-

End time for shutdown simulation.

Required keys:

Description

TSHUT1, TSHUT2

Internal dependencies of keys:

None

Example: !*********************************************************************! SHUTIN Definition !---------------------------------------------------------------------! SHUTIN TSHUT1 = 0, TSHUT2 = 0.108E+06 !*********************************************************************

Chapter 3: Input File Description, SLUGTRACKING

Page 309

3.3.52 SLUGTRACKING

This statement defines the slug tracking option. This statement has two main suboptions for initiation of liquid slugs: the level slug option (LEVEL) and the hydrodynamic slug option (HYDRODYNAMIC). These two options may be used together or separately. Terrain slugging will be detected in ordinary simulations without the slugtracking module, and the interactions between terrain and hydrodynamic slugging can be investigated using the key HYDRODYNAMIC. If HYDRODYNAMIC = ON, the code will set up a new slug in a section whenever the set-up criteria are fulfilled. These are: (1) (2) (3)

Flow regime at the section boundary changes from separated to slug flow. Other slug fronts are the required distance away. The time elapsed since the previous slug was generated in or passed this section is higher than a specified minimum time.

If HYDRODYNAMIC = MANUAL, the user can specify a fixed number of slugs to be set up at predefined positions and times. Using this option, liquid will be injected into the pipeline to generate slugs of required size. Slugs are not allowed to be generated at the inlet and outlet sections by default. That is, the boundary sections are automatically set to illegal for slugs by the program itself. However, the slug front is allowed to move into the outlet section, and the slug tail into the inlet section. Users can specify the sections where slugs are not allowed to be generated by (1) (2)

setting key ILLEGALSECTION = ON specify the sections by key combination BRANCH, PIPE, SECTION or key POSITION.

The illegal sections can be changed back to legal again for instance in a restart, by: (1) (2)

setting key ILLEGALSECTION = OFF specifying the section where slugs are allowed by key combination BRANCH, PIPE, SECTION, or, key POSITION.

The slug tracking option is also available for network cases (the first section after the junction between branches is by default an illegal section). The slug tracking option offers full temperature calculation capabilities. Slug statistics is reported to the .out file for positions where LSLEXP are defined in TREND, see Chapter 2.3.1.1. Remark:

The availability of the slug tracking option depends on the user’s licensing agreement with Scandpower Petroleum Technology.

The slug tracking module cannot be applied together with the wax deposition module. Keyword:

SLUGTRACKING

Dependencies:

BRANCH, GEOMETRY, OPTIONS, POSITION

Page 310

Chapter 3: Input File Description, SLUGTRACKING

Hint: The DELAYCONST determines the required time delay between generation of slugs in a particular section. Based on Shea correlation for slug frequency, the DELAYCONST can be estimated.

Shea correlation for slug frequency:

F sl = where

D L Usl

= = =

0 . 68 ⋅ U sl D 1 .2 ⋅ L 0 .6

pipeline diameter [m] pipeline length [m] superficial liquid velocity [m/s]

This correlation is based on experimental slugging data and some field data. It can be used to tune the delay constant in systems dominated by hydrodynamic slugging. If terrain effects are dominant, it should not be used. Time delay between new slugs:

∆T = DELAYCONST ⋅

D Ul

where Ul is averaged liquid velocity. DELAYCONST should be tuned so that resulting slug frequency is in the same order of magnitude as Fsl in the cases where hydrodynamic slugging is dominant. The default value of 150 has been found to give good results for a number of cases. MAXNOSLUGS determines the max number of slugs that will be allowed in the system. With a long pipeline operating mainly in the slug flow regime, the physical number of slugs can be very large (gives large CPU time). In such situations it is recommended to only allow for slugs in the parts of the pipeline close to the outlet, say last 5-10 km. This can be obtained by using the key ILLEGALSECTIONS. In a case where terrain effects are dominant and large slugs can be developed far from the outlet, the key ILLEGALSECTIONS should not be used to prevent such slugs from being developed. To turn off slugtracking in a restart, set both LEVEL and HYDRODYNAMIC to OFF.

Chapter 3: Input File Description, SLUGTRACKING

Page 311

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.

-

Branch number. See key ILLEGALSECTION

BUBBLEVOID

r.(-)

-

Minimum void required behind a level tail and ahead of a level front at initiation time

DELAYCONST

r

[150]

Number of pipe diameters a slug must travel before a new slug can be set up.

ENDTIME

r. (s)

-

End of time interval where level is to be initiated.

HYDRODYNAMIC

sym.

ON | Manual | [OFF]

Option for initiating hydrodynamic slugs. If the key is present more than once, the last definition is valid. 1. HYDRODYNAMIC = OFF: No hydrodynamic slugs allowed; 2. HYDRODYNAMIC = ON: Hydrodynamic slugs may be set up if slug flow regime is predicted. 3. HYDRODYNAMIC = MANUAL: Slugs are generated at the userspecified position and frequency.

ILLEGALSECTION

sym.

ON | [OFF]

Specifies whether slugs are allowed for sections defined by BRANCH, PIPE, SECTION, or POSITION. The very first and last section in the pipeline are automatically set to illegal for slugs by the program itself. 1. ILLEGALSECTION = OFF: Slugs allowed. Used for sections where illegal sections previously has been switched on. 2. ILLEGALSECTION = ON: Slugs are not allowed to be generated. Slugs generated elsewhere may move into the section, but is not allowed to pass through this section. The slugs will be destroyed when both the front and tail are within the section.

INITBUBBLEVOIDS

r.l.(-)

[1]

Void fractions in the slug bubbles.

INITENDTIMES

r.l.(s)

-

The end times for slug generations

INITFREQUENCY

r. (1/s)

-

Slug frequency. Used in defining a minimum distance from a possible new slug to an already existing slug. Default minimum distance is 10 pipe diameters.

INITLENGTH

r.

[One pipe diameter]

Maximum initial hydrodynamic slug length in no. of pipe diameters.

INITPERIODS

r.l.(s)

-

Time interval between new slugs

Page 312

Chapter 3: Input File Description, SLUGTRACKING

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

INITPOSITIONS

sym.l.

-

The labels of the sections boundaries where the slug generation zones are located.

INITSLUGVOIDS

r.l.(-)

[0]

Void fraction in the liquid slug.

INITSTARTTIMES

r.l.(s)

-

The start times for slug generations

INITZONELENGTHS

r.l.(m)

-

The length of zones where slugs are to be generated.

LEVEL

sym.

ON | [OFF]

Option for detecting and initiating level slugs. If the key is present more than once, the last definition is valid. 1. LEVEL = OFF: No initiation; 2. LEVEL = ON: Level slugs may be initiated in the user specified time interval (STARTTIME - ENDTIME).

MAXNOSLUGS

i

[No limit]

Max number of slugs allowed in the system

PIPE

sym.l.

-

Pipe number (See key ILLEGALSECTION)

POSITION

sym.l.

-

Define the positions. If this option is used, sub-key BRANCH, PIPE and SECTION should not be used. (See key ILLEGALSECTION)

SECTION

i.l.

-

Section number. (See key ILLEGALSECTION)

SLUGVOID

r. (-)

-

The maximum void allowed in a liquid slug at initiation time.

STARTTIME

r. (s)

-

Beginning of time interval where levels are to be initiated.

Chapter 3: Input File Description, SLUGTRACKING

Page 313

Required keys: LEVEL, HYDRODYNAMIC, ILLEGALSECTION, MAXNOSLUGS Internal dependencies of keys: If (LEVEL = ON ) then STARTTIME ENDTIME SLUGVOID BUBBLEVOID endif

= 0.0 [s] = 100.0 [s] = 0.05 = 0.6

If (HYDRODYNAMIC = ON) then INITLENGTH = [one pipe diameter] INITFREQUENCY =1 DELAYCONST = [10] else if (HYDRODYNAMIC = MANUAL) then INITPOSITIONS = (SL1, SL2) INITBUBBLEVOIDS = [2 : 1] INITSLUGVOIDS = [2 : 0] INITPERIODS = (2 : 10)[s] INITZONELENGTHS = (2 : 200)[m] INITSTARTTIMES = (10, 200)[s] INITENDTIMES = (100, 300)[s] endif If (ILLEGALSECTION = ON) then either BRANCH =1 PIPE =1 SECTION =1 or POSITION = SLUGKILL-1 end endif !This will set a certain section as illegal. If (ILLEGALSECTION = OFF) then either BRANCH =1 PIPE =1 SECTION =1 or POSITION = NOSLUGKILL-1 end endif !This will switch a section back from illegal !to legal. !Illegalssection should have been switched ON !previously for the same section.

Page 314

Chapter 3: Input File Description, SLUGTRACKING

Examples: Example 1: !*************************************************************************** ! Definition of Slugtracking !--------------------------------------------------------------------------! SLUGTRACKING MAXNOSLUGS = 1, LEVEL = ON,\ STARTTIME = 0, ENDTIME = 0.1, SLUGVOID = 0.50E-01,\ BUBBLEVOID = 0.6, HYDRODYNAMIC = OFF

Example 2: **************************************************************************** ! Definition of Slugtracking !--------------------------------------------------------------------------! SLUGTRACKING LEVEL = OFF,\ HYDRODYNAMIC = ON, INITLENGTH = 2., INITFREQUENCY = 0.2 !*************************************************************************** ! Definition for Illegal Slug Sections !--------------------------------------------------------------------------! SLUGTRACKING ILLEGALSECTION = ON, BRANCH = 1, PIPE = 1,\ SECTION = (11, 12, 13) SLUGTRACKING ILLEGALSECTION = ON, BRANCH = 1, PIPE = 2,\ SECTION = (1, 2, 3) SLUGTRACKING ILLEGALSECTION = ON, BRANCH = 1, PIPE = 9, SECTION = 2 SLUGTRACKING ILLEGALSECTION = ON, BRANCH = 1, PIPE = 10,\ SECTION = (1, 2, 3, 4, 5, 6)

Example 3: !*************************************************************************** ! Definition for Position in Slugtracking !--------------------------------------------------------------------------! POSITION LABEL = SLUGKIL-1, BRANCH = 1, PIPE = 1, SECTION = 1 !*************************************************************************** ! Slugtracking !--------------------------------------------------------------------------! SLUGTRACKING LEVEL = OFF,\ HYDRODYNAMIC = ON, INITLENGTH = 1., INITFREQUENCY = 0.50E-01,\ ILLEGALSECTION = ON, POSITION = SLUGKIL-1

Example 4: !*************************************************************************** ! Manual injection of slugs of fixed length at given times and positions !--------------------------------------------------------------------------SLUGTRACKING HYDRODYNAMIC = MANUAL,\ INITBUBBLEVOIDS = (2:0.9),\ INITSLUGVOIDS = (2:0.1),\ INITPERIODS = (2:10),\ INITZONELENGTHS = (2:200),\ INITPOSITIONS = (SL1, SL2) INITSTARTTIMES = (100, 1000),\ INITENDTIMES = (120, 3600)

Chapter 3: Input File Description, SOIL

Page 315

3.3.53 SOIL

This keyword is used to define a soil block: (1) the grid, placement of the flow lines, (2) the heat transfer coefficients to the ambient, and (3) the default material for the soil. If there are other solid media than the default in the grid cells, use the keyword COVER to place the other material in the appropriate grid cells. The soil module is further described in section 2.3.8. If the centre of a pipeline is placed at the first or the last vertical grid lines (first or last X co-ordinates), it is assumed that the heat transfer is axi-symmetric around the Y (vertical) axis going through the centre of the pipe. Similarly, if the centre of a pipeline is placed at the first or the last horizontal gridlines (first or last Y coordinates), it is assumed that the heat transfer is axi-symmetric around the X (horizontal) axis going through the centre of the pipe. Multiple OLGA pipelines can reside inside the same soil grid. In this case, there must be at least one grid cell between the pipes and the profile and discretization of the pipelines inside the same soil group must be the same. This keyword requires access to the soil module. Keyword:

SOIL

Dependencies:

GRID, MATERIAL, BRANCH

Key description table: Key

Type Unit: ( )

Parameter set (Default: [])

BOTHAMBIENT

r.(W/m2oC)

1.E+6

Heat transfer coefficient on the bottom side of the grid.

BRANCHES

sym.l

-

Name of the branches that reside inside the grid.

ENDPIPE

sym.l.

-

Name of the pipe at the end position for each of the branches inside the grid.

GRID

sym.

-

The name of the grid that defines the discretization.

LABEL

Str.

-

Name of the soil.

2o

Description

LEFTHAMBIENT

r.(W/m C)

1.E+6

Heat transfer coefficient on the left side of the grid.

MATERIAL

sym.

-

Name of material the grid cells are filled with. If some of the grid cells are of different materials, use the keyword COVER to specify the appropriate materials for these cells.

PIPEXCOORD

r.l.(m)

-

The X co-ordinates of the centre for each of the branches inside the grid.

PIPEYCOORD

r.l.(m)

The Y co-ordinates of the centre for each of the branches inside the grid.

Page 316

Chapter 3: Input File Description, SOIL

Key

RIGHTHAMBIENT

Type Unit: ( ) r.(W/m2oC)

Parameter set (Default: [])

Description

1.E+6

Heat transfer coefficient on the right side of the grid.

STARTPIPE

sym.l.

-

Name of the pipe at the start position for each of the branches inside the grid.

TOPHAMBIENT

r.(W/m2oC)

1.E+6

Heat transfer coefficient on the top side of the grid.

Example: Example 1: ! !*************************************************************************! MATERIAL Definition !-------------------------------------------------------------------------! MATERIAL LABEL = SOIL, DENSITY = 1800., CONDUCT = 2.5, CAPACITY = 1162 MATERIAL LABEL = ROCKD, DENSITY = 1800., CONDUCT = 1.8, CAPACITY = 1162 !*************************************************************************! GRID Definition !*************************************************************************! ! First cell has the size equal to pipe radius plus all wall layers ! = 25 cm ! !-------------------------------------------------------------------------! 1000 mm crossover to top of pipe with some below pipe: Trenched pipe !-------------------------------------------------------------------------! GRID LABEL = G-TRCH, \ XGRIDCOORD = ( 0., .25, .3, .4, .6, 1., 2.), \ YGRIDCOORD = ( 0., .2, .3, .55, .8, .9, 1.1, 1.5, 2.),\ ! !*************************************************************************! SOIL Definition !*************************************************************************! SOIL LABEL = TRENCH, GRID = G-TRCH, MATERIAL = SOIL, STARTPIPE = p-2, \ ENDPIPE = p-6, BRANCHES = BR-1, PIPEXCOORD = 0, PIPEYCOORD = \ 0.575 m, TOPAMBIENT = 500, BOTHAMBIENT = 1.e+06, RIGHTAMBIENT = 500 ! !*************************************************************************! COVER Definition !*************************************************************************! ! The sides of the rockdump cover ! COVER SOIL = TRENCH, SEA = ON, SOILCOLUMN = (4-6), SOILROW = 1 COVER SOIL = TRENCH, SEA = ON, SOILCOLUMN = (5-6), SPOLROW = 2 ! ! Rockdump cover and trench ! COVER SOIL = TRENCH, MATERIAL = ROCKD, SOILCOLUMN = 1-3, SOILROW = 1 COVER SOIL = TRENCH, MATERIAL = ROCKD, SOILCOLUMN = 1-2, SOILROW = 2-3 !

Chapter 3: Input File Description, SOURCE

Page 317

3.3.54 SOURCE

This statement specifies the input data needed for the simulation of sources. OLGA uses mass flow rate for internal calculations, but input flow rate may also be given as volumetric flow at standard conditions. Also, this statement may be used to specify the fraction of wax forming components in the inflow hydrocarbon mixture. A drilling fluid used with the Advanced well module can be defined. There are two options to specify a mass source: 1.

The mass flow rate is given. For a positive mass source (flowing into the pipe), users can specify the upstream pressure as well as the upstream temperature. If the upstream pressure is given in the input, the expansion from the upstream pressure to the pressure inside the pipe section will be taken into account for the temperature calculations. If the upstream pressure is not given, the upstream pressure is set to the pressure inside the pipe section where the source is introduced. If a controller is used, the actual mass rate into/out of the section is a fraction of the mass rate given in the time series with the fraction regulated by the controller.

2.

The mass flow rate is to be calculated based on the opening of the choke through which a mass source is introduced into or taken out of the pipe section. The choke opening is regulated by a controller. Both critical and subcritical flow through the choke are modelled.

When the mass flow rate is to be specified at the source temperature and pressure without compositional tracking, do the following: Use key:

Specify:

MASSFLOW GASFRACTION

Total mass flow rate (if option 1) Gas mass fraction in gas and oil mixture at the source temperature and pressure. Free water is excluded. As default, the gas mass fraction is determined from the PVT table. WATERFRACTION Mass fraction of free water in the gas-oil-water mixture at the source temperature and pressure. Default value is zero, i.e. no free water. TOTALWATERFRACTION Mass fraction of total water in the gas-oil-water mixture at the source temperature and pressure. Default value is zero. Only one of WATERFRACTION or TOTALWATERFRACTION could be defined. MEGFRACTION Mass fraction of MEG in water phase at source temperature and pressure. Only used together with MEG tracking, default value is zero for MEG tracking. TOTALMEGFRACTION Mass fraction of MEG in total water at source temperature and pressure. Only used together with MEG tracking, default value is zero for MEG tracking. When the mass flow rate is to be specified at the source temperature and pressure with compositional tracking, do the following:

Page 318

Chapter 3: Input File Description, SOURCE

Use key:

Specify:

FEEDMASSFLOW GASFRACEQ

Total mass flow rate (if option 1) Fraction of gas mass flow relative to equilibrium flow at the source temperature and pressure. As default, the gas mass flow is equal to the equilibrium flow determined from the feed file (equilibrium gas mass fraction) and FEEDMASSFLOW: (GG = FEEDMASSFLOW * RSEQ * GASFRACEQ). Fraction of oil mass flow relative to equilibrium flow at the source temperature and pressure. Fraction of water mass flow relative to equilibrium flow at the source temperature and pressure.

OILFRACEQ WATERFRACEQ

Note: If GASFRACEQ, OILFRACEQ or WATERFRACEQ is lower than 1 (default value), the total flow will not add up to the specified FEEDMASSFLOW.

When the volumetric flow rate at the standard conditions is given, do the following: Use key:

Specify:

STDFLOWRATE

Volumetric flow rate at standard conditions for the specified phase (if option 1) The phase for which the volumetric flow rate is specified. The allowed options are GAS, OIL, WATER, LIQUID. The total source flow is determined so that the specified flow is obtained, for the phase in question, at standard conditions. If the total volumetric flow is meant to represent equivalent gas flow instead of the single gas phase flow, the molweight of the total flow must be given. Gas/oil ratio. By default, the GOR from PVT table is used. Gas/liquid ratio. Note that GOR and GLR can not be used at the same time. Water cut, i.e. water volume fraction in water and oil mixture. If the equivalent gas volumetric flow rate is specified, the molecular weight of the total flow should be given in order to account for the density of the equivalent gas. By default, the gas density at the standard condition from the PVT table is used.

PHASE

GOR GLR WATERCUT MOLWEIGHT

Available units for standard volumetric flow rate, STDFLOWRATE, are listed in Appendix B. Default is (Sm3/s). Other units can be defined by using the keyword UNITS. (Not available with OLGA GUI). When volumetric flow rate at standard conditions is used, the table for PVT-data must cover the standard conditions for pressure and temperature i.e. 1 atm and 60 °F ( ~1 bara and 15.5 oC). For use of STDFLOWRATE, PHASE together with GOR, GLR, WATERCUT, MOLWEIGHT see Mass sources under Process Equipment in Chapter 2. Keyword:

SOURCE

Dependencies:

BRANCH, GEOMETRY, OPTION, FILE, FEED

CONTROLLER,

POSITION,

Chapter 3: Input File Description, SOURCE

Page 319

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

BRANCH

sym.

-

Branch label.

CD

r.

[0.84]

Discharge coefficient.

CONTROLLER

sym.

-

Controller label for regulating the mass flow. If valve diameter is given, the controller determines the relative opening of the valve. If the flowrate is given as a time series, the controller determines the fraction of the mass flowrate actually injected or removed from the section.

CRITFLOWMODEL

sym.

[FROZEN] |

Choice of critical flow model to be used. Homogenous frozen critical flow model or Henry-Fauske model. In addition, a forced subcritical option is available.

HENRYFAUSKE| SUBCRITICAL

Description

DIAMETER

r. (m)

-

Maximum orifice diameter.

DENSITY

r.l. (kg/m3)

-

Density of the drilling fluid for each time point. Must be within the min and max density as specified in the keyword DRILLINGFLUID. Omitted if the drillingfluid properties are given in a separate fluid property file.

DRILLINGFLUID

sym.

Refer to the drilling fluid defined by the keyword DRILLINGFLUID. Requires access to the Advanced Well module.

FEEDNAME

sym.l.

Labels of feeds in mass source defining the fluid composition. Requires COMPOSITIONAL = ON under the OPTIONS keyword and access to the compositional module.

FEEDMASSFRACTION

r.l. (-)

Mass fraction of each feed (used when source valve is defined). One item per time and feed.

FEEDMOLEFRACTION

r.l. (-)

Mole fraction of each feed (used when source valve is defined). One item per time and feed.

FEEDMASSFLOW

r.l. (kg/s)

Mass rate for each feed (used when mass source is defined). One item per time and feed.

FEEDMOLEFLOW

r.l. (kmol/s)

Mole rate for each feed (used when mass source is defined). One item per time and feed.

FEEDSTDFLOW

r.l. (Sm3/s)

Volumetric flow rate at standard condition of the specified PHASE for each feed specified by FEEDNAME (only for Blackoil model)

Page 320

Chapter 3: Input File Description, SOURCE

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

FEEDVOLFRACTION

r.l. (-)

GASFRACEQ

r.l. (-)

[1.0]

By default, the equilibium gas fraction of the total flow is used for the gas flow in the compositional model, and GASFRACEQ = 1. But the user may specify a fraction of the gas equilibrium flow to be sent into the pipeline. This key is only available in the compositional module. One item per time point.

GASFRACTION

r.l. (-)

[-1.0]

Gas mass fraction in gas and oil mixture. By default, the gas mass fraction from the PVT table is used for inflow (GASFRACTION < 0). A list of both positive and negative values is not allowed. For outflow, the gas mass fraction can be specified as equal to the gas mass fraction in the source section by setting GASFRACTION < 0.

GLR

r.l.

Gas/liquid volumetric flow ratio

GOR

r.l.

Gas/oil volumetric flow ratio. By default, the GOR from the PVT table is used.

LABEL

str.

[Integer increment]

Source label, default is source number.

MASSFLOW

r.l. (kg/s)

-

Total mass flow rate at all time points.

MEGFRACTION

r.l. (-)

[0.0]

Mass fraction of MEG in the water phase.

MOLWEIGHT

r.l. (kg/kmol)

OILFRACEQ

r.l. (-)

[1.0]

By default, the equilibirium oil fraction of the total flow is used for the oil flow in the compositional model, and OILFRACEQ = 1. But the user may specify a fraction of the oil equilibrium flow to be sent into the pipeline. This key is only available in the compositional module. One item per time point.

PHASE

sym.

GAS | LIQUID | OIL | WATER

The phase for which volumetric flow rate is specified.

PIPE

sym.

Volume fraction of each feed given in FEEDNAME for choke model (only for Blackoil model)

(Sm3/Sm3) (Sm3/Sm3)

Molecular weight of equivalent gas (total flow). By default, the gas density at standard conditions from the PVT table is used to determine the molecular weight.

Pipe number.

Chapter 3: Input File Description, SOURCE

Page 321

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

POSITION

sym.

-

PRESSURE

r.l.(Pa)

[Section pressure if given massflow]

SECTION

i.

Section volume number where the source is located.

STDFLOWRATE

r.l. (m3/s)

Volumetric flow rate at standard conditions.

TEMPERATURE

r.l. (oC)

-

Fluid temperature at all time points.

TIME

r.l. (s)

-

The time points when the flow is to be changed. Note that the value actually used by the program is interpolated between the values specified by the given timetable.

TOTALMEGFRACTION

r.l. (-)

[0.0]

Mass fraction of MEG in total water (water phase + water vapor).

TOTALWATERFRACTION

r.l.(-)

[0.0]

Mass fraction of total water in the total source flow mixture. With a value of -1.0 the total water fraction is taken from the fluid table (interpreted as free water if WATERFLASH = OFF, and free water + water in gas if ON). Either this key or the WATERFRACTION can be specified. For outflow, this key is ignored if GASFRACTION < 0 (the water fraction in the source section is used).

Position where the source is located. If this is defined, BRANCH, PIPE and SECTION should not be used. Upstream pressure for a positive (flow into pipeline). source Downstream pressure for a negative source. Required key if source valve is used (option 2).

Requires PHASE = THREE under the OPTIONS keyword and access to the water module. VISCOSITY

r.l. (Ns/m2)

-

Viscosity of the drilling fluids for each time point. Must be within the min and max viscosity as specified in the keyword DRILLINGFLUID. Omitted if the drillingfluid properties are given in a separate fluid property file.

WATERCUT

r.l.(-)

[0.0]

Water volume fraction in oil/water mixture. With a value of -1.0 the total water fraction is taken from the fluid table

Page 322

Chapter 3: Input File Description, SOURCE

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

WATERFRACEQ

r.l.(-)

[1.0]

By default, the equilibrium water fraction of the total flow is used for the water flow in the composiotional model, and WATERFRACEQ = 1. But the user may specify a fraction of the water equilibrium to be sent into the pipeline. This key is only available in the compositional module. One item per time point.

WATERFRACTION

r.l.(-)

[0.0]

Mass fraction of free water in the total source flow mixture. Either this key or the TOTALWATERFRACTION can be specified. For outflow, this key is ignored if GASFRACTION < 0 (the water fraction in the source section is used). Requires PHASE = THREE under the OPTIONS keyword and access to the water module.

WAXFRACTION

r.l. (-)

[1.0]

Scaling factor for determining the amount of wax forming components relative to HC mixture. The value must be in the range [0,1]. 1 means the amount of wax forming components is equal to values from the wax table. Requires WAXDEPOSITION = ON under the OPTIONS keyword and access to the waxdeposition module.

Required keys:

LABEL, TEMPERATURE, TIME

Internal dependencies of keys: either BRANCH PIPE SECTION or POSITION end TIME

=1 =1 = [1] = SOURCE-1 = (0, 100 )

If the mass flow rate is given, then CONTROLLER either MASSFLOW GASFRACTION PRESSURE either WATERFRACTION MEGFRACTION or

= C-101 ! Controls fraction of given mass flow = (0.0, 10.0) [kg/s] = [(-1,-1)] = [Section pressure] = [(0.0, 0.0)] = [(0.0, 0.0)] ! only for MEG tracking

Chapter 3: Input File Description, SOURCE

Page 323

TOTALWATERFRACTION = [(0.0, 0.0)] either MEGFRACTION = [(0.0, 0.0)] ! only for MEG tracking or TOTALMEGFRACTION = [(0.0, 0.0)] ! only for MEG tracking end end if WAXDEPOSITION=ON in OPTIONS WAXFRACTION = [2:1.0] end if or STDFLOWRATE WATERCUT PRESSURE PHASE If PHASE = GAS MOLWEIGHT end if

= (0.0, 1000) STB/D = (0.1, 0.1) = [Section pressure] = LIQUID = (20.5) ! If equivalent gas stdflowrate (gas+liquid)

either GLR

= (100, 100)

or GOR = (120, 120) end if WAXDEPOSITION=ON in OPTIONS WAXFRACTION = [2:1.0] end if or if the compositional tracking module is used FEEDNAME = (FEED-1, FEED-3) either FEEDMASSFLOW = (20, 35.3, 20, 35.3) [kg/s] or FEEDMOLEFLOW = (50, 30.5, 50, 30.5) [kmol/s] end PRESSURE GASFRACEQ OILFRACEQ WATERFRACEQ or if the black oil module is used FEEDNAME STDFLOWRATE PHASE

= [section pressure] = (0.5,0.5) ! override equilibrium phase fractions = (0,0) ! override equilibrium phase fractions = (0,0) ! override equilibrium phase fractions = (BO-1, BO-3) = (0.0, 0.0, 1000, 1000) STB/D = GAS || OIL

or if a drilling fluid is simulated MASSFLOW = (0.0, 10.0) [kg/s] PRESSURE = [Section pressure] DRILLINGFLUID = DRILLINGFLUID-1 if drillingfluid properties are NOT given in a separate file, then DENSITY = (1000, 1000) VISCOSITY = (1, 1) cP end end end if If the mass flow is to be calculated based on the opening of the choke, then (standard conditions not allowed) CD = [0.84] DIAMETER = 0.45 CONTROLLER = C-101

Page 324

Chapter 3: Input File Description, SOURCE

PRESSURE = 2:40 bara either GASFRACTION = 2:-1 either WATERFRACTION = 2:0 MEGFRACTION = [(0.0, 0.0)] ! only for MEG tracking or TOTALWATERFRACTION = 2:0 TOTALMEGFRACTION = [(0.0, 0.0)] ! only for MEG tracking end or if the compositional tracking module is used (multiple time and feeds, see note below) FEEDNAME = (FEED-1, FEED-3) either FEEDMASSFRACTION = (0.7, 0.3, 0.7, 0.3) or FEEDMOLEFRACTION = (0.6, 0.4, 0.5, 0.5) end WATERFRACEQ = (0,0) ! override equilibrium phase fractions or if the black oil module is used FEEDNAME FEEDVOLFRACTION or if a drilling fluid is simulated DRILLINGFLUID DENSITY VISCOSITY end end if

= (BO-1, BO-3) = ( 0.7, 0.3, 0.7, 0.3 ) = DRILLINGFLUID-1 = 2:1000 = 2:1 cP

Note: For the subkeys FEEDMASSFLOW, FEEDMOLEFLOW, FEEDMASSFRACTION and FEEDMOLEFRACTION, the array is a function of both feed and time as shown below. FEEDMASSFRACTION = FEED-1 (T1), FEED-2(T1), FEED1(T2), FEED-2(T2))

Examples: Example 1: !*************************************************************************** ! Controllers !--------------------------------------------------------------------------! CONTROLLER LABEL = C-502, TYPE = MANUAL, TIME = 0,\ SETPOINT = 0.3E-01, STROKETIME = 33.33 . . . !*************************************************************************** ! Source with VALVE Definition !--------------------------------------------------------------------------! SOURCE LABEL = SOVA-1-1, BRANCH = 1, PIPE = 1, SECTION = 1,\ CD = 1., DIAMETER = 0.1779, TIME = 0, PRESSURE = 0.168E+08,\ TEMPERATURE = 73., GASFRACTION = -1., WATERFRACTION = 0,\ CONTROLLER = C-502 . . .

Example 2: !*************************************************************************** ! Massflow !--------------------------------------------------------------------------! SOURCE LABEL = SOUR-1, BRANCH = 1, PIPE = 1, SECTION = 1,\

Chapter 3: Input File Description, SOURCE

Page 325

TIME = (0., 0.1000E+07), TEMPERATURE = (2:98.),\ MASSFLOW = (2:17.77), GASFRACTION = (2:-1.), WATERFRACTION = (2:0) . . .

Example 3: !*************************************************************************** ! Standard flowrate !--------------------------------------------------------------------------! SOURCE LABEL = SOUR-1-1, POSITION = INLET, \ TIME = 0, TEMPERATURE = 62., STDFLOWRATE = 9000. STB/D, PHASE = LIQUID,\ WATERCUT = 0. !*************************************************************************** . . .

Example 4: !*************************************************************************** ! Source with VALVE Definition and feed given !--------------------------------------------------------------------------! SOURCE LABEL = SOVA-1-1, BRANCH = 1, PIPE = 1, SECTION = 1,\ CD = 1., DIAMETER = 0.1779, TIME = 0, PRESSURE = 0.168E+08,\ TEMPERATURE = 73., FEEDNAME = (FEED-1, FEED-3),\ FEEDMASSFRAC = (0.3, 0.7), CONTROLLER = C-502 !*************************************************************************** . .

Example 5: !*************************************************************************** ! Source Definition using feeds !--------------------------------------------------------------------------! SOURCE LABEL = SOUR-1, BRANCH = 1, PIPE = 1, SECTION = 1,\ TIME = (0., 0.1000E+07), TEMPERATURE = (2:98.),\ FEEDNAME = (FEED_1, FEED_3),\ FEEDMOLEFLOW = (50, 30.5, 50, 30.5) kmol/s !*************************************************************************** . .

Example 6: !*************************************************************************** ! Source using equivalent gas volumetric flow rate !--------------------------------------------------------------------------! SOURCE LABEL = SOURCE-1, BRANCH = BRANCH 1, CRITFLOWMODEL=FROZEN, \ GOR=20000000000 Sm3/Sm3, MOLWEIGHT=33.76 kg/kmol, PHASE=GAS, PIPE=PIPE-1, \ SECTION=1, STDFLOWRATE=2 Sm3/s, TEMPERATURE=30 C, TIME=0 s, WATERCUT=0 -PIPE = 1, SECTION = 1,\ . . .

Page 326

Chapter 3: Input File Description, TABLE

3.3.55 TABLE

This statement defines a function in a tabular form for either valve sizing coefficient, well flow parameters or gas lift valve curve (GLV defined in LEAK). Keyword:

TABLE

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

INJECTIONPRESSURE

r. (Pa)

-

The injection pressure for which the GLV curve is defined

LABEL

str.

-

Table label.

POINT

r.l.

-

Define the list of both values of independent and dependent variables in the table.

XVARIABLE

sym.

OPEN | DELTAP |

Independent variable name. Default units: OPEN (-), DELTAP (Pa), PRODUCTIONPRESSURE (Pa), LEVEL (m).

PRODUCTION PRESSURE | LEVEL

YVARIABLE

sym.l.

CV | FLOW etc. | STDGASFLOW| VOLUME

Required keys:

Description

Dependent variable name. Default units: Cv (USgal/(min*psi1/2), FLOW etc. (kg/s, kg/(Pa*s), -, s), STDGASFLOW (Sm3/s), VOLUME (m3).

LABEL, POINT, XVARIABLE, YVARIABLE

Internal dependencies of keys:

Allowed names of XVARIABLE: For valve table:

OPEN

-

Opening of the valve (-)

For well table:

DELTAP

-

Pressure difference between reservoir pressure and bottom-hole flowing pressure (Pa)

For GLV table:

PRODUCTIONPRESSURE Pressure downstream of the GLV (Pa)

For separator table: LEVEL

-

Level (height) in separator for specifying nonsylindrical shape of separator (m)

-

Valve sizing coefficient Cv in eq. (2.59) for PHASE = LIQUID (gal/min / psi ½) Cg in eq. (2.60) for PHASE = GAS

Allowed names of YVARIABLE: For valve table:

CV

Chapter 3: Input File Description, TABLE

Page 327

(lb/hr / (psi x lb/ft3)1/2) For well table:

FLOW GASFL LIQFL PILIQ WATFR OILTC GASTC WATTC

-

For GLV table:

STDGASFLOW- Gas volume flow at standard condition; 1 atm, 60 F (Sm3/s).

For separator table: VOLUME -

Total flow rate at reservoir conditions (kg/s) Gas flow rate at reservoir conditions (kg/s) Liquid flow rate at reservoir conditions (kg/s) Liquid productivity index (kg/Pa-s) Water mass fraction in liquid (-) Time constant for oil flow (s) Time constant for gas flow (s) Time constant for water flow (s)

Separator volume, for cylindrical shapes (m3)

specifying

non-

Note that internal input check for over-specification of the YVARIABLES for the well table is not available. OLGA reads the table and uses the variable(s) in the order of priority as listed above, e.g. if both LIQFL and PILIQ is specified, PILIQ is ignored. The use of the well parameters is described in sections 2.3.3 and 3.3.64. Note that the valve sizing coefficient is equivalent to the gas sizing coefficient (Cg) when the pressure drop equation for gas is used (Eq. 2.60). Examples: Example 1: !*************************************************************************** ! TABLE Definition !--------------------------------------------------------------------------TABLE LABEL = VALV-1, XVARIABLE = OPEN, YVARIABLE = CV TABLE POINT = (0., 0.) TABLE POINT = (0.3000, 100.0) TABLE POINT = (0.6000, 200.0) TABLE POINT = (1.000, 300.0) !*************************************************************************** ! Valve Definition !--------------------------------------------------------------------------! VALVE LABEL = VALV-1, BRANCH = 1, PIPE = 1, SECTIONBOUNDARY = 3,\ PHASE = LIQUID, TABLE = VALV-1, TIME = (0., 10.00, 30.00),\ OPENING = (0.1000, 0.5000, 1.000) !***************************************************************************

Example 2: !*************************************************************************** ! TABLE Definition for WELL !--------------------------------------------------------------------------TABLE LABEL = TRAN-WEL, XVAR = DELTAP bar,\ YVAR = ( LIQFL, GASFL, WATFRAC, OILTC, GASTC) TABLE POINT = (0, 0.00 , 0.0, 0.0, 0, 500) TABLE POINT = (25.0, 3.03 , 0.0, 0.0, 0, 500) TABLE POINT = (30.0, 3.636 , 0.1523, 0.0, 0, 500) ! !*************************************************************************** ! WELL Definition !--------------------------------------------------------------------------WELL LABEL = INLET, BRANCH = 1, PIPE = 1, SECT = 1,\ RESPRE = 100 BAR, RESTEM = 62,\ PRODOPTION = TABULAR, PRODTABLE = TRAN-WEL, \ INJOPTION = LIN, AINJ = 0, BINJ = 1.E-6 ,\

Page 328

Chapter 3: Input File Description, TABLE

LOCATION = BOTTOM, ISOTHERMAL = YES,\ GASDIS = 10, GFRTC = 100, GASPLIMIT = 75 bar ! !***************************************************************************

Example 3: !*************************************************************************** ! TABLE Definition for WELL !--------------------------------------------------------------------------TABLE LABEL = WEL-INFLOW, XVAR = DELTAP bar,\ YVAR = (FLOW) TABLE POINT = (0, 0.00) TABLE POINT = (25.0, 3.03) TABLE POINT = (30.0, 3.636) ! !*************************************************************************** ! WELL Definition !--------------------------------------------------------------------------WELL LABEL = INLET, BRANCH = 1, PIPE = 1, SECT = 1,\ RESPRE = 100 BAR, RESTEM = 62, GASFRACTION = -1, WATERFRACTION = 0.12,\ PRODOPTION = TABULAR, PRODTABLE = WEL-INFLOW, \ INJOPTION = TABULAR, INJTABLE = WEL-INFLOW, \ LOCATION = BOTTOM, ISOTHERMAL = YES ! !***************************************************************************

Example 4: !*************************************************************************** ! TABLE Definition for GLV !--------------------------------------------------------------------------TABLE LABEL = GLV-11, XVARIABLE=PRODUCTIONPRESS PSIA, \ YVARIABLE=STDGASFLOW MMSCF/D, INJECTIONPRESS=2600 PSIA TABLE POINT=(1600,0) TABLE POINT=(1900,0.6) TABLE POINT=(2100,1) TABLE POINT=(2400,0.4) TABLE POINT=(2600,0) ! TABLE LABEL=GLV-12, XVARIABLE=PRODUCTIONPRESS PSIA, \ YVARIABLE=STDGASFLOW MMSCF/D, INJECTIONPRESS= 3600 PSIA TABLE POINT=(1400,0.0) TABLE POINT=(1700,1.5) TABLE POINT=(2200,3.0) TABLE POINT=(2400,4) TABLE POINT=(2600,5) TABLE POINT=(3200,2) TABLE POINT=(3400,1) TABLE POINT=(3600,0) ! !*************************************************************************** ! LEAK Definition !--------------------------------------------------------------------------LEAK LABEL=GLV-1, POSITION=UP-LEAK, TOPOSITION=DOWN-LEAK, \ TEMPDEPENDENCY=OFF, GASLIFTTABLES=(GLV-11, GLV-12) ! !***************************************************************************

Example 5: !*************************************************************************** ! TABLE Definition for non-cylindrical separator !--------------------------------------------------------------------------TABLE LABEL = SEPTABLE, XVARIABLE=LEVEL, YVARIABLE=VOLUME TABLE POINT = (0., 0.) TABLE POINT = (0.25, 0.01) TABLE POINT = (2.75, 59.3957) ! !*************************************************************************** !SEPARATOR Definition !--------------------------------------------------------------------------SEPARATOR LABEL=SEP-1, LEVELTABLE=SEPTABLE, EFFICIENCY=1, \ EMGBACKPRESSURE=10 bar, EMGCD=1, EMGDIAMETER=0.05 m, HHOILHOLDUP=0.65 -,\ HHWATHOLDUP=0.3 -, INITOILLEVEL=0.358 m, INITWATLEVEL=0.291 m, \ LLOILHOLDUP=0.135 -, LLWATHOLDUP=0.05 -, OILBACKPRESSURE=14 bar, OILCD=1,\ OILTCONST=5 s, OILCONTROLLER=DRAIN, OILDIAMETER=0.05 m, OILTIME=0 s, \ ORIENTATION=VERTICAL, PHASE=THREE, POSITION=SEPARATOR, \ RESETHOLDUP=0.25 -, STROKETIME=15 s, TRAIN=GAS, WATBACKPRESSURE=14 bar, \

Chapter 3: Input File Description, TABLE

WATCD=1, WATTCONST=5 s, WATCONTROLLER=WDRAIN, WATDIAMETER=0.05 m, \ WATTIME=0 s

Page 329

Page 330

Chapter 3: Input File Description, TOOLJOINT

3.3.56 TOOLJOINT

This statement defines the geometrical data for internal and external pipe upsets in the flow path. The purpose is to calculate a correction factor for the pipe wall roughness due to the pipe upsets. The TOOLJOINT keyord is part of the Advanced Well module. Keyword:

TOOLJOINT

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

D1EXUP

r. (m)

-

External upset of pipe/tubing.

D2INUP

r. (m)

-

Internal upset in annulus/tubing.

DD1

r. (m)

-

Inner diameter in annulus.

DD2

r. (m)

-

Outer diameter in annulus.

GEOMETRY

Sym.

-

Geometry label where the tool-joint is located.

LABEL

str.

-

Tool-joint label, default is tool-joint number.

LJOINT

r. (m)

-

Length of pipe between upsets.

LUPSET

r. (m)

-

Length of upset.

PIPE

Sym.l.

[ALL]

Label of pipe(s) for which the wall roughness shall be adjusted.

Chapter 3: Input File Description, TOOLJOINT

Page 331

Figure 3.5 Side view and cross section of flowpath with upsets. Required keys:

LABEL, GEOMETRY, DD2, D2INUP, DD1, D1EXUP, LUPSET, LJOINT

Internal dependencies of keys: None Example: !*************************************************************************** ! TOOLJOINT Definition !--------------------------------------------------------------------------! TOOLJOINT LABEL = UPSET_W1, GEOMETRY = GEOM_1, DD2 = 0.20, D2INUP = 0.015, \ DD1 = 0.08, D1EXUP = 0.015, LUPSET = 0.2, LJOINT = 9.0

Page 332

Chapter 3: Input File Description, TREND

3.3.57 TREND

This statement defines the trend option that prints data to a file for plotting of specific variables as a function of time. See Appendix A for list of variables available for plotting. If the soil module is used, the temperatures for selected cells can be trended. If the bundle module is used, the fluid temperature for selected lines can be trended. In both cases some additional information must be given. If the Compositional Tracking, MEG Tracking or Advanced Well (drilling) modules are used, variables for different components can be trended. Keyword:

TREND

Dependencies:

BRANCH, GEOMETRY, BUNDLE, OPTIONS

POSITION,

GRID,

LINE,

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BRANCH

sym.l

-

Branch numbers where the variables will be plotted.

COMPONENT

sym.l.

[ALL]

Component names. With the MEG tracking module, available components are HC, H2O and MEG. With DRILLING=ON in OPTIONS there are 15 available components as specified in Chapter 2 (Drilling option). For the compositional model the names of the available components are given in the feed file.

DELETEPREVIOUS

sym.

ON | [OFF]

All trend variables defined before this keyword will be deleted from the list of trend variables, also those read from the restart file.

DTPLOT

r.l. (s)

-

Sample period for obtaining variable values. DTPLOT should only be given once in the input file. If it is given more than once, OLGA will only use the last one.

LAYER

i.l.

[ALL]

Wall layer no's for plotting of wall temperatures. Layer no 1 is the innermost.

LINE

sym.l.

-

Bundle line name.

NPLOT

i.l.

-

Number data points for plotting. A list of values for NPLOT refers to the time points given in TIME. The sample period is calculated as ∆TIME / NPLOT.

PIPE

sym.l.

-

Pipe numbers where the variables will be plotted.

Chapter 3: Input File Description, TREND

Key

Page 333

Type Unit: ( )

Parameter set Default: [ ]

POSITION

sym.l.

-

Positions where the variables will be plotted out. If this is defined for variables, BRANCH, PIPE, and SECTION should not be used for the same variables. NB! The key POSITION is also used for referencing process equipment with label names. For the variables that are related to a processor equipment, such as CHOKE, CHECKVALVE, VALVE, COMPRESSOR, CONTROLLER, HEATEXCHANGER, LEAK, PIG/PLUG, SEPARATOR, SOURCE, PUMP and WELL, the LABEL of the process equipment should be used instead of a defined POSITION (BRANCH=xx, PIPE=xx, SECTION=xx) in the POSITION key.

SECTION

i.l.

-

Section or section boundary numbers where the variables will be plotted.

SLUG

i.l.

-

ID numbers of slugs which will be plotted.

TIME

r.l. (s)

-

Time point when the plot interval is changed.

VARIABLE

sym.l.

-

List of variables to be plotted. Units may be included in the list.

SOILCOLUMN

i.l.

-

Column of soil cells that TSOIL is printed for. Must be specified together with SOILROW.

SOILROW

i.l.

-

ROW of soil cell that is printed for. Must be specified together with SOILCOLUMN.

Required keys:

Description

DTPLOT or NPLOT

Internal dependencies of keys: It is recommended to define DPLOT or NPLOT in a separate TREND statement above the TREND statements with variable specifications. If DELETEPREVIOUS is used, it should also be specified in a separate TREND keyword. If global variables are specified, then VARIABLE = (HT, NINTGR, VOLGBL) else if branch variables are specified, then BRANCH VARIABLE

=1 = (LIQC, MASSIN, MASOUT)

end if else if it is a volume variable, boundary variable or a slug variable in a specified position, then either BRANCH =1 PIPE =1

Page 334

Chapter 3: Input File Description, TREND

SECTION

=1

POSITION

= POSITION-1

or end either VARIABLE or

= (HOL, UG)

!Slug variables can not be given in the !same keyword as volume and boundary !variables.

VARIABLE = ALEXP if VARIABLE = TW then see example end else VARIABLE = TSOIL, then either BRANCH =1 PIPE =1 SECTION =1 or POSITION = POSITION-1 end SOILROW = (2, 4, 6) SOILCOLUMN = (6 - 8) else if it is a bundle line variable LINE = (CAR-LINE, RET-LINE) PIPE =1 SECTION =1 VARIABLE = (TBUN, UVALUE) else if it is a process equipment variable (see sec. 3 of Appendix A for list of process equipment variables) POSITION = VALVE-1 !The position used is the label of the process !equipment VARIABLE = (PVALVE, TVALVE, GVALVE) else if it is a slug variable for a specific unique slug, then SLUG = 100 !The slug number used is the ID of the !slug VARIABLE = (ALFSB, ULFSB) else if it is a compositional variable, then either BRANCH =1 PIPE =1 SECTION =1 or POSITION = POSITION-1 end VARIABLE = (XG, CGDH) if COMPOSITIONAL=ON in OPTIONS COMPONENT = (C1, C2, MeOH) !Defined in feed file else if COMPOSITIONAL=MEG in OPTIONS COMPONENT = (HC, H2O, MEG) else if DRILLING=ON in OPTIONS COMPONENT = (HC, H2O, DENMIN, VISMIN) end if end if If DTPLOT needs to be changed, then TIME = (0, 100) either DTPLOT = (0.1, 1) or NPLOT = (1000, 500) end end if

Chapter 3: Input File Description, TREND

Page 335

Examples: Example 1: !*************************************************************************** ! TREND Definition !--------------------------------------------------------------------------! TREND DTPLOT = 0.2E+02 TREND BRANCH = 1, PIPE = 2, SECTION = 2,\ VARIABLE = LSLEXP TREND BRANCH = 1, PIPE = 13, SECTION = 15,\ VARIABLE = LSLEXP TREND BRANCH = 1, VARIABLE = LIQC TREND BRANCH = 1, PIPE = 14, SECTION = 1, VARIABLE = (HOL, TM,\ PT) TREND BRANCH = 1, PIPE = 16, SECTION = 1, VARIABLE = PT TREND BRANCH = 1, PIPE = 17, SECTION = 1, VARIABLE = (GT, GLT,\ GG) TREND VARIABLE = (HT, NSLUG) TREND BRANCH = 1, PIPE = 1, SECTION = 1,\ VARIABLE = (ALEXP, BEEXP) TREND BRANCH = 1, PIPE = 1, SECTION = 1,\ VARIABLE = BEEXP

Example 2: !*************************************************************************** ! TREND Definition !--------------------------------------------------------------------------! TREND TIME = (0, 10), DPLOT = (0.5, 1.0) TREND SLUG = 1, VARIABLE = (ZTSL, UST, ZFSL, USF, UGTSB,\ ULTSB, ULTSL, ULFSL, ALTSB, ALFSB, LSL) TREND BRANCH = 1, PIPE = 2, SECTION = 4,\ VARIABLE = (LSLEXP, HOLEXP) TREND BRANCH = 1, PIPE = 4, SECTION = 34, VARIABLE = (LSLEXP,\ HOLEXP) TREND BRANCH = 1, PIPE = 4, SECTION = 6, VARIABLE = (BE, GA) TREND BRANCH = 1, PIPE = 1, SECTION = 2,\ VARIABLE = HOLEXP TREND VARIABLE = (VOLGBL, RMERR, NINTGR)

Example 3: !*************************************************************************** ! Plotting of wall layer temperatures !--------------------------------------------------------------------------! All or selected wall layer temperatures can be plotted - depending on the ! LAYER key (LAYER no 1 is the innermost wall layer): ! Plotting of all layer temperatures for a wall consisting of 4 layers in ! BRANCH_1,PIPE_5 and pipe section no 7: ! either TREND BRANCH = BRANCH_1, PIPE = PIPE_5,SECTION = 7, VARIABLE = TW ! or TREND BRANCH = BRANCH_1, PIPE = PIPE_5,SECTION = 7, VARIABLE = TW,\ LAYER = (1-4) ! or ...,LAYER = (1,2,3,4) ! ! Plotting of selected layers, e.g. layer no 1 and 3 for the wall described ! above: ..., LAYER = (1,3)

Example 4: !*************************************************************************** ! TREND Definition !--------------------------------------------------------------------------! TREND TIME = (0, 10), NPLOT = (20, 100) TREND BRANCH = 1, PIPE = 2, SECTION = 4, VARIABLE = (PT, TM, HOL) TREND VARIABLE = (VOLGBL, RMERR, NINTGR)

Page 336

Chapter 3: Input File Description, TUNING

3.3.58 TUNING

This statement defines the tuning option, which makes it possible to tune certain parameters in the model. The parameters available for tuning are listed in the table below. Remark: The availability of the tuning option depends on the user’s licensing agreement with Scandpower Petroleum Technology.

The TUNING keyword may be used for adjusting the OLGA model to specific sets of measured data or for sensitivity studies. This keyword is available both in batch and server mode. TUNING should be applied with great care, as the validation and verification of the OLGA model may not be valid for such cases. The tuning coefficients will be multiplied with the related values which is calculated by OLGA or the original value set in the input file, depending on whether the tuned parameter is dynamically calculated by OLGA or if it is normally a case invariant (e.g. geometry information). The exception is SLUGLENGTH which is interpreted directly as slug length in number of diameters. The Taylor bubble velocity is calculated as

U B = UBcoeff 1 ⋅ C0 ⋅ U mix + UBcoeff 2 ⋅ U 0

(3.1)

where Umix is sum of superficial velocities. The slug front pressure drop is as follows: If Ufilm < DPonset⋅Ucrit:

∆p slugftont = DPfact ⋅

f (α , ρ l ) ⋅ (U film − DPonset ⋅ U crit ) 2 (3.2) Sluglength

If Ufilm > DPonset⋅Ucrit:

∆p slugftont = 0

Keyword:

TUNING

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

AREA

r.l.

[1.0]

Tuning coefficient for AREA in PIPE (used for equivalent pipes). NOTE: Cannot be applied on individual sections. Pipe level and higher is allowed.

BRANCH

sym.l.

[ALL]

Branch numbers or labels where the specified tuning parameters will be applied.

DIAMETER

r.l.

[1.0]

Tuning coefficient for diameter. NOTE: Cannot be applied on individual sections. Pipe level and higher is allowed.

Chapter 3: Input File Description, TUNING

Key

Page 337

Type Unit: ( )

Parameter set Default: [ ]

Description

DPFACT

r.

[1.0]

Tuning coefficient for slug front pressure drop (with and without SLUGTRACKING). Has no effect for a large value of SLUGLENGTH when not SLUGTRACKING.

DPONSET

r.

[1.0]

Tuning coefficient for onset of slug front pressure drop (with and without SLUGTRACKING). The slug front pressure drop is set to 0 when the film velocity in the slug bubble region is larger than a certain critical velocity which can be tuned.

ENTRAINMENT

r.l.

[1.0]

Tuning coefficient for entrainment rate of liquid droplets in gas

GROUGHNESS

r.

[1.0]

Tuning coefficient for roughness from droplets

LAM_LGI

r.l.

[1.0]

Tuning coefficient for interfacial friction factor between liquid and gas

LAM_WOI

r.l.

[1.0]

Tuning coefficient for interfacial friction factor between oil and water

LIQUIDVISC

r.l.

[1.0]

Tuning coefficient for liquid viscosity

MASSTRANSFER

r.l.

[1.0]

Tuning coefficient for between gas and oil.

OILDENSITY

r.l.

[1.0]

Tuning coefficient for oil density

PIPE

sym.l.

[ALL]

Pipe numbers or labels where the tuning parameters will be applied.

POSITION

sym.l.

-

Positions where the tuning parameters will be applied. If this key is defined, BRANCH, PIPE, and SECTION can not be used in the same keyword statement.

ROUGHNESS

r.l.

[1.0]

Tuning coefficient for inner wall roughness. NOTE: Cannot be applied on individual sections. Pipe level and higher is allowed.

SECTION

i.l.

[ALL]

Section or section boundary numbers where the tuning parameters will be applied.

SLUGLENGTH

r.

[1E9]

Slug length (no. of diameters) in slug front pressure drop correlation for unit cell model (ignored for SLUGTRACKING). dP/dz is inversely proportional to SLUGLENGTH,

TAMBIENT

r.l.

[1.0]

Tuning coefficient temperature.

UBCOEFF1

r.

[1.0]

Tuning coefficient 1 in Taylor bubble velocity calculation (with and without SLUGTRACKING)

mass

for

transfer

ambient

Page 338

Chapter 3: Input File Description, TUNING

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

UBCOEFF2

r.

[1.0]

Tuning coefficient 2 in Taylor bubble velocity (with and without SLUGTRACKING)

VOIDINSLUG

r.

[1.0]

Tuning coefficient for void in slug (with and without SLUGTRACKING)

Required keys: None Internal dependencies of keys:

BRANCH, PIPE and SECTION will be processed in a nested manner. The number of tuning entries must be either one or according to the multiple of the listed combination of branches, pipes and sections or according to the number of position entries. The exception is the tuning coefficients GROUGHNESS, DPFACT, DPONSET, SLUGLENGTH, UBCOEFF1, UBCOEFF2 and VOIDINSLUG that are global coefficients with one value each that are used for the entire system.

Chapter 3: Input File Description, TUNING

Page 339

Examples: Example 1: TUNING BRANCH = (B1,B2), PIPE = (P1,P2), SECTION = (1,2),\ MASSTRANSFER = (1.1,1.1,1.2,1.2,1.3,1.3,1.4,1.4)

1.1 values are set for B1,P1,section 1,2 1.2 values are set for B1,P2, section 1,2 1.3 values are set for B2,P1,section 1,2 1.4 values are set for B2,P2,section 1,2 The mass transfer rate calculated dynamically by the standard OLGA model will be multiplied by the tuning coefficient values for the sections as listed above. Example 2: TUNING BRANCH = (B1,B2), PIPE = (P1,P2) ,\ DIAMETER = (1.1,1.1,1.2,1.2)

1.1 values are set for B1, pipes P1,P2 1.2 values are set for B2, pipes P1,P2 The inner pipe diameters set in the input file will be multiplied by the tuning coefficient values for the pipes as listed above. Example 3: TUNING BRANCH = (B1,B2), MASSTRANSFER = (1.1,1.2)

1.1 set for B1 1.2 set for B2 Example 4: TUNING BRANCH = (B1,B2), PIPE = (P1,P2), SECTION = (1,2), \ MASSTRANSFER = 1.1

1.1 is set for sections 1,2 in both pipes P1,P2 in both of the branches B1,B2. Example5: TUNING POSITION=(POS-1,POS-2), MASSTRANSFER = (1.1,1.2)

1.1 is set for POS-1 1.2 is set for POS-2 Example 6: TUNING MASSTRANSFER = 1.0, DIAMETER, = 1.0

Resetting masstransfer to standard calculated values and diameter to original values for the whole system.

Page 340

Chapter 3: Input File Description, UNITS (NOT AVAILABLE WITH OLGA GUI)

3.3.59 UNITS (Not available with OLGA GUI)

This statement defines the units option. With this option, the user can define units which are not available in the code. Keyword:

UNIT

Dependencies:

NONE

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

COMPRESSORDATA

sym.

[SI] | BRITISH

Units used for data in compressor table.

FACTOR

r.

-

The conversion factor from the user defined unit to the code default unit.

PVTDATA

sym.

[SI] | BRITISH

Units used for data in PVT table.

QUANTITY

sym.

PRESSURE | FLOW | ENERGY etc.

UNIT

str.

-

The physical definition of the quantity for which a new unit is to be defined. See Appendix B. The name of the unit to be specified for the quantity.

Internal dependencies of keys:

If a new unit is to be defined, then UNIT QUANTITY FACTOR

= MM, = LENGTH, = 1.0E-3

endif Example: !*************************************************************************** ** ! UNIT Definition !---------------------------------------------------------------------------UNIT QUANTITY = LENGTH, UNIT = MM, FACTOR = 1.0 E-3 . . .

Chapter 3: Input File Description, VALVE

Page 341

3.3.60 VALVE

This statement defines the valve option. This option is used to calculate the pressure drop over a valve using the critical choke model and a valve sizing equation. The choke and valve models are described in section 2.2.9. Note that a valve cannot be defined at the last section boundary of the last branch of the branches going into a SPLIT node, since the last section volume is used as the control volume for the SPLIT node. Of the same reason no valve can be defined on the first section boundary of the branch coming from a MERGE node. Keyword:

VALVE

Dependencies:

BRANCH, GEOMETRY, CONTROLLER, POSITION

Key description table: Key

Type Unit: ( )

Parameter set Default: [ ]

Description

BACKPRESSURE

r.l.(Pa)

-

Backpressure for valves referred to in SEPARATOR keyword (for singletrain separators)

BRANCH

sym.

-

Branch number where the valve is located.

CD

r.

[0.84]

Discharge coefficient.

CF

r.

-

Ratio between gas and liquid sizing coefficient.

CONTROLLER

sym.

-

Controller label for relative valve flow area.

CRITFLOWMODEL

sym.

[FROZEN] HENRYFAUSKE | SUBCRITICAL

Choice of critical flow model to be used. Homogenous frozen critical flow model or Henry-Fauske model. In addition, a forced subcritical option is available.

DIAMETER

r. (m)

-

Maximum choke diameter.

LABEL

str.

[Integer increment]

Valve label, default is valve number.

OPENING

r.l.

-

Relative openings in the valve opening time table.

PHASE

sym.

GAS | LIQUID | TWO | THREE

The type of the flow through the valve. For two or three phase flow, use LIQUID. Option TWO and THREE are reserved to future use. In this OLGA version they are equivalent to the LIQUID option.

PIPE

sym.

-

Pipe number where the valve is located.

POSITION

sym.

-

Position where the valve is located. If this value is defined, BRANCH, PIPE, and SECTIONBOUNDARY should not be used. The position can also be a separator label.

SECTIONBOUNDARY

i.

-

Section boundary number where the valve is located.

STROKETIME

r.(s)

-

Stroke time of the emergency drain valve.

TABLE

sym.

-

Label of the table which contains the valve characteristics.

Page 342

Chapter 3: Input File Description, VALVE

Key TIME

Required keys:

Type Unit: ( )

Parameter set Default: [ ]

r.l.(s)

-

Description Time points for valve opening table and backpressure values.

LABEL

Internal dependencies of keys: either BRANCH PIPE SECTIONBOUNDARY

=1 =1 =1

POSITION

= POSTION-1

or end If the choke model is used, then CD DIAMETER

= [0.84] = 0.5 [m]

else if valve characteristic table is used, then PHASE TABLE

= GAS ¦ LIQUID ¦ TWO ¦ THREE = VALVE-1

if PHASE = GAS, then CF

= 17 ! Depending on valve type. Typically 16 to 38.

end if end if If valve opening is regulated by a controller, then CONTROLLER

= C-101

elseif valve opening is given by time series, then TIME OPENING

= (0.0, 100, 200) [s] = (0.0, 0.5, 1.0)

endif If valve is used by a separator (singletrain) TIME BACKPRESSURE STROKETIME

= (0.0, 100, 200) [s] = (50, 60, 20) bara = 10 [s] ! If valve is emergency valve

endif CRITFLOWMODEL

= [FROZEN] | HENRYFAUSKE | SUBCRITICAL

Chapter 3: Input File Description, VALVE

Page 343

Examples: Example 1: !*************************************************************************** ! Choke Definition !--------------------------------------------------------------------------! VALVE LABEL = CHOKE-1-1, BRANCH = 1, PIPE = 1, SECTIONBOUNDARY = 3,\ CD = 1., CONTROLLER = C-101, DIAMETER = 0.5 . . . Example 2: !*************************************************************************** ! TABLE Definition !--------------------------------------------------------------------------TABLE LABEL = VALV-1, XVARIABLE = OPEN, YVARIABLE = CV TABLE POINT = (0., 0.) TABLE POINT = (0.3000, 100.0) TABLE POINT = (0.6000, 200.0) TABLE POINT = (1.000, 300.0) !*************************************************************************** ! Valve Definition !--------------------------------------------------------------------------! VALVE LABEL = VALV-1, BRANCH = 1, PIPE = 1, SECTIONBOUNDARY = 3,\ PHASE = LIQUID, TABLE = VALV-1, TIME = (0., 10.00, 30.00),\ OPENING = (0.1000, 0.5000, 1.000) . . .

Example 3: !*************************************************************************** ! Definition for POSITIONS !--------------------------------------------------------------------------POSITION LABEL = UP-SEP, BRANCH = 1, PIPE = 53, SECT = 2 . . . !*************************************************************************** ! Valve Definition !--------------------------------------------------------------------------! VALVE LABEL = CHOK1, POSITION = UP-SEP, CD = 1.000,\ DIA = 0.41574, TIME = (0.0000E+00, 0.1000E+07),\ OPENING = (2:1.0) ! !--------------------------------------------------------------------------. . .

Example 4: !*************************************************************************** !Valve Definition !--------------------------------------------------------------------------VALVE LABEL=EMGVALVE, CD=0.1, DIAMETER=0.05 m, OPENING=1, \ POSITION="SEPA-2-3", TIME=0 s, BACKPRESSURE=40 bara, STROKETIME=10 s !*************************************************************************** !SEPARATOR Definition !--------------------------------------------------------------------------SEPARATOR LABEL=SEPA-2-3, BRANCH=BRAN-2, DIAMETER=1 m, EFFICIENCY=1, \ EMGTRAINVALVE=EMGVALVE, HHOILHOLDUP=0.5 -, INITOILLEVEL=0 m, LENGTH=25 m, \ LLOILHOLDUP=0.005 -, OILBACKPRESSURE=2:4000000 Pa, OILCD=0.1, \ OILCONTROLLER=C-105, OILDIAMETER=0.05 m, OILTIME=( 0, 1000000 ) s, \ ORIENTATION=HORIZONTAL, PHASE=TWO, PIPE=PIPE-2, RESETHOLDUP=0.3 -, \ SECTION=3, TRAIN=GAS

Page 344

Chapter 3: Input File Description, WALL

3.3.61 WALL

This statement specifies the wall data for pipes. In the wall statement the user specifies the wall layer geometry and the name of the wall. This keyword is required if the TEMPERATURE option is "WALL" or "FASTWALL". The user also specifies the required data if the walls are to be heated. The pipewall may consist of different material layers, specified by subkeys "MATERIAL" and "THICKNESS". Each material layer can be divided into sublayers either by specifying each sublayer as a new material layer or by automatic discretization of the material layers by the use of the key "DISCRETIZATION". Heat can be provided to a user specified wall layer in each wall. Constant heat, heat varying with time, or heat controlled by a controller can be specified. Each wall in OLGA may contain only one heat source, i.e. the heat per unit length supplied to the wall is constant along the pipe having this specific wall. The heat sources may vary along the pipelines by specifying different walls along the line. A combination of walls having constant power supply, power controlled by a controller, and no power supplied at all can be specified in the same OLGA case. The WALL keyword is required if the TEMPERATURE option is "WALL" or "FASTWALL". Heated walls can only be used together with TEMPERATURE = WALL. See section for Vital Numerical Recommendations in Chapter 2.5.3 for hints regarding discretization. Keyword:

WALL

Dependencies:

BRANCH, GEOMETRY, OPTIONS, TEMPERATURE

Key description table: Type Unit: ( )

Parameter set Default: [ ]

CONTROLLERLABEL

str.

-

Name of controller for el. heating

DISCRETIZATION

Sym.l.

[OFF] | ON

Switch on or off auto-discretization option for each wall material layer

ELECTRICHEAT

Sym.

[OFF] | ON

Electric heating ON/OFF

INNERDIAMETER

r.(m)

-

Pipe inner diameter

LABEL

str.

-

Label of the wall.

MATERIAL

Sym.l.

-

Names of materials that are used in the wall layers.

MAXNOLAYERS

i.l.

-

Max.number of sublayers allowed for each of the wall material layers

MAXRATIO

r.l.

[2]

Max ratio of outer to inner radius of a sublayer. If the maxratio is set to less than 1.05, 1.05 is used.

POWER

r.l. (W/m)

-

Power per unit length for el. heating time series

Key

Description

Chapter 3: Input File Description, WALL

Page 345

Type Unit: ( )

Parameter set Default: [ ]

POWERCONTROL

Sym.

[OFF] | ON

Power control ON/OFF

POWERMAX

r. (W/m)

-

Power per unit length for el. heating corresponding to a controller output signal of 1 E.g.,a controller signal of 2 will give twice the power specified in POWERMAX.

THICKNESS

r.l. (m)

-

Thickness of each wall layer.

TIME

r.l. (s.)

[0.0]

Power time series

WALLAYER

i.

-

Wall layer for el. heating

Key

Required keys:

Description

LABEL, MATERIAL, THICKNESS

Internal dependencies of keys: if ELECTRICHEAT = ON, then WALLAYER If POWERCONTROL CONTROLLERLABEL POWERMAX else TIME POWER end if end if

=2 = ON, then = C-POW-1 = 1500 = ( 0, 14400, 14800, 1.e6) = (200, 200, 400, 400)

if DISCRETIZATION = ON, then INNERDIAMETER

= 0.5

MAXRATIO

= 1.05

MAXNOLAYERS

= 10

end if

Examples: Example 1 (Walls with no heating): !*************************************************************************** ! MATERIAL Definition !--------------------------------------------------------------------------! MATERIAL LABEL = MATER-1, DENSITY = 0.78E+04, CAPACITY = 0.45E+03,\ CONDUCTIVITY = 48. MATERIAL LABEL = MATER-2, DENSITY = 0.6E+03, CAPACITY = 0.15E+04,\ CONDUCTIVITY = 0.187 MATERIAL LABEL = MATER-3, DENSITY = 0.1E+04, CAPACITY = 0.15E+04,\ CONDUCTIVITY = 0.202E-01 MATERIAL LABEL = MATER-4, DENSITY = 0.23E+04, CAPACITY = 0.65E+03,\ CONDUCTIVITY = 1.1 !*************************************************************************** ! WALL Definition !--------------------------------------------------------------------------! WALL LABEL = WALL-1, THICKNESS = (0.1270E-01, 0.4000E-02),\ MATERIAL = (MATER-1, MATER-2) WALL LABEL = WALL-2, THICKNESS = (0.1270E-01, 0.4000E-02,\ 2:0.381E-01), MATERIAL = (MATER-1, MATER-2, MATER-3, MATER-4)

Page 346

Chapter 3: Input File Description, WALL

Example 2 (Heated walls): !*************************************************************************** ! MATERIAL Definition !--------------------------------------------------------------------------! MATERIAL LABEL = CSTEEL, DENSITY = 7850, CAPACITY = 480, CONDUCTIVITY = 43.5 MATERIAL LABEL = ISOLAT, DENSITY = 700, CAPACITY = 1250, CONDUCTIVITY = 0.14 !*************************************************************************** ! CONTROLLER Definition !--------------------------------------------------------------------------! CONTROLLER LABEL = C-POW-1, TYPE = PID, VARIABLE = TM, BRANCH = BRANCH-1,\ PIPE = TOP, SECTION = 2, TIME = 0, SETPOINT = 40,\ AMPLIFICATION = -0.005, INTEGRALCONST = 20, DERIVATCONST = 0,\ STROKETIME = 10, MINSIGNAL = 0, MAXSIGNAL = 1, BIAS = 0.5 !*************************************************************************** ! WALL Definition !--------------------------------------------------------------------------! ! Pipeline wall WALL LABEL = WALL-H1, \ MATERIAL = ( CSTEEL, CSTEEL, ISOLAT ),\ THICKNESS = ( 0.008, 0.008, 0.014 ),\ ELECTRICHEAT = ON, WALLAYER = 2,\ TIME = ( 0, 14400, 14800, 1.e6 ),\ POWER = ( 200, 200, 400, 400) ! ! Riser wall. Heat controlled by controller WALL LABEL = WALL-H2, \ MATERIAL = ( CSTEEL, CSTEEL, ISOLAT ),\ THICKNESS = ( 0.008, 0.008, 0.014 ),\ ELECTRICHEAT = ON, WALLAYER = 2, POWERCONTROL = ON CONTROLLER = C-POW-1, POWERMAX = 1500 ! ! Topside wall. No heating WALL LABEL = WALL-H3, \ MATERIAL = ( CSTEEL, CSTEEL, ISOLAT ),\ THICKNESS = ( 0.008, 0.008, 0.014 ) .

Example 3 (Automatic discretization): !*************************************************************************** !MATERIAL Definition !--------------------------------------------------------------------------MATERIAL LABEL = STEEL, DENSITY = 7850, CAPACITY = 485, CONDUCTIVITY = 50. MATERIAL LABEL = CONCRETE, DENSITY = 2250, CAPACITY = 880, CONDUCTIVITY = 1.7 MATERIAL LABEL= POLYPROP, CAPACITY=1675 J/kg-C, CONDUCTIVITY=0.12 W/m-K, DENSITY=960 kg/m3 !*************************************************************************** !WALL Definition !--------------------------------------------------------------------------WALL LABEL = PIPELINE, DISCRETIZATION = (ON, ON, OFF), INNERDIAMETER = 0.17 m, \ MAXNOLAYERS = (3, 2, 1), MAXRATIO = (1.05, 1.05, 1), \ THICKNESS = (1.0, 0.6, 0.3) cm, MATERIAL = (STEEL, CONCRETE, POLYPROP) . . .

Chapter 3: Input File Description, WATEROPTIONS

Page 347

3.3.62 WATEROPTIONS

This statement defines the water option used for three phase simulations. It is described in section 2.3.2. There are several options for defining the viscosity used in the simulations. You can choose between 3 different options for modelling the dispersion viscosity by setting DISPERSIONVISC =ON: 1. Use the Pal & Rhodes model by setting DISPMODEL=PALRHODES. Set the key PHI100 or use the default value. This is the default viscosity option. 2. Use the Pal & Rhodes model with experimental data by setting DISPMODEL=EXPERIMENT. Set the keys VISCREL and PHIREL, or leave them open to use default values. 3. Use the Rønningsen model by setting DISPMODEL=RONNINGSEN. You can use other options by setting DISPERSIONVISC=OFF: 1. Volume weighting of oil and water viscosities by setting WATERSLIP=OFF or CONSTANT. 2. Volume weighting of oil and water viscosities with tuning of effective viscosity as a function of water cut by setting WATERSLIP=OFF. The tuning is set using the keys VISCMOD and WATERCUT. 3. Viscosity of continuous phase only (from fluid tables) by setting WATERSLIP=ON. WATERFLASH has no effect on Compositional Tracking simulations (flashing of water decided by FLASHTYPE in COMPOPTIONS) or MEG Tracking simulations, but the rest of the keys in WATEROPTIONS affect these simulations in the same way as simulations using PVT tables. Remark:

The availability of the water option depends on the user’s licensing agreement with Scandpower Petroleum Technology.

Page 348

Chapter 3: Input File Description, WATEROPTIONS

Keyword:

WATEROPTIONS

Dependencies:

OPTIONS

Key description table: Key DISPERSIONVISC

Type Unit()

Parameter set Default: [ ]

sym.

[ON] | OFF

Description =ON: Dispersion viscosity calculated according to DISPMODEL settings. =OFF: Viscosity volume weighting if WATERSLIP = OFF or CONSTANT. Viscosity from tables for continuous phase if WATERSLIP = ON. Any DISPMODEL entries are ignored if DISPERSIONVISC=OFF.

DISPMODEL

Sym.

[PALRHODES] | RONNINGSEN | EXPERIMENT

Specify how dispersion viscosity is to be calculated. =PALRHODES: Use Pal & Rhodes eq. 1. Possible to use PHI100 to tune the correlation. =RONNINGSEN: Use Rønningsen correlation. =EXPERIMENT : Use Pal &Rhodes with PHI100,

Φ µ rel =100

calculated from exp. point, given by PHIREL and VISCREL INVERSIONWATERFRAC

r.

[0.5]

Flowing water volume fraction at inversion point.

PHI100

r.

[0.765]

Value of dispersed phase volume fraction when rel. viscosity = 100

PHIREL

r.

[0.765]

VELOCITYDIFFERENCE

r.(m/s)

[0]

Value of dispersed phase volume fraction with given rel. viscosity (exp. point). Used to calculate PHI100 in Pal and Rhodes equation when DISPMODEL = EXPERIMENT Constant difference between oil and water velocity=Uoil-Uwater, if WATERSLIP = CONSTANT. Should be used with great care.

VISCMOD

r.l.

-

Viscosity tuning factors for given WC's. May be used when WATERSLIP = OFF and DISPERSIONVISC = OFF.

VISCREL

r.

[100]

Value of rel. viscosity at PHIREL. Used to calculate PHI100 in Pal and Rhodes equation when DISPMODEL = EXPERIMENT

Chapter 3: Input File Description, WATEROPTIONS

Key

Page 349

Type Unit()

Parameter set Default: [ ]

Description

WATERCUT

r.l.

-

Watercut (WC) values with given viscosity tuning factor. May be used when WATERSLIP = OFF and DISPERSIONVISC = OFF.

WATERFLASH

sym.

[ON] | OFF

Specify if mass transfer between free water and gas phase is to be considered. If a two-phase table is applied, WATERFLASH = ON is disregarded.

WATERSLIP

sym.

[ON] | OFF | CONSTANT

ON:

Velocity difference between oil and water calculated by solving the steady state force balance between the oil and water fields.

OFF: No velocity difference. CONSTANT: A constant velocity difference between oil and water is specified. Should be used with great care.

Required keys:

WATERSLIP, WATERFLASH, DISPERSIONVISC, INVERSIONWATERFRAC (default values can be used)

Internal dependencies of keys: If DISPERSIONVISC=ON , then ! No settings for DISPMODEL=RONNINGSEN If DISPMODEL = PALRHODES, then PHI100 = [0.765] else if DISPMODEL = EXPERIMENT, then PHIREL = [0.765] ! These settings will give same result VISCREL = [100] ! as default PALRHODES end if else if DISPERSIONVISC = OFF, then if WATERSLIP = OFF, then ! if define table for viscosity tuning factors WATERCUT = (0.1, 0.5, 0.9) VISCMOD = (0.1, 0.2, 0.3) end if Note: WATERSLIP=CONSTANT and VELOCITYDIFFERENCE = should only be used with great care in special cases for tuning purposes.

Examples: Example 1: Pal & Rhodes dispersion viscosity model with water slip ! WATEROPTIONS DISPERSIONVISC=ON, DISPMODEL=PALRHODES, \ INVERSIONWATERFRAC=0.5 , PHI100 = 0.765 , \ WATERFLASH=ON, WATERSLIP=ON

Example 2: Volume weighting of viscosity with no water slip ! WATEROPTIONS DISPERSIONVISC=OFF, INVERSIONWATERFRAC = 0.5, \ WATERFLASH=ON, WATERSLIP=OFF

Example 3: Volume weighting of viscosity with tuning of viscosity as function of watercut ! WATEROPTIONS DISPERSIONVISC=OFF, INVERSIONWATERFRAC = 0.5, \ VISCMOD=( 1.1, 2.0, 1.1 ) , WATERCUT=( 0.1, 0.5, 0.9 ), \ WATERFLASH=ON, WATERSLIP=OFF

Page 350

Chapter 3: Input File Description, WAXDEPOSITION

3.3.63 WAXDEPOSITION

This group is used to define input parameters for the wax deposition module. See Section 2.3.11 for a presentation of this module. Wax deposition is defined for all branches, that is, all branches must have assigned a wax table. If multiple wax tables are used in a network, the fluid properties must be generated in a specific manner. See section 4.4 for details. The derivative of wax porosity (if AGEINGOPT=AGEING) is defined in this manner: (INITPOROSITY-HARDPOROSITY)/AGEINGTIME Full temperature calculation (OPTIONS TEMPERATURE = WALL) is necessary when simulating wax deposition. Remarks: The availability of the wax deposition option depends on the user's licensing agreement with Scandpower Petroleum Technology.

The wax deposition module cannot be applied together with the slugtracking or corrosion modules. The wax file is generated in PVTSim. For format of the wax file, see section 4.4. Keyword:

WAXDEPOSITION

Dependencies:

OPTIONS, BRANCH

Chapter 3: Input File Description, WAXDEPOSITION

Page 351

Key description table: Key AGEINGOPT

Type Unit: ( )

Parameter set Default: [ ]

Description

sym.

[CONSTANT]| AGEING

Options for treatment of porosity of deposited wax as function of time. CONSTANT: No aging mechanism is activated. The porosity will either be directly given by WAXPOROSITY or an average value calculated by OLGA . AGEING: INITPOROSITY, HARDPOROSITY and AGEINGTIME will be used to find change in porosity with time. New deposits will still have the porosity according to WAXPOROSITY settings. If INITPOROSITY is to be used as porosity values of new deposits, WAXPOROSITY must be set to the same values.

AGEINGTIME

r.l.(d)

[7 d]

Time for reduction of porosity from INITPOROSITY to HARDPOROSITY. Used to describe change in porosity with time due to aging. Branchwise input

BRANCH COEFSHEAR

sym.l.

2

r.l.(kg/m )

[0.0]

Name(s) of branch(es) Shear deposition rate constant for deposition of precipitated wax. See Section 2.3.11. Branchwise input.

CONDUCTOPT

sym.l.

[MANUAL]| TABLE

Options for pure wax thermal conductivity. If TABLE is chosen, the wax conductivity is taken from the wax tables. If MANUAL is chosen, the conductivity is given through the key CONDUCTIVITY. Branchwise input

CONDUCTIVITY

r.l.(W/mK)

[0.242]

Pure paraffin wax thermal conductivity. Used if CONDUCTOPT = MANUAL. Branchwise input

DIFFCOEFFMULT

r.l.

[1.0]

Linear multiplier for modification of the component specific diffusion coefficients given in the wax-table. Branchwise input

DISSOLPRESS

r.l.(Pa)

[All pressures]

Pressures at which the values of DISSOLTDIFF apply**. Applied for all branches given in keyword. NOTE! Works only for MODEL = RRR.

Page 352

Chapter 3: Input File Description, WAXDEPOSITION

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

DISSOLTDIFF

r.l.(C)

[0.0]

DISSOLRATE

r.l.(kg/m2s) [1.0e+12]

Maximum total dissolution rate. Applied for all branches given in keyword. Works only for MODEL = RRR.

DISSOLUTION

sym.

[OFF] | ON

Switch for turning on/off dissolution. Only applicable with RRR model.

HARDPOROSITY

r.l.(-)

[0.2]

Lower limit of porosity. Has the following purposes:

Difference between dissolution temperature and wax appearance temperature as function of pressure**. Works only for MODEL = RRR.



To describe change in porosity with time due to aging



Giving lower limit for porosity if porosity is calculated by the code (WAXPOROSITY=-1).

Branchwise input INITPOROSITY

r.l. (-)

[0.8]

Initial porosity of deposited wax, used for describing change in porosity with time due to aging. Branchwise input

INSTPOROSITYOPT

sym. l.

[AUTOMATIC] | MANUAL

Options for calculating instantaneous porosity of deposited wax. If MANUAL, a constant value is used, given by WAXPOROSITY. If AUTOMATIC, the porosity will be calculated by the internal flow dependent model. When AUTOMATIC is chosen, the keys MINPOROSITY and MAXPOROSITY are used to determine the minimum and maximum limits for the porosity. When AUTOMATIC is chosen, the wax porosity may be changing with changing flow conditions, and the average porosity seen at a given point may be different from the instantaneous porosity given by the internal porosity model. Branchwise input.

Chapter 3: Input File Description, WAXDEPOSITION

Key

Page 353

Type Unit: ( )

Parameter set Default: [ ]

Description

MAXPOROSITY

r.l. (-)

[0.8]

The maximum limit for the calculated porosity is given by this key. Used when INSTPOROSITYOPT = AUTOMATIC. The porosity of new deposits is calculated by OLGA and an volume averaging of the porosity of new and old layers will be performed. See section 2.3.11 for correlation. Branchwise input

MINPOROSITY

r.l. (-)

[0.2]

The minimum limit for the calculated porosity is given by this key. Used when INSTPOROSITYOPT = AUTOMATIC. The porosity of new deposits is calculated by OLGA and an volume averaging of the porosity of new and old layers will be performed. See section 2.3.11 for correlation. Branchwise input

MAXROUGHNESS

r.l.(m)

[1.0E6]

Maximum wax layer roughness allowed Branchwise input

MODEL

sym.

[RRR]| Wax deposition model* MATZAIN | HEATANALOGY

SHEARMULTC2

r.l.

[1.0]

Tuning multiplier for empirical constant C2 in MATZAIN wax deposition model, see sec. 2.3.11. Branchwise input

SHEARMULTC3

r.l.

[1.0]

Tuning multiplier for empirical constant C3 in MATZAIN wax deposition model, see sec. 2.3.11. Branchwise input

VISCOPTION

sym.

[CALSEP] | TABULAR

Option for calculating the wax/oil dispersion viscosity*** TABULAR: Viscosity multiplier given as function of volume fraction of wax. CALSEP: Use internal model

VISMULTIPLIER

r.l.

[(1, 1)]

Ratio of viscosity of wax/oil dispersion to oil viscosity****. Corresponding to the wax volume fractions given in WAXVOLFRACTION

VISCMULTD

r.l.

[1.0]

Tuning multiplier for the “D” parameter in the internal nonnewtonian viscosity correlation. See also sec. 2.3.11. Only used when VISCOPTION = CALSEP. Branchwise input

Page 354

Chapter 3: Input File Description, WAXDEPOSITION

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

VISCMULTE

r.l.

[1.0]

Tuning multiplier for the “E” parameter in the internal nonnewtonian viscosity correlation. See also sec. 2.3.11. Only used when VISCOPTION = CALSEP. Branchwise input

VISCMULTF

r.l.

[1.0]

Tuning multiplier for the “F” parameter in the internal nonnewtonian viscosity correlation. See also sec. 2.3.11. Only used when VISCOPTION = CALSEP. Branchwise input

WAXPOROSITY

r.l.(-)

[0.6]

Porosity of new deposits in wax layer. Used when INSTPOROSITYOPT = MANUAL. Branchwise input

WAXROUGHNESS

r.l.(-)

[0.0]

Fraction of wax layer thickness that is interpreted as wax layer roughness (i.e. wall roughness). Limited by MAXROUGHNESS. Branchwise input

WAXTABLE

sym.l.

-

Name of wax table Branchwise input

WAXVOLFRACTION

* **

*** ****

r.l.(-)

[(0, 1)]

Volume fractions of precipitated wax dispersed in oil corresponding to the viscosity multiplier values given in VISMULTIPLIER****

See chapter 2.3.11 The melting/dissolve table (defined by DISSOLRATE, DISSOLTDIFF and DISSOLPRESS) will apply to all branches referred to in the BRANCH list. If different tables are wanted, separate WAXDEPOSITON statements must be given for each branch. Linear interpolation between table values. VISCOPTION must be selected for the whole system of branches. The viscosity multiplier table (defined by VISMULTIPLIER and WAXVOLFRACTION) will apply to all branches referred to in the BRANCH list. If different tables are wanted, separate WAXDEPOSITON statements must be given for each branch. Linear interpolation between table values.

Required keys: BRANCH, WAXTABLE Internal dependencies of keys: BRANCH

= (BRANCH-1, BRANCH-2)

if VISCOPTION = TABULAR, then ! Definition of viscosity multiplier table VISMULTIPLIER = [(1, 1)] WAXVOLFRACTION = [(0, 1)] else if VISCOPTION = CALSEP, then VISCMULTD = [(1.0, 1.0)] VISCMULTE = [(1.0, 1.0)] VISCMULTF = [(1.0, 1.0)]

Chapter 3: Input File Description, WAXDEPOSITION

Page 355

end if if AGEINGOPT = AGEING AGEINGTIME INITPOROSITY HARDPOROSITY end if

= [(7, 7)] d = [(0.8, 0.8)] = [(0.2, 0.2)]

if MODEL = RRR and DISSOLUTION = ON

! Definition of ! melting/dissolve table if ! melting/dissolving is to be calculated DISSOLTDIFF = (0, 1, 2) DISSOLRATE = (3:1.e+12) DISSOLPRESS = (2e6, 3e6, 4e6) Pa if only one value for DISSOLTDIFF/DISSOLRATE DISSOLPRESS = [All pressures] ! Other values ignored end if

end if if INSTPOROSITYOPT = MANUAL WAXPOROSITY = [(0.6,0.6)] else if INSTPOROSITYOPT = AUTOMATIC MINPOROSITY = [(0.2, 0.2)] MAXPOROSITY = [(0.8,0.8)] end if if MODEL = MATZAIN or MODEL = HEATANALOGY SHEARMULTC2 = [(1.0, 1.0)] SHEARMULTC3 = [(1.0, 1.0)] end if if CONDUCTOPT = MANUAL CONDUCTIVITY = [(0.242,0.242)] end if

Page 356

Chapter 3: Input File Description, WAXDEPOSITION

Examples: Example 1: Viscosity multiplier from table. RRR-model. !*************************************************************************** ! Definition of Waxdeposition !--------------------------------------------------------------------------! WAXDEPOSITION BRANCH = (BRANCH-1,BRANCH-2), VISCOPTION = TABULAR, \ INSTPOROSITYOPT = MANUAL, WAXPOROSITY = (0.75,0.8), WAXTABLE = \ (WAXTAB,WAXTAB), WAXVOLFRACTION = (0,0.5,1), VISMULTIPLIER = (1.,7.,10.) ! .

Example 2: MATZAIN-model with ageing and dissolution. !*************************************************************************** ! Definition of Waxdeposition !--------------------------------------------------------------------------! WAXDEPOSITION BRANCH = BRANCH-1, MODEL = RRR, VISCOPTION = \ CALSEP, INSTPOROSITYOPT = MANUAL, WAXPOROSITY = 0.75, WAXTABLE = WAXTAB, \ AGEINGOPT = AGEING, INITPOROSITY = 0.8, HARDPOROSITY = 0.15, \ AGEINGTIME = 5 d, DISSOLUTION = ON, DISSOLTDIFF = 4 C, \ DISSOLRATE = 1.0e+12 ! DISSOLPRESS omitted since only one value for DISSOLTDIFF and DISSOLRATE

Chapter 3: Input File Description, WELL

Page 357

3.3.64 WELL

The well statement is used to define required data for calculating the flow performance of wells. The Well option is described in sections 2.3.3-4. There are two ways of specifying the data for flow between the reservoir and the well. You may either specify the coefficients used in the inflow correlations directly, or you may specify traditional well/reservoir variables like permeability and net pay. When you use the latter, the well/reservoir variables are translated into the coefficients used in the inflow correlations. The well/reservoir variables are marked with w) in the table below. The Advanced Well module consists of the well inflow models Forchheimer, Single Forchheimer, Vogels, Backpressure and Normalized Backpressure and Undersaturated. This module requires a separate license. Note that the well reservoir variables are ignored if the cofficients are also specified. The linear coefficient BPROD cannot be zero if the well is located in the first (inlet) section of a branch. Also, the statement may be used to specify the fraction of wax forming components in the inflow hydrocarbon mixture. Note: If FRACPR and INJTHRESHOLD are not given by the user, the production and injection coefficients are used for all bottom-hole (BH) pressures. The reservoir is assumed “not fractured” in the sense that INJPOSTFRACFACTOR and PRODPOSTFRACFACTOR will not have any effect and that INJPREFRACFACTOR and PRODPREFRACFACTOR will be used for injection and production rate, respectively, for all BH pressures. Keyword:

WELL

Dependencies:

BRANCH, GEOMETRY, OPTIONS, POSITION, FEED

Key description table: Key AINJ

Type Unit: ( )

Parameter set Default: [ ]

r. l.

-

Description Coefficient "A" in well flow equation. Less than zero if a minimum pressure difference is required for fluid flow from well into reservoir. Unit: kg/s for the linear formula; Pa2 for the non-linear (quadratic) formula.

APROD

r. l.

-

Coefficient "A" in well flow equation. Less than zero if a minimum pressure difference is required for fluid flow from reservoir into well. Unit: kg/s for the linear formula; Pa2 for the non-linear (quadratic) formula.

Page 358

Chapter 3: Input File Description, WELL

Key BINJ

Type Unit: ( )

Parameter set Default: [ ]

r. l.

-

Description Coefficient "B" in well flow equation. Injectivity index for linear inflow equation. Unit: kg/s/Pa for the linear formula; Pa2-s/kg for the nonlinear formula, psi2-d/scf for Forchheimer, psi-d/scf for Single Forchheimer.

BOOILw)

3

3

r.(Rm /Sm ) w)

Oil formation volume factor

BPPRESSURE

r.l.(Pa)

-

Bubble point pressure at reservoir temperature for Undersaturated oil wells.

BPROD

r. l.

-

Coefficient "B" in well flow equation. Productivity index for linear inflow equation. Unit: kg/s/Pa for the linear formula; Pa2-s/kg for the nonlinear formula, psi2-d/scf for Forchheimer, psi-d/scf for Single Forchheimer.

BRANCH

sym.

-

Branch number or label for well.

CINJ

r. l.

-

Coefficient "C" in well flow equation. Unit: Pa2-s2/kg2 for the non-linear formula, psi2-d2/scf2 for Forchheimer, psi-d2/scf2 for Single Forchheimer, scf/d/psi2n for Backpressure (dependent on EXPONENTN).

CPROD

r. l.

-

Coefficient "C" in well flow equation. Unit: Pa2-s2/kg2 for the non-linear formula, psi2-d2/scf2 for Forchheimer, psi-d2/scf2 for Single Forchheimer, scf/d/psi2n for Backpressure (dependent on EXPONENTN).

EXPONENTNw)

r.(-)

[1.0]

Constant in Backpressure inflow equation. It normally varies between 0.5 and 1.0.

FEEDMASSFRACTION

r.l. (-)

-

Mass fraction of each feed. One item per time and feed.

FEEDMOLEFRACTION

r.l. (-)

-

Mole fraction of each feed. One item per time and feed.

Chapter 3: Input File Description, WELL

Key

Page 359

Type Unit: ( )

Parameter set Default: [ ]

FEEDNAME

sym.l.

-

FEEDVOLFRACTION

r.l. (-)

FRACPRw)

r.l. (Pa)

[INJTHRESHOLD]

GASDIS

r. (m)

[0.0]

Distance gas front has to travel before it reaches the well bore. Requires PRODOPTION = TABULAR.

GASFRACTION

r.l. (-)

[-1]

Gas mass fraction in the gas + oil mixture for positive flow. -1 indicates equilibrium. A list of both positive and negative values is not allowed.

GASINJw)

r.l.

GASPLIMIT

r. (Pa)

-

Pressure at which the gas front will be at the well bore at steadystate conditions. Requires PRODOPTION = TABULAR

GFRTC

r. (s)

-

Time constant for the gas front movement. Requires PRODOPTION = TABULAR

GORSTw)

r. (Sm3/Sm3)

[from PVT tables]

Gas/oil volumetric ratio. By default value from PVT table is used.

HOLESw)

r. (m)

Hole size (diameter). Normally given in inches (in).

r.l. (m)

Net pay from inflow zone.

INJECTIVITY

w)

r.l.

Labels of feeds used in well stream defining the fluid composition (from feed file and FEED keyword). Requires COMPOSITIONAL = ON under the OPTIONS keyword and access to the compositional module. Volume fraction of each feed given in FEEDNAME (only for Blackoil model)

see Note above table

Fracture pressure

Linear injectivity index for gas entering the well section. Normally given in (Sm3/d/bar).

(Sm3/s/Pa)

HPAYw)

Description

-

Injectivity

LINEAR | QUADRATIC | TABULAR | FORCHHEIMER | SINGLEFORCHHEIMER| VOGELS | BACKPRESSURE | NORMALIZEDBACKPR | UNDERSATURATED

Negative well flow equation type. All types except LINEAR, QUADRATIC and TABULAR requires the Advanced Well module

(Sm3/s/Pa)

INJOPTION

sym.

Page 360

Chapter 3: Input File Description, WELL

Key

Type Unit: ( )

Parameter set Default: [ ]

INJPOSTFRACFACTOR

r.

[1]

Multiplier for injection rate when BH pressure is above fracture pressure. If BH pressure has been above fracture pressure this is a multiplier when BH pressure is above INJTHRESHOLD as well.

INJPREFRACFACTOR

r.

[1]

Multiplier for injection rate when BH pressure is below fracture pressure. If the BH pressure has been above fracture pressure this is a multiplier only below INJTHRESHOLD..

INJTABLE

sym.

-

Table reference for negative well flow performance.

INJTHRESHOLD w)

r.l. (Pa)

[FRACPR] see Note above table

Pressure. If BH pressure has been above fracture pressure the injection rate multiplied by the INJPOSTFRACFACTOR will be used when the BH pressure is above INJTHRESHOLD.

sym.

[YES] | NO

Turn on or off isothermal.

KPERM

r.l. (mD)

-

Effective permeability

LABEL

str.

[Numerical increment]

Well label.

LOCATION

sym.

BOTTOM | [MIDDLE]

Well location in the well section. MIDDLE if the reservoir pressure at the middle of the zone is specified.BOTTOM if the reservoir pressure given is at the bottom of the zone.

OFRTC

r. (s)

-

Time constant for the oil front movement. Requires PRODOPTION = TABULAR

OILDIS

r. (m)

-

Distance oil front has to travel before it reaches the well bore. Requires PRODOPTION = TABULAR

OILINJw)

r.l.

-

Linear injectivity index for oil entering the well section. Normally given in (Sm3/d/bar).

OILPLIMIT

r. (Pa)

[Res. pressure]

Pressure at which the oil front will be at the well bore at steady-state conditions. Requires PRODOPTION = TABULAR

PHASE w)

sym

GAS | [OIL] | WATER | LIQUID

The phase for which productivity index or absolute open flowrate is given. Only applicable when well/reservoir variables are given for NORMALIZEDBACKPR or LINEAR, ignored otherwise.

w)

w)

ISOTHERMAL w)

(Sm3/s/Pa)

Description

Chapter 3: Input File Description, WELL

Key

Page 361

Type Unit: ( )

Parameter set Default: [ ]

PIPE

sym.

-

Pipe number for well.

POSITION

sym.

-

Position where the well is located. If POSITION is defined, BRANCH, PIPE, and SECTION should not be used.

PRODI w)

r.l.

-

Productivity index for linear inflow equation. Normally given in

(Sm3/s/Pa)

Description

(Sm3/d/bar).

PRODOPTION

sym.

LINEAR | QUADRATIC | TABULAR | FORCHHEIMER | SINGLEFORCHHEIMER| VOGELS | BACKPRESSURE | NORMALIZEDBACKPR | UNDERSATURATED

Positive well flow equation type. All types except LINEAR, QUADRATIC and TABULAR requires the Advanced Well module

PRODPOSTFRACFACTOR

r.

[1]

Multiplier for production rate after the reservoir is fractured. Use when the well parameters are given for conditions before the reservoir is fractured.

PRODPREFRACFACTOR

r.

[1]

Multiplier for production rate before the reservoir is fractured. Used when the well parameters are given for conditions after the reservoir is fractured.

PRODTABLE

sym.

-

Table reference for positive flow performance.

QMAXw)

r.l. (Sm3/s)

-

Maximum flow in Vogels and Normalized Backpressure inflow equation.

RESEXTw)

r. (m)

-

Reservoir extension.

RESPRESSURE

r.l. (Pa)

-

Reservoir pressure.

RESTEMPERATURE

r.l. (°C)

-

Reservoir temperature.

ROGST

r. (kg/Sm3)

[from PVT tables]

Gas density at standard conditions. By default value from PVT table is used.

ROLSTw)

r. (kg/Sm3)

[from PVT tables]

Oil density at standard conditions. By default value from PVT table is used.

SECTION

i.

-

Section number for well.

SKINDw)

r.(1/Sm3/s)

-

Turbulent non-darcy skin. Normally given in (1/SCF/d).

SKINSw)

r.

-

Mechanical damage skin.

TIME

r.l.(s)

[0.0]

Time points when the reservoir conditions are to be changed. Note that the value actually used by the program is interpolated between the values specified by the time table.

w)

w)

w)

Page 362

Chapter 3: Input File Description, WELL

Key

Type Unit: ( )

Parameter set Default: [ ]

Description

TOTALWATERFRACTION

r.l.(-)

[0.0]

Mass fraction of total water in the total fluid mixture of the reservoir. With a value of -1.0 the total water fraction is taken from the fluid table (interpreted as free water if WATERFLASH = OFF, and free water + water in gas if ON). Either this key or the WATERFRACTION can be specified. Requires PHASE = THREE under the OPTIONS keyword and access to the water module.

VISGRESw)

r.(Ns/m2)

-

Viscosity of gas at reservoir conditions. By default value from PVT table is used.

VISLRESw)

r.(Ns/m2)

-

Viscosity of oil reservoir conditions. By default value from PVT table is used

WATDIS

r. (m)

-

Distance water front has to travel before it reaches the well bore. This key can only be used if water option is available. Non-zero values are ignored for two-phase simulations, even if the water option is available. Requires PRODOPTION = TABULAR

WATERCUT

r. (-)

[0.0]

Water cut at 1 atm. and 60 oF. With a value of -1.0 the total water fraction is taken from the fluid table.

WATERFRACTION

r.l.(-)

[0.0]

Mass fraction of free water in the total flow mixture in the reservoir. Either this key or the TOTALWATERFRACTION can be specified. Requires PHASE = THREE under the OPTIONS keyword and access to the water module.

WATINJw)

r.l.

-

Linear injectivity index for water entering the well section. Normally given in (Sm3/d/bar).

WATPLIMIT

r. (Pa)

-

Pressure at which the water front will be at the well bore at steadystate conditions. This key can only be used if water option is available. Requires PRODOPTION = TABULAR

(Sm3/s/Pa)

Chapter 3: Input File Description, WELL

Key WAXFRACTION

Page 363

Type Unit: ( )

Parameter set Default: [ ]

r.(-)

[1.0]

Description Scaling factor for determining the amount of wax forming components relative to HC mixture. The value must be in the range [0,1]. 1 means the amount of wax forming components is equal to values from the wax table. Requires WAXDEPOSITION = ON under the OPTIONS keyword and access to the waxdeposition module.

WFRTC

ZFACTw) ZONELENGTH

w)

ZONETOP w)

Required keys:

r. (s)

-

Time constant for the water front movement. This key can only be used if water option is available. Requires PRODOPTION = TABULAR

r.

[1]

Gas compressibility factor.

r. (m)

Section length

Length of the reservoir zone

r. (m)

0.0

The distance of the reservoir zone top from the top of the section.

LABEL, INJOPTION, PRODOPTION, RESPRESSURE, RESTEMPERATURE, ISOTHERMAL, LOCATION (Default values can be used if specified).

Internal dependencies of keys:

! Alphanumeric values are only ! given as samples

either BRANCH PIPE SECTION

=1 =1 =1

POSITION

= POSITION-1

or end If you want to use the coefficients directly for standard inflow types: If PHASE = THREE in OPTION, then either WATERFRACTION or TOTALWATERFRACTION end end if GASFRACTION = -1 If INJOPTION = LINEAR, then AINJ = 0.0 [kg/s] BINJ = 0.1E-5 [kg/s/Pa] else if INJOPTION = QUADRATIC, then AINJ = 0.0 [Pa2]

= [0.0] = [0.0]

Page 364

Chapter 3: Input File Description, WELL

BINJ = 0.0 [Pa2-s/kg] CINJ = 0.3354E08 [Pa2-s2/kg2] else if INJOPTION = TABULAR, then INJTABLE = TABLE-1 end if If PRODOPTION = LINEAR, then APROD = 0.0 [kg/s] BPROD = 0.1E-5 [kg/s/Pa] else if PRODOPTION = QUADRATIC, then APROD = 0.0 [Pa2] BPROD = 0.0 [Pa2-s/kg] CPROD = 0.3354E08 [Pa2-s2/kg2] else if PRODOPTION = TABULAR, then PRODTABLE = TABLE-2 If phase front transient is to be simulated, then GASDIS = [0.0] [m] GASPLIMIT = [RESPRESSURE] [Pa] GFRTC = [0.0] [s] OILDIS = [0.0] [m] OILPLIMIT = [RESPRESSURE] [Pa] OFRTC = [0.0] [s] WATDIS = [0.0] [m] WATPLIMIT = [RESPRESSURE] [Pa] WFRTC = [0.0] [s] end if end if If you want to use the coefficients directly for Advanced Well inflow types: If PHASE = THREE in OPTION, then WATERCUT = [0.0] [-] end if ROGST ROLST GORST

= [from PVT tables] [kg/Sm3] = [from PVT tables] [kg/Sm3] = [from PVT tables] [kg/Sm3]

if INJOPTION = FORCHHEIMER, then BINJ = 0.6 [psi2-d/scf] CINJ = 1.E-9 [psi2-d2/scf2] else if INJOPTION = SINGLEFORCHHEIMER, then BINJ = 1.E-4 [psi-d/scf] CINJ = 1.E-9 [psi-d2/scf2] else if INJOPTION = BACKPRESSURE, then EXPONENTN =1 CINJ = 1 [scf/d/psi2] end if if PRODOPTION = FORCHHEIMER, then BPROD = 0.6 [psi2-d/scf] CPROD = 1.E-9 [psi2-d2/scf2] else if PRODOPTION = SINGLEFORCHHEIMER, then BPROD = 1.E-4 [psi-d/scf] CPROD = 1.E-9 [psi-d2/scf2] else if PRODOPTION = BACKPRESSURE, then EXPONENTN =1 CPROD = 1 [scf/d/psi2] end if

Chapter 3: Input File Description, WELL

If you want to use well/reservoir variables: If PHASE = THREE in OPTION, then WATERCUT = [0.0] [-] end if If INJOPTION = LINEAR, then either INJECTIVITY = 240 stb/d/Psi FRACPR = 1000 bar ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] PHASE = [OIL] or FRACPR = 1000 bar ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISLRES = 0.2 cP BOOIL = 1.4 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 end else if INJOPTION = FORCHHEIMER, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISGRES = 0.03 cP ZFACT =1 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 SKIND = 0.01 else if INJOPTION = SINGLEFORCHHEIMER, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISGRES = 0.03 cP ZFACT =1 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 SKIND = 0.01 else if INJOPTION = VOGELS, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] QMAX = 10 000 Sm3/d else if INJOPTION = BACKPRESSURE, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3]

Page 365

Page 366

Chapter 3: Input File Description, WELL

ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISGRES = 0.03 cP ZFACT =1 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 SKIND = 0.01 EXPONENTN =1 else if INJOPTION = NORMALIZEDBACKPR, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] QMAX = 10 000 Sm3/d EXPONENTN =1 PHASE = [OIL] else if INJOPTION = UNDERSATURATED, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISLRES = 0.2 cP BOOIL = 1.4 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 BPPRESSURE = 600 bar end if If the user wants to define a specific linear injectivity index for one or more of the phases GASINJ = 100 stb/d/Psi OILINJ = 100 stb/d/Psi WATINJ = 180 stb/d/Psi end if If PRODOPTION = LINEAR, then either PRODI = 240 stb/d/Psi FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] PHASE = [OIL] or FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISLRES = 0.2 cP BOOIL = 1.4 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 end

Chapter 3: Input File Description, WELL

else if PRODOPTION = FORCHHEIMER, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISGRES = 0.03 cP ZFACT =1 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 SKIND = 0.01 else if PRODOPTION = SINGLEFORCHHEIMER, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISGRES = 0.03 cP ZFACT =1 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 SKIND = 0.01 else if PRODOPTION = VOGELS, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] QMAX = 10 000 Sm3/d else if PRODOPTION = BACKPRESSURE, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISGRES = 0.03 cP ZFACT =1 KPERM = 20 mD HPAY = 20 [m] RESEXT = 1000 [m] HOLES = 8.5 in SKINS =3 SKIND = 0.01 EXPONENTN =1 else if PRODOPTION = NORMALIZEDBACKPR, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] QMAX = 10 000 Sm3/d EXPONENTN =1 PHASE = [OIL] else if PRODOPTION = UNDERSATURATED, then FRACPR = 1000 bara ROGST = 0.8 [kg/Sm3] ROLST = 700 [kg/Sm3] GORST = 1000 [Sm3/Sm3] VISLRES = 0.2 cP BOOIL = 1.4

Page 367

Page 368

Chapter 3: Input File Description, WELL

KPERM HPAY RESEXT HOLES SKINS BPPRESSURE

= 20 mD = 20 [m] = 1000 [m] = 8.5 in =3 = 600 bar

end if If COMPOSITIONAL = ON in OPTION, then (multiple time and feeds, see note below) TIME = (0, 5) h FEEDNAME = (FEED-1, FEED-3) either FEEDMASSFRACTION = (0.7, 0.3, 0.7, 0.3) or FEEDMOLEFRACTION = (0.6, 0.4, 0.5, 0.5) end or if COMPOSITIONAL = BLACKOIL in OPTIONS, then TIME = (0, 5) h FEEDNAME = (BO-1, BO-2) FEEDVOLFRACTION = [1.0, 0.0, 0.5, 0.5] endif Note: For the subkeys FEEDMASSFRACTION, FEEDMOLEFRACTION FEEDVOLFRACTION, the array is a function of both feed and time as shown below.

and

FEEDMASSFRACTION = FEED-1 (T1), FEED-2(T1), FEED1(T2), FEED-2(T2))

Examples: Example 1: !*************************************************************************** ! Well Definition !--------------------------------------------------------------------------WELL LABEL = WELL-1, BRANCH = 3, PIPE = 1, SECTION = 1,\ PRODOPTION = LINEAR, LOCATION = MIDDLE, GASFRACTION = 0,\ WATERFRACTION = 0, RESPRESSURE = 0.268E+08, RESTEMPERATURE = 62.,\ INJOPTION = LINEAR, APROD = 0, BPROD = 0.1E-05, AINJ = 0,\ BINJ = 0.1E-05 . .

Example 2 (Dynamic well inflow, two phase): !*************************************************************************** ! TABLE Definition for WELL ! Well inflow characteristics, option 1, liquid PI is given !--------------------------------------------------------------------------TABLE LABEL = TRAN-WEL, XVAR = DELTAP bar,\ YVAR = ( PILIQ, GASFL, WATFRAC, OILTC, GASTC) TABLE POINT = (0, 0.1212E-5, 0.0, 0.0, 10, 500) TABLE POINT = (25.0, 0.1212E-5, 0.0, 0.0, 10, 500) TABLE POINT = (30.0, 0.1212E-5, 0.1523, 0.0, 10, 500) ! !*************************************************************************** ! WELL Definition !--------------------------------------------------------------------------WELL LABEL = INLET, BRANCH = 1, PIPE = 1, SECT = 1,\ RESPRESSURE = 100 BAR, RESTEMPERATURE = 62,\ PRODOPTION = TABULAR, PRODTABLE = tran-wel, \ INJOPTION = LINEAR, AINJ = 0, BINJ = 1.E-6 ,\ LOCATION = BOTTOM, ISOTHERMAL = YES,\ GASDIS = 10, GFRTC = 100, GASPLIMIT = 75 bar ! !***************************************************************************

Example 3 (Prodoption=tabular, gasfraction & waterfraction in WELL) :

Chapter 3: Input File Description, WELL

Page 369

!*************************************************************************** ! TABLE Definition for WELL !--------------------------------------------------------------------------TABLE LABEL = WEL-INFLOW, XVAR = DELTAP bar,\ YVAR = (FLOW) TABLE POINT = (0, 0.00) TABLE POINT = (25.0, 3.03) TABLE POINT = (30.0, 3.636) ! !*************************************************************************** ! WELL Definition !--------------------------------------------------------------------------WELL LABEL = INLET, BRANCH = 1, PIPE = 1, SECT = 1,\ RESPRE = 100 BAR, RESTEM = 62, GASFRACTION = -1, WATERFRACTION = 0.12,\ PRODOPTION = TABULAR, PRODTABLE = WEL-INFLOW, \ INJOPTION = TABULAR, INJTABLE = WEL-INFLOW, \ LOCATION = BOTTOM, ISOTHERMAL = YES ! !*************************************************************************** . . .

Example 4 (The Advanced well module, three phase): !*************************************************************************** ! WELL Definition !--------------------------------------------------------------------------WELL LABEL=WELL-1, BRANCH=BRAN-1, FRACPR=1000 bar, GORST=157158 Sm3/Sm3, \ WATERCUT=0.02, HOLES=8.5 in, HPAY=14 m, \ INJOPTION=LINEAR, INJECTIVITY=240 Stb/d/Psi, \ ISOTHERMAL=YES, KPERM=500 mD, LOCATION=BOTTOM, PIPE=PIPE_1, SECTION=1,\ PRODOPTION=FORCHHEIMER, RESEXT=1000 m, RESPRESSURE=41200000 Pa, \ RESTEMPERATURE=43.5 C, ROGST=0.73 kg/Sm3, ROLST=817.4 kg/Sm3, \ SKINS=3, SKIND=0.01 1/mmscf/d, VISGRES=0.0312 cp, ZFACT=1

Chapter 4: Fluid Properties and other Data Files

Page 370

CHAPTER 4

FLUID PROPERTIES AND OTHER DATA FILES 4.

FLUID PROPERTIES AND OTHER DATA FILES ................................................ 371 4.1 Fluid properties file........................................................................................ 371 4.1.1 Standard format for fluid properties ................................................... 371 4.1.1.1 Complex fluid module 378 4.1.2 Keyword based format for fluid properties......................................... 380 4.1.2.1 The syntax of the keyword 380 4.1.2.2 Table Structure 381 4.1.2.3 Keyword PVTTABLE (Not available with OLGA GUI) 381 4.1.2.4 Examples 385 4.1.3 Feed file for compositional tracking ..................................................... 388 4.2 Compressor data file ..................................................................................... 389 4.3 Pump Data Files............................................................................................ 391 4.3.1 Pump Data Table for Centrifugal Pumps........................................... 391 4.3.2 Pump Data Table for Displacement Pumps ...................................... 393 4.4 Wax table file ................................................................................................ 395

Chapter 4: Fluid Properties and other Data Files

Page 371

4. FLUID PROPERTIES AND OTHER DATA FILES In addition to the file giving the case description, OLGA always requires a file that contains a description of the fluid properties as a unique function of temperature and pressure, or a feed file that contains the component data used for compositional tracking. If a compressor is present in the pipeline, a file specifying the compressor characteristics is also required. If pumps are used in the simulation, the pump characteristics are specified through a pump file. A complete set of pump characteristics is given in the code. This set can be used if no pump characteristics are available. If wax deposition is simulated, the wax data are specified through a wax file. These files have to be written in certain formats that are described in the following sections.

4.1 Fluid properties file The file that contains the fluid data, is either a feed file with data for each component used in compositional tracking, or a file that have fluid properties as a function of temperature and pressure. There are two valid formats of the latter file, either the standard format or a keyword based format, refer sections 4.1.1 and 4.1.2. When more than one fluid properties file is used, they all have to have the same format. 4.1.1 Standard format for fluid properties The fluid properties are given as functions of pressure and temperature. This table of properties can be equidistant or non-equidistant in pressure and temperature. A more refined interpolation in the fluid property tables close to the two-phase envelope is performed only for the gas mass fraction utilising the bubble point pressure given in the file. The dew point pressures are not used in the present OLGA version. Figure 4.1 shows the above mentioned two-phase envelope as a function of pressure and temperature. If OLGA is used with the water option, water properties are also needed. These properties may be given as tables in the fluid properties file, or may be calculated by the code itself. This is determined by the text, in the fluid identifier, FLUIDF, given in the fluid properties file. If the fluid contains water and it is decided to use the two phase option in OLGA, only two-phase tables for fluid properties must be used. Liquid properties must be for the mixture of oil and water. The partial derivatives of gas and liquid densities with respect to pressure and temperature are required as separate tables. The reason is that the partial derivatives should be those of the isolated phase, gas or liquid, at the actual thermodynamic conditions. These cannot be obtained from the densities by interpolation in the tables since the partial derivatives in that case would also include phase mass transfer/changes in phase compositions.

Page 372

Chapter 4: Fluid Properties and other Data Files

Remarks: -The gas mass fraction may not be zero for pressures above the bubble point pressure due to linear interpolation in the tables. For pressures above the bubble point pressure, the gas mass fraction calculated from the tables will, however, always be set to zero. Indicators for the fluid file content: The interpretation of tables in the fluid properties file is determined from: 1.

Whether there is more than one fluid.

2.

The content of the fluid identifier, FLUIDF, as follows: If the sub-string "WATER-OPTION" is present, three phase tables are expected in the file. If the sub-string "NONEQ" is present, non-equidistant spacing in the tables are expected. If the sub-string "ENTROPY" is present, entropy tables for gas, oil and eventually water are expected.

The input variables FILEID, NCOMP and LC can be collectively omitted for single branch cases. Variables : Name

Unit

Definition File identification (60 characters) Number of fluids in this file.

[FILEID] [NCOMP]

The following data are repeated for each fluid:

FLUIDF

(-)

[LC]

Fluid identifier enclosed in apostrophes. If FLUIDF contains the sub-string WATEROPTION, NONEQ or ENTROPY the tables will be read as explained above. Fluid label The label must be unique and may be a number or a text string. (LAB_1,LAB_2, ... ,LAB_NCOMP)

NTABP (-) Number of pressure points in the table NTABT (-) Number of temperature points in the table RSWTOTB (kg/kg) Total water mass fraction for the feed. Optionally, DP DT PP(I) TT(J)

(N/m2) (°C) (N/m2) (°C)

PBB(J) (N/m2) PDEW(J) (N/m2)

default value = 0 (Only used together with threephase tables) Pressure step in the table Temperature step in the table Pressure values in the table, I=1,NTABP Temperature values in the table,

J = 1, NTABT Bubble point pressures, J = 1, NTABT Dew point pressures, J = 1, NTABT

Chapter 4: Fluid Properties and other Data Files

Variables : Name

Page 373

Unit

Definition

For temperatures in the table which indicate single phase flow for the whole range of pressures (all points are outside the two-phase envelope for a specific temperature, see Fig. 4.1), the corresponding bubble point pressures must be greater than the largest pressure point in the tables. The dew point pressures are not used in the present OLGA version

TABTEX(L) (-) NB!

Text string to identify different properties.

the

For all tables below, J = 1, NTABT and I = 1, NTABP

ROGTB(J,I)

(kg/m3)

(kg/m3) (kg/m3) DRGPTB(J,I) (s2/m2)

ROOTB(J,I) ROWTB(J,I)

DROPTB(J,I) (s2/m2) DRWPTB(J,I)

(s2/m2)

DRGTTB(J,I) (kg/m3C) DROTTB(J,I) (kg/m3C) DRWTTB(J,I)

(kg/m3C)

RSGTB(J,I)

(kg/kg)

(kg/kg) (Ns/m2) (Ns/m2) VSWTB(J,I) (Ns/m2) CPGTB(J,I) (J/kgC) CPOTB(J,I) (J/kgC) CPWTB(J,I) (J/kgC) HGTB(J,I) (J/kg) HOTB(J,I) (J/kg) HWTB(J,I) (J/kg) TKGTB(J,I) (W/mC) TKOTB(J,I) () TKWTB(J,I) (W/mC) SIGOGT(J,I) (N/m) SIGWGT(J,I) (N/m) RSWTB(J,I)

VSGTB(J,I) VSOTB(J,I)

Gas densities Oil densities Water densities Partial derivatives of gas densities with respect to pressure Partial derivatives of oil densities with respect to pressure Partial derivatives of water densities with respect to pressure. Partial derivatives of gas densities with respect to temperature Partial derivatives of oil densities with respect to temperature Partial derivatives of water densities with respect to temperature. Gas mass fraction in gas and oil mixture; the gas mass divided by the gas and oil mass. All values in this table must be set to a constant (between 0 and 1) (for all points) in case of no interphase mass transfer. ( = 0 gives single phase liquid, =1 gives single phase gas). REMARK: The gas may also contain water vapour. Water vapour mass fraction in the gas phase Dynamic viscosities for gas Dynamic viscosities for oil Dynamic viscosities for water Gas heat capacities at constant pressure Oil heat capacities at constant pressure Water heat capacities at constant pressure Gas enthalpies Oil enthalpies Water enthalpies Gas thermal conductivities Oil thermal conductivities Water thermal conductivities Surface tension between gas and oil Surface tension between gas and water

Page 374

Chapter 4: Fluid Properties and other Data Files

SIGWOT(J,I)

SGTB(J,I) SOTB(J,I) SWTB(J,I)

Fig. 4.1

(N/m) (J/kgC) (J/kgC) (J/kgC)

Surface tension between water and oil Gas specific entropy Oil specific entropy Water specific entropy.

Example of the use of the bubble and dew point pressures in relation to the two-phase envelope and the fluid property table points (NTABT=6 and NTABP=5).

The figure does not correspond to the tables of fluid properties used in the sample case.

Chapter 4: Fluid Properties and other Data Files

Page 375

Data file structure: The data enclosed in brackets can collectively be omitted for single branch cases. [FILEID] [NCOMP] The following data are repeated for each fluid composition. The file heading for equidistant tables. Note that RSWTOTB is set to zero by OLGA if omitted: FLUIDF [LC] NTABP DP PP(1)

NTABT DT TT(1)

RSWTOTB

The file heading for non-equidistant tables. Note that RSWTOTB is set to zero by OLGA if omitted: FLUIDF [LC] NTABP PP(1) TT(1)

NTABT RSWTOTB . . . . . . . . . . . . . . . .

PP(NTABP) TT(NTABT)

The fluid property tables: PBB(1) . . . . . . . . PBB(NTABT) PDEW(1) . . . . . . . . PDEW(NTABT) TABTEX(1) ROGTB(1,1) . . . . . . . ROGTB(NTABT,1) . . ROGTB(1,NTABP) . . . . . ROGTB(NTABT,NTABP) TABTEX(2) ROOTB(1,1) . . . . . . . ROOTB(NTABT,1) . . ROOTB(1,NTABP) . . . . . ROOTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(3) ROWTB(1,1) . . . . . ROWTB(NTABT,1) . . ROWTB(1,NTABP) . . . ROWTB(NTABT,NTABP) end WATER-OPTION TABTEX(4) DRGPTB(1,1). . . . . DRGPTB(1,NTABP). TABTEX(5) DROPTB(1,1). . . . . DROPTB(1,NTABP).

. . . . DRGPTB(NTABT,1) . . . . DRGPTB(NTABT,NTABP) . . . . DROPTB(NTABT,1) . . . . DROPTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then TABTEX(6) DRWPTB(1,1). . . . . . . DRWPTB(NTABT,1) . . DRWPTB(1,NTABP). . . . . DRWPTB(NTABT,NTABP)

Page 376

Chapter 4: Fluid Properties and other Data Files

end WATER-OPTION TABTEX(7) DRGTTB(1,1). . . . . . . DRGTTB(NTABT,1) . . DRGTTB(1,NTABP). . . . . DRGTTB(NTABT,NTABP) TABTEX(8) DROTTB(1,1). . . . . . . DROTTB(NTABT,1) . . DROTTB(1,NTABP). . . . . DROTTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(9) DRWTTB(1,1). . . . . . . DRWTTB(NTABT,1) . . DRWTTB(1,NTABP). . . . . DRWTTB(NTABT,NTABP) end WATER-OPTION TABTEX(10) RSGTB(1,1). . . . . . . RSGTB(NTABT,1) . . RSGTB(1,NTABP). . . . . RSGTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(11) RSWTB(1,1) . . . . . . . RSWTB(NTABT,1) . . RSWTB(1,NTABP) . . . . . RSWTB(NTABT,NTABP) end WATER-OPTION TABTEX(12) VSGTB(1,1) . . . . . . . VSGTB(NTABT,1) . . VSGTB(1,NTABP) . . . . . VSGTB(NTABT,NTABP) TABTEX(13) VSOTB(1,1) . . . . . . . VSOTB(NTABT,1) . . VSOTB(1,NTABP) . . . . . VSOTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(14) VSWTB(1,1) . . . . . . . VSWTB(NTABT,1) . . VSWTB(1,NTABP) . . . . . VSWTB(NTABT,NTABP) end WATER-OPTION TABTEX(15) CPGTB(1,1) . . . . . . . CPGTB(NTABT,1) . . CPGTB(1,NTABP) . . . . . CPGTB(NTABT,NTABP) TABTEX(16) CPOTB(1,1) . . . . . . . CPOTB(NTABT,1) . . CPOTB(1,NTABP) . . . . . CPOTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(17)

Chapter 4: Fluid Properties and other Data Files

CPWTB(1,1) . . . . . . . CPWTB(NTABT,1) . . CPWTB(1,NTABP) . . . . . CPWTB(NTABT,NTABP) end WATER-OPTION TABTEX(18) HGTB(1,1) . . . . . . . HGTB(NTABT,1) . . HGTB(1,NTABP). . . . . . HGTB(NTABT,NTABP) TABTEX(19) HOTB(1,1) . . . . . . . HOTB(NTABT,1) . . HOTB(1,NTABP). . . . . . HOTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(20) HWTB(1,1) . . . . . . . HWTB(NTABT,1) . . HWTB(1,NTABP). . . . . . HWTB(NTABT,NTABP) end WATER-OPTION TABTEX(21) TKGTB(1,1) . . . . . . . TKGTB(NTABT,1) . . TKGTB(1,NTABP) . . . . . TKGTB(NTABT,NTABP) TABTEX(22) TKOTB(1,1) . . . . . . . TKOTB(NTABT,1) . . TKOTB(1,NTABP) . . . . . TKOTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(23) TKWTB(1,1) . . . . . . . TKWTB(NTABT,1) . . TKWTB(1,NTABP) . . . . . TKWTB(NTABT,NTABP) end WATER-OPTION TABTEX(24) SIGOGT(1,1). . . . . . . SIGOGT(NTABT,1) . . SIGOGT(1,NTABP). . . . . SIGOGT(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(25) SIGWGT(1,1) . . . . . . . SIGWGT(NTABT,1) . . SIGWGT(1,NTABP) . . . . . SIGWGT(NTABT,NTABP) TABTEX(26) SIGWOT(1,1) . . . . . . . SIGWOT(NTABT,1) . . SIGWOT(1,NTABP) . . . . . SIGWOT(NTABT,NTABP) end WATER-OPTION if FLUIDF contains substring ENTROPY, then TABTEX(27)

Page 377

Page 378

Chapter 4: Fluid Properties and other Data Files

SGTB(1,1) . . . . . . . SGTB(NTABT,1) . . SGTB(1,NTABP). . . . . . SGTB(NTABT,NTABP) TABTEX(28) SOTB(1,1) . . . . . . . SOTB(NTABT,1) . . SOTB(1,NTABP). . . . . . SOTB(NTABT,NTABP) if FLUIDF also contains substring WATER-OPTION, then TABTEX(29) SWTB(1,1) . . . . . . . SWTB(NTABT,1) . . SWTB(1,NTABP) . . . . . SWTB(NTABT,NTABP) end WATER-OPTION end if

The entropy data will be used if a Henry-Fauske type critical flow model is chosen for the flow through a valve, see section 2.2.9 (valves). If the entropy is not given, the entropy data will be computed by the code. The tables for heat capacity, enthalpy and thermal conductivity are used only for temperature calculations. The water tables are used only if the water option is used. Examples of fluid property tables are given electronically with the OLGA software package. 4.1.1.1

Complex fluid module

The table for liquid viscosity in this file is used for different but related roles in the three different rheology models in the complex liquid module. Naturally if the Newtonian option is chosen (FLUID TYPE = COMPLEXFLUID, CFLUML = NEWTONIAN in the input file), this table gives the original data. If the power law model is chosen (FLUID TYPE = COMPLEXFLUID, CFLUML = POWERLAW in the input file) this table gives the consistency factor K. If the Bingham fluid model is chosen (FLUID TYPE = COMPLEXFLUID, CFLUML = BINGHAM in the input file) this table gives the coefficient of rigidity. If the simple mode (FULL = NO in FLUID keyword in input file) of input is used, this is the only table that has to be given to describe liquid rheology in the PVT file. However if the FULL input mode is used either the power law exponent or the yield stress must be given following the liquid viscosity table. The fluid identifier FLUIDF, see section 4.1.1, must include certain text strings to enable correct understanding of the fluid property file by OLGA: • POWEXPL: The fluid property file contains a table for the power law exponent for the oil phase • YIELDSTRL: The fluid property file contains a table for yield stress for the oil phase

Chapter 4: Fluid Properties and other Data Files

Page 379

• POWEXPW: The fluid property file contains a table for the power law exponent for the water phase • YIELDSTRW: The fluid property file contains a table for yield stress for the water phase The text string that identifies the different properties TABTEX(), see section 4.1.1, must also include the same text strings as described above. Example: TABTEX(:) VSOTB(1,1) . . . . . . . VSOTB(NTABT,1) . . VSOTB(1,NTABP) . . . . . VSOTB(NTABT,NTABP) if FLUIDF contains substring WATER-OPTION, then TABTEX(:) VSWTB(1,1) . . . . . . . VSWTB(NTABT,1) . . VSWTB(1,NTABP) . . . . . VSWTB(NTABT,NTABP) end WATER-OPTION if FLUIDF contains substring POWEXPL, then TABTEX(:) POWNTB(1,1) . . . . . . . POWNTB(NTABT,1) . . POWNTB(1,NTABP) . . . . . POWNTB(NTABT,NTABP) end if FLUIDF contains substring YIELDSTRL, then TABTEX(:) TAUITB(1,1) . . . . . . . TAUITB (NTABT,1) . . TAUITB (1,NTABP) . . . . . TAUITB (NTABT,NTABP) end if FLUIDF contains substring POWEXPW, then TABTEX(:) POWNWTB(1,1) . . . . . . . POWNWTB(NTABT,1) . . POWNWTB(1,NTABP) . . . . . POWNWTB(NTABT,NTABP) end if FLUIDF contains substring YIELDSTRW, then TABTEX(:) TAUIWTB(1,1) . . . . . . . TAUIWTB (NTABT,1) . . TAUIWTB (1,NTABP) . . . . . TAUIWTB (NTABT,NTABP) end TABTEX(:) CPGTB(1,1) . . . . . . . CPGTB(NTABT,1) . . CPGTB(1,NTABP) . . . . . CPGTB(NTABT,NTABP) . .

Page 380

Chapter 4: Fluid Properties and other Data Files

4.1.2 Keyword based format for fluid properties The keyword format has all the possibilities as the standard format, and some additional ones. The intension of this format is to: 1. Improve the readability of PVT table 2. Be able to give bubble points and dew points curve to improve the accuracy close to the saturation line 3. Use different units for the various pvt parameters 4. Facilitate conversion between mass flowrate and volumetric flowrate at standard conditions (Not implemented yet) 5. Be able to adapt more easily the temperature and pressure mesh to the phase envelope 6. Make a format that is easily extendable for new parameters 7. Provide composition information to help custom support for pvt related problems 8. Easily export pvt data to spreadsheets 4.1.2.1

The syntax of the keyword

The syntax of OLGA input applies to the new table format. Specifically, an input statement has the general form: KEYWORD KEY = Parameter list, ... where the ellipses (...) indicate that the statement may contain more than one "KEY = Parameter list" combinations. Commas separate such combinations. The KEYWORD identifies the input statement. Each keyword has a set of variables, each identified by a KEY (e.g. SETPOINT). Separators: Items are separated by commas (,). Tabulation is treated as one single space. Line continuation: An input statement can be written on several lines by ending each line with the continuation character: \ (backslash) Comments: Comments are indicated with the comments mark: ! (exclamation mark) Any information on a line after a comment mark is ignored. The comment mark can be put anywhere on the line. String protector: A string that contains spaces or commas should be protected with double quotes: " (double quote) List protector: Any list should be put inside a parenthesis: ( ... )

Chapter 4: Fluid Properties and other Data Files

4.1.2.2

Page 381

Table Structure

A table is defined through the keyword: PVTTABLE The structure of the fluid property table is as follows: For each of the tables PVTTABLE LABEL = fluid-1, etc For each of the pressure and temperature points PVTTABLE POINT = (…) End of pressure and temperature points End of tables The values of all parameters except POINT must be written in a single line. Fluid properties for each pressure/temperature point must subsequently be specified through the PVTTABLE POINT structure, repeated for each pressure/temperature point. See Section 4.1.2.3 for the definitions of subkeys under the main keyword PVTTABLE. 4.1.2.3

Keyword PVTTABLE (Not available with OLGA GUI) Key

Type Unit: ( )

LABEL

str.

PHASE

sym

EOS1

str.

MESHTYPE

sym.

Parameter set Default: [ ]

Description

Name of the table. [TWO] | THREE

Two or three phase table Equation of state used in generating the pvt table. Optional.

[STANDARD] | FREEPRES | FREETEMP

STANDARD: Both temperature and pressure points are fixed independently FREEPRES: Temperature points are fixed first and the pressure points are specified for each of the individual temperature points. FREETEMP: Pressure points are fixed first and the temperature points are specified for each of the individual pressure points.

1

COMPONENTS1

str.l.

List of names of the components in the composition. Optional.

MOLES1

r.l.

Mole fraction for each of the components in the composition. Optional.

Subkey not used by OLGA.

Page 382

Chapter 4: Fluid Properties and other Data Files

Key

2

Type Unit: ( )

Parameter set Default: [ ]

Description

DENSITY1

r.l. (kg/m3)

Density for each of the components in the composition. Set to –999 if not available. Optional.

MOLWEIGHT1

r.l. (g/mol)

Molecular weight for each of the components in the composition. Optional.

STDPRESSURE1

r. (Pa)

[ 1 ATM]

Pressure at standard conditions (1 atm) . Optional

STDTEMPERATURE1

r. (°C)

[15.5 °C]

Temperature at standard conditions (15.5 oC). Optional.

GOR1

r. (Sm3/Sm3)

Gas/oil ratio at standard conditions. For two-phase flow, GOR is interpreted as gas/liquid ratio, i.e. it is ratio of gas volume fraction to the liquid volume fraction at standard conditions. For cases where there is no oil/liquid, set GOR = -999.

GLR1

r. (Sm3/Sm3)

Gas/liquid ratio at standard conditions. For cases where there is no liquid, set GLR = -999.

WC1,2

r. (-)

Water cut standard conditions, for three-phase table only.

STDGASDENSITY1

r. (kg/m3)

Gas density at standard conditions.

STDOILDENSITY1

r. (kg/m3)

Oil density at standard conditions.

STDWATDENSITY1,2

r. (kg/m3)

Water density at standard conditions.

TOTWATERFRACTION2

r. (-)

Mass fraction of water component in the composition.

DEWPRESSURES

r.l. (Pa)

Dewpoint pressures. The subkeys DEWPRESSURES and DEWTEMPERATURES are optional. Leave out these two subkeys if no dew point curve is found

DEWTEMPERATURES

r.l. (°C)

Dewpoint temperatures corresponding to the dewpoint pressure given in keyword DEWPRESSURES.

BUBBLEPRESSURES

r.l. (Pa)

Bubble point pressures

Only if PHASE = THREE. Ignored if PHASE = TWO.

Chapter 4: Fluid Properties and other Data Files

Key

BUBBLETEMPERATURES

Type Unit: ( )

Page 383

Parameter set Default: [ ]

r.l. (°C)

Description

Bubble point temperatures corresponding to the bubble point pressures given in keyword BUBBLEPRESSURES The subkeys BUBBLEPRESSURE and BUBBLETEMPERATURE are optional. Leave out these two subkeys if no bubble point curve is found.

CRITICALPRESSURE

r. (Pa)

Pressure at the critical point

CRITICALTEMPERATURE

r. (°C)

Temperature at the critical point. The subkeys CRITICALPRESSURE and CRITICALTEMPERATURE are optional. If the critical point is not found, either set the values of critical pressure and temperature to –999, or leave out these two subkeys.

NOPRES

i.l.

Number of pressure points for each of temperature points given in subkey TEMPERATURE. Only if MESHTYPE = FREEPRES

TEMPERATURE

r.l. (°C)

Temperature points if MESHTYPE = FREEPRES or STANDARD

NOTEMP

i.l.

Number of temperature points for each of pressure points given in subkey PRESSURE. Only if MESHTYPE = FREETEMP

PRESSURE

r.l. (pa)

Pressure points if MESHTYPE = FREETEMP or STANDARD

COLUMNS

sym.l.

The default unit is given in parenthesis

Specify orders and units of parameters for a table point.

TM (°C)

Temperature

PT (Pa)

Pressure

RS (-)

Gas mass fraction in gas/oil mixture

RSW (-)

Water vapour mass fraction in gas phase2

ROG (kg/m3)

Gas density

DROGDP (s2/m2)

Derivative of gas density w.r.t pressure

DROGDT (kg/m3°C)

Derivative of gas density w.r.t temperature

ROHL (kg/m3)

Oil density

Page 384

Chapter 4: Fluid Properties and other Data Files

Key

POINT

Type Unit: ( )

r.l.

Parameter set Default: [ ]

Description

DROHLDP (s2/m2)

Derivative of oil density w.r.t pressure

DROHLDT (kg/m3°C)

Derivative of oil density w.r.t temperature

ROWT (kg/m3)

Water density.2

DROWTDP (s2/m2)

Derivative of water density w.r.t pressure.2

DROWTDT (kg/m3°C)

Derivative of water density w.r.t temperature.2

TCG (W/m°C)

Gas thermal conductivity.

TCHL (W/m°C)

Oil thermal conductivity.

TCWT (W/m°C)

Water thermal conductivity.

CPG (J/kg°C)

Gas thermal capacity.

CPHL (J/kg°C)

Oil thermal capacity.

CPWT (J/kg°C)

Water thermal capacity.2

HG (J/kg)

Gas enthalpy.

HHL (J/kg)

Oil enthalpy.

HWT (J/kg)

Water enthalpy.2

VISG (Ns/m2)

Gas viscosity.

VISHL (Ns/m2)

Oil viscosity.

VISWT (Ns/m2)

Water viscosity.2

SEG (J/kg°C)

Gas entropy.

SEHL (J/kg°C)

Oil entropy.

SEWT (J/kg°C)

Water entropy.2

SIGGHL (N/m)

Surface tension between gas and oil.

SIGGWT (N/m)

Surface tension between gas and water. 2

SIGHLWT (N/m)

Surface tension between oil and water.2 Values of parameters, see note 1 and 2 below.

Note 1: The pressure and temperature values must be the same as specified in the keys PRESSURE and TEMPERATURE for mesh type STANDARD. Pressure must be the same as specified in the keys PRESSURE for mesh type FREETEMP. Temperature must be the same as specified in the keys TEMPERATURE for mesh type FREEPRES. Note 2: The order and the units must be the same as specified in the key COLUMNS. Note 3: The use of pressure and temperature dependant values in the complex fluid module is not yet implemented, see section 4.1.1.1.

Chapter 4: Fluid Properties and other Data Files

4.1.2.4

Page 385

Examples

Example 1: Two-phase, Standard mesh type PVTTABLE LABEL = FLUID-1, PHASE = TWO, \ COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\ MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\ MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3) DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3 STDPRESSURE = 1 ATM, \ STDTEMPERATURE = 15.5 C, \ GLR = 768 SM3/SM3, \ STDGASDENSITY = 1.0 KG/M3, \ STDOILDENSITY = 787.7 KG/M3, \ DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\ 307.32,312.44,317.28,321.74,325.65,\ 328.81,330.91,331.56,331.54,330.50,\ 327.48,321.73,312.37,298.41,278.85,\ 261.62,247.00,228.69,213.56,194.95,\ 179.74,170.39,160.41,156.59) C, \ DEWPRESSURE = ( 5.00, 5.99, 7.50, 9.39, 11.74 ,\ 14.67, 18.32, 22.87, 28.55, 35.65, \ 44.57, 55.79, 67.71, 70.01, 84.78, \ 102.96,125.37,152.53,184.55,220.92, \ 247.76,267.66,289.40,304.96,321.31, \ 332.46,338.34,343.81,345.68) BARA, \ BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67,\ 73.39, 54.56, 36.12, 26.85,22.85, \ 18.85, 18.00, 14.85, 10.85, 6.85,\ 2.85, 0.09, -1.15,- 5.15,-9.15,\ -13.15,-17.78,-32.86) C, \ BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \ 354.02,346.52,335.35,328.21,324.81, \ 321.20,320.41,317.39,313.36,309.13, \ 304.68,301.49,300.01,295.12,290.00, \ 284.65,278.16,254.79) BARA, \ CRITICALPRESSURE (345.68) BARA, \ CRITICALTEMPERATURE = 156.59 C, \ MESHTYPE = STANDARD, \ ! !both temperature points and pressure points are fixed ! TEMPERATURE =(1,2,3,4,5) C,\ PRESSURE = (1,2,3,4,5) BARA, \ COLUMNS =(PT BARA, TM C, ROG KG/M3, ROHL KG/M3, DROGDP, DROHLDP, DROGDT, \ DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG, HHL,TCG,TCHL,SIGGHL,SEG,SEHL) PVTTABLE POINT = (1,1, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, -3.557E-03, \ -5.931E-01, 4.617E-01, 1.054E-05, 1.299E-03, 1.805E+03, 1.963E+03, \ 4.841E+02, -3.884E+05, 2.738E-02, 1.379E-01, 2.284E-02, 3.816E+02, \ -7.810E+02) PVTTABLE POINT = (1,2,…) … PVTTABLE POINT = (1,5,..) … ) PVTTABLE POINT = (5,1,..) … ) PVTTABLE POINT = (5,5,…)

Example 2: Two-phase, freepressure mesh type PVTTABLE LABEL = FLUID-1, PHASE = TWO, \ COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\ MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03) ,\ MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3) ,\ DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3 ,\ STDPRESSURE = 1 ATM, \ STDTEMPERATURE = 15.5 C, \ GLR = 768 SM3/SM3, \ STDGASDENSITY = 1.0 KG/M3, \ STDOILDENSITY = 787.7 KG/M3 ,\ DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03, \ 307.32,312.44,317.28,321.74,325.65, \ 328.81,330.91,331.56,331.54,330.50, \

Page 386

Chapter 4: Fluid Properties and other Data Files

327.48,321.73,312.37,298.41,278.85, \ 261.62,247.00,228.69,213.56,194.95, \ 179.74,170.39,160.41,156.59) C, \ DEWPRESSURE = (5.00,5.99,7.50,9.39,11.74,14.67,18.32,22.87, \ 28.55,35.65,44.57,55.79,67.71,70.01,84.78, \ 102.96,125.37,152.53,184.55,220.92, \ 247.76,267.66,289.40,304.96,321.31, \ 332.46,338.34,343.81,345.68) BARA, \ BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67, \ 73.39, 54.56, 36.12, 26.85,22.85, \ 18.85, 18.00, 14.85, 10.85, 6.85,\ 2.85, 0.09, -1.15,- 5.15,-9.15,\ -13.15,-17.78,-32.86) C, \ BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \ 354.02,346.52,335.35,328.21,324.81, \ 321.20,320.41,317.39,313.36,309.13, \ 304.68,301.49,300.01,295.12,290.00. \ 284.65,278.16,254.79) BARA, \ CRITICALPESSURE (345.68) BARA, \ CRITICALTEMPERATURE = 156.59 C, \ MESHTYPE = FREEPRES, \ ! ! temperature points are specified here. ! number of pressure points and pressure values can be different for ! (be dependent on) different temperature points. ! number of pressure points for each of the temperature points are given here !..the pressure values are given in subkey POINT TEMPERATURE =(1.0,2.0,3.0,4.0,5.0) C,\ NOPRES =(5,5,5,5,6),\ COLUMNS =(PT BARA, TM C,ROG KG/M3, ROHL KG/M3, DROGDP, DROHLDP, \ DROGDT,DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG,HHL,TCG, \ TCHL,SIGGHL,SEG,SEHL) ! first temp. point contains five pressure points ranging from 1 to 10 bara PVTTABLE POINT = (1.0,1.0, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, \ -3.557E-03,-5.931E-01,4.617E-01, 1.054E-05, 1.299E-03, \ 1.805E+03, 1.963E+03, 4.841E+02, -3.884E+05, 2.738E-02, \ 1.379E-01, 2.284E-02, 3.816E+02, -7.810E+02) PVTTABLE POINT = (2.0,1.0,…) PVTTABLE POINT = (3.0,1.0,…) PVTTABLE POINT = (5.0,1.0,…) PVTTABLE POINT = (10.0,1.0,…) ! ! more temperature points. Each has five pressure points. ! … ! !last temperature point contains six pressure points ! PVTTABLE POINT = (1.0,5.0,..) PVTTABLE POINT = (5.0,5.0,..) PVTTABLE POINT = (6.0,5.0,..) PVTTABLE POINT = (7.0,5.0,..) PVTTABLE POINT = (8.0,5.0,..) PVTTABLE POINT = (9.0,5.0,..)

Chapter 4: Fluid Properties and other Data Files

Page 387

Example 3: Two-phase, freetemperature mesh type PVTTABLE LABEL = FLUID-1, PHASE = TWO, \ COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\ MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\ MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3),\ DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3, \ STDPRESSURE = 1 ATM, \ STDTEMPERATURE = 15.5 C, \ GLR = 768 SM3/SM3, \ STDGASDENSITY = 1.0 KG/M3, \ STDOILDENSITY = 787.7 KG/M3, \ DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\ 307.32,312.44,317.28,321.74,325.65,\ 328.81,330.91,331.56,331.54,330.50,\ 327.48,321.73,312.37,298.41,278.85,\ 261.62,247.00,228.69,213.56,194.95,\ 179.74,170.39,160.41,156.59) C, \ DEWPRESSURE = (5.00,5.99,7.50,9.39,11.74,14.67,18.32,\ 22.87,28.55,35.65,44.57,55.79,67.71,70.01, \ 84.78,102.96,125.37,152.53,184.55,220.92, \ 247.76,267.66,289.40,304.96,321.31, \ 332.46,338.34,343.81,345.68) BARA, \ BUBBLETEMPERATURE=(139.72,125.96,112.46,103.52,92.67,\ 73.39,54.56, 36.12, 26.85,22.85, \ 18.85,18.00, 14.85, 10.85, 6.85,\ 2.85,0.09, -1.15,- 5.15,-9.15,\ -13.15,-17.78,-32.86) C, \ BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \ 354.02,346.52,335.35,328.21,324.81, \ 321.20,320.41,317.39,313.36,309.13, \ 304.68,301.49,300.01,295.12,290.00, \ 284.65,278.16,254.79) BARA, \ CRITICALPRESSURE (345.68) BARA, \ CRITICALTEMPERATURE = 156.59 C, \ ! ! Pressure points are specified here. ! Number of temperature points and temperature values can change for ! (be dependent on) different pressure points. ! Number of temperature points for each of the pressure points are given here !..The temperature values are given in subkey POINT MESHTYP = FREETEMP, \ PRESSURE =(1.0,2.0,3.0,4.0,5.0) BARA,\ NOTEMP =(5,5,5,5,6),\ COLUMNS =(PT BARA, TM C, ROG KG/M3, ROHL KG/M3, DROGDP, \ DROHLDP,DROGDT,DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG, \ HHL,TCG,TCHL,SIGGHL,SEG,SEHL) ! First pressure point contains five temperature points ! Temperature ranging from 1 to 20 C PVTTABLE POINT = (1.0, 1.0, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, \ -3.557E-03,-5.931E-01, 4.617E-01, 1.054E-05, 1.299E-03, \ 1.805E+03, 1.963E+03, 4.841E+02,-3.884E+05, 2.738E-02, \ 1.379E-01, 2.284E-02, 3.816E+02, -7.810E+02) PVTTABLE POINT = (1.0, 2.0,…) PVTTABLE POINT = (1.0, 4.0,…) PVTTABLE POINT = (1.0,10.0,…) PVTTABLE POINT = (1.0,20.0,…) ! ! more pressure points. Each has five temperature points. ! … ! !last pressure point contains six temperature points ! PVTTABLE POINT = (5.0, 1.0,..) PVTTABLE POINT = (5.0, 5.0,..) PVTTABLE POINT = (5.0,13.0,..) PVTTABLE POINT = (5.0,14.0,..) PVTTABLE POINT = (5.0,15.0,..) PVTTABLE POINT = (5.0,20.0,..)

Page 388

Chapter 4: Fluid Properties and other Data Files

Example 4: Three-phase, Standard mesh type PVTTABLE LABEL = FLUID-1, PHASE = THREE, \ COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\ MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\ MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3) DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3 STDPRESSURE = 1 ATM, \ STDTEMPERATURE = 15.5 C, \ GLR = 768 SM3/SM3, \ STDGASDENSITY = 1.0 KG/M3, \ STDOILDENSITY = 787.7 KG/M3, \ STDWATDENSITY = 998. KG/M3, \ DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\ 307.32,312.44,317.28,321.74,325.65,\ 328.81,330.91,331.56,331.54,330.50,\ 327.48,321.73,312.37,298.41,278.85,\ 261.62,247.00,228.69,213.56,194.95,\ 179.74,170.39,160.41,156.59) C, \ DEWPRESSURE = ( 5.00, 5.99, 7.50, 9.39, 11.74 ,\ 14.67, 18.32, 22.87, 28.55, 35.65, \ 44.57, 55.79, 67.71, 70.01, 84.78, \ 102.96,125.37,152.53,184.55,220.92, \ 247.76,267.66,289.40,304.96,321.31, \ 332.46,338.34,343.81,345.68) BARA, \ BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67,\ 73.39, 54.56, 36.12, 26.85,22.85, \ 18.85, 18.00, 14.85, 10.85, 6.85,\ 2.85, 0.09, -1.15,- 5.15,-9.15,\ -13.15,-17.78,-32.86) C, \ BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \ 354.02,346.52,335.35,328.21,324.81, \ 321.20,320.41,317.39,313.36,309.13, \ 304.68,301.49,300.01,295.12,290.00, \ 284.65,278.16,254.79) BARA, \ CRITICALPRESSURE (345.68) BARA, \ CRITICALTEMPERATURE = 156.59 C, \ MESHTYPE = STANDARD, \ ! !both temperature points and pressure points are fixed ! TOTWATERFRACTION = 0.112, \ WC=.489380E-02,\ TEMPERATURE =(1,2,3,4,5) C,\ PRESSURE = (1,2,3,4,5) BARA, \ COLUMNS = (PT,TM,ROG,ROHL,ROWT,DROGDP,DROHLDP,DROWTDP,DROGDT,DROHLDT, \ DROWTDT,RS,RSW,VISG,VISHL,VISWT,CPG,CPHL,CPWT,HG,HHL,HWT,TCG, \ TCHL,TCWT,SIGGHL,SIGGWT,SIGHLWT,SEG,SEHL,SEWT) ! PVTTABLE POINT = (1,1,.112510E+01,.708593E+03,.677649E+03,.113188E-04, \ .520848E-06,.156303E-06,-.418187E-02,-.332632E+00,.535346E+00, \ .372160E-01,.182867E-02,.979882E-05,.591224E-02,.263150E-02, \ .176425E+04,.202253E+04,.449390E+04,.731026E+02,-.345943E+06, \ -.196628E+07,.248102E-01,.148744E+00,.570657E+00,.118942E-01, \ .755188E-01,.544038E-01,.435748E+03,-.631419E+03,-.537537E+04) PVTTABLE POINT = (1,2,…) … PVTTABLE POINT = (1,5,..) … ) PVTTABLE POINT = (5,1,..) … ) PVTTABLE POINT = (5,5,…)

4.1.3 Feed file for compositional tracking This file is generated in PVTSim, and contains data for each fluid component as well as the fluid composition (component mole fractions) for one or more feeds. The syntax of the file is complex, and is not explained here. There should be no need to view the contents of the file, as the feed and component names can be chosen directly from the OLGA GUI when a feed file has been specified.

Chapter 4: Fluid Properties and other Data Files

Page 389

4.2 Compressor data file This file contains tables of the compressor characteristics, defined below, as functions of reduced RPM and reduced inlet mass flow. The reason for giving the characteristics as functions of reduced RPM and reduced inlet mass flow, is to obtain one table for several inlet conditions (pressure, temperature), instead of having one table for each inlet condition. Variables The definitions of reduced mass flows and reduced RPM are as follows: Reduced inlet mass flow

: MASSRE = G * Θ 0,5 / δ

Reduced surge mass flow

: MREDSU = G SURGE * Θ 0,5 / δ

Reduced RPM

: RPMRED = RPM / Θ 0,5

G GSURGE RPM

Θ

δ

= inlet mass flow (kg/s) = surge mass flow (kg/s) = rotational speed (r/min) = normalized inlet temp = inlet temp / 288 K (-) 5 = normalized inlet pressure = inlet pressure / (1.013*10 Pa) (-)

The table values can be equidistant or non-equidistant. Variables: Name

Unit

IDENTF NCOMTA COMPID(I)

(-)

NTABWG(I)

(-)

NTABOM(I)

(-)

RPMRED(K,I)

(r/min)

MASSRE(J,I)

(kg/s)

COTEXT(1,I) PRATIO(J,K,I)(-)

COTEXT(2,I) TRATIO(J,K,I) (-)

Definition File identification (40 characters) Number of compressors Compressor identification, compressor(I) (40 characters) Note! All characters after a blank in a character string are omitted. (I = 1, NCOMTA) Number of reduced mass flow points, compressor(I) Number of reduced RPM points, compressor(I) Reduced RPM, compressor(I) K=1,NTABOM(I) Reduced inlet mass flow, compressor(I) J=1,NTABWG(I) Heading, pressure ratio table, compressor(I) (40 characters) Pressure ratio, δ. compressor(I) K=1,NTABOM J=1,NTABWG(I) Heading, temperature ratio table, compressor(I) (40 characters) Temperature ratio, Q. Compressor(I) K=1,NTABOM(I), J=1,NTABWG(I)

Page 390

Chapter 4: Fluid Properties and other Data Files

COTEXT(3,I) MREDSU(K,I)

(kg/s)

Heading, reduced surge mass-flow table, compressor(I) (40 characters) Reduced surge mass flow, compressor(I) K=1,NTABOM(I)

Data file structure: IDENTF NCOMTA The following data is repeated for each compressor : COMPID(I) NTABWG(I) NTABOM(I) RPMRED(1,I). . . . . . MASSRE(1,I). . . . . . COTEXT(1,I) PRATIO(1,1,I). . . . . . . . . . PRATIO(NTABWG(I),1,I). COTEXT(2,I) TRATIO(1,1,I). . . . . . . . . . TRATIO(NTABWG(I),1,I). COTEXT(3,I) MREDSU(1,I). . . . . .

. RPMRED(NTABOM(I),I) . MASSRE(NTABWG(I),I) . PRATIO(1,NTABOM(I),I)

. PRATIO(NTABWG(I),NTABOM(I),I) . TRATIO(1,NTABOM(I),I)

. TRATIO(NTABWG(I),NTABOM(I),I) . MREDSU(NTABOM(I),I)

Note that the number of compressor tables must equal the number of compressors. The tables must be given in increasing order; the first table is for compressor number one etc.

Chapter 4: Fluid Properties and other Data Files

Page 391

4.3 Pump Data Files 4.3.1 Pump Data Table for Centrifugal Pumps The pump characteristics for the centrifugal pump are presented in the form of four quadrant curves. These curves are empirically developed by the pump manufacturer. The four quadrant curves are converted to a simpler form by the development of homologous curves where the head and torque ratios (actual value to rated value) are functions of the pump speed and flow rate ratios. In order to interpret the homologous curves, the following variables are defined:

h=

H HR

- head ratio

q=

Q - flow ratio QR

ω=

N NR

- speed ratio

β=

TH - torque ratio TH R

where subscript R means rated value. Four sets of homologous curves are tabulated: 1. 2. 3. 4.

Single phase head HS Two phase head HT Single phase torque THS Two phase torque THT

Each set of homologous curves consists of four curves, two dependent variables each as function of two independent variables. A more detailed description is given in chapter 2.2.10. The transfer from single phase to fully degraded two phase conditions is described by the two phase head and two phase torque multipliers. A complete default set of homologous curves is tabulated in the code. These are based on experimental data and are representative for centrifugal pumps. However, the users can change these data easily by specifying their own experimental data through the pump data table. The structure of the table is as shown in the example below. The reading of the input is based on keywords, but the sequence of the keywords must be as shown in the example. For the independent variables QOMEG is used for q/ ω and OMEGQ is used for ω /q. For each table the number of dependent and independent variables must be the same.

Page 392

Chapter 4: Fluid Properties and other Data Files

!************************************************************************************************* ! Pump type and label !************************************************************************************************* TYPE = CENTRIFUGAL, LABEL = Label of the table ! !************************************************************************************************* ! Table for single phase head HS !************************************************************************************************* ! HS1 QOMEG = (x1, x2, … , xHS1) HEADS1 = (y1, y2, … , YHS1) ! HS2 OMEGQ = (x1, x2, … , xHS2) HEADS2 = (y1, y2, … , YHS2) ! HS3 OMEGQ = (x1, x2, … , xHS3) HEADS3 = (y1, y2, … , YHS3) ! HS4 QOMEG = (x1, x2, … , xHS4) HEADS4 = (y1, y2, … , YHS4) ! !************************************************************************************************* ! Table for two phase head HT !************************************************************************************************* ! HT1 QOMEG = (x1, x2, … , xHT1) HEADT1 = (y1, y2, … , YHT1) ! HT2 OMEGQ = (x1, x2, … , xHT2) HEADT2 = (y1, y2, … , YHT2) ! HT3 OMEGQ = (x1, x2, … , xHT3) HEADT3 = (y1, y2, … , YHT3) ! HT4 QOMEG = (x1, x2, … , xHT4) HEADT4 = (y1, y2, … , YHT4) ! !************************************************************************************************* ! Table for single phase torque THS !************************************************************************************************* ! THS1 QOMEG = (x1, x2, … , xTHS1) TORQS1 = (y1, y2, … , YTHS1) ! THS2 OMEGQ = (x1, x2, … , xTHS2) TORQS2 = (y1, y2, … , YTHS2) ! THS3 OMEGQ = (x1, x2, … , xTHS3) TORQS3 = (y1, y2, … , YTHS3) ! THS4 QOMEG = (x1, x2, … , xTHS4) TORQS4 = (y1, y2, … , YTHS4) ! !************************************************************************************************* ! Table for two phase torque THT !************************************************************************************************* ! THT1 QOMEG = (x1, x2, … , xTHT1) TORQS1 = (y1, y2, … , YTHT1) ! THT2 OMEGQ = (x1, x2, … , xTHT2) TORQS2 = (y1, y2, … , YTHT2) ! THT3 OMEGQ = (x1, x2, … , xTHT3) TORQS3 = (y1, y2, … , YTHT3) ! THT4 QOMEG = (x1, x2, … , xTHT4) TORQS4 = (y1, y2, … , YTHT4)

Chapter 4: Fluid Properties and other Data Files

Page 393

! !************************************************************************************************* ! Table for two phase head multiplier !************************************************************************************************* VOID = (x1, x2, … , xHV) HEADM = (y1, y2, … , YHV) ! !************************************************************************************************* ! Table for two phase torque multiplier !************************************************************************************************* VOID = (x1, x2, … , xTV) TORQM = (y1, y2, … , YTV) ! !************************************************************************************************* ! End of the table !************************************************************************************************* END !

NOTE ! The number of elements for each curve is limited to 10. 4.3.2 Pump Data Table for Displacement Pumps The back flow rate, Qb , is a function of PI , ∆P, αI, νl , and N.

Qb = f

( N , ∆P,α

I

, PI , ν I )

In order to define Qb a complete table with 5 independent variables and one dependent variable should be defined. Linear interpolation is used to calculate the Qb-value and its partial derivatives at the operating point. The default units of the variables in the table: PI, ∆P Qb νl αI N

- Pa; - Pa; - m3 / s; - m2 / s; - (-); - rpm.

Pump inlet pressure Pump pressure increase Volumetric back flow Liquid kinematic viscosity Gas volume fraction Pump speed

The units can also be specified by users. The structure of the table is as shown in the example below. The reading of the input is based on keywords, but the sequence of the keywords must be as shown in the example. The structure of the table is: !************************************************************************* ! Pump type and label !************************************************************************* TYPE = DISPLACEMENT, LABEL = Label of the table ! !************************************************************************* ! First pump speed (1) !------------------------------------------------------------------------------------PUMPSPEED= N1 ! !************************************************************************* ! First suction pressure (2) !------------------------------------------------------------------------------------INPRESSURE = Pl,1 !

Page 394

Chapter 4: Fluid Properties and other Data Files

!************************************************************************* ! Lists of voidfractions and deltap for first pump speed and ! suction pressure. (3) !------------------------------------------------------------------------------------VOIDFRACTION = (αI,1, αI,2, … , αI,J) ! DELTAP = (∆P1, ∆P2, … , ∆PK) ! !************************************************************************* ! First viscosity (4). ! ! For each viscosity back flow is listed as function of void! fraction and ∆P. Each BACKFLOW entry is for one ! ∆P and runs over all voidfractions. !------------------------------------------------------------------------------------VISCOSITY = νl,1 ! BACKFLOW = (Qb,1,1, Qb,1,2, … , Qb,1,J) BACKFLOW = (Qb,2,1, Qb,2,2, … , Qb,2,J) : : BACKFLOW = (Qb,K,1, Qb,K,2, … , Qb,K,J) ! !************************************************************************* ! Second viscosity. !------------------------------------------------------------------------------------VISCOSITY = νl,2 : : ! !************************************************************************* ! (2)+(3)+(4) is repeated for each suction pressure ! associated with the first pump speed. ! Different values for voidfraction, deltap and viscosity can ! be used for each suction pressure. !------------------------------------------------------------------------------------INPRESSURE = Pl,2 ! : : ! !************************************************************************* ! (1)+(2)+(3)+(4) is repeated for each pump speed. ! Different values for suction pressure, voidfraction, deltap ! and viscosity can be used for each suction pressure. !------------------------------------------------------------------------------------PUMPSPEED = N2 ! : : !************************************************************************* ! End of the table !------------------------------------------------------------------------------------ENDTABLE !

NOTE! The number of pump speeds and suction pressures are limited to 5, while the number of VOIDFRACTION, DELTAP and VISCOSITY are limited to 10.

Chapter 4: Fluid Properties and other Data Files

Page 395

4.4 Wax table file This file can contain tables with the properties of the wax forming components for multiple fluids. The table for each fluid should have the following format: 1. 2. 3.

4. 5. 6. 7. 8. 9. 10. 11. 12.

13. 14. 15

Name of table. No more than 20 characters and no blanks. Number of wax components. Names of wax components. Each name may take up max. 20 characters. No blanks. Component names encircled by apostrophes and separated by commas. Example: 'C10-C20','C35','C40-C50' Molecular weights (g/mol) of wax components. Liquid densities of wax components (kg/m3). Heat of melting (J/kg) of wax components. Concentration (mol/mol) of wax components in HC mixture. Number of pressure points, number of temperature points. Pressure points (Pa). Cloud point temperatures (C) for each pressure point. First pressure point. Columns with Temperature (C) Solubility of wax component 1 (mol/mol) in oil including wax forming components Solubility of wax component 2 (mol/mol) in oil including wax forming components etc. Wax phase density (kg/m3) Gas phase molecular weight (g/mol) Liquid phase molecular weight (g/mol) Wax phase molecular weight (g/mol) Enthalpy of wax (J/kg) Heat capacity of wax (J/kg K) Thermal conductivity of wax (W/m K) Second pressure point etc. Repeat 1-14 for next fluid

Comment lines start with an !. If the temperature is above the cloud point temperature, oil properties should be used. The wax file is generated in PVTSim. NOTE! The following requirements need to be fulfilled when using multiple fluids in networks: • Same pseudo-components (number of components and lumping) for all fluids. • All fluids in one wax data file. Procedure for generating PVT tables in PVTSIM: 1. Add the inlet fluids as separate fluids. 2. Use Fluids-> Same pseudos (Select the resulting fluids for inlets. Resulting fluids with same pseudos available at bottom of fluid table from database) 3. Use Mix to mix “same pseudos” inlet fluids in proper ratios 4. Generate OLGA and wax tables for each fluid made by “same pseudos” and mix.

Page 396

Chapter 5: Output Description

CHAPTER 5

OUTPUT DESCRIPTION 5.

OUTPUT DESCRIPTION .................................................................................. 397 5.1 Printed Output .......................................................................................... 397 5.1.1 Printed Output Page width............................................................ 397 5.1.2 Printed Output Structure............................................................... 397 5.1.3 Print of Input File 1, Case Data .................................................... 398 5.1.4 Print of Input File 2, 5 and 6, Fluid Properties, Compressor Data, and Pump Data ................................................................... 398 5.1.5 Initial Value Pre-processor ........................................................... 398 5.1.6 Calculated Results ....................................................................... 398 5.1.7 Postprocessor Output................................................................... 399 5.1.8 Warning Messages....................................................................... 399 5.1.9 Error Messages ............................................................................ 401 5.2 Plot files ................................................................................................... 406 5.3 Restart Files ............................................................................................. 406

Chapter 5: Output Description

5.

Page 397

OUTPUT DESCRIPTION OLGA generates up to seven different output files: 1. The output file with standard output for printing results has the extension .out. The structure of this file is given in 5.1.2. 2. A restart file is with extension .rsw is also produced, containing all necessary data to continue a job. 3. The third output file with extension .tpl is optional. It contains time series of the variables defined with the keyword TREND, which can be used for later graphical presentation of the calculated results. 4. The fourth output file with extension .ppl is optional. It contains data for the variables defined with keyword PROFILE that can be used for profile plots at selected time points. 5. The fifth output file with extension .plt is optional. It contains data for the variables defined with keyword PLOT and can be used for visualisation in OLGA Viewer. 6. The sixth output file with extension .osi will be written if keyword CROSSSECTION is defined (FEMTherm module). It stores the 2D temperature for the triangular mesh and is used for visualisation in FEMTherm Viewer. There will be generated one .osi file for each CROSSSECTION. 7. The seventh output file with extension .cut is also written if CROSSSECTION is defined. It stores the cross section geometry required to generate a grid. There will be generated one .cut file for each CROSSSECTION, as well as one .cut file for each BUNDLE placed in a CROSSSECTION.

5.1 Printed Output The time intervals for the printed output is user specified through the keywords OUTPUT. Some guidelines for the definition of the output are given in chapter 2. 5.1.1 Printed Output Page width There is an output option (COLUMN) in the keyword OUTPUT whereby the maximum width of the data written on a page is specified. This facilitates the use of printed results in documents, etc, where the format is limited to A4. 5.1.2 Printed Output Structure The output from OLGA appears in the following order: -

OLGA heading and code version reflex output of input file 1, case data formatted output of input data (optional) contents of input file 2, fluid properties (optional) contents of input file 4, compressor table (optional) initial values (results at t=0) calculated results at subsequent output intervals with time step and CPU time information summary of results from output postprocessor (optional)

Page 398

Chapter 5: Output Description

5.1.3 Print of Input File 1, Case Data The first printout of the input follows immediately after the OLGA heading. This is an unprocessed copy of the input file. Next, a formatted version of HEATTRANSFER data and GEOMETRY data are printed. 5.1.4 Print of Input File 2, 5 and 6, Fluid Properties, Compressor Data, and Pump Data The printed output of the fluid properties file starts with the fluid header. Then follows the bubble and dew point pressures, and finally an edited list of the fluid property tables. 5.1.5 Initial Value Pre-processor If the steady state option is ON, (see section 2.4.3), the output of the steady state calculation is the results at time t=0. If the steady state option is OFF, the results at time t=0 corresponds to the user given initial values. In a restart case the start values will be equal to the final values from the run that is continued. 5.1.6 Calculated Results The user has to specify the printout variables and the time intervals between printouts with the keyword OUTPUT. Each variable is defined by a variable name and unit given in appendix B. If process equipment is simulated, information about the state of the equipment is printed without any specification. As stated in section 2.1.2.3, the code distinguishes between boundary and volume variables. The former are flow variables (velocities, flows, friction factors, etc.), defined at section boundaries, the latter are bulk variables (pressures, densities, volumetric fractions, etc.), defined at the mid-points of section volumes, see fig. 2.1. In addition some global variables, such as the total amount of mass in the system, RMLGT, are defined for the whole pipeline. The printed output is structured so that all boundary variables are printed first, then the global variables and the flow regime information. Then follows information about any process equipment and finally the volume variables. A comment is necessary on the printout of volume variables. The values at the boundaries of each branch are dependent on the boundary conditions. If the boundary type is closed, the values are set to zero. If it is of pressure type, the values are calculated based on the boundary conditions. In a branch of n sections the estimated values of the volume variables at the branch boundaries are printed in the sections numbered 0 and n+1. For a network case, a few branch variables, such as the total liquid content in a branch, LIQC, are defined for each branch. The primary variables (those solved directly from the conservation and constitutive equations by the code) are the average phase velocities UG, UL, the pressure, PT, the volumetric phase fractions, AL, BEHL, BEWT, GAHL, GAWT, the specific masses for each phase, MG, MLHL, MLWT, MDHL, MDWT, and the fluid temperature, TM. The phase densities, ROG, ROHL, and ROWT are computed from the fluid property tables as functions of pressure and temperature. The secondary variables are derived from the primary ones and all available output variables with appropriate units are listed in appendix A.

Chapter 5: Output Description

Page 399

The printed output is terminated with the message: NORMAL STOP IN EXECUTION If the key POSTPROCESSOR = ON has been specified in the keyword OPTION, the output from it will be the last one. 5.1.7 Postprocessor Output The postprocessor gives a summary of main results of a simulation. It gives no information on the dynamic solution except for minimum and maximum values of selected variables during execution time and time step information. This output is therefore most relevant for cases where a steady state solution is obtained. This information is printed at the end of the printout provided that the key POSTPROCESSOR = ON has been specified. The report contains the following items: 1. 2. 3. 4. 5. 6.

Case description External boundary conditions Global (branchwise) information Dominating flow regimes Minimum and maximum values of selected variables with corresponding sections and time Time step information

No information from the process module is available in the postprocessor output. 5.1.8 Warning Messages During the input processing and initialisation stages some minor format errors in the input file will result in warning messages. These will be printed to standard output (normally screen) directly. They are only informative, and do not stop the program. Some examples follows: 1.

In the network case, if the end co-ordinates of the branches do not meet each other at the junction, the code will adjust them according to the first coming branch and give the warning message: WARNING: X OF BRANCH BRAN-4 IN FILE: test.key AT LINE: 86

2.

NOT MEET X OF DES. NODE

If any thing is detected in the fluid table that should cause the user's attention, a warning message will be given, for example: WARNING: ALL ENTHALPY VALUES INCREASED DH = 0.2460E+07 IN FILE: test.key AT LINE: 12 If DEBUG = ON, all warnings regarding the fluid file will be written. When DEBUG = OFF, a summary of the warning message is given.

3.

For some data when specified after keyword RESTART, warning messages will appear:

Page 400

Chapter 5: Output Description

WARNING: >>> REDEFINITION OF SOURCE SOUR-1-1 IN FILE: test.key AT LINE: 98 WARNING: >>> REDEFINITION OF CHOKE IN FILE: test.key AT LINE: 104

CHOKE-1-1

The geometry definition must not be modified in a restart run. If so, an error message will appear on the screen and in the output file, and the code will stop.

Chapter 5: Output Description

Page 401

5.1.9 Error Messages If an error occurs and the execution is terminated, the following message is written to the output file and to standard output: ************************************* * * * OLGA STOP * * * ************************************* THE OLGA SIMULATION ABORTED AT TIME followed by the time of termination and a specific message explaining the cause of the stop. There are two kinds of errors leading to a termination of the execution. Type I: 1.

Errors during input processing. Some examples follows:

If a required keyword is missing in the input, e.g. keyword INTEGRATION, the message will be: ERROR IN THE INPUT FILE: >>> KEYWORD MISSING: INTEGRATION IN FILE: test.key AT LINE: 245

2.

If a required key is missing in the input, e.g. a controller type is OVERRIDE and the sub-key SUBCONTROLLER is missing, then the error message will be: ERROR IN THE INPUT FILE: >>> KEY MISSING: SUBCONTROLLER OCCURRED IN MAINKEY CONTROLLER WITH LABEL C-103 IN FILE: test.key AT LINE: 97

3.

If an incorrect key name is used in the input file, e.g. misspelling the key name UVALUE as UVALVE, the message will be: ERROR IN THE INPUT FILE: >>> KEY NOT DEFINED: UVALVE OCCURRED IN MAINKEY HEATTRANSFER IN FILE: test.key AT LINE: 53

4.

If a parameter value for a key is missing, e.g. the name of PVTFILE is missing, then the error message will be: ERROR IN THE INPUT FILE: >>> PARAMETER MISSING FOR KEY: OCCURRED IN MAINKEY FILES IN FILE: test.key AT LINE: 12

5.

PVTFILE

If any incorrect parameter is defined for a key, e.g. the type of the boundary, the error message will be: ERROR IN THE INPUT FILE:

Page 402

Chapter 5: Output Description

>>> ILLEGAL OPTION FOR KEY TYPE. DEFINED OPTIONS ARE: TERMINAL, MERG. OCCURRED IN MAINKEY NODE WITH LABEL NODE-1 IN FILE: test.key AT LINE: 23 6.

If any inconsistency between the parameters or values is detected, e.g. if the separator volume defined under the keyword SEPARATOR is larger than the volume in the section where the separator is located, then the error message will be: ERROR IN THE INPUT FILE: >>> ILLEGAL PARAMETER FOR KEY: SEPARATOR VOLUME NOT EQUAL TO SECTION VOLUME OCCURRED IN MAINKEY SEPARATOR WITH LABEL SEPA-2 IN FILE: test.key AT LINE: 193

7.

If any inconsistency between the sum of the section lengths and the pipe length is detected, the error message will appear: ERROR IN THE INPUT FILE: >>> SECTION LENGTH DOES NOT SUM UP TO PIPE LENGTH OOCURRED IN MAINKEY PIPE WITH LABEL PIPE-1 IN FILE: test.key AT LINE: 45

8.

If a referenced key label is not defined, e.g. if a BRANCH routing from NODE4 to NODE-5 is defined, but NODE-4 has not been defined under the keyword NODE, the error message will be: ERROR IN THE INPUT FILE: >>> NOT FOUND: ORIGIN NODE NODE-4 OCCURRED IN MAINKEY BRANCH WITH LABEL BRAN-4 IN FILE: test.key AT LINE: 53

9.

The keys should be defined before they are referenced, e.g. a BRANCH should be defined before it is referenced in defining a of a choke location. If not, the error message will be: ERROR IN THE INPUT FILE: >>> BRANCH MUST BE DEFINED BEFORE THIS STATEMENT OCCURRED IN MAINKEY HEATTRANSFER IN FILE: test.key AT LINE: 52

Chapter 5: Output Description

10. be:

Page 403

If a non-existing variable name is specified, e.g. BEA, the error message will ERROR IN THE INPUT FILE: >>> NOT FOUND: VARIABLE BEA OCCURRED IN MAINKEY OUTPUT IN FILE: test.key AT LINE: 68

11.

If the keyword ENDCASE for end of file is missing, the error message will be: ERROR IN THE INPUT FILE: >>> END OF FILE: MISSING ENDCASE IN FILE: test.key AT LINE: 247

12.

If a referenced data file doesn't exist in the working directory, e.g. PVT table case1.tab, the error message will be: ERROR IN THE INPUT FILE: >>> NOT FOUND: CASE1.TAB OCCURRED IN MAINKEY FILES IN FILE: test.key AT LINE: 14

13.

If a key name is abbreviated so that it is not longer unique, e.g. if TEMPERATURE is written with only a T, same first letter as TIME, the error message will be: ERROR IN THE INPUT FILE: >>> KEY NOT UNIQUE: T OCCURRED IN MAINKEY BOUNDARY IN FILE: test.key AT LINE: 111

14.

If an invalid unit for a key parameter is used, e.g. if HGMM is used as a unit for PRESSURE, the error message will be: ERROR IN THE INPUT FILE: >>> INVALID UNIT FOR KEY: PRESSURE OCCURRED IN MAINKEY BOUNDARY IN FILE: test.key AT LINE: 110

15.

If a key is defined twice, e.g. key TITLE, the error message will be: ERROR IN THE INPUT FILE: >>> MULTI-DEFINITION FOR KEY: OCCURRED IN MAINKEY CASE IN FILE: test.key AT LINE: 7

TITLE

Page 404

16.

Chapter 5: Output Description

If a label name is used twice, e.g. NODE-1, the error message will be: ERROR IN THE INPUT FILE: >>> I. D. LABEL ALREADY USED FOR ANOTHER NODE NODE-1 OCCURRED IN MAINKEY NODE WITH LABEL NODE-1 IN FILE: test.key AT LINE: 23

17.

Error messages from reading fluid property table. For example: ERROR IN DATA ARE OCCURRED IN FILE: AT LINE:

18.

THE INPUT FILE: NOT RECOGNIZED WHEN READING IN MAINKEY FILES test.key 13

GAS DENSITY

Error messages from reading compressor data table. For example: ERROR IN THE INPUT FILE: ERROR IN COMPRESSOR TABLE. DATA NOT RECOGNIZED IN TABLE TEMPERATURE COMPRESSOR NUMBER IS 1. OCCURRED IN MAINKEY FILES IN FILE: test.key AT LINE: 13

19.

RATIO,

Misspelled the name of the input file, or the input file does not exist on the working directory: NON-EXISTING INPUT FILE: test.inp

Chapter 5: Output Description

Type II: 1.

Page 405

Errors during execution of the code. Some examples follows:

Problems during execution of the choke model: AN ERROR IN THE CHOKE CALCULATION. TIME OUTSIDE RANGE OF TIME POINT ARRAY FOR CHOKE FLOW AREA; CHOKE NO. 2

2.

Trying to extract a fluid property from the PVT tables when the pressure or temperature is out of their ranges, e.g.: AN ERROR WHEN INTERPOLATING IN THE PVT TABLES PRESSURE BELOW TABLE VALUES IN BRANCH 1 PIPE NO. 4 SECTION NO. 3 RESTART FILE WAS LAST UPDATED AT TIME 4000.000 SECONDS

3.

Problems in the initialisation of variables, e.g.: AN ERROR IN THE STEADY STATE PREPROCESSOR. INITIALISATION FAILED. TOO LOW INLET PRESSURE OR TOO HIGH OUTLET FLOW RATE.

4.

Errors in the matrix solver, e.g.: AN ERROR IN BACK SUBSTITUTION IN THE MATRIX SOLVER FOR NETWORKS. THE COMPILATION OPTIMALISATION LEVEL IS PROBABLY TOO HIGH IN SOME ROUTINES.

5.

Range errors in the calculation for determining flow regime: AN ERROR IN THE CALCULATION OF GAS TEST VELOCITY FOR DISTRIBUTED FLOW. AL IS OUT OF RANGE.

6.

Wrong initialisations in the pig module, e.g.: AN ERROR IN THE PIG MODULE. A PIG WAS TRIED INITIATED INSIDE AN ALREADY EXISTING SLUG.

7.

A problem in the soil module, e.g.: AN ERROR IN THE SOIL MODULE CALCULATION. THE NUMBER OF ITERATIONS IS GREATER THAN 40.

Page 406

Chapter 5: Output Description

5.2 Plot files The graphical presentation of results should be considered the primary source to an understanding of the calculated state in the pipeline. A graphical package is supplied as part of the OLGA GUI. The trend plot file and the profile plot file are in ASCII format. The ASCII format files can be used to interface the results from OLGA with any graphical package the user might have access to. Both the trend plot file and the profile plot file consist of a heading and the time and variables specified with the keyword statement TREND and PROFILE in the input file (extension inp). In addition to the OLGA GUI graphical package, the stand-alone tools OLGA Viewer (.plt files) and FEMTherm Viewer (.osi) are available for visualisation of results. The .plt and .osi files are in binary format. Also, the stand-alone tool FEMThermTool can be used for both 2D thermal computation in a cross section and visualisation of the triangular grid generated when using the FEMTherm module.

5.3 Restart Files The restart file is written unformatted (binary). It consists of all variables necessary to continue the calculation and the data are written to the file each time data are written to the printed output file. Each time data are written to this file, it is first rewound so that it only contains data for the last output time point.

Chapter 6: References

Page 407

CHAPTER 6

REFERENCES 6.

REFERENCES...................................................................................................408 6.1 Referenced papers ...................................................................................408 6.2 Non-referenced papers describing the OLGA model:...............................411 6.3 Non-referenced papers describing applications of the OLGA model:.......411

Page 408

6.

Chapter 6: References

REFERENCES

6.1

Referenced papers

1.

H.B. Bradley: Petroleum Engineering Handbook. Society of Petroleum Engineers, 1987

2.

A.T. Bourgoyne, K.K. Millheim, M.E. Chenevert, and F.S. Young: Applied Drilling Engineering. Society of Petroleum Engineers, 1991

3.

R.E. Henry and H.K. Fauske: The two-phase critical flow of one-component mixtures in nozzles, orifices and short tubes. Journal of Heat Transfer, May 1971, p. 179-187

4.

Terje Straume, Magnus Nordsveen and Kjell Bendiksen: Numerical simulation of slugging in pipelines. ASME Symposium on Multiphase Flow in Wells and Pipelines, Anaheim, CA (1992)

5.

M. Nordsveen, R. Nyborg, L. Hovden: Implementation of CO2 corrosion models in the OLGA three-phase flow code. BHR Group 1999 Multiphase ’99, ISBN 1 86058 212 5

6.

O.B. Rygg, A.K. Rydahl and H.P. Rønningsen Wax Deposition in offshore pipeline systems BHRGroup Multiphase Technology, Volume 31, Banff, Canada, June 1998

7.

Calsep: PVTSIM Method documentation: Modelling of wax formation -> Viscosity of oilwax suspensions.

8.

Rolf Nyborg, Peter Andersson and Magnus Nordsveen: Implementation of CO2 Corrosion Models in a Three-Phase Fluid Flow Model. CORROSION/2000, Paper No. 48 (Houston, TX: NACE International, 2000)

9.

E.F. Caetano, O. Shoham and J.P. Brill: Upward Vertical Two-Phase Flow Velocity and Flow Through an Annulus. Part I: Single-Phase Friction Factor, Taylor Bubble Rise Velocity and Flow Pattern Prediction. Part II: Modelling Bubble, Slug and Annular Flow. BHRA, Multi-Phase Flow - Proceedings of the 4th International Conference, Nice, France, pp. 301-362, 1989

10.

O.B. Rygg, J. D. Friedmann and J. Nossen: Advanced well flow model used for production, drilling and well control applications. IADC Well Control Conference for Europe, Aberdeen, May 1996

Chapter 6: References

Page 409

11.

A. H. P. Skelland: Non-Newtonian Flow and Heat Transfer. John Wiley & Sons, New York, 1967

12.

Matzain, Zhang, Volk, Redus, Brill, Apte and Creek: Multiphase flow wax deposition modelling. Proceeding ETCE, February 2001, Houston USA

13.

Singh,Venkatesan,Fogler, Nagarajan: Formation and Aging of Incipient Thin Film Wax-Oil Gels. AIChE Journal, Vol. 46, No. 5.

14.

Incropera & DeWitt: Fundamentals of Heat and Mass Transfer. 4th ed., ISBN 0-471-30460-3

15.

Pal, R., Rhodes, E.: Viscosity/Concentration Relationships for Emulsions. J. of Rheology, Vol. 33, no. 7, pp. 1021-1045 (1989)

16.

Rønningsen, H. P.: Correlations for Predicting Viscosity of W/O Emulsions based on North Sea Crude Oils. SPE Paper 28968, presented at the SPE International Symposium on Oilfield Chemistry, San Antonio, Texas, US, February 14-17, 1995

17.

Rønningsen, H. P.: Viscosity of ’live’ water-in-crude-oil emulsions: experimental work and validation of correlations. J. of Petroleum Science and Engineering 38, pp. 23-26 (2003)

18.

Stein Olsen and Arne Dugstad: Corrosion under Dewing Conditions CORROSION/91, Paper No.472, NACE, 1991

19.

Hammerschmidt, E.G.: Gas Hydrate Formations: A Further Study on Their Prevention and Elimination from Natural Gas Pipe Lines. GAS, Vol. 15, no. 5, pp. 30-35, May 1939

20.

Winkler, H.W. and Eads, P.T.: Algorithm for More Accurately Predicting Nitrogen-Charged Gas-Lift Valve Operation at High Pressures and Temperatures. SPE 18871, March 1969

21.

Pedersen, K. S., and Rønningsen H. P.: Effect of precipitated wax on viscosity Presentation at AIChE Spring National Meeting, Houston, TX, March 14-18, 1999.

22.

Darby R., Melson J.: How to predict the friction factors for flow of Bingham plastics Chemical Engineering, December 28, 1981

Page 410

Chapter 6: References

23.

White, F.M.: Fluid Mechanics 2nd ed., ISBN 0-07-066525-7

24.

Turian, R.M., Hsu, F.L. and Ma, T.W.: Estimation of the Critical Velocity in Pipeline Flow of Slurries Powder Technology, 51, pp 35-47, 1987

25.

Krieger, I.M. and Dougherty, T.J.: A mechanism for Non-Newtonian Flow in Suspensions of Rigid Spheres Trans. Soc. Rheol. III 137-152., 1959

26.

Thomas, A.D.: Slurry Pipeline Rheology 2nd Conference on Rheology, Sydney, Australia.

27.

Lasater, J. A.: Bubble Point Pressure Calculation Trans. AIME(1958), 379.

28.

McCain W. D.: The properties of petroleum fluids PennWell P. C. 1990

29.

Vazquez and Beggs: Correlations for Fluid Physical Property Prediction M.S. Thesis, Tulsa Univ. 1976.

30.

Glaso, Oistein.: Generalized Pressure-Volume-Temperature Correlations Journal of Petroleum Technology, pp. 785-795, May 1980

Chapter 6: References

6.2

Page 411

Non-referenced papers describing the OLGA model: Bendiksen, K.H., Malnes, D., Moe, R. and Nuland, S.: The Dynamic Two-Fluid Model OLGA: Theory and Application. SPE Production Engineering, May 1991, pp. 171-180 Rygg, O.B. and Ellul, I.R.: The Dynamic Two-Phase Modeling of Offshore Live Crude Lines Under Rupture Conditions. OTC 6747, presented at the 23rd annual Offshore Technology Conference, Houston, U.S.A (May 16-9, 1991) Shea, R.H., Rasmussen, J., Hedne, P. and Malnes, D.: Holdup predictions for wetgas pipelines compared. Oil & Gas Journal, May 19, 1997

6.3

Non-referenced papers describing applications of the OLGA model: Burke, N.E. and Kashou, S.F.: Slug Sizing/Slug Volume Prediction, State of the Art Review and Simulation, OTC 7744, presented at the 27th annual Offshore Technology Conference, Houston, U.S.A (May 1-4, 1995) Burke, N.E., Kashou, S.F. and Hawker, P.C.: History Matching of a North Sea Flowline Startup. Journal of Petroleum Technology, May 1993, pp. 470-476 Courbot, A.: Prevention of Severe Slugging in the Dunbar 16" Multiphase Pipeline. OTC 8196, presented at the 28th annual Offshore Technology Conference, Houston, U.S.A (May 6-9, 1996) Erickson, D.D. and Mai, M.C.: A Transient Multiphase Temperature Prediction Program. SPE 24790, 1992, Presented at the 6th Annual Technical Conference and Exhibition of the SPE, Washington, D.C., October 4-7, 1992 Flaten, G., Nunes, G.C. and Assayaga, S.: Evaluation of the dynamic flow behavior for the Petroboost system. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference Series No. 24, pp. 185-198 Hustvedt, E.: Determination of Slug Length Distribution by the Use of the OLGA Slug Tracking Model. Presented at the 6th Int. Conf. on Multi-Phase Production, Cannes, 1993, BHR Group Conference Series No. 4, pp 147-163 Hærdig, A. and Moe, R.: Dynamic simulations of multiphase flow in flowline bundles on Åsgård. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference Series No. 24, pp. 275-289 Klemp, S., Meland, B., and Hustvedt, E.: Operational experiences from multiphase transfer at Troll. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference Series No. 24, pp. 477-496 Lingelem, M.N.: TOGI Multiphase Flow From Troll to Oseberg. OTC 6670, presented at the 23rd annual Offshore Technology Conference, Houston, U.S.A (May 16-9, 1991) Mazzoni, A., Villa, M., Bonuccelli, M., De Toma, G., Mazzei, D., and Crescezi, T.:

Page 412

Chapter 6: References

Capability of the OLGA Computer Code to Simulate Measured Data From AGIP Oil Field. Presented at the 6th Int. Conf. on Multi-Phase Production, Cannes, 1993, BHR Group Conference Series No. 4 Mazzoni, A. and Bonuccelli, M.: OLGA and WOLGA dynamic codes validation with Trecate test loop three-phase transient data. Presented at the 8th Int. Conf. on MultiPhase Production, Cannes, 1997, BHR Group Conference Series No. 24, pp. 257274 Rygg, O.B., Friedemann, J.D. and Nossen, J.: Advanced Well Flow Model Used for Production, Drilling and Well Control Applications. Presented at The IDAC Well Control Conference for Europe, Aberdeen, May 22-24, 1996 Straume, T., Nordsveen, M. and Bendiksen, K.: Numerical Simulation of Slugging in Pipelines, ASME Int. Symp. On Multiphase Flow in Wells and Pipelines, Anaheim, 813 Nov., 1992 Xu, G.Z., Gayton, P., Hall, A. and Rambaek, J.: Simulation study and field measurement for mitigation of slugging problem in The Hudson Transportation lines. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference Series No. 24, pp. 497-512 Xu, Z.G.: Solutions to Slugging Problems Using Multiphase Simulations. Conference on Multiphase Metering, March 12-13, 1997, Aberdeen, U.K.

Appendix A: Complete list of Output Variables

Page 417

APPENDIX A Complete list of Output Variables

LIST OF CONTENTS FOR THIS APPENDIX: 1.

GENERAL INFORMATION

418

2.

BOUNDARY VARIABLES

419

3.

VOLUME VARIABLES

423

4.

PROCESS EQUIPMENT VARIABLES

426

5.

BRANCH VARIABLES

434

6.

GLOBAL VARIABLES

436

7.

SLUG TRACKING VARIABLES

437

8.

BUNDLE VARIABLES (VOLUME VARIABLES)

442

9.

SOIL VARIABLES (VOLUME VARIABLES)

442

10.

CORROSION VARIABLES (VOLUME VARIABLES)

442

11.

WAX DEPOSITION VARIABLES

443

12.

COMPOSITIONAL / MEG-TRACKING VARIABLES

444

13.

DRILLING VARIABLES

445

14.

NODE VARIABLES

446

15.

REMARKS

447

Page 418

1.

Appendix A: Complete list of Output Variables

GENERAL INFORMATION This Appendix gives a complete list of all output variables, available for printed output and plotting of time trend, profile, or for OlgaViewer. The variables belonging to a section in the pipeline are divided between boundary variables and volume variables. This is due to the staggered mesh used in the numeric solution of the problem, where some variables are computed at the section boundaries (boundary variables) while others are computed in the middle of the section (volume variables). Branch variables will give quantities, relating to the branch, such as, for instance, liquid content. Global variables will give quantities relating to the total system, such as total mass in the system, or relating to the integration, such as the time step. In addition to the variables describing the pipeline, we have variables describing the process equipment, such as compressors, sources etc. The variables belonging to each of these groups are listed in separate sections. However, the variables used with the slug tracking, bundle and soil modules are listed in three separate sections. All variables listed can either be written to the trend plot data file, the output file or both. Variables defined as boundary or volume variables can also be written to the profile plot data file. The abbreviations for the use of the variables (in the «Use as» column in the listing) are as follows: O: TP: PP: C: S:

Printed output variable (to be specified with keyword OUTPUT). Trend plot variable (to be specified with keyword TREND). Profile plot variable (to be specified with keyword PROFILE). Controller signal input variable (to be specified as the controlled variable for a controller, input group CONTROLLER). Only for server output

Variables belonging to different groups cannot be specified together in the input for trend plotting (except the boundary and volume variable groups). A new TREND entry has to be specified for each variable group. Most variables are available for OlgaViewer (to be specified with keyword PLOT). If a variable is available, all the other variables in the group are also available (with a few exceptions). This is noted at the start of each section. The numbers in the "Use as" column below refer to the comments following the variable list in REMARKS.

Appendix A: Complete list of Output Variables

2.

Page 419

BOUNDARY VARIABLES Note: All variables are available for OlgaViewer. Use as

Name

Units

Definition

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP/C

ACCGAG ACCGAQ ACCLIG ACCLIQ ACCOIG ACCOIQ ACCWAG ACCWAQ DPZF

kg m3 kg m3 kg m3 kg m3 Pa/m

O/TP/PP/C O/TP/PP/C

DPZG DPZA

Pa/m Pa/m

O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP** O/TP/PP O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C

DS DUG DUL EVR GASMFRBOUN GD GDHL GDWT GG GL GLHL GLT GLTHL GLTWT GLWT GLWV

m/s2 m/s2 kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s

O/TP/PP/C

GLWVT

kg/s

O/TP/PP/C*

GLRST

Sm3/ Sm3

O/TP/PP/C*

GORST

Sm3/ Sm3

O/TP/PP O/TP/PP O/TP/PP/C O/TP/PP

GRINNER GROUTER GT HOLNS

kg/s -

O/TP/PP

HOLHLNS

-

O/TP/PP

HOLWTNS

-

S

HORBOU

m

Accumulated gas mass flow Accumulated gas volume flow Accumulated liquid mass flow Accumulated liquid volume flow Accumulated oil mass flow Accumulated oil volume flow Accumulated water mass flow Accumulated water volume flow Frictional pressure drop gradient - positive means pressure drop Gravitational pressure drop gradient Additional pressure drop gradient (acceleration, contraction/expansion, pump, chokes, etc.) Distribution slip ratio Time derivative of gas velocity Time derivative of liquid velocity Erosional velocity ratio Gas (HC + vapour) mass fraction of gas+oil Total liquid droplet mass flow rate Oil droplet mass flow rate Water droplet mass flow rate Gas mass flow rate Total liquid film mass flow rate Oil film mass flow rate Total liquid mass flow rate Total oil mass flow rate Total water mass flow rate (excluding vapour) Water film mass flow rate Water vapour mass flow rate (zero if WATERFLASH = OFF) Total water mass flow rate (including vapour). Equal to GLWT if WATERFLASH=OFF GLR at standard conditions, single stage flash as described below GOR at standard conditions, single stage flash as described below Grashof number, by wall inside Grashof number, by wall outside Total mass flow rate Total no-slip liquid volume fraction including droplets (based on superficial velocities) No-slip oil volume fraction including droplets (based on superficial velocities) No-slip water volume fraction including droplets (based on superficial velocities) Horizontal distance from branch inlet boundary to section boundary

Page 420

Appendix A: Complete list of Output Variables

Use as

Name

O/TP/PP/C

ID

Units

Definition Flow regime indicator ID = 1: Stratified ID = 2: Annular ID = 3: Slug ID = 4: Bubble The Steady State Preprocessor distinguishes between two categories of stratified flow, i.e.: ID = 0: Stratified smooth ID = 1: Stratified wavy Oil/water flowregime indicator for slug bubble ID = 0: Stratified smooth ID = 1: Stratified wavy ID = 2: Dispersed ID = -1: Undefined/not applicable Oil/water flowregime indicator for seperated flow and for two-phase oil/water flow ID = 0: Stratified smooth ID = 1: Stratified wavy ID = 2: Dispersed ID = -1: Undefined/not applicable

O/TP/PP

IDWHBUB

O/TP/PP

IDWHSEP

O/TP/PP

IDWHSLU

O/TP/PP

JUD

O/TP/PP/C O/TP/PP/C O/TP/PP

JUG JUL MEGMFRBOUN

-

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C*

PRAMBIENT PRINNER PROUTER PSID PSIE QD QDHL QDWT QG QGST

kg/m3s kg/m3s m3/s m3/s m3/s m3/s Sm3/s

O/TP/PP/C O/TP/PP/C O/TP/PP/C*

QL QLHL QLST

m3/s m3/s Sm3/s

O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C*

QLT QLTHL QLTWT QLWT QOST

m3/s m3/s m3/s m3/s Sm3/s

O/TP/PP/C O/TP/PP/C*

QT QWST

m3/s Sm3/s

O/TP/PP/C

SLAG

kg/m3s

Oil/water flowregime indicator for slug ID = 0: Stratified smooth ID = 1: Stratified wavy ID = 2: Dispersed ID = -1: Undefined/not applicable Directional index of droplet flow (0: positive, 1: negative) Directional index of gas flow (0: positive, 1: negative) Directional index of liquid flow (0: positive, 1: negative) MEG mass fraction of aqueous phase (MEG+water). Only applicable for MEG Tracking. Prandtl number, ambient Prandtl number, by wall inside Prandtl number, by wall outside Deposition rate Entrainment rate Total liquid droplet volume flow rate Oil droplet volume flow rate Water droplet volume flow rate Gas volume flow rate Gas volume flow rate at standard conditions, single stage flash as described below Total liquid film volume flow rate Oil film volume flow rate Liquid volume flow rate at standard conditions, single stage flash as described below Total liquid volume flow rate Total oil volume flow rate Total water volume flow rate Water film volume flow rate Oil volume flow rate at standard conditions, single stage flash as described below Total volume flow rate Water volume flow rate at standard conditions, single stage flash as described below Gas frictional pressure drop divided by gas velocity

Appendix A: Complete list of Output Variables

Use as

Name

Page 421

Units 3

O/TP/PP/C

SLAI

kg/m s

O/TP/PP/C

SLAL

kg/m3s

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

TAUWG TAUWHL TAUWL TAUWWT

Pa Pa Pa Pa TMEGMFRBOUN -

O/TP/PP

TWATMFRBOUN -

O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP

UD UDHL UDO UDWT UG UL ULHL ULWT UO USD USDHL USDWT USG USL USLHL USLWT USLT USLTHL USLTWT WATMFRBOUN

m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s m/s -

O/TP/PP/C*

WCST

-

O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C S

WD WDHL WDWT WG WL WLHL WLWT YBOU

kg/m2s kg/m2s kg/m2s kg/m2s kg/m2s kg/m2s kg/m2s m

S

ZZBOU

m

Definition Interfacial frictional pressure drop divided by difference in phase velocities (Ug - Ul) Liquid frictional pressure drop divided by liquid velocity Gas - wall shear stress Oil film - wall shear stress Liquid film - wall shear stress Water film - wall shear stress MEG mass fraction of aqueous phase (MEG+water) + vapour. Only applicable for MEG Tracking. Aqueous phase (water+MEG) + vapour mass fraction of total mass Average liquid droplet velocity Oil droplet velocity Relative velocity, droplets Water droplet velocity Gas velocity Average liquid velocity in film field Oil velocity in film field Water velocity in film field Relative velocity Superficial velocity, total liquid droplets Superficial velocity, oil droplets Superficial velocity, water droplets Superficial velocity, gas Superficial velocity, total liquid film Superficial velocity, oil film Superficial velocity, water film Superficial velocity, total liquid (USL+USD) Superficial velocity, total oil (USLHL+USDHL) Superficial velocity, total water (USLWT+USDWT) Aqueous phase (water+MEG) mass fraction of total mass Watercut at standard conditions, single stage flash as described below Total liquid droplet mass flux Oil droplet mass flux Water droplet mass flux Gas mass flux Total liquid film mass flux Oil film mass flux Water film mass flux Vertical distance from branch inlet boundary to section boundary Distance from branch inlet boundary along pipeline to section boundary

WCST, GORST, QGST, QLST, QOST and QWST are given at standard conditions (60 oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is, mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion. Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must be performed for each section and time they are plotted, and should be used with care.

*

**

EVR = Vactualmax

Page 422

Appendix A: Complete list of Output Variables

Vactual = Usg + Usl + Usd Vmax = C / (Rons)1/2 Rons = [ ρ g Usg + ρ l(Usl + Usd)]/(Usg+ Usl + Usd) C = 100 for U in ft/s and ρ in Lb/ft3 C = 121.99 for U in m/s and ρ in kg/m3

Appendix A: Complete list of Output Variables

3.

Page 423

VOLUME VARIABLES Note: All variables except TW are available for OlgaViewer. Use as

Name

Units Definition

O/TP/PP/C

ACCDPZF

Pa

O/TP/PP/C

ACCDPZG

Pa

O/TP/PP/C

ACCDPZA

Pa

TP/PP TP/PP TP/PP O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP

ACCLIQBR ACCOILBR ACCWATBR AL BE BEHL BEWT CPG

O/TP/PP

CPHL

O/TP/PP

CPWT

O/TP/PP/C

DMG

O/TP/PP/C

DML

O/TP/PP

DPHYD

m3 m3 m3 J/(kg K) J/(kg K) J/(kg K) kg/m3 s kg/m3 s Pa

O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C

DPT DPTO DPZ DRGP

O/TP/PP/C

DRGT

O/TP/PP/C

DRLP

O/TP/PP/C

DRLT

O/TP/PP

DTHYD

O/TP/PP/C O/TP/PP O/TP/PP/C O/TP/PP/C O/TP/PP O/TP/PP/C TP/PP O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C S

DTM DTMA GA GAHL GASMFR GAWT HDIAM HG HL HOL HOLHL HOLWT HORVOL

Frictional pressure drop gradient (DPZF) integrated along branch Gravitational pressure drop gradient (DPZG) integrated along branch Additional pressure drop gradient (DPZA) integrated along branch Accumulated liquid volume along branch Accumulated oil volume along branch Accumulated water volume along branch Void fraction (gas volume fraction) Total liquid film volume fraction Oil film volume fraction Water film volume fraction Specific heat, gas Specific heat, oil Specific heat, water Time derivative of specific mass, gas Time derivative of specific mass, liquid

Difference between section pressure and hydrate formation pressure for a given section temperature (Positive means hydrate will be formed). Pa/s Time derivative of pressure Pa/s Time derivative of pressure, old Pa/m Space derivative of pressure kg/m Pressure derivative of gas density N kg/m3 Temperature derivative of gas density K kg/m Pressure derivative of liquid density N kg/m3 Temperature derivative of liquid density K o C Difference between hydrate temperature and section temperature for a given section pressure (Positive means hydrate will be formed). K/s Time derivative of temperature °C Difference between adiabatic wall temperature and bulk Total droplet volume fraction Oil droplet volume fraction Gas mass fraction of total mass (HC + aqueous) Water droplet volume fraction m Hydraulic diameter J/kg Enthalpy, gas J/kg Enthalpy, liquid Volume fraction of total liquid (hold-up BE + GA) Volume fraction of oil (oil hold-up BEHL + GAHL) Volume fraction of water (water hold-up BEWT + GAWT ) m Horizontal distance from branch inlet section midpoint to section midpoint

Page 424

Appendix A: Complete list of Output Variables

Use as

Name

Units Definition

O/TP/PP/C

HTK

O/TP/PP

HTKO

TP/PP(1) TP/PP(1) O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP

IDIAM INCL MD MDHL MDWT MEGMFR

O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP/C O/TP/PP O/TP/PP

MG ML MLHL MLWT MLT MLTHL MLTWT OILMFR POWFRC

O/TP/PP/C

PSI

O/TP/PP/C TP/PP TP/PP TP/PP(1) O/TP/PP/C

PT PTMAX PTMIN ROUGH Q2

O/TP/PP/C O/TP/PP/C O/TP/PP O/TP/PP/C O/TP/PP O/TP/PP/C O/TP/PP/C O/TP/PP O/TP/PP O/TP/PP/C O/TP/PP O/TP/PP O/TP/PP O/TP/PP

QM ROG ROHL ROL ROWT RS RSW SEG SEL SIG STDROG STDROHL STDROWT TCONG

O/TP/PP

TCONHL

O/TP/PP

TCONWT

O/TP/PP/C O/TP/PP/C O/TP/PP TP/PP TP/PP O/TP/PP O(2)/TP/PP O/TP/PP

TM TMA TMEGMFR TMMAX TMMIN TU TW TWATMFR

O/TP/PP/C

TWS

W/m2 Heat transfer coefficient of inner wall K W/m2 Heat transfer coefficient of outer wall K m Inner diameter o Inclination from horizontal kg/m3 Specific mass, total liquid droplets kg/m3 Specific mass, oil droplets kg/m3 Specific mass, water droplets MEG mass fraction of aqueous phase (MEG + free water) kg/m3 Specific mass, gas kg/m3 Specific mass, total liquid film kg/m3 Specific mass, oil film kg/m3 Specific mass, water film kg/m3 Specific mass, total liquid (ML+MD) kg/m3 Specific mass, total oil (MLHL+MDHL) kg/m3 Specific mass, total water (MLWT+MDWT) Oil mass fraction of total mass (HC + aqueous) Fraction of supplied electrical power to pipe wall which is received by the fluid. The range is 0-1. kg/m3 Mass transfer rate (from oil to gas) s Pa Pressure Pa Maximum pressure since start of simulation Pa Minimum pressure since start of simulation m Pipe inner wall roughness W/m2 Overall heat transfer coefficient through pipe walls based K on inner diameter assuming steady state conditions in wall. W/m Heat flux from pipe wall to fluid kg/m3 Density of gas kg/m3 Density of hydrocarbon in liquid phase kg/m3 Density of liquid kg/m3 Density of water in liquid phase Gas mass fraction; MG/(MG + ML + MD) from PVT table Relative mass fraction of water vapour in gas J/kgK Gas entropy J/kgK Liquid entropy N/m Surface tension kg/m3 Standard gas density kg/m3 Standard oil density kg/m3 Standard water density W/(m Thermal conductivity, gas K) W/(m Thermal conductivity, oil K) W/(m Thermal conductivity, water K) °C Fluid temperature °C Adiabatic wall temperature MEG mass fraction of aqueous phase + water in gas °C Maximum temperature since start of simulation °C Minimum temperature since start of simulation °C Ambient temperature °C Pipe wall temperatures Total water (free water + water in gas) mass fraction of total mass (HC + aqueous) °C Pipe inner wall surface temperature

Appendix A: Complete list of Output Variables

Use as

Name

Units Definition

O/TP/PP O/TP/PP/C

TWSO VISG

°C Outer wall surface temperature Ns/m Gas viscosity

O/TP/PP/C

VISHL

O/TP/PP/C

VISHLEFF

O/TP/PP/C

VISHLTAB

O/TP/PP/C

VISL

O/TP/PP/C

VISWT

O/TP/PP/C

VISWTEFF

O/TP/PP/C

VISWTTAB

O/TP/PP/C O/TP/PP

VOL VOLMAX

O/TP/PP

WACBEWA

O/TP/PP

WACWA

O/TP/PP O/TP/PP O/TP/PP

WATMFR WC WCWALL

O/TP/PP S

WALPOW YVOL

S

ZZVOL

Page 425

2

Ns/m Viscosity of oil including MEG and dispersed wax effects

2

Ns/m Effective oil viscosity, VISHL including oil/water dispersion effects Ns/m Oil viscosity from tables if MEG- or compositional 2 tracking inactive. If MEGtracking or comptrack active, same as VISHL Ns/m Oil viscosity from tables (only meaning if two phase 2 case) Ns/m Viscosity of water incl. MEG and dispersed wax effects 2

2

Ns/m Effective water viscosity, VISWT including oil/water dispersion effects Ns/m Water viscosity from tables if MEG- or compositional 2 tracking inactive. If MEGtracking or comptrack active, same as VISWT Volume error Output: Max volume error (in a section) since last printout. Trend and profile file: Max volume error (in a section) since last write to file. Volume fraction of continuous water in liquid film to total liquid in film Volume fraction of continuous water in liquid film to total water in film Free water mass fraction of total mass (HC + aqueous) In-situ watercut, defined as HOLWT / HOL Watercut near wall. Equal to one if continuous water in film. Less than one if only water droplets in continuous oil phase. W/m Electrical power supplied to pipe wall m Vertical distance from branch inlet section midpoint to section midpoint m Distance from branch inlet section midpoint along pipeline to section midpoint 2

Page 426

4.

Appendix A: Complete list of Output Variables

PROCESS EQUIPMENT VARIABLES For use: Refer to the label of the process equipment (1) Check Valve Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

O/TP

CHECK

-

Check valve position: = 0: Open = 1: Closed

(2) Choke and Valve Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP TP TP TP TP TP TP TP TP TP

GCRIT GVALVE PVALVE TTHRC TVALVE UCRIT UVALVE VALVAR VALVOP WCRIT

kg/s kg/s Pa °C °C m/s m/s m2 kg/sm2

Critical choke or valve mass flow rate Choke or valve mass flow Choke or valve pressure Critical choke or valve throat temperature Choke or valve throat temperature Critical choke or valve throat velocity Choke or valve throat velocity Valve flow area Relative valve opening Critical mass flux at throat

Choke or valve information will automatically be written to the output file. (3) Compressor Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP

DHRCOO

W

TP TP

HCOMP HREC

W W

TP TP TP

RPM GCOMP GREC

r/min kg/s kg/s

Enthalpy decrease, heat exchanger in compressor recycle loop Enthalpy source of a compressor Enthalpy source from the recycle loop into the input section Compressor speed RPM Total mass flow rate of a compressor Total mass flow rate of the recycle loop

Compressor information will automatically be written to the output file.

Appendix A: Complete list of Output Variables

Page 427

(4) Source Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP/C TP* TP/C TP/C TP* TP/C TP* TP/C TP* TP TP(15)* TP(15) TP S** S** S** S** S** S** TP/C***

GGSOUR GGSVEX GLHLMA GLSOUR GLSVEX GLWTMA GOSVEX GTSOUR GWSVEX HSOURC PTSOUR TMSOUR USGSOU DGGSDP DGLTHLSDP DGLTWTSDP DPDGGS DPDGLTHLS DPDFLTWTS QGSTSOUR

kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s W Pa °C m/s kg/(s Pa) kg/(s Pa) kg/(s Pa) (Pa s)/kg (Pa s)/kg (Pa s)/kg Sm3/s

TP/C***

QLSTSOUR

Sm3/s

TP/C***

QOSTSOUR

Sm3/s

TP/C***

QWSTSOUR

Sm3/s

Gas mass flow rate of a mass source Gas mass flow rate downstream of a source Oil mass flow rate of a mass source Liquid mass flow rate of a mass source Total liquid mass flow downstream of a source Water mass flow of a mass source Oil mass flow downstream of a source Total mass flow rate of a mass source Water mass flow downstream of a source Enthalpy source of a mass source Pressure outside a section with a source Source temperature Superficial gas velocity of a mass source Gas mass flow derivative w.r.t. pressure Oil mass flow derivative w.r.t. pressure Water mass flow derivative w.r.t. pressure Pressure derivative w.r.t. gas mass flow Pressure derivative w.r.t. oil mass flow Pressure derivative w.r.t. water mass flow Gas volume flow of a source at standard conditions, single stage flash as described below Liquid volume flow of a source at standard conditions, single stage flash as described below Oil volume flow of a source at standard conditions, single stage flash as described below Water volume flow of a source at standard conditions, single stage flash as described below

*: Only available for sources with valves. **: Dimension not possible to convert for derivatives. Used for server interface with only SI units applied.

***: QGSTSOUR, QLSTSOUR, QOSTSOUR and QWSTSOUR are given at standard conditions (60 oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is, mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion. Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must be performed for each section and time they are plotted, and should be used with care. Source information will automatically be written to the output file. (5) Controller Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

O/TP TP

CONTR PMCAS

-

Controller signal Averaged primary controller variable (only for extended cascade controller)

Page 428

Appendix A: Complete list of Output Variables

Use as

Name

Units

Definition

TP

SETPOINT

-

TP

MODE

-

Setpoint of secondary controller (only for extended cascade controller) Controller mode (1:AUTOMATIC, 2:MANUAL, 3:EXTERNALSIGNAL, 4:EXTERNALSETPOINT, 5:FREEZE)

(6) Heat Exchanger Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP

DHCOOL

W

Enthalpy source of a heat exchanger for trend plot file

(7) Leak Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP

ACGLK

kg

TP

ACGLKEX

kg

TP

ACHLLK

kg

TP

ACHLLKEX

kg

TP TP

ACMLK ACQGLKEX

kg m3

TP

ACQOLKEX

m3

TP

ACQWLKEX

m3

TP

ACWTLK

kg

TP

ACWTLKEX

kg

TP

DPPROD

Pa

TP/C

GGLEAK

kg/s

TP TP/C

GGLKEX GLHLLK

kg/s kg/s

TP/C TP

GLLEAK GLLKEX

kg/s kg/s

Accumulated gas mass through leakage at upstream conditions Accumulated gas mass through leakage at downstream conditions Accumulated oil mass through leakage at upstream conditions Accumulated oil mass through leakage at downstream conditions Accumulated total mass from leakage Accumulated gas volume through leakage at downstream conditions Accumulated oil volume through leakage at downstream conditions Accumulated water volume through leakage at downstream conditions Accumulated water mass through leakage at upstream conditions Accumulated water mass through leakage at downstream conditions (equal to ACWTLK) Change in opening production pressure due to temperature effect (applicable for Gas Lift Valve) Gas mass flow rate through leakage at upstream conditions Gas mass flow rate downstream of leakage Oil mass flow rate through leakage at upstream conditions Liquid mass flow rate upstream of leakage Liquid mass flow rate downstream of leakage

TP TP/C

GLVTEMP GLWTLK

C kg/s

TP TP TP

GOLKEX GTLEAK GWLKEX

kg/s kg/s kg/s

TP

HLEAK

W

Temperature in Gas Lift Valve bellow/dome Water mass flow rate through leakage at upstream conditions Oil mass flow rate downstream of leakage Total leakage mass flow rate Water mass flow rate downstream of leakage (equal to GLWTLK) Enthalpy from leakage

Appendix A: Complete list of Output Variables

Page 429

Use as

Name

Units

Definition

TP

LMLEAK

kg

TP TP TP TP

PTLKUP PTLEAK TLEAEX QGLKEX

Pa Pa °C m3/s

TP

QOLKEX

m3/s

TP

QTLKEX

m3/s

TP

QWLKEX

m3/s

TP/C*

QGSTLK

Sm3/s

TP/C*

QLSTLK

Sm3/s

TP/C *

QOSTLK

Sm3/s

TP/C *

QWSTLK

Sm3/s

Accumulated liquid mass release from leakage at upstream conditions Leakage upstream pressure Leakage back pressure Fluid temperature downstream of leakage Gas volume flow rate through leakage at downstream conditions Oil volume flow rate through leakage at downstream conditions Total volume flow rate through leakage at downstream conditions Water volume flow rate through leakage at downstream conditions Gas volume flow rate through leakage at standard conditions, single stage flash as described below Liquid volume flow rate through leakage at standard conditions, single stage flash as described below Oil volume flow rate through leakage at standard conditions, single stage flash as described below Water volume flow rate through leakage at standard conditions, single stage flash as described below

*: QGSTLK, QLSTLK, QOSTLK and QWSTLK are given at standard conditions (60 oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is, mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF. For tablebased simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion. Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must be performed for each section and time they are plotted, and should be used with care. Leak information will automatically be written to the output file. (8) Pig/Plug Variables Note: No variables are available for OlgaViewer. See also section for wax-specific variables for combined pig-wax variables. Use as

Name

Units

Definition

O/TP

ALGL

-

O/TP

ALGR

-

O/TP O/TP O/TP O/TP O/TP O(3)/TP O/TP O(3)/TP

APLUG HOLHLL HOLHLR HOLWTL HOLWTR UPIG ZHYDR ZZPIG

m2 m/s M M

Void fraction to the left of a pig/hydrate plug (behind the pig) Void fraction to the right of a pig/hydrate plug (ahead of the pig) Area blocked by a hydrate plug Oil holdup behind the pig Oil holdup ahead of the pig Water holdup behind the pig Water holdup ahead of the pig Pig velocity Length of hydrate plug Distance a pig travelled from launching position

(9) Pigtracking Variables

Page 430

Appendix A: Complete list of Output Variables

All the variables that are available for Slug tracking can be used with Pigtracking. However, not all of the variables are relevant. Of the above-tabulated pig/plug variables all except APLUG and ZHYDR, which are for hydrate plugs, have equivalent slug tracking variables. The pig variables with their equivalent slugtracking variables are listed below. Pig variable Equivalent slugtracking variable ALGL ALGR HOLHLL HOLHLR HOLWTL HOLWTR UPIG ZZPIG

ALTSB ALTSL BEHLTSB + GAHLTSB BEHLTSL BEWTTSB + GAWTTSB BEWTTSL UST ZTSL

The slugtracking variables are described in detail in section 7. (10) Separator Variables Separator information will automatically be written to the output file. Note: All variables are available for OlgaViewer. Use as

Name

Units

Definition

TP

ACMDGS

Kg

TP

ACMDHL

Kg

TP

ACMDWT

Kg

TP

ACMEDHL

Kg

TP

ACMEDWT

Kg

TP

ACMFDGS

Kg

TP

ACMGDGS

Kg

TP TP

ACMODHL ACMODWT

Kg Kg

TP

ACMWDHL

Kg

TP

ACMWDWT

Kg

TP

ACVDGS

m3

TP

ACVDHL

m3

TP

ACVDWT

m3

TP

ACVEDHL

m3

TP

ACVEDWT

m3

TP

ACVFDGS

m3

Accumulated gas mass outflow from separator gas and flare outlets Accumulated oil mass outflow from separator oil and water drains Accumulated water mass outflow from separator oil and water drains Accumulated oil mass outflow from separator emergency drain Accumulated water mass outflow from separator emergency drain Accumulated gas mass outflow from separator flare outlet Accumulated gas mass outflow from separator gas outlet Accumulated oil mass outflow from separator oil drain Accumulated water mass outflow from separator oil drain Accumulated oil mass outflow from separator water drain Accumulated water mass outflow from separator water drain Accumulated gas volume outflow from separator gas and flare outlets Accumulated oil volume outflow from separator oil and water drains Accumulated water volume outflow from separator oil and water drains Accumulated oil volume outflow from separator emergency drain Accumulated water volume outflow from separator emergency drain Accumulated gas volume outflow from separator flare outlet

Appendix A: Complete list of Output Variables

Use as

Name

Units 3

TP

ACVGDGS

m

TP

ACVODHL

m3

TP

ACVODWT

m3

TP

ACVWDHL

m3

TP

ACVWDWT

m3

TP TP TP TP TP TP/C TP TP TP/C TP TP TP/C TP

GEODHL GEODWT GNFDGS GNFDHL GNFDWT GNGDGS GNGDHL GNGDWT GNODHL GNODWT GNWDHL GNWDWT GTDGS

kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s

TP TP TP TP/C TP*

GTDHL GTDWT HDRAIN LIQLV QGSTED

kg/s kg/s w m Sm3/s

TP*

QGSTFD

Sm3/s

TP*

QGSTGD

Sm3/s

TP*

QGSTOD

Sm3/s

TP*

QGSTWD

Sm3/s

TP/C TP*

OILLV QLSTED

m Sm3/s

TP*

QLSTFD

Sm3/s

TP*

QLSTGD

Sm3/s

TP*

QLSTOD

Sm3/s

TP*

QLSTWD

Sm3/s

TP*

QOSTED

Sm3/s

TP*

QOSTFD

Sm3/s

TP*

QOSTGD

Sm3/s

TP*

QOSTOD

Sm3/s

TP*

QOSTWD

Sm3/s

Page 431

Definition Accumulated gas volume outflow from separator gas outlet Accumulated olil volume outflow from separator oil drain Accumulated water volume outflow from separator oil drain Accumulated oil volume outflow from separator water drain Accumulated water volume outflow from separator water drain Oil mass flow rate at separator emergency oil drain Water mass flow rate at separator emergency oil drain Gas mass flow rate at separator flare outlet Oil mass flow rate at separator flare outlet Water mass flow rate at separator flare outlet Gas mass flow rate at separator gas outlet Oil mass flow rate at separator gas outlet Water mass flow rate at separator gas outlet Oil mass flow rate at separator normal oil drain Water mass flow rate at separator normal oil drain Oil mass flow rate at separator normal water drain Water mass flow rate at separator normal water drain Total gas mass flow rate from separator gas and flare outlets Total separator oil mass drain Total separator water mass drain Enthalpy, separator drain Total separator liquid level Gas volume flow from emergency drain at standard conditions, single stage flash as described below Gas volume flow from flare outlet at standard conditions, single stage flash as described below Gas volume flow from gas outlet at standard conditions, single stage flash as described below Gas volume flow from oil drain at standard conditions, single stage flash as described below Gas volume flow from water drain at standard conditions, single stage flash as described below Separator oil level Liquid volume flow from emergency drain at standard conditions, single stage flash as described below Liquid volume flow from flare outlet at standard conditions, single stage flash as described below Liquid volume flow from gas outlet at standard conditions, single stage flash as described below Liquid volume flow from oil drain at standard conditions, single stage flash as described below Liquid volume flow from water drain at standard conditions, single stage flash as described below Oil volume flow from emergency drain at standard conditions, single stage flash as described below Oil volume flow from flare outlet at standard conditions, single stage flash as described below Oil volume flow from gas outlet at standard conditions, single stage flash as described below Oil volume flow from oil drain at standard conditions, single stage flash as described below Oil volume flow from water drain at standard conditions, single stage flash as described below

Page 432

Use as

Appendix A: Complete list of Output Variables

Name

Units 3

TP/C

QTDGS

m /s

TP/C TP/C TP*

QTDHL QTDWT QWSTED

m3/s m3/s Sm3/s

TP*

QWSTFD

Sm3/s

TP*

QWSTGD

Sm3/s

TP*

QWSTOD

Sm3/s

TP*

QWSTWD

Sm3/s

TP/C

WATLV

m

Definition Total gas volume flow rate from separator gas and flare outlets Total separator oil volume drain Total separator water volume drain Water volume flow from emergency drain at standard conditions, single stage flash as described below Water volume flow from flare outlet at standard conditions, single stage flash as described below Water volume flow from gas outlet at standard conditions, single stage flash as described below Water volume flow from oil drain at standard conditions, single stage flash as described below Water volume flow from water drain at standard conditions, single stage flash as described below Separator water level

*: QGSTxD, QLSTxD, QOSTxD and QWSTxD (x = E, D, O and W) are given at standard conditions (60 oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is, mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion. It should be noted that for simulations using PVT tables (not CompTrack), the variables for each drain is not accurate since the flashing is performed using the PVT tables for the total composition. Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must be performed for each section and time they are plotted, and should be used with care.

(11) Well Variables Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP TP TP/C TP TP/C TP TP TP/C TP/C TP TP TP TP TP/C *

GASFRT GGSWST GGWELL GHLWST GLHLWE GLTWST GLWELL GLWTWE GTWELL GWTWST HWELL OILFRT WATFRT QGSTWELL

m kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s kg/s W m m

TP/C *

QLSTWELL

TP/C *

QOSTWELL

TP/C *

QWSTWELL

Gas cone front Steady-state gas mass flow rate in a well Gas mass flow rate in a well Steady-state oil mass flow rate in a well Oil mass flow rate in a well Steady-state liquid mass flow rate in a well Liquid mass flow rate in well Water mass flow rate in a well Total mass flow rate in a well Steady-state water mass flow rate in a well Enthalpy source in a well Oil cone front Water cone front Gas volume flow in a well at standard conditions, single stage flash as described below Liquid volume flow in a well at standard conditions, single stage flash as described below Oil volume flow in a well at standard conditions, single stage flash as described below Water volume flow in a well at standard conditions, single stage flash as described below

Sm3/s Sm3/s Sm3/s Sm3/s

Appendix A: Complete list of Output Variables

Page 433

*: QGSTWELL, QLSTWELL, QOSTWELL and QWSTWELL are given at standard conditions. A single stage flash from in-situ to standard conditions has been performed. For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion. The gas is not dehydrated unless WATERFLASH = OFF. Note: The standard gas density can be given in the well input as ROGST, but this is not used when calculating QGSTWELL. This means that there will be a difference between the given QGSTWELL and the standard gas flowrate given by the well equations, since ROGST is used to convert to gas mass rate and the value in the fluid property file is used to convert back to QGSTWELL (correspondingly for ROLST and QOSTWELL/QLSTWELL). Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must be performed for each section and time they are plotted, and should be used with care. Well information will automatically be written to the output file. (12) Pump Variables Note: All variables are available for OlgaViewer. Use as

Name

Units

Definition

TP/C TP/C TP/C TP/C TP/C TP/C TP/C TP/C TP TP TP TP TP/C TP/C TP/C TP/C TP/C TP/C TP/C TP/C

PUBYGG PUBYGL PUBYGT PUMPDP PUMPGG PUMPGL PUMPGT PUMPHEAT PUMPHP PUMPTH PUMPTT PUMPQB PUMPQG PUMPQL PUMPQT PUMPSPEED PUREGG PUREGL PUREGT PUREGW

kg/s kg/s kg/s Pa kg/s kg/s kg/s W W Nm W m3/s m3/s m3/s m3/s l/min kg/s kg/s kg/s kg/s

Gas mass flow through bypass line Liquid mass flow through bypass line Total mass flow through bypass line Pressure difference between pump outlet and inlet Gas mass flow through the pump Liquid mass flow through the pump Total mass flow through the pump Heat added to fluid in pump Hydraulic horsepower for pump battery Pump hydraulic torque Total pump power Back flow of displacement pump Gas volume flow through the pump Liquid volume flow through the pump Total volume flow through the pump Pump speed Recycle gas flow Recycle liquid flow Total recycle flow Recycle water flow

Pump information will automatically be written to the output file.

(13) Bitnozzle Variable Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP

BITNDP

Pa

Pressure drop over bitnozzle

Page 434

5.

Appendix A: Complete list of Output Variables

BRANCH VARIABLES Note: All variables are available for OlgaViewer. Use as

Name

Units

O TP

BOU DPFBR

Pa

TP

DPGBR

Pa

TP

DPABR

Pa

O(6)/TP O(7)/TP O(7)/TP O(6)/TP O(6)/TP/C TP O(6)/TP O(7)/TP O(7)/TP O(7)/TP O(7)/TP TP TP TP TP TP TP

m3 kg kg m3 m3 m3 m3 kg kg kg kg Pa/s MAXHOLHLBRCT MAXHOLWTBRCT MAXPTBR Pa MAXPTBRLST Pa

TP TP

MAXPTPOS MAXPTPOSLST

m m

TP TP

MAXTMBR MAXTMBRLST

o

TP TP

MAXTMPOS m MAXTMPOSLST m

TP TP TP TP TP

MINPTBR MINDPTBRCT MINHOLBRCT

GASC GASIN GASOUT LIQBC LIQC LIQCNS LIQDC LIQIN LIQOUT MASSIN MASOUT MAXDPTBRCT MAXHOLBRCT

C C

o

TP

Pa Pa/s MINHOLHLBRCT MINHOLWTBRC T MINPTBRLST Pa

TP TP

MINPTPOS MINPTPOSLST

m m

TP TP

MINTMBR MINTMBRLST

o

TP TP

MINTMPOS MINTMPOSLST

m m

TP

MDPHYD

Pa

TP

MDPHYDC

Pa

TP

MDPPOS

m

C C

o

Definition External boundary conditions Total frictional pressure drop in branch (equal to ACCDPZF in last section) Total gravitational pressure drop in branch (equal to ACCDPZG in last section) Total additional pressure drop in branch (equal to ACCDPZA in last section) Gas content in a branch Accumulated gas mass flow over inlet boundary Accumulated gas mass flow over outlet boundary Liquid film content in a branch Total liquid content in a branch Total liquid content in a branch excluding separators Liquid droplet content in a branch Accumulated liquid mass flow over inlet boundary Accumulated liquid mass flow over outlet boundary Accumulated mass flow over inlet boundary Accumulated mass flow over outlet boundary Max pressure time derivative in branch at current time Max holdup in branch at current time Max oil volume fraction in branch at current time Max water volume fraction in branch at current time Maximum pressure in branch since start of simulation Maximum pressure in branch since last time data is written to TREND or PLOT file Distance from branch inlet where MAXPTBR occurs Distance from branch inlet where MAXPTBRLST occurs Maximum temperature in branch since start of sim. Maximum temperature in branch since last time data is written to TREND or PLOT file Distance from branch inlet where MAXTMBR occurs Distance from branch inlet where MAXTMBRLST occurs Minimum pressure in branch since start of simulation Min pressure time derivative in branch at current time Min holdup in branch at current time Min oil volume fraction in branch at current time Min water volume fraction in branch at current time Minimum pressure in branch since last time data is written to TREND or PLOT file Distance from branch inlet where MINPTBR occurs Distance from branch inlet where MINPTBRLST occurs Minimum temperature in branch since start of sim. Minimum temperature in branch since last time data is written to TREND or PLOT file Distance from branch inlet where MINTMBR occurs Distance from branch inlet where MINTMBRLST occurs Max. value for DPHYD in a branch since last time data is written to TREND or PLOT file. Max. value for DPHYD in a branch at current time step Distance from the branch inlet where MDPHYD

Appendix A: Complete list of Output Variables

Page 435

Use as

Name

Units

TP

MDPPOSC

m

TP

MDTHYD

o

TP TP

MDTHYDC MDTPOS

o

TP

MDTPOSC

m

TP TP TP TP TP TP TP TP TP TP TP TP

OILBC OILBCNS OILC OILCNS OILDC OILDCNS OILIN OILOUT RGASIN RGASUT RLIQIN RLIQUT

m3 m3 m3 m3 m3 m3 kg kg kg kg kg kg

TP TP TP TP TP TP TP/C

RMASIN RMASUT ROILIN ROILUT RWATIN RWATUT RWMEGTOT

kg kg kg kg kg kg -

TP TP TP TP

WATBC WATBCNS WATC WATCNS

m3 m3 m3 m3

TP TP

WATDC WATDCNS

m3 m3

TP TP

WATIN WATOUT

kg kg

C

C m

Definition occurs. Distance from the branch inlet where MDPHYDC occurs. Max. value of DTHYD in a branch since last time data is written to TREND or PLOT file Max. value of DTHYD in a branch at current time step Distance from the branch inlet where MDTHYD occurs. Distance from the branch inlet where MDTHYDC occurs. Oil film content in the branch Oil film content in the branch excluding separators Total oil content in the branch Total oil content in the branch excluding separators Oil droplet content in the branch Oil droplet content in the branch excluding separators Accumulated oil mass flow, inlet boundary Accumulated oil mass flow, outlet boundary Acc. gas mass flow after restart, inlet boundary Acc. gas mass flow after restart, outlet boundary Acc. total liquid mass flow after restart, inlet boundary Acc. total liquid mass flow after restart, outlet boundary Acc. total mass flow after restart, inlet boundary Acc. total mass flow after restart, outlet boundary Acc. oil mass flow after restart, inlet boundary Acc. oil mass flow after restart, outlet boundary Acc. water mass flow after restart, inlet boundary. Acc. oil mass flow after restart, outlet boundary Total mass fraction in water phase in a branch for MEG (MEG tracking only) Water film content in the branch Water film content in the branch excluding separators Total water content in the branch Total water content in the branch excluding separators Water droplet content in the branch Water droplet content in the branch excluding separators Accumulated water mass flow, inlet boundary Accumulated water mass flow, outlet boundary

Page 436

6.

Appendix A: Complete list of Output Variables

GLOBAL VARIABLES Note: All variables are available for OlgaViewer. Use as

Name

Units

Definition

TP TP O(5)/TP O(5)/TP

HT NINTGR REDEL REERR

s -

O(5)/TP O(5) /TP

RELGT RETOT

J J

O/TP O(4)/TP O(4)/TP O(4)/TP O/TP

RETOT0 RMDEL RMERR RMLGT RMOUT

J kg kg

O(4)/TP

RMTOT

kg

O/TP O/TP

RMTOT0 VOLGBL

kg -

Time step Total number of integrations Relative energy changes from start Accumulated energy balance error relative to initial energy. Total amount of energy in the system Total amount of energy corrected for accumulated energy flow in and out of the system Initial total amount of energy Relative mass changes from start Accumulated mass balance error relative to initial mass Total amount of mass in the system Cumulative mass release from pipeline exit (the outlet branch that is defined last) Total amount of mass corrected for accumulated mass flow in and out of the system Initial total amount of mass Output: Maximum volume error in the whole pipeline system since last printout. Trend file: Maximum volume error in the whole system since last write to the trend file.

Appendix A: Complete list of Output Variables

7.

Page 437

SLUG TRACKING VARIABLES Three figures are included to further define some of the plot variables. There are four main groups of slug tracking variables: 1. Global variables: NSLUG, SLUPRO 2. Variables for plotting properties of a specific unique slug: ALFSB, ALFSL, ALTSB, ALTSL, BEFSB, BEFSL, BETSB, BETSL, BEHLFSB, BEHLFSL, BEHLTSB, BEHLTSL, BEWTFSB, BEWTFSL, BEWTTSB, BEWTTSL, GAFSB, GAFSL, GATSB, GATSL, GAHLFSB, GAHLFSL, GAHLTSB, GAHLTSL, GAWTFSB, GAWTFSL, GAWTTSB, GAWTTSL, DPSB, DPSBF, DPSL, DPSLF, DPSLG, JSLT, JSLF, LSL, LSB, PTJF, PTJT, SLUQT, SLUQF, SLTYPT, SLTYPF, UGFSB, UGFSL, UGTSB, UGTSL, ULFSB, ULFSL, ULTSB, ULTSL, USF, UST, ZTSL, ZFSL, ULHLFSB, ULHLFSL, ULHLTSB, ULHLTSL, ULWTFSB, ULWTFSL, ULWTTSB, ULWTTSL These variables show the development of unique slugs as they pass through the pipeline. 3. Variables for plotting properties of slugs passing at a specified section boundary: SIDEXP, USTEXP, USFEXP, LSLEXP, LSBEXP, QTEXP, QFEXP, ZSTEXP, ZSFEXP These variables are nonzero only when the specified integer pipeline position is within a liquid slug. Note: A table containing slug statistics will be written to the .out file for positions where LSLEXP has been defined in TREND, see Chapter 2.3.1.1. 4. Modified "standard" OLGA variables accounting for the effects of the slug tracking option at a specified section boundary: ALEXP, BEEXP, BEHLEXP, BEWTEXP, GAEXP, GAHLEXP, GAWTEXP, HOLEXP, HOLHLEXP, HOLWTEXP, UGEXP, ULEXP, ULHLEXP, ULWTEXP, UDEXP, UDHLEXP, UDWTEXP

Page 438

Appendix A: Complete list of Output Variables

Slug tracking variables, group 1: Note: All variables are available for OlgaViewer. Use as (9)

O /TP TP

Name

Units

Definition

NSLUG SLUPRO

-

Total number of slugs in the pipeline Number of slugs initiated

Slug tracking variables(8) group 2: Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP

ALFSB

-

TP

ALFSL

-

TP

ALTSB

-

TP

ALTSL

-

TP

BEFSB

-

TP

BEFSL

-

TP

BETSB

-

TP

BETSL

-

TP

BEHLFSB

-

TP

BEHLFSL

-

TP

BEHLTSB

-

TP

BEHLTSL

-

TP

BEWTFSB

-

TP

BEWTFSL

-

TP

BEWTTSB

-

TP

BEWTTSL

-

TP

GAFSB

-

TP

GATSB

-

TP

GAHLFSB

-

TP

GAHLTSB

-

TP

GAWTFSB

-

TP

GAWTTSB

-

TP TP

DPSB DPSBF

Pa/m Pa/m

Void fraction ahead of the front of the slug with the specified identification number Void fraction behind the front of the slug with the specified identification number Void fraction behind the tail of the slug with the specified identification number Void fraction ahead of the tail of the slug with the specified identification number Liquid film fraction ahead of the front of the slug with the specified identification number Liquid film fraction behind the front of the slug with the specified identification number Liquid film fraction behind the tail of the slug with the specified identification number Liquid film fraction ahead of the tail of the slug with the specified identification number Oil film fraction ahead of the front of the slug with the specified identification number Oil film fraction behind the front of the slug with the specified identification number Oil film fraction behind the tail of the slug with the specified identification number Oil film fraction ahead of the tail of the slug with the specified identification number Water film fraction ahead of the front of the slug with the specified identification number Water film fraction behind the front of the slug with the specified identification number Water film fraction behind the tail of the slug with the specified identification number Water film fraction ahead of the tail of the slug with the specified identification number Droplet fraction ahead of the front of the slug with the specified identification number Droplet fraction behind the tail of the slug with the specified identification number Oil droplet fraction ahead of the front of the slug with the specified identification number Oil droplet fraction behind the tail of the slug with the specified identification number Water droplet fraction ahead of the front of the slug with the specified identification number Water droplet fraction behind the tail of the slug with the specified identification number Total pressure gradient in slug bubble Frictional pressure gradient in slug bubble

Appendix A: Complete list of Output Variables

Page 439

Use as

Name

Units

Definition

TP TP TP TP

DPSL DPSLG DPSLF JSLT

Pa/m Pa/m Pa/m -

TP

JSLF

-

TP

LSB

m

TP

LSL

m

TP

PTJF

N/m²

TP

PTJT

N/m²

TP

SLUQT

m/s

TP

SLUQF

m/s

TP

SLTYPT

-

TP

SLTYPF

-

TP

UGFSB

m/s

TP

UGFSL

m/s

TP

UGTSB

m/s

TP

UGTSL

m/s

TP

ULFSB

m/s

TP

ULFSL

m/s

TP

ULHLFSB

m/s

TP

ULHLFSL

m/s

TP

ULWTFSB

m/s

TP

ULWTFSL

m/s

TP

ULTSB

m/s

TP

ULTSL

m/s

TP

ULHLTSB

m/s

TP

ULHLTSL

m/s

TP

ULWTTSB

m/s

TP

ULWTTSL

m/s

Total pressure gradient in liquid slug Gravitational pressure gradient in liquid slug Frictional pressure gradient in liquid slug Section number of the tail of the slug with the specified identification number Section number of the front of the slug with the specified identification number Bubble length (distance from the slug tail to its neighbour slug front) of the slug with he specified identification number Length of the slug with the specified identification number Pressure at the slug front of the slug with the specified identification number Pressure at the slug tail of the slug with the specified identification number Volume flux per area through the slug tail of the slug with the specified identification number. (Positive if direction is into liquid slug). Volume flux per area through the slug front of the slug with the specified id. number. (Positive if direction is into liquid slug). Type of slug tail of the slug with the specified id. number. (1=level,2=nose) Type of slug front of the slug with the specified id. number. (1=level,2=nose) Gas velocity ahead of the front of the slug with the specified identification number Gas velocity behind the front of the slug with the specified identification number Gas velocity behind the tail of the slug with the specified identification number Gas velocity ahead of the tail of the slug with the specified identification number Liquid velocity ahead of the front of the slug with the specified identification number Liquid velocity behind the front of the slug with the specified identification number Oil velocity ahead of the front of the slug with the specified identification number Oil velocity behind the front of the slug with the specified identification number Water velocity ahead of the front of the slug with the specified identification number Water velocity behind the front of the slug with the specified identification number Liquid velocity behind the tail of the slug with the specified identification number Liquid velocity ahead of the tail of the slug with the specified identification number Oil velocity behind the tail of the slug with the specified identification number Oil velocity ahead of the tail of the slug with the specified identification number Water velocity behind the tail of the slug with the specified identification number Water velocity ahead of the tail of the slug with the specified identification number

Page 440

Appendix A: Complete list of Output Variables

Use as

Name

Units

Definition

TP

USF

m/s

TP

UST

m/s

TP

ZFSL

m

TP

ZTSL

m

Front velocity of the slug with the specified identification number Tail velocity of the slug with the specified identification number Front position of the slug with the specified identification number Tail position of the slug with the specified identification number

Slug tracking variables, group 3: Note: All variables are available for OlgaViewer. Use as

Name

Units

Definition

TP

LSBEXP

m

TP

LSLEXP

m

TP

QFEXP

m/s

TP

QTEXP

m/s

TP

SIDEXP

-

TP

USFEXP

m/s

TP

USTEXP

m/s

TP

ZSFEXP

m

TP

ZSTEXP

m

Bubble length (distance from the slug tail to its neighbour slug front) of the slug currently at the specified section boundary. Length of the slug currently at the specified section boundary. Volume flux per area through slug front of the slug currently at the specified integer pipeline position (positive if into liquid slug) Volume flux per area through slugtail of the slug currently at the specified section boundary. (positive if into liquid slug) Slug ident. no. of the slug currently at the specified section boundary. Front velocity of the slug currently at the specified section boundary. Tail velocity of the slug currently in the specified section boundary. Front position of the slug currently at the specified section boundary. Tail position of the slug currently at the specified section boundary.

Slug tracking variables, group 4: Note: All variables are available for OlgaViewer. Use as

Name

Units

Definition

TP TP

ALEXP BEEXP

-

TP TP

BEHLEXP BEWTEXP

-

TP TP

GAEXP GAHLEXP

-

TP

GAWTEXP

-

TP TP TP TP

HOLEXP HOLHLEXP HOLWTEXP UGEXP

m/s

Void fraction (α) at the specified section boundary. Liquid film fraction (β) at the specified section boundary. Oil film fraction (β) at the specified section boundary. Water film fraction (β) at the specified section boundary. Droplet fraction (γ) at the specified section boundary. Oil droplet fraction (γ) at the specified section boundary. Water droplet fraction (γ) at the specified section boundary. Hold-up (β+γ) at the specified section boundary. Oil hold-up (β+γ) at the specified section boundary. Water hold-up (β+γ) at the specified section boundary. Gas velocity at the specified section boundary.

Appendix A: Complete list of Output Variables

Page 441

Use as

Name

Units

Definition

TP TP TP TP TP TP

ULEXP ULHLEXP ULWTEXP UDEXP UDHLEXP UDWTEXP

m/s m/s m/s m/s m/s m/s

Liquid film velocity at the specified section boundary. Oil film velocity at the specified section boundary. Water film velocity at the specified section boundary. Droplet velocity at the specified section boundary. Oil droplet velocity at the specified section boundary. Water droplet velocity at the specified section boundary.

JT JT

JF

LSB ZTSL

JF

LSL

ZFSL

Fig. 1

Definition sketch of position and length plot variables for the slug tracking option

ALTSL JT

ALFSL JF

JT

JF

ALTSB

Fig. 2

ALFSB

Definition sketch of void plot variables for the slug tracking option UST

USF

JT

JF

JT

UGTSB ULTSB

Fig. 3

JF

UGTSL ULTSL

UGFSL ULFSL

UGFSB ULFSB

Definition sketch of velocity plot variables for the slug tracking option

Page 442

8.

Appendix A: Complete list of Output Variables

BUNDLE VARIABLES (VOLUME VARIABLES) Note: No variables are available for OlgaViewer. Use as

9.

Name

Units 2

O/TP/PP

HHIN

W/m K

O/TP/PP

HHOUT

W/m2K

O/TP/PP O/TP/PP

LINEGT QBUN

kg/s W/m

O/TP/PP/C(10) O/TP/PP(10) O/TP/PP

TBUN ULINE UVALUE

°C m/s W/m2K

Definition Line inner wall heat transfer coefficient based on inner diameter of the line. Not used for the OLGA lines. Line outer wall heat transfer coefficient based on inner diameter of the line. Not used for the OLGA lines. Total mass flow of line Heat transfer from a line to the carrier line. For a carrier line it is the heat transfer to ambient conditions. Fluid temperature in a bundle line. Line fluid velocity Line overall wall heat transfer coefficient based on inner diameter of the line. Not used for the OLGA lines.

SOIL VARIABLES (VOLUME VARIABLES) Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

O/TP/PP O/TP/PP O/TP/PP(11)

QSOIL QIN TSOIL

W/m W/m °C

Heat transfer from soil to outer OLGA pipe wall layer. Heat transfer from inner pipe wall to fluid mixture. Fluid temperature in a soil cell.

10. CORROSION VARIABLES (VOLUME VARIABLES) Note: All variables are available for OlgaViewer. Note: Variables that are not relevant for a simulation (e.g. CORR1 if Model 1 is not used) will be given the value -999 if plotted Use as

Name

Units

Definition

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

COBICARB CONDRATE CORR1 CORRW1 CORR2 CORR3 CORRW3 GLYCOL INHIB IONIC PCO2 PH1 PH2 PH3 SOLFE

Molar kg/m²s mm/y mm/y mm/y mm/y mm/y % % Molar Pa ppm

Bicarbonate concentration (unit in GUI will be -) Condensation rate in upper half of pipe (Top of Line) Corrosion rate based on model 1 (12) Corr. rate - full water wetting - mod.1 (12) Corrosion rate based on model 2 (13) Corrosion rate based on model 3 (14) Corr. rate - full water wetting - mod.3 (14) Glycol concentration in weight % (unit in GUI will be -) Inhibitor efficiency (unit in GUI will be -) Ionic strength concentration (unit in GUI will be -) Partial pressure of CO2 in gas pH for model 1 (12) pH for model 2 (13) pH for model 3 (14) Solubility of iron (Top of Line)

Appendix A: Complete list of Output Variables

Page 443

11. WAX DEPOSITION VARIABLES Volume variables: Note: All variables are available for OlgaViewer. Use as

Name

Units

Definition

O/TP/PP

BEWX

-

O/TP/PP

GAWX

-

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

DXWX MWXDIP MWXDIS WAXAP WAXPOROSITY

m kg/m3 kg/m3 °C -

O/TP/PP

WAX_TCOND

W/(mK)

O/TP/PP O/TP/PP TP/PP TP/PP

WXDIFFC WXAVDC WXDR WXMTRW

m2/s m2/s m kg/s

TP/PP TP/PP TP/PP

MWXWAL WXMTRWD WXMTRWS

kg/m3 kg/s kg/s

Volume fraction of wax crystals dispersed in oil film Volume fraction of wax crystals dispersed in droplet field Thickness of wax layer deposited on wall Mass of wax dispersed in oil Mass of wax dissolved in oil Wax appearance temperature Porosity of wax deposit (oil volume fraction of wax film) Thermal conductivity of wax deposit film, taking into account oil trapped in film. Apparent diffusion coefficient* Average molar diffusion coefficient Laminar boundary layer thickness Net wax mass transport rate to wall (diffusion + shear related) Specific wax mass at wall Wax mass transport rate to wall due to diffusion Wax mass transport rate to wall due to shear related effects Wax mass precipitation rate

TP/PP WXMPREC * See Section 2.3.11

kg/s

Volume/component variables: NOTE! Using COMPONENT key in TREND keyword specifies the components. Either component number or label is applicable. Use as

Name

Units

Definition

TP/PP TP/PP TP/PP TP/PP

LEWIS SCHMIDT WXCDIFFC WXCMCDB

m2/s -

TP/PP TP/PP

WXCMCDW WXCDCDR

1/m

Lewis number Schmidt number Diffusion coefficient Molar concentration of dissolved wax component in bulk Molar concentration of dissolved wax near wall Concentration gradient near wall

Boundary variables: Use as

Name

Units

Definition

TP TP O/TP/PP O/TP/PP

ACCGLTWL ACCGLTWS GWXDIP GWXDIS

kg kg kg/s kg/s

Accumulated dissolved wax mass flow Accumulated suspended wax mass flow Mass flow rate of wax dispersed in oil Mass flow rate of wax dissolved in oil

Page 444

Appendix A: Complete list of Output Variables

Branch variables:

Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP TP TP TP TP

MLTWLBR MLTWSBR MTWXBR WAXMASBR WAXVOLBR

kg kg kg kg m3

Mass of dissolved wax in branch Mass of suspended wax in branch Total mass of wax species in branch Total mass of solid wax in waxfilm in branch Total volume of wax film in a branch

Pig variables:

Note: No variables are available for OlgaViewer. Specific for each plug. TREND keyword syntax as for standard PIG/PLUG variables. Use as

Name

Units

Definition

TP TP

ACCPWXM ACCPWXV

kg m3

TP TP TP TP TP

PIGWXBRF PIGWXPFF PIGWXPLEN PIGWXYIELDS PIGWXPLASTV

N N m Pa N-s/m2

Accumulated wax mass removed from film by pig. Accumulated volume of wax removed from film by pig. Porosity not included. Pig-wax layer breaking force Pig/wax plug friction force Pig/wax plug friction length Pig/wax plug yield stress Pig/wax plug plastic viscosity

12. COMPOSITIONAL / MEG-TRACKING VARIABLES Only MWGAS, MWOIL and MWWAT (variables without associated components) are available for unit conversion in the Olga GUI. Note: All variables except CMTOT are available for OlgaViewer. Use as

Name

Units

Definition

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP TP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

CGDH CGDW CGG CGHT CGLH CGLW CGPSI CGWT CHPSI CMG CMHD CMHL CMTOT CMWD CMWL CWPSI DMGE DMHE DMWE MWGAS MWOIL MWWAT

kg/s kg/s kg/s kg/s kg/s kg/s kg/m3s kg/s kg/m3s kg/m3 kg/m3 kg/m3 kg kg/m3 kg/m3 kg/m3s kg/m3 kg/m3 kg/m3 kg/kmol kg/kmol kg/kmol

Mass flow rate in oil droplets for component Mass flow rate in water droplets for component Mass flow rate in gas phase for component Mass flow rate in oil phase for component Mass flow rate in oil film for component Mass flow rate in water film for component Mass rate of flashing to gas phase for component Mass flow rate in water phase for component Mass rate of flashing to oil phase for component Specific mass in gas for component Specific mass in oil droplets for component Specific mass in oil film for component Total mass in branch for component Specific mass in water droplets for component Specific mass in water film for component Mass rate of flashing to water phase for component (Equilibrium mass - mass) in gas phase for component (Equilibrium mass – mass) in oil phase for component (Equilibrium mass - mass) in water phase for component Molar weight for gas phase Molar weight for oil phase Molar weight for water phase

Appendix A: Complete list of Output Variables

13.

Page 445

Use as

Name

Units

Definition

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

PTG XG XGE XGM XGME XH XHE XHM XHME XW XWE XWM XWME Z ZM

Pa -

Partial pressure in gas phase for component Mole fraction in gas phase for component Equilibrium mole fraction in gas phase for component Mass fraction in gas phase for component Equilibrium mass fraction in gas phase for component Mole fraction in oil phase for component Equilibrium mole fraction in oil phase for component Mass fraction in oil phase for component Equilibrium mass fraction in oil phase for component Mole fraction in water phase for component Equilibrium mole fraction in water phase for component Mass fraction in water phase for component Equilibrium mass fraction in water phase for component Total mole fraction (all phases) for component Total mass fraction (all phases) for component

DRILLING VARIABLES Components defined for drilling (see Chapter 2.3.4.2) can be tracked using the component variables listed in Section 12. Drilling bit (bitnode) variables:

Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

TP TP TP

BITMD BITBRAN BITPIPE

M -

TP

BITSEC

-

TP TP TP TP TP TP TP TP

DRDMD DRDPIP DRDSEC DRNPTD DRNPTF DRNPTA DRNPTASEC ROP

M Pa Pa Pa Pa m/s

Measured depth where the bit is located Number of the branch where the bit is positioned Number of the pipe where the bit is positioned (from top of drilling string) Number of the section where the bit is positioned (from top of drilling string) Measured depth that has been drilled Drilled pipe number from top of drilling string Drilled section number from top of drilling string Pressure at bit position for drilling string Pressure at bit position for formation branch Pressure at bit position for annulus branch Pressure in bit section for annulus branch Penetration rate

Volume variables:

Note: No variables are available for OlgaViewer. Use as

Name

Units 3

TP

DRLFROGSTD

kg/m

O/TP/PP(17)

ECD

kg/m3

O/TP/PP O/TP/PP O/TP/PP

MDOMUD MDPH2O MDPHC

kg/m3 kg/m3 kg/m3

O/TP/PP

MDWMUD

kg/m3

Definition Gas density at standard conditions, adjusted for any gaseous drilling fluids. Equivalent Circulating Density, only defined for branches associated with BITNODE (DRILLSTRING, ANNULULS and FORMATION). Specific mass of oil-based mud in droplet phase Specific mass of produced water in droplet phase Specific mass of produced Hydrocarbon in droplet phase Specific mass of water-based mud in droplet phase

Page 446

Appendix A: Complete list of Output Variables

Use as

Name

Units

Definition

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

MFAMUD MFGMUD MFOMUD MFPH2O MFPHC

-

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

MFWMUD MGGMUD MGOMUD MGPH2O MGPHC

kg/m3 kg/m3 kg/m3 kg/m3

O/TP/PP O/TP/PP O/TP/PP O/TP/PP

MGWMUD MLOMUD MLPH2O MLPHC

kg/m3 kg/m3 kg/m3 kg/m3

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

MLWMUD MTAMUD MTOMUD MTPH2O MTPHC MTWMUD

kg/m3 kg/m3 kg/m3 kg/m3 kg/m3 kg/m3

Mass fraction of all muds in total mass Mass fraction of gas-based mud in total mass Mass fraction of oil-based mud in total mass Mass fraction of produced water in total mass Mass fraction of produced Hydrocarbon in total mass Mass fraction of water-based mud in total mass Specific mass of gas-based mud Specific mass of oil-based mud in gas phase Specific mass of produced water in gas phase Specific mass of produced Hydrocarbon in gas phase Specific mass of water-based mud in gas phase Specific mass of oil-based mud in film phase Specific mass of produced water in film phase Specific mass of produced Hydrocarbon in film phase Specific mass of water-based mud in film phase Specific mass of all muds Specific mass of oil-based mud Specific mass of produced water Specific mass of produced Hydrocarbon Specific mass of water-based mud

Boundary variables:

Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

O/TP/PP O/TP/PP O/TP/PP

GDOMUD GDPH2O GDPHC

kg/s kg/s kg/s

O/TP/PP

GDWMUD

kg/s

O/TP/PP O/TP/PP O/TP/PP O/TP/PP

GGGMUD GGOMUD GGPH2O GGPHC

kg/s kg/s kg/s kg/s

O/TP/PP O/TP/PP O/TP/PP O/TP/PP

GGWMUD GLOMUD GLPH2O GLPHC

kg/s kg/s kg/s kg/s

O/TP/PP O/TP/PP O/TP/PP O/TP/PP O/TP/PP

GLWMUD GTOMUD GTPH2O GTPHC GTWMUD

kg/s kg/s kg/s kg/s kg/s

Mass flow rate of oil-based mud in droplet phase Mass flow rate of produced water in droplet phase Mass flow rate of produced Hydrocarbon in droplet phase Mass flow rate of water-based mud in droplet phase Mass flow rate of gas-based mud Mass flow rate of oil-based mud in gas phase Mass flow rate of produced water in gas phase Mass flow rate of produced Hydrocarbon in gas phase Mass flow rate of water-based mud in gas phase Mass flow rate of oil-based mud in film phase Mass flow rate of produced water in film phase Mass flow rate of produced Hydrocarbon in film phase Mass flow rate of water-based mud in film phase Total mass flow rate of oil-based mud Total mass flow rate of produced water Total mass flow rate of produced Hydrocarbon Total mass flow rate of water-based mud

14. NODE VARIABLES Note: No variables are available for OlgaViewer. Use as

Name

Units

Definition

Appendix A: Complete list of Output Variables

Use as S S S S S S S S S S S

Name DGGDPB

Units

kg/(s Pa)* kg/(s Pa)* kg/(s Pa)* (Pa s)/kg* (Pa s)/kg* (Pa s)/kg* GGBOU kg/s GLTHLBOU kg/s GLTWTBOU kg/s PTBOU Pa TMBOU °C

DGLTHLDPB DGLTWTDPB DPBDGG DPBDGLTHL DPBDGLTWT

Page 447

Definition Gas mass flow derivative w.r.t. pressure Oil mass flow derivative w.r.t. pressure Water mass flow derivative w.r.t. pressure Pressure derivative w.r.t. gas mass flow Pressure derivative w.r.t. oil mass flow Pressure derivative w.r.t. water mass flow Boundary node gas mass flow Boundary node oil mass flow Boundary node water mass flow Boundary node pressure Boundary node temperature

*: Dimension not possible to convert for derivatives. Used for server interface with only SI units applied. See also remark (16) in sec. 15.

15. REMARKS (1)

Pipe inner diameter, roughness and inclination will be written to the output file if KEYWORD=GEOMETRY in PRINTINPUT.

(2)

The temperature (TW) of all and any wall layer can be plotted, ref. keywords TREND and PROFILE in Ch. 3 .

(3)

If UPIG or ZZPIG is specified in the OUTPUT group, program determined information about the plug/pig will be written to the output file.

(4)

If RMTOT is specified in the OUTPUT group, the indicated information (3) will be written to the output file.

(5)

If RETOT is specified in the OUTPUT group, the indicated information (4) will be written to the output file.

(6)

If GASC, LIQBC, LIQDC or LIQC is specified in the OUTPUT group, all these variables will be written to the output file.

(7)

If GASIN, GASOUT, LIQIN, LIQOUT, MASSIN or MASOUT is specified in the OUTPUT group all these variables will be written to the output file.

(8)

For trend plotting a slug identification number is specified instead of the usual section number (SLUG TRACKING option only).

(9)

If NSLUG is specified in the OUTPUT group, program determined information about individual slugs will be written to the output file (SLUG TRACKING option only).

(10) For trend and profile plotting of TBUN, the bundle line label must be specified. (11) For trend and profile plotting of TSOIL, the soil columns and rows of soil cells must be specified.

Page 448

Appendix A: Complete list of Output Variables

(12) Generic names are used, as the modular program design allows the current corrosion models to be replaced without changing the main program. Model 1 is currently NORSOK. (13)

Generic names are used, as the modular program design allows the current corrosion models to be replaced without changing the main program. Model 2 is currently the top-of-line corrosion model.

(14) Generic names are used, as the modular program design allows the current corrosion models to be replaced without changing the main program. Model 3 is currently de Waard 95. (15) PTSOUR: Backpressure as given in SOURCE, PRESSURE keyword TMSOUR: Temperature as given in SOURCE, TEMPERATURE keyword (16) PTBOU: From dummy section. Value as given in BOUNDARY, PRESSURE keyword. TMBOU: Upstream temperature at section boundary adjacent to node. E.g.: If positive inflow at inlet, TMBOU is as given in BOUNDARY, TEMPERATURE. If negative flow at inlet, TMBOU is set to TM in the first real (user defined) section adjacent to the node, as calculated by OLGA Flow related variables are taken from the section boundary closest to the node, regardless of whether it is an inlet or outlet. (17) From “Applied Drilling Engineering” /2/: "Field experience in a given area often allows guidelines to be developed for the maximum mud density that formations at a given depth will withstand without fracturing during normal drilling operations. It is sometimes helpful to compare a complex well fluid column to an equivalent single-fluid column that is open to the atmosphere. This is accomplished by calculating the equivalent mud density which is defined by: rho_e=p/(0.052*D)" In OLGA this is called Equivalent Circulating Density (ECD). In the above equation p is pressure minus atmospheric pressure in psi, and D is length in feet from drillstring inlet. The resulting unit is ppg. In SI units the equation is written like this: ECD [kg/m3] = dP [Pa]/(g[m/s2]*L[m]): The relation between the two units is: ECD[kg/m3] = 119.826*ECD[ppg]. If L is less than 1 mm, ECD is set to zero. YOFFSET_ECD in keyword BITNODE can be used to change the reference point for ECD: L = L_default + YOFFSET_ECD

Appendix B: List of Units and Conversion Factors

Page 449

APPENDIX B List of Units and Conversion Factors Alternative units for each quantity are listed below. The first unit is default. The other units can be specified after the number in the input file (see section 3.1.3, # 7-8). The user can also define additional units by using the keyword UNITS.

Quantity

Unit name

ACCELERATION

M/S2 FT/S2 CM/S2 IN/S2

0.30480 0.10000E-01 0.25400E-01

RAD/S2 R/S2 (R = Revolution)

6.2832

RPM (Revolutions per minute) RAD/S 1/S

9.5493 60.000

1/RPM S M H D

0.016667 1.000 60.00 1440.00

M2 FT2 CM2 IN2

0.92903E-01 0.10000E-03 0.64512E-03

ANGULAR ACCELERATION ANGULAR VELOCITY

1/ANGULAR VELOCITY

AREA

CORROSION RATE

MM/Y

DARCY

MD D C R K F KG/M3-K

DELTA TEMPERATURE

DENSITY DERIVATIVE DENSITY DERIVATIVE WITH RESPECT TO TIME

KG/M3-S

Conversion to the first unit, multiply by

1000 0.55556 1.0000 0.55556

Page 450

Appendix B: List of Units and Conversion Factors

Quantity

Unit name

DENSITY DERIVATIVE WITH RESPECT TO PRESSURE

KG/M-N

DENSITY DERIVATIVE WITH RESPECT TO TEMPERATURE

KG/M3-K

DIFFUSION COEFFICIENT

CM2/S M2/S

10000

N-S/M2 LB/FT-H CP KG/M-H

0.41339E-03 0.10000E-02 0.27780E-03

J BTU CAL

1055.1 4.1869

J/KG BTU/LB CAL/KG

2326.0 4.1868

J/M3 BTU/FT3 CAL/M3

37256. 4.1869

J/K BTU/R CAL/K

1899.1 4.1868

J/KG-K BTU/LB-R CAL/KG-K

4186.7 4.1867

J/MOL-K BTU/LBMOL-R CAL/MOL-K

4.187 4.187

J/M3-K BTU/FT3-R CAL/M3-K

37256. 4.1869

N DYN KGF LBF

0.00001 9.819 4.4482

%

0.10000E-01

1/S 1/M 1/H

0.0166667 0.000277778

DYNAMIC VISCOSITY

ENTHALPY

ENTHALPY/MASS

ENTHALPY/VOLUME

ENTROPY

ENTROPY/MASS

ENTROPY/MOL

ENTROPY/VOLUME

FORCE

FRACTION TO PERCENT FREQUENCY

FRICTION FACTOR

NS/M

Conversion to the first unit, multiply by

Appendix B: List of Units and Conversion Factors

Quantity

Unit name

GAS OIL RATIO

SM3/SM3 M3/M3 SCF/STB SET1 SET2

GAS VALVE DISCHARGE HEAT TRANS./LENGTH

Page 451

Conversion to the first unit, multiply by 1.0 1.7811E-01 0.26376E+07

W/M BTU/S-FT KW/M

3461.5 1000.0

HEAT TRANSFER COEFFICIENT

W/M2-C BTU/FT2-H-F CAL/M2-H-C

5.6783 1.1630E-03

HEATFLUX

W/M2 KW/M2 W/CM2 BTU/FT2-S BTU/IN2-S

1000.0 10000. 11356. 0.16353E+07

DEGREE RAD

57.2958

M2/S CST FT2/HR IN2/S

1.0E-06 2.5806E-05 6.4516E-04

M FT CM IN MILES KM MM

0.30480 0.10000E-01 0.25400E-01 1609.3 1000 0.1000E-02

SET1 SET2

41620.

KG LB G OZ T

0.45359 0.10000E-02 0.28350E-01 1000.0

KG/M2 G/M2 G/CM2 KG/FT2 G/FT2 G/IN2

0.001 10 10.7639 0.0107639 1.5500

KG/M3 LB/FT3 G/CM3 LB/IN3

16.018 1000.0 27680.

ANGLE KINEMATIC VISCOSITY

LENGTH

LIQ VALVE DISCHARGE MASS

MASS/AREA

MASS DENSITY

Page 452

Appendix B: List of Units and Conversion Factors

Quantity

Unit name

MASS FLOW

KG/S LB/S KG/H LB/H KG/S-M2 KG/S-CM2 LB/S-M2 KG/H-M2 LB/H-M2

MASS FLUX

NON-LINEAR WELL A NON-LINEAR WELL B NON-LINEAR WELL C POWER

POWERS OF TEN

PRESSURE/DISTANCE PRESSURE

PRESSURE/TIME

PRODUCTIVITY INDEX

Conversion to the first unit, multiply by 0.45359 2.7778E-04 1.2600E-04 10000. 0.45359 2.7778E-04 1.2600E-04

PA2 PSI2

0.47538E+08

PA2.S/KG PSI2.S/LB

0.10480E+09

PA2.S/KG PSI2.S/LB

0.23105E+09

W HP BTU/H KW

745.70 0.29306 1000.0

K M G

0.10000E+07 0.10000E+10

PA/M PSI/FT

2.2621E+04

PA BARA PSIA ATM BAR KP/CM2

0.10000E+06 6894.8 0.10133E+06 0.10000E+06 98066.5

PA/S BAR/S PSI/S ATM/S

0.10000E+06 6894.8 0.10133E+06

KG/PA-S LB/PSI-S

6.57873E-05

QUAD. FRICTION FACTOR

NS2/M2

RESVOLUME/STDVOLUME

RM3/SM3

SPECIFIC CAPACITY

M3/R FT3/R

2.8317E-02

Appendix B: List of Units and Conversion Factors

Quantity

Unit name

SPECIFIC HEAT

J/KG-C J/KG-K BTU/LBM-R BTU/LBM-F

Page 453

Conversion to the first unit, multiply by 1.0000 4168.8 4168.8

STANDARD DENSITY

KG/SM3

STANDARD FLOWRATE

SM3/S SM3/H SM3/D SCF/D MMSCF/D STB/D STB/M

2.7778E-04 1.1574E-05 3.2774E-07 3.2774E-01 1.8408E-06 2.6508E-03

SM3/S/PA SM3/D/BAR SCF/D/PSI STB/D/PSI

1.1574E-10 4.7533E-11 2.6687E-10

1/SM3/S 1/MSM3/S 1/SM3/D 1/MSM3/D 1/SCF/D 1/MMSCF/D 1/SCF/S

1.0E-6 0.864E+05 0.864E-01 0.30512E+07 0.30512E+01 0.2832E-01

SM3 SCF SCM3 SL SGAL

0.28320E-01 0.10000E-05 0.10000E-02 0.37858E-02

N/M DYNE/CM

0.10000E-02

C/S R/S K/S R/S

0.55556 1.0000 0.55556

C R K F

R = 9/5(C + 273.15) K = C + 273.15 F = 9/5C + 32

W/M-K W/M-C BTU/FT-H-R CAL/M-H-K

1.0 1.7307 1.1631E-03

1/C 1/R 1/K 1/F

1.8 1 1.8

STDFLOWRATE/PRESSURE

1/STANDARD FLOWRATE

STANDARD VOLUME

SURFACE TENSION TEMP. /TIME

TEMPERATURE

THERMAL CONDUCTIVITY

THERMAL EXPANSION

Page 454

Appendix B: List of Units and Conversion Factors

Quantity

Unit name

TIME UNITS

S M H D 1/RPM

60.000 3600.0 86400. 60.000

NM FT-LB

1.35582

M/S FT/S M/H FT/H MILES/H

0.30480 0.27778E-03 0.84667E-04 0.44704

M3 FT3 CM3 L USGAL BBL

0.28320E-01 0.10000E-05 0.10000E-02 0.37858E-02 0.159

M3/S FT3/S M3/H M3/D FT3/H BBL/D BBL/M

0.28320E-01 2.7778E-04 0.11574E-04 7.8658E-06 0.18408E-05 2.6508E-03

1/M3/S 1/FT3/S 1/M3/H 1/M3/D 1/FT3/H 1/BBL/D 1/BBL/M

35.3107 3600 86400 1.27119E+05 5.43396E+05 377.3583

M3/KG FT3/LB CM3/G IN3/LB

0.62428E-01 0.10000E-02 0.36127E-04

TORQUE VELOCITY

VOLUME

VOLUME FLOW

1/VOLUME FLOW

VOLUME/MASS

Conversion to the first unit, multiply by

www.scandpowerpt.com

A product by

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF