You are on page 1of 453

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, IFEs 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,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

Output options

OUTPUT

*
**

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
.

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.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


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

edt +
0

de
+ bias
dt

e = (x x stp )
where:
x

= 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

= 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

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:

S n = S n 1 + C P (C P ,max + C P ,min ) PM PS Ct
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

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

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

response

0.8

0.6

0.4

0.2

0
0

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 =

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/Rnningsen effective viscosity model /21/. The
standard Bingham correlations are used to calculate the shear stress
as a function of average velocity. The Pedersen/Rnningsen
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
(Hedstrm 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 Hedstrm number >
2000) and Haalands formula /23/ (applied for Hedstrm 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.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

(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 AROR1

(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

1
T

dh

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

PI )

(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

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 +

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

(2.83)

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

Curves

Range

> 0,

q > 0,

q < 0,

< 0,

q
q

Independent
variables

Dependent variables

q/

h/2

<1

/q

h/q2

<1

/q

h/q2

q/

h/2

Table 2.2 Dependence of Pump Torque on Pump Speed and Flow Rate

Chapter 2: Input Description and Program Execution

Curves

Range

> 0,

q > 0,

q < 0,

< 0,

q
q

Page 61

Independent
variables

Dependent variables

q/

/2

<1

/q

/q2

<1

/q

/q2

q/

/2

2
HS1
h

HS3

h
q2

h q2
or

h 2

HS4

h
q2

HS2

-1
-1

Fig. 2.19

-1
1

or q

Single Phase Homologous head curves

The displacement pump model

For the displacement pump, the pump flow rate can be expressed as:

Q = Q0 Qb
Q0 = Qspc N
Qb = f

( N , P,

, PI , I )

where
Q0
Qb
Qspc
N
P

- theoretical flow rate


- back flow rate
- pump specific flow rate
- pump speed
- pressure increase across the pump

(2.84)

Page 62

Chapter 2: Input Description and Program Execution

I
l
PI

- void fraction at the pump inlet


- liquid kinetic viscosity
- pressure at the pump inlet

For a given pump the specific flow rate Qspc is a constant. Qb is tabulated as a
function of N, P, I, l, PI in the pump data table.
Recycle and bypass flow

Recycle and bypass flow is only defined for centrifugal (not simplified) and
displacement pumps. The recycle flow, GR, is considered as the flow through a
controlled choke. The flow is calculated with a given pressure difference between
the two sides of the choke, Pch, and the choke upstream conditions. The choke
upstream condition is taken from the pump downstream section (pump pressure
side). The choke flow can be regulated by a controller.
If the recycle flow is in subcritical condition, GR is calculated by:
1

G R = (2 Pch ) 2 Cd Ach

(2.85)

Where Cd is the choke discharge coefficient and Ach the choke opening area.
If the mass flow through the choke exceeds the critical flow rate, critical flow
conditions will be used. The flow rate through a critical choke is governed by the
choke upstream conditions and the choke opening. No forward flow is allowed in
the recycle loop.
The bypass flow, Gb, is controlled by a choke and calculated in the same way as for
the recycle flow. If the bypass flow line is opened, the fluid flows from the pump inlet
to the pump outlet in the normal pumping flow direction without going through the
pump. Back flow is not allowed through the bypass line.
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 )

(2.86)

= r ( 1 + E1 ( N - Nr ) + E2 ( Q - Qr ) ) ( 1 - E3 )

(2.87)

P = Po / r

(2.88)

where:
Po = Pump pressure increase at rated density ( bar )
P

= Pump pressure increase ( bar )

= Pump speed

( rpm )

= Flow rate

( m3/s )

Chapter 2: Input Description and Program Execution

Page 63

= 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

The power to the fluid is calculated in the following manner:


1. Inlet enthalpy (Hs) (J/kg) and entropy (Ss) is found from the fluid file. The
enthalpy at discharge pressure is found assuming isentropic conditions (Hiso).
The actual enthalpy change is then calculated by following formula:

H =

( H iso H s )

(2.89)

2. Outlet enthalpy is calculated from:


Hd = Hs + H

(2.90)

3. The power input to the fluid is calculated from:


Wfluid = GTH

(2.91)

where Wfluid is in W, and GT is the total mass flow in kg/s.


Total shaft power:
Wtot = Wfluid / M

(2.92)

Pump torque:

= Wtot /

(2.93)

Pump hydraulic torque:


TH =

(2.94)

where

= 2 N / 60, and M the pump mechanical efficiency.

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.

Page 64

Chapter 2: Input Description and Program Execution

Energy balance

The total power input to the fluid from a pump is:

QPt =

TH

(2.95)

where TH is the pump hydraulic torque, the pump speed and M the pump
mechanical efficiency.
For the displacement pump, the hydraulic torque, TH, may not be available and it is
difficult to calculate the term QPt. In this case, the total power input to the fluid is
calculated by summing the mechanical work on the fluid and the different losses as
following:
The power used for mechanical work on the fluid, QPM, is calculated as:

QPM = Wl Ql l + Wg Qg g
where,
Wl
Ql
l
Wg
Qg
g

(2.96)

- specific work delivered from pump into liquid


- liquid flow rate
- liquid density
- specific work delivered from pump into gas
- gas flow rate
- gas density

Mechanical friction loss:

N
= QPmf ,ref
N
ref

N
QPvis = QPvis ,ref
N
ref

QPmf

(2.97)

Viscous friction loss:

where,
a
b
Nref
QPmf,ref
QPvis,ref

(2.98)

- experiment coefficient for mechanical friction loss


- experiment coefficient for viscous friction loss
- pump reference speed
- mechanical friction loss at the pump reference speed
- viscous loss at the pump reference speed

Then, the total power input to the fluid is calculated as:

QPt = QPM + QPmf + QPvis

(2.99)

Chapter 2: Input Description and Program Execution

Page 65

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 )

(2.100)

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). The speed
variation will stop once the recycle flow is within a defined range below
MAXRECYCLE and above MINRECYCLE.
3.

If the maximum pump torque has been given by users (Only for centrifugal and
displacement pumps):

The effective pump torque is calculated from the total power input to the fluid,
QPt :

TQ pump =

60 QPt
2N

[N m]

(2.101)

where QPt is the total power input to the fluid. If the pump shaft torque is over
the limit the pump speed is reduced, and a warning message will be given in
the output file.

2.3 Special Options


2.3.1 Slug/Pig Tracking Module

This is a developed version of a special slugtracking model that was implemented in


OLGA in 1989.
In the standard OLGA model, physically sharp liquid hold-up fronts are smeared out
numerically, especially in horizontal or near horizontal high velocity transient flow
cases. Hydrodynamic slugs are treated only in an average manner without giving
any information on slug lengths etc.

Page 66

Chapter 2: Input Description and Program Execution

The slug/pig tracking model in OLGA is designed to track and maintain such
physically sharp fronts as those of start-up slugs, hydrodynamic slugs, and slugs
accumulated ahead of pigs. This model will give information about position, velocity,
length and other characteristic quantities of each individual slug.
The slug/pig tracking model has two different options for detecting slugs (keyword
SLUGTRACKING). These options represent:
1.

Level slugs which may be initialised when changes in liquid hold-up from one
section to another are detected. This may be caused by a start-up situation,
liquid sources or boundary conditions changing with time as well as
geometrical differences. This option is activated through the key LEVEL.

2.

Hydrodynamic slugs may be initiated when OLGA predicts transition to slug


flow from stratified or annular flow. This option is activated through the key
HYDRODYNAMIC.

In addition, there is an option for insertion of pigs in the pipeline (keyword


PIGTRACKING). The pig and slug models are coupled by letting the pig represent
the tail of a liquid slug. The front of the slug accumulating ahead of the pig is then
treated non-diffusely by the slugtracking model.
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.
Once initiated, the different slugs are treated in the same way, regardless of their
origin, with one exception. A slug tail representing a pig is handled specially.
The physical model for initiating hydrodynamic slugs is still under development, and
the present model requires an initial slug frequency or a waiting time between set-up
of slugs to be specified. The slug frequency is applied only in computing a minimum
distance between a new hydrodynamic slug and an already existing slug. The
waiting time is used to delay initiation of a new slug in a section where a slug has
been present at a former time step.
The user may limit the number of slugs in the pipeline and specify sections where
slugs are not allowed to pass through, e.g., at sections containing process
equipment, sources, etc.

Chapter 2: Input Description and Program Execution

Page 67

Initiation of level slugs:

Startup Slug 2

Startup Slug 3

Startup Slug 1

Fig. 2.20

Schematic visualisation of a pipeline shut-in situation with liquid


accumulated at low points. The pipeline consists of a well, a transport
line and a riser.

A normal slug consists of both a tail and a front. However, at the pipeline inlet and
outlet it is possible to have slugs with the pipeline inlet or outlet as the limit of the
liquid slug, leaving only one well-defined tail or front, e.g. see startup slug 1 in Fig.
2.20 .The same applies to sections specified as illegal for slugs. It is possible to
have a slug with a well-defined front and no tail, where the liquid slug extends into
the user specified sections illegal for slugs.
A level slug may be initiated between the user specified time limits: STARTTIME,
ENDTIME. Detection of levels is based on the parameters: SLUGVOID (maximum
void in a slug at initiation) and BUBBLEVOID (minimum void in a bubble at
initiation).
When a section is found where the void is less than SLUGVOID, a level slug may be
initiated. One now searches the neighbour sections to determine whether a tail/front
should be initiated.
A tail is set up if the void increases gradually to BUBBLEVOID or more within the
distance of two upstream sections.
A front is set up if the void increases gradually to BUBBLEVOID or more within the
distance of two downstream sections.
The level option is used mainly for well-defined startup slugs (through initial
conditions or restart simulations). A level slug will be initiated with a length
determined by the conditions in the pipeline. Terrain and hydrodynamic slugs are
short when initiated and will grow if the conditions in the pipeline are correct.

Page 68

Chapter 2: Input Description and Program Execution

Initiation of hydrodynamic slugs:


J-1

J+1

ID=3

New Slug
J-1

J+1

LSDINI

Fig. 2.21 Schematic visualisation of the initialisation of a hydrodynamic slug

If OLGA predicts slug flow (ID=3) at a boundary j, a hydrodynamic slug may be


initiated in section volume j or j-1 or over both sections, see Fig. 2.21.
Initiating a new slug implies redistribution of masses, and in inclined and vertical
flow this may lead to discontinuities in the pressure. To avoid these discontinuities
the new slug is set up with a slug length as small as possible.
When OLGA predicts slug flow, two criteria must be met before a hydrodynamic slug
is initiated in a section:
The distance to the nearest slug must be longer than a minimum distance
The time elapsed since the previous slug was generated in or passed this
section must be higher than a certain minimum time
The minimum distance may be user specified through the key INITFREQUENCY
(slug initiation frequency). The minimum distance is calculated as
UB/INITFREQUENCY, where UB is the bubble nose velocity of the new slug. The
default minimum distance is 10 pipe diameters.
The waiting time between slug generation at any section boundary may be user
specified through the key DELAYCONST (minimum number of pipe diameters). The
waiting time is calculated from DELAYCONST multiplied by the time liquid takes to
travel one pipe diameter, that is, DELAYCONSTANT * D/UL, where UL is averaged
liquid velocity. The default value for DELAYCONSTANT is 150.
Initiation of pigs (keyword PIGTRACKING):
The initial position, LAUNCHPOSITION, the trapping position, TRAPPOSITION, and
the time of pig insertion, INSERTTIME, have to be given for each pig. The pig is
described by its mass, MASS, its static friction factors, STATICFORCE and
LINEARFRIC, its dynamic friction factor, QUADRATICFRIC and finally the pig
leakage factor, LEAKAGEFACTOR. They are applied in the following formulas:

Chapter 2: Input Description and Program Execution

1.

Page 69

The pressure drop over the pig: the pressure drop over the pig, dpp, is
negative.
dpp is given by:

dp p =

m p g cos - f
A

pw

(2.102)

where mp g cos is the gravitational force due to the mass of the pig, A is the
cross section area of the pipe and fpw is the friction force between the pig and
the wall given by:

= sign(U p ) f

pw

pw,static

pw,static

+ f 2 |U p |U p

(2.103)

where

= MAX (0, f 0 - f 1|U p | )

(2.104)

Up is the pig velocity. f0, f1 and f2 are user specified friction constants.
2.

The pig velocity relative to the fluid:

U p,r

| dp p |

= sign dp p R p
p

( )

0.5

(2.105)

Rp is a user given leakage factor and rp is the mean upstream density. Note
that no slip is assumed between the phases passing over the pig, entailing
that Up,r is a total superficial drift velocity.
Identification of slugs:
Each hydrodynamic or level slug is given a unique identification number. The
number starts at 1 and is increased by 1 for each slug initiated. This unique number
makes it possible to follow the development of a slug as it moves through the
pipeline. It is possible to plot e.g. slug length, front and tail velocities, etc. following
the slug.
Decay of slugs:
A slug is considered to be decayed once the slug length has become less than
0.001 diameter.
Merging of slugs:
Two slugs are merged into one if the front of one slug catches up with the tail of a
downstream slug.
Sections with process equipment, etc.:
Sections containing process equipment and the very first and last section in the
pipeline are automatically set to illegal for slugs by the program itself. Slugs can be
handled through valves.
When e.g. a slug front is entering a section specified as illegal to slugs, the slug
front will no more be treated by the slug tracking model, but the rest of the slug will
move normally into the section (See also user guidelines).

Page 70

Chapter 2: Input Description and Program Execution

Network:
The slug tracking option is also available for networks. The sections closest to
junctions are by default illegal-sections for all branches. That is, when a slug front
moves into a junction it will no more be tracked by the slug tracking model, and the
slug will disappear as it moves through the junction. However, if the flow condition
indicates slug flow at the other side of the junction a new slug will be generated.
Model verification:
Simulations of start-up slugs have been verified against 20, 45 and 90 bar start-up
slug experiments at the SINTEF Two-Phase Flow Laboratory and are believed to be
reliable in horizontal and near horizontal cases. For high velocity cases (Usg > 7-8
m/s) there may be a too high build-up of liquid a few sections behind the tail of the
start-up slug. This effect is believed to be a result of the treatment of the droplet field
near the slug tail. The predicted tail and front velocities correspond, however, very
well with the experimentally obtained values, except at the highest velocities.
Simulations of dynamic terrain slugging have been verified against 20, 30 and 50
bar terrain slug experiments from the same laboratory. It proved important to
activate the hydrodynamic slug option in this simulation /4/.
The model for initiating hydrodynamic slugs has not been properly verified. The
present model seems to initiate slugs too close to already existing slugs.
Hints:

When the slug tracking is switched on, the flow regime indicator should be used with
caution, as the flow regime in the slug is bubbly and the flow regime in the slug
bubble is stratified. Thus, the flow regime indicator will never give slug flow when
slug tracking is used.
For slug tracking in networks the sections closest to junctions are by default illegalsections for all branches, and slugs will disappear as they move into junctions. New
slugs will be generated after the junction if the flow conditions allow for slug flow.
Slug tracking for networks is especially suited for cases where several branches
converge in a separator or slug-catcher.
Problems might be encountered for simulations where slug tracking is performed for
a pipeline ending in a vertical riser. This will usually have to do with back-flow in the
riser. The following suggestions might make the simulations run better. Set the gas
fraction at the outlet equal to one. This means that if back-flow occurs at the outlet,
only gas will flow into the pipeline. Make the pipeline sections in the riser illegal
(ILLEGALSECTION=ON) if the flow in the riser is not expected to influence the
slugging significantly. If possible, end the pipeline with a couple of horizontal
sections at the top of the riser. (Short pipe with 2 sections).
The slugtracking model contains a time step control mechanism. The time step
control is first based on the number of time steps a slug tail and/or front takes to
pass through a section. The current limit is at least 10 time steps. If a slug tail or a
slug front moves faster, the time step will be reduced. Secondly, the time step will
be limited so that only one tail or front can cross a section boundary during a time
step.
The parameter controlling the maximum number of slugs in the pipeline,
MAXNOSLUGS, is by default set to infinity, i.e. there is no limitation on the number

Chapter 2: Input Description and Program Execution

Page 71

of slugs existing simultaneously. In restart cases the MAXNOSLUGS may be used


to stop initiating new slugs (MAXNOSLUGS = 0). To switch off the slug tracking
option completely both options (HYDRODYNAMIC and LEVEL) must be set to OFF.
The option to specify the void limits for initiating start-up slugs and levels may be
used if suspecting that all possible start-up slugs have not been detected by the
model. In this case you modify the void limits by keys BUBBLEVOID and
SLUGVOID.
Simulations of terrain slugging have so far indicated that activation of the
hydrodynamic slug option is important and is therefore recommended.
The model may initiate slugs too often, so the user should specify a minimum time
between initiation of a new slug in a section through the key DELAYCONST (it is
recommended to use the default value of 150). The slug initiation frequency, key
INITFREQUENCY, is normally not specified, which means that slug initiation is not
limited by this key.
To get the list of information on all slugs in the pipeline on the printed output file, the
NSLUG parameter may be specified in the OUTPUT group. The initial time step in a
restart run should be equal to the time step read from the restart file.
2.3.1.1Slug Statistics

A first version of slug statistics has been implemented in OLGA version 5.0. There is
no separate input associated with this feature. Slugs are counted for each section
defined with LSLEXP in TREND, and sorted by slug length interval (predefined,
using number of diameters to be applicable for all pipe diameters). A slug statistics
table is written to the .out file for each DTOUT (together with the other slug
information) and in postprocessor (if POSTPROCESSOR = ON in OPTIONS). The
table contains number of slugs per section and per slug length interval. An
additional table listing positions with LSLEXP containing position, diameter, branch,
pipe and section is also written.
The slug statistics information is reset in a restart.
2.3.2 The Water Module

When the water module is activated and the three-phase option selected (ref.
OPTIONS in Ch. 3 ), the mass balance equations for water film and water droplets
in the gas are solved. The momentum of the bulk of liquid, i.e. water and liquid
hydrocarbon, is calculated by one equation, but with the possibility to account for
different velocities of the two liquid phases. The velocity difference between oil and
water is calculated by a steady state force balance.
When the three-phase option is activated, water
properties can either be given as tables in the fluid
by OLGA itself. For more information see chapter
simulations the water properties are calculated by
Calsep.

properties are needed. These


properties file, or be calculated
4. For Compositional Tracking
the PVT package delivered by

Calculation of velocity difference between water and liquid hydrocarbon ("slip


velocity")
Two different options can normally be used for calculating the velocity difference
between liquid water and hydrocarbon liquid (which we term "oil" for simplicity). This

Page 72

Chapter 2: Input Description and Program Execution

velocity difference is termed the "slip velocity" or just "slip". The liquid droplets
flowing in the gas phase are not included in this context.
By turning the water slip option off (WATERSLIP = OFF), the user assumes that
there is no velocity difference between the oil and water flow fields. In this case oil
and water are always assumed to flow as a homogeneous mixture with average
properties. The fluid mechanical model reduces to a two-phase gas-liquid model.
However, water enthalpies are accounted for in the temperature calculations.
With the water slip option on (WATERSLIP = ON), OLGA calculates the slip velocity
by solving the steady state force balance between the oil and water fields. Oil and
water are always assumed to flow as two liquid layers but possibly with water
entrained as droplets in the oil film or vice versa. The fraction of water droplets
entrained in the oil or oil droplets entrained in the water (if any) are determined, and
the corresponding dispersion (also knows as emulsion) viscosities calculated if the
key DISPERSIONVISC = ON. Water droplets are entrained in the oil if the water cut
in the liquid film is less than the phase inversion point, and vice versa. Phase
inversion is assumed to occur at a water cut given by the user through the key
INVERSIONWATERFRAC (default value of 0.5). The degree of mixing of oil and
water can vary from fully separated to fully dispersed, depending on the phase
velocities and the material properties. This applies to all gas/liquid flow regimes.
A third option is also available: The user may specify a constant velocity difference
between oil and water. This is a special option that should only be used with great
care in special cases for tuning purposes.
Dispersion viscosities
With the dispersion viscosity option turned on (DISPERSIONVISC= ON), three
different viscosity models can be chosen: Pal & Rhodes, Rnningsen or Pal &
Rhodes correlated with experimental data.

The mixture viscosity for oil continuous dispersions (hw) and water continuous
dispersions (wh) are expressed as:

hw = h rel ,h
wh = w rel , w

(2.106)
(2.107)

where h [cP] is oil viscosity, w [cP] is water viscosity and rel [-] is relative viscosity
(dispersion viscosity / viscosity of continuous phase).
One correlation for relative viscosities of a liquid/liquid dispersion was developed
based on a generalisation of Einsteins equation to also be valid for high
concentrated dispersions. The correlation was published by Pal and Rhodes (1989)
/15/ and is primarily developed for dispersions where coalescence and deposition
has negligible influence on the pressure drop (and the apparent viscosity).
The equations below show the Pal & Rhodes correlations for relative viscosity of an
oil continuous dispersion (rel,h) and a water continuous dispersion (rel,w):

rel ,h

w / rel =100
= 1.0 +

1.19 w / rel =100

2.5

(2.108)

Chapter 2: Input Description and Program Execution

rel , w

Page 73

h / rel =100
= 1.0 +

1.19 h / rel =100

2.5

(2.109)

where w = wd /( hc + wd ) is the concentration of water droplets in the oil


continuous dispersion, and h = hd /( wc + hd ) is the concentration of oil droplets
in the water continuous dispersion. rel is limited upwards to 10000.
The parameter rel =100 is the dispersed phase volume fraction for which the relative
viscosity rel equals 100. Based on pipe flow experiments on stable oil continuous
emulsions for different crude oils and formation waters, the parameter rel =100 is set
equal to 0.765 (Sntvedt et al., 1994). In the present version of the model, this
correlation and the correlation parameters are also applied for water continuous
dispersions using the analogous quantities. It is still left to investigate how to
discriminate between oil and water continuous dispersions.
With an experimental point, rel (h or w depending on the inversion point) and rel
(rel,w or rel,h) specified, the Pal & Rhodes method in equations (2.108) and (2.109)
is rearranged to calculate the rel =100 value:

rel

= 100

rel
1 . 19 1

0 .4
rel

(2.110)

Equation (2.108) will then be used to calculate the water in oil dispersion viscosity.
For oil in water dispersion, equation (2.109) is used. rel is defined with the key
PHIREL, rel with the key VISCREL, and the inversion point with the key
INVERSIONWATERFRAC.
Another correlation for relative viscosities of an oil continuous dispersion is the
correlation by Rnningsen recommended for a shear rate of 500 1/s (2003) /17/:

ln rel ,h = 0.06671 0.000775T + 0.03484 w + 0.0000500T w

(2.111)

where
rel,h = Relative viscosity (dispersion/oil)
T
= Temperature (deg C)
w = Volume % of water dispersed in oil
Above the inversion point, the viscosity of the oil in water dispersion is assumed
equal to the pure water viscosity, when the Rnningsen method is applied.
The possibility to use a simple volume weighting with a tuning factor is also
available.
VISCmix = (VISCoil*(1-WATERCUT) + VISCwater* WATERCUT)*VISCMOD
where the tuning factor VISCMOD can be specified through input as a tabulated
function of WATERCUT.
Flashing/condensation of water
With the water flash option turned on for standard simulations with PVT tables
(WATERFLASH = ON) the amounts of water that evaporate or condense are

Page 74

Chapter 2: Input Description and Program Execution

calculated by OLGA under the assumption that the gas phase is always saturated
with water vapour. The mass fraction of water vapour in the gas phase at water
saturation, as a function of pressure and temperature, is determined from the fluid
properties table, ref. 4.1.2. If water properties are calculated by OLGA itself, water
vapour in the gas phase is assumed to be zero and WATERFLASH = ON is
disregarded.
If the MEG Tracking module is used (which uses PVT tables), it is not assumed that
the gas phase is saturated with water vapour, that is, the gas might be dry if there is
no available water.
WATERFLASH has no effect on Compositional Tracking simulations, in which case
flashing of water is decided by FLASHTYPE in COMPOPTIONS.
Hints
Water fractions in sources, wells and at boundaries (when using PVT tables) are
specified either as the mass fraction of liquid water relative to the total mass (flow)
with the keyword WATERFRACTION or as mass fraction of total water (liquid water
plus the water vapour in the gas phase) with the keyword
TOTALWATERFRACTION. The water vapour fraction of the gas phase is taken
from the fluid properties table.

If TOTALWATERFRACTION is set to -1, its actual value is taken from the fluid
properties table. With WATERFLASH = ON this value is split into free water and
water in gas according to the water mass fraction in gas values from the fluid table,
while with WATERFLASH = OFF the value is interpreted as only free water
(resulting in more free water than with WATERFLASH = ON).
The relations between the various mass fractions and mass flow for e.g. a mass
source at a specific temperature and pressure are then by definition:
Rs
Rswt
Rswv
Rsw
where
Rs
Rswt
Rswv
Rsw
Gtot
Ghc
Gw
GwL
Ggas
Gwv

= Ggas/Ghc
= Gw/Gtot
= Gwv/Ggas
= GwL/Gtot
- gas mass fraction
- total water mass fraction (TOTALWATERFRACTION)
- water vapour mass fraction (always from fluid table)
- liquid water mass fraction (WATERFRACTION)
- source total mass flow rate
- source total mass flow rate exclusive of liquid water
- mass flow rate of total water (vapour + liquid)
- mass flow rate of liquid water
- mass flow rate of total gas (including any water vapour)
- mass flow rate of water vapour in the gas phase

Example: Assume a flowing mixture consisting of 50 kg/s gas (saturated with


water), 30 kg/s of oil and 20 kg/s of aqueous phase. Furthermore, let the saturated
gas flow include 1 kg/s of water. The various mass fractions then become:
Rs = 50/(50+30) = 0.625
Rswt = (20+1)/(50+30+20) = 0.21
Rswv = 1/50 = 0.02
Rsw = 20/(50+30+20) = 0.20

Chapter 2: Input Description and Program Execution

Page 75

Please observe that either TOTALWATERFRACTION (Rswt) or WATERFRACTION


(Rsw) can be specified for the same e.g. source. If WATERFRACTION is specified
all the water in the e.g. source is considered to be liquid water.
When modelling a three-phase mixture using PVT tables where you want to include
the mass transfer between the free water and the gas phase, the water option in
OLGA must be used with WATERFLASH = ON. This option is more important for
gas production systems than for "normal" oil production systems.
It is possible to use two-phase (hydrocarbon liquid and gas) fluid tables for threephase flow simulations (implicit WATERFLASH = OFF), but three-phase fluid tables
cannot be used for two-phase flow simulations.
Three-phase simulations with two-phase PVT tables uses internal routines in OLGA
for calculation of water properties. If the fluid temperature becomes sub-zero the
enthalpy and entropy are extrapolated, meaning that the fluid is in thermal but not in
chemical equilbrium (sub-cooled water, not ice). This is consistent with 3 phase PVT
tables created by PVTsim.
The user should be aware that when performing standard simulations with PVT
tables there is no separate water vapour mass balance equation. For three phase
simulations, the gas phase is assumed to be saturated with water. The amount of
water vapour is determined by the water vapour mass fraction from the pvt table.
Therefore, the total water mass could be in error for cases where e.g. the inlet total
water mass flowrate is not sufficient to saturate the gas at the water vapour mass
fraction from the pvt table. However, MEG Tracking has a water vapour mass
balance equation that makes it suitable for simulating three phase systems where a
detailed analysis of the water distribution is necessary (can be used with no MEG).
When using Compositional Tracking, the water vapour will be taken into account
depending on FLASHTYPE in COMPOPTIONS.
For multiphase transport systems where liquid accumulation could represent a
problem, it is recommended to perform three phase flow computations with the
water slip switched on.
The user may turn off the calculation of dispersion viscosity (DISPERSIONVISC =
OFF). In that case the dispersion viscosity is calculated by a simple volume
averaging of the oil and water viscosities.
The slugtracking module can be used with the water module; i.e. three-phase slug
tracking is possible.
2.3.2.1 Gas-water simulations

There are two ways to perform gas-water simulations:


Do a three phase simulation and make sure that oil is not present (set
GASFRACTION = 1 for all sources etc and, if necessary, set the gas mass
fraction in the fluid tables to a constant value to avoid condensation)
Do a two phase simulation with a modified fluid file where oil properties have
been replaced with water properties
The options will in most case give very similar results, but there can be differences.
The reason is that in the three phase simulation a thin layer of oil is added on top of

Page 76

Chapter 2: Input Description and Program Execution

the water layer for numerical reasons. This layer can for some flow conditions result
in another flow regime and another hold-up, pressure drop, etc.
The recommendation is to do two phase simulations with a modified fluid file.
2.3.3 Well Description
Well placement options

A well can be placed at the mid-point or the inlet (bottom) of the well section. When
it is placed at the inlet, the inlet or bottom hole flowing pressure is calculated by
adding the hydrostatic pressure drop to the pressure in the well section. If the well is
placed at the mid-point of the section, the bottom hole flowing pressure is equal to
the pressure in the well section.
Phase fractions

For flows from the well section into the reservoir, the total mass flow is calculated
with the gas mass flow fraction equal to the gas mass fraction within the well
section. For the flow from the reservoir into the well section, the gas mass fraction of
the oil and gas mixture of the well fluid, GASFRACTION, and water mass fraction in
the total mixture of the well fluid, WATERFRACTION (or TOTALWATERFRACTION)
are given. If GASFRACTION < 0 is given, equilibrium gas mass fraction will be
used. If water option is not used, WATERFRACTION should be zero (default value).
Two thermal options for calculating enthalpy inflow are available. The isothermal
option assumes that the fluid enters the well with the reservoir temperature, and
reservoir fluid enthalpy is calculated on the basis of reservoir temperature and well
pressure. If the adiabatic option is used, the reservoir fluid enthalpy is calculated on
the basis of reservoir temperature and reservoir pressure. The fluid temperature
may change as the pressure decreases from the reservoir pressure to the pressure
at the well section due to constant enthalpy expansion and flashing.
For flow from the well to the reservoir, the negative enthalpy source will correspond
to the pressure and temperature conditions in the well section.
Options for calculating flow rate

Flow from reservoir into well


The following three options are available for specifying the relationship between the
mass flow rate and the pressure difference. With the Advanced Well Module seven
new options are available. The pressure difference is defined as the reservoir
pressure minus the bottom hole flowing pressure.
1. Linear formula:

Gw = A + B( pR - pwf )

where Gw is the mass flow rate, pR the reservoir pressure, and pwf the bottom hole
flowing pressure. Constant B is defined as the productivity index. Constant A allows
for a minimum pressure difference required for the fluid to start to flow from the
reservoir to the well and it must be less or equal to zero.
The inflow model Constant productivity index, eq. (2.118) in the Advanced Well
Module, can also be used for linear inflow. This model is available for all users and
is described in section 2.3.4.
2. Non-linear formula:

A + BGw + CGw2 = pR2 - pwf2

Chapter 2: Input Description and Program Execution

Page 77

where A, B and C are constants. A allows for a minimum pressure difference


required for flow to start from the reservoir to the well.
3. Tabular form (see section 3.3.53):
The relationship between the flow rate (or other well parameters) and the pressure
difference given by a table. If the user does not give a zero flow point in the input,
the program will automatically add a zero point at zero pressure difference. For
pressure differences within the range of the table, the flow rates are calculated by a
polynomial interpolation of second degree. For pressure differences larger than the
maximum value in the table, the flow rates are determined by a linear extrapolation
using the tangent to the quadratic curve at the end point of the table.
Flow from the well into the reservoir
The following three options are available for specifying the relationship between the
mass flow rate and the pressure difference. The pressure difference is defined as
the bottom hole pressure minus the reservoir pressure. Note the difference between
flow from the reservoir to the well and flow from the well into the reservoir.
1. Linear formula:

Gw = A + B( pwf - pR )

where Gw is the mass flow rate into the reservoir and constant B is the injectivity
index. Constant A represents the minimum pressure difference required for the fluid
to start to flow from the well into the reservoir and it must be less than or equal to
zero.
The inflow model Constant productivity index, eq. (2.118) in the Advanced Well
Module, can also be used for linear inflow. This model is available for all users and
is described in section 2.3.4.
2. Non-linear formula:

A + BGw + CGw2 = pwf2 - pR2

where A, B and C are constants. A is the minimum pressure required for flow to start
from the well into the reservoir.
3. Tabular form:
The relationship between the flow rate (or other well parameters) and the pressure
difference is given by a table. If the user does not give a zero flow point in the input,
the program will automatically add a zero pressure difference. The interpolation and
extrapolation procedure is the same as for flow from the reservoir to the well.
Note: If equivalent pipe is used and there are wells in each parallel pipe, there are
two ways to prepare the data for these wells:

1.

Give input data for each individual well.

2.

Use a single equivalent well. Use one of the following procedures


to construct data for the equivalent well:

a)

If the linear equation is used, the constants A and B for the


equivalent well are:
A = NAi
B = NBi

Page 78

Chapter 2: Input Description and Program Execution

where Ai and Bi are constants for each parallel well. N is number of


parallel wells included in the equivalent well.
b)

If the non-linear equation is used, the constants A, B and C for the


equivalent well are:
A = Ai
B = Bi/N
C = Ci/N2
where Ai , Bi and Ci are the constants for each parallel well.

c)

If the well performance is given by a table, the flow rate in the table
is the sum of the flow rates of all the parallel wells at the same
pressure difference.

With the Advanced Well Module seven new models for calculating the reservoir
inflow are available. For these models the reservoir performance can be specified
through reservoir variables or from draw-down/build-up tests from the actual well,
see section 2.3.4 for further information.
Dynamic Well Inflow
An option is available for simulating the dynamic characteristics of a well. For
positive well flow, the instantaneous flow rate for each phase, f, is calculated by

dq f
dt

qf - q f
Tf

(2.112)

where qf is the instantaneous flow rate for phase f, qf is the steady-state flow with the
bottom hole flowing pressure at time t, and Tf is the time constant for the flow of
phase f.
The steady-state flow for each phase is calculated by:

qf = PI f ( Plim , f - Pwf )

(2.113)

when the flowing pressure, Pwf, is less than a given threshold pressure, Plim,f. When
Pwf is above Plim,f, q f will be set to zero. The productivity index, PIf, as well as the
time constant Tf can change with Pwf.
Numerically, Eq. (2.113) is solved by
n+1

qn+1
qn
f = f +

qf - qn+1
f
Tf

qf n+1 = PI nf ( P R - Pn+1
wf )

(2.114)
(2.115)

As an option, a transport delay can be modelled by specifying a certain distance that


the front of phase f must travel before the actual inflow can be started. This
distance, hf,o, will be user determined.

Chapter 2: Input Description and Program Execution

d h f hf - h f
=
dt
T h, f

h f = h f ,o

Pres Pw, f
Pres Plim, f

Page 79

(2.116)
(2.117)

If hf > 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

[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

0.8 wf
pR

(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 D1n [ln(re rw ) 0.75 + s]2n1

[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.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

GDENMAX

GVISMIN

GVISMAX

ODENMIN

ODENMAX

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

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 (Pas).

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

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.260.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

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 =

UDh

(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

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

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 GLVs into the tubing to help remove the liquid as well as to optimise the
wells 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 GLVs 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 GLVs. This opening
is the automatic response of the GLVs to stabilise the flow. The injection of gas will
reduce the liquid head pressure in the tubing until the GLVs 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 GLVs 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 doesnt 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:

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

10

10

10

relative yield stress s1

10

finefraction
2

10

10

10

10

10

10

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

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 =

gL3 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

gT

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.

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.

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

(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.

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.

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

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:

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

(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

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

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)
Standings 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(BgC)
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 = 29g (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-<version number> 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 its 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:
<inpufilename>-<crosssection-label>.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: <inpufilename>-<crosssection-label>.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:
<inpufilename>-<bundle-label>.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<HYDTEMP) goes to infinity.
Only
used
with
PARTICLESETTLE=ON

PARTICLESETTLE

Sym.

ON/[OFF]

Use the slurryplug extension of


the CFM if PARTICLESETTLE=
ON. Requires PHASE = THREE
in OPTIONS.

Chapter 3: Input File Description, FLUID

Key

Page 213

Type
Unit: ( )

Parameter set Default:


[]

Description

PLASTL

r.
[Ns/m]

Hydrocarbon
liquid
plastic
viscosity, used in complex
viscosity model.

PLASTW

r.
[Ns/m]

Water plastic viscosity, used in


complex viscosity model.

POWEXPL

r. [-]

Power exponent for hydrocarbon


liquid phase. Used in both
complex viscosity and complex
fluid model.

POWEXPW

r. [-]

Power exponent for water phase.


Used in both complex viscosity
and complex fluid model.

TYPE

Sym.

[NEWTONIAN]|
COMPLEXVISCOSITY
| COMPLEXFLUID|

Indicator of fluid model type.

WATERCUT

r [-]

Fraction
of
water
in
emulsion/slurry in input stream,
only
used
with
PARTICLESETTLE=ON

YIELDSTRL

r. [Pa]

Yield stress for hydrocarbon


liquid phase in the complex
viscosity and complex fluid
model

YIELDSTRW

r. [Pa]

Yield stress for water phase in


the complex viscosity and
complex fluid model

*) These subkeys do not have a fixed unit due to the form of the Power law and the
Herschel-Buckley model.
Required keys:

TYPE

Internal dependencies of keys:


If TYPE = COMPLEXVISCOSITY, then
If CVISL = BINGHAM, then
PLASTL
= 0.03 [Ns/m]
YIELDSTRL = 5 [Pa]
else if CVISL = POWERLAW, then
CONSFL
= 0.3
POWEXPL = 0.7
else if CVISL = HERSCELBUCKLEY, then
CONSFL
= 0.3
POWEXPL = 0.7
YIELDSTRL = 5 [Pa]
End
If CVISW = BINGHAM, then
PLASTW = 0.03 [Ns/m]
YIELDSTRW= 5 [Pa]
else if CVISW = POWERLAW, then
CONSFW = 0.3

Page 214

Chapter 3: Input File Description, FLUID

POWEXPW = 0.7
else if CVISW = HERSCELBUCKLEY, then
CONSFW = 0.3
POWEXPW = 0.7
YIELDSTRW= 5 [Pa]
End
Else if TYPE = COMPLEXFLUID, then
If CFLUML = BINGHAM, then
If FULL = YES, then
(values are taken from PVTFILE)
else
YIELDSTRL
= 5 [Pa]
end if
else if CFLUML = POWERLAW, then
if FULL = YES, then
(values are taken from PVTFILE)
else
POWEXPL
= 0.5
end if
end if
If CFLUMW = BINGHAM, then
If FULL = YES, then
(values are taken from PVTFILE)
else
YIELDSTRW
= 5 [Pa]
end if
else if CFLUMW = POWERLAW, then
if FULL = YES, then
(values are taken from PVTFILE)
else
POWEXPW
= 0.5
end if
end if
If PARTICLESETTLE = ON, then
If FULL = NO, then ! Required
WATERCUT = 0.3
MAXPARTCONC = 0.65
HYDTEMP = 10
MAXCONCK_G_EMUL = 0.7
If CFLUMW = NEWTONIAN, then
MAXCONCK_G_SLUR = 0.66
else if CFLUMW = BINGHAM, then
FINEFRACT = 0.5
end if
end if
end if
end if

Chapter 3: Input File Description, FLUID

Page 215

Examples:
Example 1:
!***************************************************************************
!
FLUID Options
!--------------------------------------------------------------------------!
FLUID TYPE=NEWTONIAN
!***************************************************************************
.
.
.

Example 2:
!***************************************************************************
!
FLUID Options
!--------------------------------------------------------------------------!
FLUID TYPE=COMPLEXVISCOSITY, CVISL=POWERLAW, POWEXPL = 0.3, CONSFL = 0.7,\
CVISW=BINGHAM, YIELDSTRW = 5 Pa, PLASTW = 0.03 Ns/m]
!***************************************************************************
.
.

Example 3:
!***************************************************************************
!
FLUID Options
!--------------------------------------------------------------------------!
FLUID TYPE=COMPLEXFLUID, CFLUML=BINGHAM, FULL=NO, YIELDSTRL = 5 Pa
!***************************************************************************
.
.

Example 4 (slurryplug extension):


This example show the interaction between the fluid and the source keywords and how we
specify the dispersed fraction in the emulsion/slurry when the slurryplug extension is used. In
the source group we give the total mass source and we give a water fraction as zero. In the
fluid group we give a watercut in the assumed oil continuous dispersion.

FLUID TYPE=COMPLEXFLUIDMODEL, FULL=NO, CFLUML=NEWTONIAN, CFLUMW=BINGHAM,\


PARTICLESETTL=1, WATERCUT=0.2, MAXPARTCONC=0.67,MAXCONCK-G-EMUL=0.7,\
FINEFRACT=1,HYDTEMP=10.
!**************************************************************************
!
SOURCE Definition
!**************************************************************************
!
SOURCE LABEL=SRC_SUBSEA, CRITFLOWMODEL = FROZEN,TIME=(0,0.2,1000000) s,\
GASFRACTION=(3:-1 )-, MASSFLOW=(0.,250.,250.) kg/s, POSITION=INLET,\
TEMPERATURE=(3:30.) C, WATERFRACTION=(3:0.0)

Page 216

Chapter 3: Input File Description, GEOMETRY

3.3.24 GEOMETRY
This statement defines the geometry label and the co-ordinates of the starting point
for a branch. The pipes belonging to this geometry must be defined sequentially
after the geometry statement by use of the PIPE-keyword as many times as
required.
Keyword:

GEOMETRY

Dependencies:

NONE

Key description table:


Key

Type
Unit: ( )

Parameter set
Default: [ ]

EWSTART

r. (m)

East/West co-ordinate of the start point of


a branch.

LABEL

str.

Label of the geometry for a branch.

NSSTART

r. (m)

North/South co-ordinate of the start point


of a branch.

TVDSTART

r. (m)

True vertical depth co-ordinate of the


start point of a branch.

XSTART

r. (m)

[0]

X co-ordinate of the start point of a


branch.

YSTART

r. (m)

[0]

Y co-ordinate of the start point of a


branch.

ZSTART

r. (m)

[0]

Z co-ordinate of the start point of a


branch.

Required keys:

LABEL

Internal dependencies of keys:


Either
XSTART
YSTART
ZSTART

= 0 [m]
= 0 [m]
= 0 [m]

TVDSTART
NSSTART
EWSTART

= -3200 0 [m]
= 0 [m]
= 0 [m]

or

end

Description

Chapter 3: Input File Description, GEOMETRY

Page 217

Example:
!****************************************************************************
!
PIPE and GEOMETRY 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
!
!****************************************************************************
.
.
.
*****************************************************************************
!
BRANCH Definitions
!--------------------------------------------------------------------------BRANCH LABEL = BRAN-1, NUMBER = 1, FROM = NODE-1, TO = NODE-4,\
GEOMETRY = GEOM-1, FLUID = 1, FLOAT = ON
BRANCH LABEL = BRAN-2, NUMBER = 2, FROM = NODE-2, TO = NODE-4,\
GEOMETRY = GEOM-2, FLUID = 1, FLOAT = ON
.
.
.

Page 218

Chapter 3: Input File Description, GRID

3.3.25 GRID
This keyword is used to define the grid lines of the solid media surrounding the flow
lines. X co-ordinate is from left to right and Y co-ordinate is from top to bottom.
It requires access to the soil module.
Keyword:

GRID

Dependencies: NONE
Key description table:
Key

Type
Unit: ( )

Parameter set
Default: [ ]

LABEL

str.

Name of grid

NXPOINTS

i.

No. of x-grid points in homogeneous xgrid

NYPOINTS

i.

No. of y-grid points in homogeneous ygrid

XEND

r(m)

X-end. Size of homogeneous x-grid

XGRIDCOORD

r. l. (m)

Horizontal grid co-ordinates.

YEND

r(m)

Y-end. Size of homogeneous y-grid

YGRIDCOORD

r.l. (m)

Vertical grid co-ordinates

Required keys:

LABEL,

Description

set of grid co-ordinates must be specified

Internal dependencies of keys:


Either
XGRIDCOORD
or
XEND
NXPOINTS
end
Either
YGRIDCOORD
or
YEND
NYPOINTS
end

Example:
GRID LABEL = G-1, \
XGRIDCOORD = (0, 0.197, 0.21, 0.23, 0.27, 0.32, 0.4, 0.5, 1.0, 2.0,\
4.0, 8.0), \
YGRIDCOORD = (0, 0.20, 0.30, 0.35, 0.378, 0.575, 0.772, 0.79, 0.81, 0.9, \
1.1, 1.5, 2.0, 3.0, 5.0)
.
.

Chapter 3: Input File Description, HEATEXCHANGER

Page 219

3.3.26 HEATEXCHANGER
This statement describes the effects of a heat exchanger. The heat exchanger is
represented as an ideal loss. The heat exchanged is equal to the enthalpy
difference corresponding to the difference between the inlet temperature and a user
specified outlet temperature of the heat exchanger.
Note that a heatexchanger 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 heatexchanger can be defined on the first
section boundary of the branch coming from a MERGE node.
Keyword:

HEATEXCHANGER

Dependencies:

BRANCH, GEOMETRY, POSITION

Key description table:


Key

Type
Unit: ( )

Parameter set
Default: [ ]

Description

BRANCH

sym.

Number/Name of Branch where heat


exchanger is located.

CAPACITY

r. (W)

Maximum heat exchanger capacity.


Positive value is for heating and negative
value for cooling.

LABEL

str.

[integer
increment]

Heat exchanger label.

PIPE

sym.

Number/Name of Pipe
exchanger is located.

POSITION

sym.

Position of the heat exchanger. If


POSITION is defined, BRANCH, PIPE,
and SECTIONBOUNDARY should not
be used.

SECTIONBOUNDARY

i.

Section boundary number where the heat


exchanger is located.

TEMPERATURE

r.l. (C)

Heat exchanger outlet temperature set


points.

TIME

r.l. (s)

Time points in temperature setpoint table.

where

heat

Page 220

Chapter 3: Input File Description, HEATEXCHANGER

Required keys:

LABEL, CAPACITY, TIME, TEMPERATURE

Internal dependencies of keys:


Either
BRANCH
PIPE
SECTIONBOUNDARY

=1
=1
=1

POSITION

= HEATPOSI-1

or
end

Example:
!***************************************************************************
!
Definition for HEATEXCHANGER
!--------------------------------------------------------------------------!
HEATEXCHANGER LABEL = HEAT-2-1, BRANCH = 2, PIPE = 1,\
SECTIONBOUNDARY = 5, CAPACITY = -0.25E+08, TIME = (0.,\
0.1000E+07), TEMPERATURE = (2:45.)
!***************************************************************************
.
.
.

Chapter 3: Input File Description, HEATTRANSFER

Page 221

3.3.27 HEATTRANSFER
This statement specifies the heat transfer data for the pipe walls. The temperature
of the surroundings must be given. In addition to this one of the following three
options must be used:
1.
2.
3.

Specify overall heat transfer coefficient: UVALUE (requires TEMPERATURE =


UGIVEN in main key OPTIONS)
Specify ambient heat transfer coefficient: HAMBIENT (HOUTEROPTION =
HGIVEN, requires TEMPERATURE = WALL in OPTIONS)
Specify properties of the ambient fluid / predefined fluid (HOUTEROPTION =
OTHER/ WATER/ AIR, requires TEMPERATURE = WALL in OPTIONS)

For options 2 and 3 the overall heat transfer coefficient is calculated and the
keyword WALL must be completed. If option 3 is used, the ambient heat transfer
coefficient is a function of the pipe diameter1, the fluid velocity, and fluid properties
such as density and viscosity. The velocity must be specified, but the fluid properties
must only be given if a user specified fluid is used (HOUTEROPTION = OTHER).
For HOUTEROPTION = AIR or WATER default fluid properties are applied.
If BUNDLE calculations are performed, the minimum heat transfer coefficient for
each bundle LINE can be specified with the HMINNERWALL Key.
In order to simplify the input of the ambient temperature distribution along a predefined pipeline section, the user can specify start and end ambient temperature
and OLGA will perform an interpolation along the pipeline. Four different
interpolation options are available. For the default option, called SECTIONWISE, the
ambient temperature is given by the user for the central (midpoint) position of the
first and last section. The interpolation is performed between these points by using
the distance between the section midpoints to achieve a linear temperature profile
with respect to the distance along the pipeline. This interpolation method is also
applied when specifying two TAMBIENT values. For options HORIZONTAL,
LENGTH and VERTICAL, the ambient temperature is specified at the inlet and
outlet boundaries of the pipeline section. The interpolation is then performed based
on horizontal length, actual length or vertical depth along the pipeline section.
For each of the following parameters a time series can be specified:
Ambient temperature
Ambient heat transfer coefficient
Ambient velocity
Each parameter must be given with separate time series. A time series can either
be periodic or non-periodic. If the time series is periodic, the time series will be
repeated with the period equal to the last time value in the time series. If nonperiodic, linear interpolation with time is applied if the integrated time is less that the
last time value in the time series, otherwise, the last point is used. The first value in
the time series will be assigned to the value used at the start of the simulation.
To use a time series, for instance, for the ambient heat transfer coefficient, follow
the following steps:
1. Use the main keyword with the following subkeys to define the time series:
Key TIMESERIES to specify whether the time series is periodic or nonperiodic.
1

If HEATTRANSFER is used together with the FEMTherm module the inner diameter of the first
branch that appears in the CROSSSECTION is used to calculate the heat transfer coefficient.

Page 222

Chapter 3: Input File Description, HEATTRANSFER

Key SERIESLABEL to give a name to the time series.


Key TIME to give the time values in the time series.
Key HAMBIENT to given the values of the heat transfer coefficient.
2 After the time series are defined, use key HAMBIENTSERIES to specify which
and where the time series should be applied in a statement including location
(BRANCH, PIPE, SECTION). If only BRANCH is defined, the same time series
will be applied for the whole BRANCH. If only BRANCH and PIPE are defined,
the same time series will be applied for the whole PIPE.
For a restart run, if the time series is not redefined after the keyword RESTART, the
clock time in the time series keeps increasing independent of the start time of the
simulation given in the main keyword INTEGRATION. If the time series is defined
after the keyword RESTART, the clock time in a time series will start from the first
time point.
Keyword:

HEATTRANSFER

Dependencies:

BRANCH, GEOMETRY, OPTIONS, LINE

Key description table:


Key

Type
Unit: ( )

Parameter set
Default: [ ]

Description

BRANCH

sym.l.

[ALL]

Branch number.

CAPACITY

r.l.
(J/KG-K)

If AIR [1000]
If WATER
[4186]

Heat capacity of ambient fluid.

CONDUCTIVITY

r.l.
(W/mK)

If AIR [0.023]
If WATER [0.56]

Thermal conductivity of ambient fluid.

DENSITY

r.l. (kg/m3)

If AIR [1.29]
If WATER
[1000]

Density of ambient fluid.

EXPANSION

r.l. (1/C)

If AIR [34x10-4]
If WATER
[21x10-5]

Thermal expansion
ambient fluid.

HAMBIENT

r.l.
(W/m2C)

Mean heat transfer coefficient on outer


wall surface.

HAMBIENTSERIES

sym.

HMININNERWALL

r.l.
(W/m2C)

[0 W/(m2C)]

1. Minimum heat transfer coefficient on


inner wall surface.
2. Minimum heat transfer coefficient for
bundle line (only one real value
accepted). Applied both on inside
and outside of the line.

HOUTEROPTION

sym.

[HGIVEN] | AIR |
WATER | OTHER

Option for
coefficient.

coefficient

of

The label of H ambient time series.

ambient

heat

transfer

Chapter 3: Input File Description, HEATTRANSFER

Key

Page 223

Type
Unit: ( )

Parameter set
Default: [ ]

INTAMBIENT

r. (oC)

Ambient temperature at inlet to the first


pipe in a pipeline section where
temperature interpolation is used for
ambient temp.

INTERPOLATION

sym.

[SECTIONWISE] |

Type of interpolation used for


calculation of ambient temperature.

HORIZONTAL |
LENGTH |
VERTICAL

Description

SERIESLABEL

sym.

Name of the time series

LINE

sym.l.

Line Label.

OUTTAMBIENT

r. ( C)

Ambient temperature at outlet of the


last pipe in a pipeline section where
temperature interpolation is used for
ambient temperature.

PIPE

sym.l.

[ALL]

Pipe label or pipe number. If a range at


pipes is to be defined, for example,
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.

SECTION

i.l.

[ALL]

Section number.

TAMBIENT

r.l. (C)

Ambient temperature.

TAMBIENTSERIES

sym.

The label of T ambient time series.

TIME

r.l. (s)

The time points when the ambient data


is to be changed. Note that the value
actually used by the program is
interpolated between the values
specified by the given timetable.

TIMESERIES

sym.

[OFF] | PERIODIC
| NONPERIODIC

Option for time depending ambient data.


OFF The ambient input data is not time
depending
PERIODIC - The ambient input data is time
depending and the data will repeat
according to the time series. The period will
be (Tn-T1)
Here,
T1 First time point in TIMESERIES
Tn Last time point in TIMESERIES
NONPERIODIC - The ambient input data is
time dependent, but the data will not repeat
according to the time series.

UVALUE

r.l.
(W/m2C)

Overall heat transfer coefficient given


by user based on inner pipe diameter.

VELOCITY

r.l. (m/s)

If AIR [4]
If WATER [1]

Speed of ambient fluid.

VELOCITYSERIES

sym.

The label of velocity time series.

Page 224

Chapter 3: Input File Description, HEATTRANSFER

Key
VISCOSITY

Required keys:

Type
Unit: ( )

Parameter set
Default: [ ]

r.l. (Ns/m2)

If AIR [1.8x10-5]
If WATER [1x10-3]

Description
Viscosity of ambient fluid.

BRANCH

Internal dependencies of keys:


If TEMPERATURE = WALL or TEMPERATURE = FASTWALL in OPTIONS group, then
If ambient temperature, ambient H or ambient velocity is time depending, then
TIMESERIES

= PERIODIC | NONPERIODIC

SERIESLABEL

= Label of the time series

TIME

= (0, 3600) [s]

TAMBIENT

= (4, 20) [C]

or
HAMBIENT

= (200, 500) [W/m2C]

or
VELOCITY

= (1, 2) [m/s]

This group of subkeys must be defined in its own HEATTRANSFER key before its
referenced by the other HEATTRANSFER statements
end if
Options for TAMBIENT
If INTERPOLATION is to be used for calculation of the ambient temperature,
INTERPOLATION = HORIZONTAL | LENGTH | VERTICAL | SECTIONWISE
INTAMBIENT
= 60 [C]
OUTTAMBIENT
= 30 [C]
else if ambient temperature is time dependent, then
TAMBIENTSERIES

= Label of the time series (pre-defined in HEATTRANSFER

key)
else if specify TAMBIENT for each section1) (INTERPOLATION not defined)
If the ambient temperature is constant for the branch, one may only define BRANCH
and ignore subkey PIPE and SECTION, and define only one TAMBIENT value, as
TAMBIENT = 4 [C]
If the ambient temperature is constant for the PIPE, one may define both BRANCH
and PIPE, ignore subkey SECTION, and define only one TAMBIENT value, as
TAMBIENT = 4 [C]
If the ambient temperature is different for each SECTION, one must define
TAMBIENT for each SECTION. Subkey BRANCH and PIPE must be defined. If

Chapter 3: Input File Description, HEATTRANSFER

Page 225

subkey SECTION is ignored, the code will assign the value to each section of the pipe
by the sequence,
TAMBIENT = (30, 2:25, 3:20, 15, 10) [C]
The number of TAMBIENT values must be equal to the number of the sections
of the pipe(s).
If only two value of TAMBIENT is defined for a BRANCH or for a PIPE, as
TAMBIENT = (50, 10) [C]
The code will do the SECTIONWISE interpolation along the BRANCH or PIPE.
end if
End of options for TAMBIENT
Options for HAMBIENT
If H ambient is time dependent, then
HAMBIENTSERIES

= Label of the time series (pre-defined in HEATTRANSFER

key)
else If HOUTEROPTION
HAMBIENT

= HGIVEN (default), then1)


= (2 : 300, 200) [W/m2C] ! for each section

It follows the same rule as If specify TAMBIENT for each section


else if an ambient fluid is used (air, water or user specified) then
HOUTEROPTION = AIR | WATER | OTHER
if VELOCITY is time dependent, then
VELOCITYSERIES
= Label of the time series (pre-defined
HEATTRANSFER
key)
else if specify ambient velocity for each section1)
VELOCITY
= (2 : 3, 2)
[M/S]
It follows the same rule as If specify TAMBIENT for each section
end if
if HOUTEROPTION=OTHER (default values are applied if AIR or WATER):
DENSITY
= 2 [kg/m3]
VISCOSITY
= 0.02E-33 [Ns/m2]
CAPACITY
= 1000 [J/kg-C]
CONDUCTIVITY = 0.023 [W/m-K]
EXPANSION
= 34E-4 [1/C]
It follows the same rule as If specify TAMBIENT for each section
end if
end if
End of options for HAMBIENT
HMININNERWALL

= (2:100, 200) [W/m2 oC] ! for each section

else if TEMPERATURE = UGIVEN in OPTIONS group, then

in

Page 226

Chapter 3: Input File Description, HEATTRANSFER

TAMBIENT is defined by the same rule as described in If TEMPERATURE=WALL or


FASTWALL section
UVALUE

= (2 : 300, 200) [W/m2 oC] ! for each section

It follows the same rule as If specify TAMBIENT for each section


end if

If LINE is specified, only:


HMININNERWALL

= 100 [W/m2 oC]

End if
1)

All properties (TAMBIENT, DENSITY, HMINNINNERWALL etc.) can be specified for each
section. If the values are the same for all sections, just one value is needed, e.g.: TAMBIENT =
(2,2,2,2), same as TAMBIENT = 4:2, same as TAMBIENT = 2.

Examples:
Example 1:
!***************************************************************************
!
HEATTRANSFER Definition
!--------------------------------------------------------------------------!
HEATTRANSFER BRANCH = 1, PIPE = PIPE-1, HAMBIENT = 581.5,\
TAMBIENT = 0.3E+02, HMININNERWALL = 0.5E+03
HEATTRANSFER BRANCH = 1, PIPE = PIPE-2, HAMBIENT = (3:581.5),\
TAMBIENT = (27.8), HMININNERWALL = 0.5E+03
HEATTRANSFER BRANCH = 1, PIPE = PIPE-3, HAMBIENT = (5:581.5,\
9:551.4), TAMBIENT = (5:27.8, 9:26.1),\
HMININNERWALL = 0.5E+03
!***************************************************************************

Example 2:
!***************************************************************************
!
HEATTRANSFER Definition
!--------------------------------------------------------------------------!
HEATTRANSFER BRANCH = 1, PIPE = PIPE-1, UVALUE = (12:0.2E+02),\
TAMBIENT = (6.)
! TAMBIENT is 6C for each section in PIPE-1
HEATTRANSFER BRANCH = 2, PIPE = PIPE-2, UVALUE = (7:0.2E+02),\
TAMBIENT = (5,6:6.) ! 5C for the first section, else 6C
!***************************************************************************

Example 3:
!***************************************************************************
!
HEATTRANSFER Definition
!--------------------------------------------------------------------------!
HEATTRANSFER LINE = (RET_LINE, CAR_LINE),\
HMININNERWALL = 100
!***************************************************************************

Chapter 3: Input File Description, HEATTRANSFER

Page 227

Example 4:
!***************************************************************************
!
HEATTRANSFER Definition
!--------------------------------------------------------------------------!
HEATTRANSFER
BRANCH = 1, PIPE = (1-5), INTERPOLATION = VERTICAL,\
INTAMBIENT = 100, OUTTAMBIENT = 10, HAMBIENT = 900,\
HMINNERWALL = 200
!
!***************************************************************************

Example 5:
!***************************************************************************
!HEATTRANSFER Definition
!--------------------------------------------------------------------------!
! new model for calculating Hambient
!
HEATTRANSFER BRANCH = BRAN-1, PIPE = PIPE-1, TAMBIENT = (3.1,7.1),\
HMININNERWALL = 0, HOUTEROPTION = AIR, VELOCITY = 3 m/s \
HEATTRANSFER BRANCH = BRAN-1, PIPE = PIPE-2, TAMBIENT = (5:6.),\
HMININNERWALL = 0,HOUTEROPTION = AIR
HEATTRANSFER BRANCH = BRAN-1, PIPE = PIPE-3, TAMBIENT = (2:6.),\
HMININNERWALL = 0,HOUTEROPTION = WATER, VELOCITY = 2 m/s
HEATTRANSFER BRANCH = BRAN-1, PIPE = PIPE-4, TAMBIENT = (4:6.),\
HMININNERWALL = 0, \ HOUTEROPTION = WATER
HEATTRANSFER BRANCH = BRAN-1, PIPE = PIPE-5, TAMBIENT = (2:6.),\
HMININNERWALL = 0, HOUTEROPTION = OTHER, DENSITY = 1100 kg/m3,\
VELOCITY = 0.4 m/s, \
VISCOSITY = 0.0015 N-S/M2,\
CAPACITY = 5000 J/kg-C,\
CONDUCTIVITY = 0.50 W/m-k, \
EXPANSION = 0.00001
!***************************************************************************

Example 6:
HEATTRANSFER TIMESERIES = PERIODIC,
SERIESLABEL = SEABOTTOMT, \
TIME = (0, 12, 24) h, \
TAMBIENT = (10, 30, 10)

HEATTRANSFER TIMESERIES = PERIODIC,


SERIESLABEL = SEABOTTOMH, \
TIME = (0, 12, 24) h, \
HAMBIENT = (200, 500, 200)

HEATTRANSFER TIMESERIES = PERIODIC,


SERIESLABEL=SEABOTTOMV, \
TIME = (0, 6, 12) h, \
VELOCITY = (1, 2, 1)

HEATTRANSFER BRANCH=1, HMININNERWALL=10, \


TAMBIENTSERIES=SEABOTTOMT, HAMBIENT = 500
HEATTRANSFER BRANCH=2, HMININNERWALL=10, \
TAMBIENTSERIES=SEABOTTOMT, HAMBIENTSERIES = SEABOTTOMH
HEATTRANSFER BRANCH=3, HMININNERWALL=10, \
TAMBIENTSERIES=4, UOUTEROPTION=WATER, \
VELOCITYSERIES =SEABOTTOMV
HEATTRANSFER BRANCH=4, HMININNERWALL=10,
\
HAMBIENT=500, INTERPOLATION=LENGTH,
INTAMBIENT=4, OUTTAMBIENT=25

Page 228

Chapter 3: Input File Description, HYDRATECHECK

3.3.28 HYDRATECHECK
This statement is used to get information on possible formation of hydrates. The
user specifies hydrate formation curves for each branch that should be investigated.
The hydrate formation curve can be specified either with keys PRESSURE and
TEMPERATURE, or from an ASCII file where the hydrate formation curve is given.
The effect of MEG on the hydrate formation temperature can be calculated. This
requires the MEG-tracking module. The effect can be calculated in two ways:
1.
MEGFORMULA = OFF: One hydrate curve per MEG concentration
(MEGCONC) must be given (OLGA will interpolate between the curves). One
HYDRATECHECK keyword must be defined for each curve/concentration.
MEGFORMULA = ON: The Hammerschmidt equation (see The MEG tracking
2.
module in Chapter 2) will be used based on the hydrate curve for no MEG.
The equation is valid for MEG concentration between 0% and 70%.
The program does the following:
1.

2.

3.

For a given pressure and MEG concentration in a section, the temperature


below which hydrate may form is determined from the hydrate formation curve.
The difference between the hydrate formation temperature and the fluid
temperature is then calculated, i.e. the volume variable DTHYD is updated
For a given pressure and MEG concentration in a section, the pressure above
which hydrate may form is determined from the hydrate formation curve. The
difference between the fluid pressure and the hydrate formation pressure is
then calculated, i.e. the volume variable DPHYD is updated
The positions and the values of the maximum temperature and pressure
differences for hydrate formation are calculated, i.e. the branch variables
MDPHYD, MDPPOS, MDTHYD and MDTPOS are updated.

Interpolation and extrapolation of the hydrate curves:


An imaginary square is formed to define the limits of the hydrate curve(s).
When hydrate curves for different MEG concentrations (MEGFORMULA = OFF) are
used, the four sides are the highest/lowest temperature and highest/lowest pressure
of the hydrate curves. All hydrate curves are extrapolated so they reach two of the
square sides as illustrated in the figure below for MEGCONC = 0%, MEGCONC =
20% and MEGCONC = 40%.
For MEGFORMULA = ON the highest/lowest pressure is defined by the hydrate
curve for the MEG concentration of 0%, while the highest/lowest temperature
depends on the actual MEG concentration (Hammerschmidt).

Chapter 3: Input File Description, HYDRATECHECK

Page 229

PRESSURE
DTHYD > 0

DTHYD < 0

DPHYD > 0
DPHYD > 0

DPHYD < 0
MEGCONC = 40 %

DTHYD < 0

20 %

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 GLVs.
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 <0,1>.

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 (-)

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/mC)

[Calculated by
OLGA]

Inner surface heat transfer coefficient


for the line

OUTERHVALUE

r. (W/mC)

[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

CONTRACTION
A', U'

J-1

A, U

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

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/kgC)

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

[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.

r.(m)

[0]

X-co-ordinate of the node.

r.(m)

[0]

Y-co-ordinate of the node.

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

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 )

= 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. (-)

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)

(-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 users


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

[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

[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 users 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 < DPonsetUcrit:

p slugftont = DPfact

f ( , l )
(U film DPonset U crit ) 2 (3.2)
Sluglength

If Ufilm > DPonsetUcrit:

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 Rnningsen 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 users 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 Rnningsen
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 = <value> 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.

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)

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.

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

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/m3C)

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/m3C)

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/m3C)

Derivative of water density w.r.t


temperature.2

TCG (W/mC)

Gas thermal conductivity.

TCHL (W/mC)

Oil thermal conductivity.

TCWT (W/mC)

Water thermal conductivity.

CPG (J/kgC)

Gas thermal capacity.

CPHL (J/kgC)

Oil thermal capacity.

CPWT (J/kgC)

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/kgC)

Gas entropy.

SEHL (J/kgC)

Oil entropy.

SEWT (J/kgC)

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,

, 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. Rnningsen


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.

Rnningsen, 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.

Rnningsen, 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 Rnningsen 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
Hrdig, A. and Moe, R.: Dynamic simulations of multiphase flow in flowline bundles
on sgrd. 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

HORBOU

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

ZZBOU

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

ZZVOL

Page 425

Ns/m Viscosity of oil including MEG and dispersed wax effects

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

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

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

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

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

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

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

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

TP

Pa
Pa/s
MINHOLHLBRCT
MINHOLWTBRC T
MINPTBRLST
Pa

TP
TP

MINPTPOS
MINPTPOSLST

m
m

TP
TP

MINTMBR
MINTMBRLST

TP
TP

MINTMPOS
MINTMPOSLST

m
m

TP

MDPHYD

Pa

TP

MDPHYDC

Pa

TP

MDPPOS

C
C

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

TP

MDTHYD

TP
TP

MDTHYDC
MDTPOS

TP

MDTPOSC

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
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

TP

LSL

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

TP

ZTSL

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

TP

LSLEXP

TP

QFEXP

m/s

TP

QTEXP

m/s

TP

SIDEXP

TP

USFEXP

m/s

TP

USTEXP

m/s

TP

ZSFEXP

TP

ZSTEXP

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/ms
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

You might also like