Beruflich Dokumente
Kultur Dokumente
Flow Simulator
_USER
MANUAL
VER S ION 5
be dynamic
OLGA 5.0
Page i
Table of Contents
1.
2.
3.
4.
5.
6.
INTRODUCTION ............................................................................................................ 1
1.1
General Information............................................................................................... 2
1.2
2.2
2.3
2.4
2.5
3.2
3.3
4.2
4.3
4.4
5.2
5.3
6.2
6.3
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
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.
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
2.
2.2
2.3
Page 9
2.5
Page 10
2.
%read geometryl.dat
Page 11
Page 12
3. TEMPERATURE = WALL
4. TEMPERATURE = UGIVEN
Page 13
Description
NODE
BRANCH
Defines start and end node, geometry of the branch and fluid
name for that branch.
Page 14
GEOMETRY
PIPE
POSITION
MATERIAL
WALL
REROUTE
ANNULUS
BITNODE
BUNDLE
COVER
CROSSOVER
CROSSSECTION
GRID
LINE
SHAPE
SOIL
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
HEATTRANSFER
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
WELL
Description
COMPOPTIONS
FEED
Description
Page 16
BITNOZZLE
CHECKVALVE*
COMPRESSOR*
CONTROLLER
HEATEXCHANGER
LOSS
PLUG*
PUMP*
SEPARATOR
TOOLJOINT
VALVE
Description
OUTPUT
PLOT
Defines variable names and time intervals for writing of data to the
OLGA viewer file.
PRINTINPUT
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.
Page 17
WITHOUT
RESTART
WITH
RESTART
R
R
R
O**
R
O*
R
R
ENDCASE
FILES
INTEGRATION
RESTART
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.
Page 18
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)
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.
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
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
Page 22
Description
HHOILHOLDUP
HHOILLEVEL
RESETHOLDUP
RESETLEVEL
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
Page 23
b)
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)
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
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)
b)
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
Page 27
0.5 n
p2
, 0.5
= f G
p1
where
p1
p2
G
=
=
=
=
p1
10 5 Pa
1013
.
n
0.5
T1
288 K
()
()
0.5
(kg / s)
(r / min)
(2.4)
Page 28
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:
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)
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)
Page 30
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
(2.13)
(2.14)
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:
Wrec, g
z
(2.16)
sp
g
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
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
1
u = K c e +
i
edt +
0
de
+ bias
dt
e = (x x stp )
where:
x
(2.18)
(2.19)
Page 34
= initial value
Subscripts:
stp
i
d
(2.20)
NORMRANGE
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
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
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.
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
Page 36
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:
(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
(2.24)
C = C2
if
(2.25)
Tav
C
C1
C2
Cswitch
Page 37
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
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.
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.
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
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
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:
(2.26)
(2.27)
or
where
tact
t
Uold
U
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
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)
p =
V i
Qmax K c
(2.32)
= 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
Response
= 0.2
0.3
0.4
0.5
0.7
1
setpoint
10
12
Time, (t/p)
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)
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
0.8
0.6
0.4
0.2
0
0
Time (t/p)
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.
A
with A ranging from 1 to 10.
Fmax
Page 44
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
Aleak =
u s DLEAK 2 , 0 u s 1
(2.38)
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.
Page 45
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)
m&
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
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
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
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
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
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)
Page 47
If WATERCUT, GLR and volume flow of oil at standard condition, QoST , are known,
use:
PHASE = OIL and STDFLOWRATE = QoST
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
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
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)
(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
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
HYDRATE
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.
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)
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)
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
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.
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
(2.55)
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
Vf =
1
Up
2
(2.57)
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)
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:
(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
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
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.
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)
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)
PV = Pupstream - Pthroat
(2.66)
Page 55
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:
(2.70)
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.
2.
Mass transfer due to isentropic expansion from the upstream pressure to the
throat pressure is considered (Henry-Fauske) /3/.
ds =
1
1
T
dh
V
T
dp
(2.72)
Page 56
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
=
=
=
=
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
=
=
=
=
=
=
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
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.
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.
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
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.
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:
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)
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=
Q
- flow ratio
QR
TH
- torque ratio
TH R
(2.81)
Page 60
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
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
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
(2.84)
Page 62
I
l
PI
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
(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 speed
( rpm )
= Flow rate
( m3/s )
Page 63
= Specific density
( kg/m3)
r = rated
H =
( H iso H s )
(2.89)
(2.90)
(2.91)
(2.92)
Pump torque:
= Wtot /
(2.93)
(2.94)
where
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
Energy balance
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)
N
= QPmf ,ref
N
ref
N
QPvis = QPvis ,ref
N
ref
QPmf
(2.97)
where,
a
b
Nref
QPmf,ref
QPvis,ref
(2.98)
(2.99)
Page 65
The following options are available for controlling the pump speed:
1.
(1) Controlled manually by specifying time and speed series in the controller
definition.
(2) Regulated by a physical parameter. The speed is calculated by:
(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.
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:
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.
Page 66
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.
Page 67
Startup Slug 2
Startup Slug 3
Startup Slug 1
Fig. 2.20
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
J+1
ID=3
New Slug
J-1
J+1
LSDINI
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
(2.104)
Up is the pig velocity. f0, f1 and f2 are user specified friction constants.
2.
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
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
Page 71
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.
Page 72
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 +
2.5
(2.108)
rel , w
Page 73
h / rel =100
= 1.0 +
2.5
(2.109)
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/:
(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
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
Page 75
Page 76
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
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:
Page 77
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:
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.
2.
a)
Page 78
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)
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
J=
kh
141.2vBo(ln(re / rw ) 0.75 + s )
(2.119)
Bo
re
rw
s
(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)
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)
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)
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)
C=
(0.703kh)n
(T g Z )n D1n [ln(re rw ) 0.75 + s]2n1
[scf/d/psi2n]
(2.128)
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
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)
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:
Page 83
Parasite pipe
Concentric
Annulus
Annulus
Drillstring
Formation
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
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
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
( s f
V sl = C1 d s
f
1
2
where:
C1 is calculated depending on the Reynolds number as given below
(2.133)
Page 85
Re =
f V sl d s
f
(2.134)
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)
Page 86
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 =
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)
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.
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
Fig. 2.24
Side and cross-sectional view of pipe with external and internal upsets.
D2INUP
DD1
D1EXUP
LUPSET
Length of upset.
LJOINT
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)
= C
(2.145)
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
= &
(2.146)
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
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)
e = p +
0D
6U
(2.149)
e = p +
0 Dh
8U
(2.150)
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)
8U 3n + 1
e = K
4n
D
n 1
(2.153)
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)
Page 91
4 0
8U 3n + 1
+ K
e =
8U 3n + 1
D
4n
4n
D
n 1
(2.156)
12U 2n + 1
4 0
+ K
e =
12U 2n + 1
D
3
n
h
3
Dh
3n
n 1
(2.157)
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
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.
Page 93
Fig. 2.27 Sketch of typical casing (injection) pressure operated GLV (with gas
charge)
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
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 :
(2.161)
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)
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
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.
Page 97
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.
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
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
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
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
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)
for x 1
To get the same hsoil the following equation can be used to calculate the equivalent
soil conductivity used in OLGA input:
Rso
Rsi
(2.172)
Where:
Rsi
Rso
ksoil
To accurately predict the transient heat transfer, the thermal capacity of the soil
should be adjusted as follows:
Page 100
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)
Ra =
gL3 T
(2.177)
Pr =
(2.178)
Page 101
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.
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
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,
L
gT
12
(2.180)
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
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.
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.
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
Fig. 2.31
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.
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
Page 105
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
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.
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&
Q& WALL
Q&
Cp
FEM
Jq
r
S
Page 107
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
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
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.
Page 109
1 C p 2
L
2
(2.184)
CO2 + H 2 O H 2 CO3
(2.185)
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:
(2.188)
(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
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:
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:
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:
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
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:
Page 114
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:
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
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
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
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)
dC wax
dT
(TWS WDT )
WAP
dC wax
dT
& , is limited
4. The total dissolution and diffusion rate of wax from wall to bulk, m
2
upwards by DISSOLRATE (kg/(m s )):
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.
Page 117
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
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
(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
Page 119
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
Page 120
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,
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;
Page 122
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
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
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
Crit
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.
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
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
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))
Page 127
Tpr = T / Tpc
Page 128
Where
A = yCO2 + yH2S,
Page 129
Page 130
where
Page 131
100
120
140
160
180
200
220
79
104
Tabp
128
146
165
190
205
132
165
202
222
252
274
294
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
Page 132
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.
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
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.
Page 133
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
Page 134
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
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.
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
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.
Page 137
CHAPTER 3
INPUT FILE
DESCRIPTION
3
3.2
3.3
Page 138
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
TREND
Dependencies:
BRANCH,
GEOMETRY,
BUNDLE, OPTIONS
POSITION,
GRID,
LINE,
Type
Unit: ( )
Parameter
set Default: [
]
Description
BRANCH
sym.l
BUNDLE
sym.
COMPONENT
sym.l.
[ALL]
DELETEPREVIOUS
sym.
ON | [OFF]
DTPLOT
r.l. (s)
LAYER
i.l.
[ALL]
Page 140
Key
Type
Unit: ( )
Parameter
set Default: [
]
LINE
sym.l.
NPLOT
i.l.
PIPE
sym.l.
POSITION
sym.l.
SECTION
i.l.
SLUG
i.l.
TIME
r.l. (s)
VARIABLE
sym.l.
SOILCOLUMN
i.l.
SOILROW
i.l.
Required keys:
Description
DTPLOT or NPLOT
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
= 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
COMPONENT
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)
3.1.2
Page 143
General Rules
An input statement has the general form:
KEYWORD
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)
(double quote)
List protector:
Any list should be put inside a parenthesis:
( ... )
Page 144
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:
2:
3:
Parameter Types
The KEY information is given following the syntax of one of 8 parameter types.
1.
String:
Ex:
"PT-CONTR-1"
("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:
Page 145
Integer:
Ex:
243556
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
42.35 bara.
(11.5, -23.7, 12.54E3)
Page 146
Case information
Execution modes
Geometrical system definition
Boundary conditions
Compositional model
Process equipment
Output options
Auxiliary keywords
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
ENDCASE
FILES
FLUID
DRILLINGFLUID
3.2.2
Page 147
Execution Modes
Keyword
Description
DTCONTROL
INTEGRATION
HYDRATECHECK
OPTIONS
RESTART
SHUTIN
SLUGTRACKING
PIGTRACKING
CORROSION
WATEROPTIONS
WAXDEPOSITION
Page 148
3.2.3
Description
ANNULUS
BITNODE
BRANCH
BUNDLE
COVER
CROSSOVER
CROSSSECTION
GRID
LINE
MATERIAL
NODE
GEOMETRY/PIPE
POSITION
REROUTE
SHAPE
SOIL
WALL
3.2.4
Page 149
3.2.5
Description
BOUNDARY
HEATTRANSFER
INITIAL
LEAK
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
HEATEXCHANGER
LOSS
PLUG
Page 150
3.2.7
PUMP
Pump definition
TOOLJOINT
Definition of tooljoint.
SEPARATOR
Definition of separator.
SETPOINTVARIABLE
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
PLOT
PRINTINPUTDATA
PROFILE
TREND
Auxiliary Keywords
These keywords are used to modify standardised/default values or to give additional
information to the information listed above.
Keyword
Description
TABLE
UNITS
3.2.9
Page 151
Conventions
The following conventions are used to describe the input statement.
1.
2.
3.
4.
5.
6.
7.
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
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.
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
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCHES
sym.l.
ENDPIPES
sym.l.
ENDSECTIONS
sym.l.
[Last or first]
LABEL
str.
Name of annulus
STARTPIPES
sym.l.
STARTSECTIONS
sym.l.
[First or last]
XCENTER
r.l. (m)
YCENTER
r.l. (m)
Page 154
3.3.2
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
Type
Unit: ( )
Parameter
Default: [ ]
ANNULUS
sym.
DRILLSTRING
sym.
FORMATION
sym.
INITPOSITION
sym.
LABEL
str.
Name of bitnode
NODE
sym.
ROP
r.l. (m/s)
[0.0]
TIME
r.l. (s)
[0.0]
Time points
YOFFSET_ECD
r. (m)
[0.0]
set
DRILLSTRING,
Description
FORMATION,
INITPOSITION,
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:
Type
Unit: ( )
Parameter
set
Default: [ ]
Description
BRANCH
sym.
CD
r.
[0.95]
DIAMETER
r.l. (m)
LABEL
str.
[Integer
increment]
NNOZZLES
i.
PIPE
sym.
POSITION
sym.
SECTIONBOUNDARY
i.
Page 156
Required keys:
= 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)
!
!****************************************************************************
.
.
.
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
GASSPECIFICGRAVITY
r.
[0.64]
OILSPECIFICGRAVITY
r.
[0.876]
APIGRAVITY
r.
[30]
WATERSPECIFICGRAVITY
r.
[1.0]
SALINITY
r. (-)
[0.0]
H2SMOLEFRACTION
r. (-)
[0.0]
CO2MOLEFRACTION
r. (-)
[0.0]
N2MOLEFRACTION
r. (-)
[0.0]
Required keys:
Label
LABEL, TYPE
= [0.64]
= [0.0]
= [0.0]
= [0.0]
= [0.876]
= [30]
= [1.0]
Page 158
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 %
.
.
.
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.
OILCOMPONENT
sym.
GASCOMPONENT
sym.
WATERCOMPONENT
sym.
GOR
r.
[Calculated]
GLR
r.
[Calculated]
OGR
r.
LGR
r.
WATERCUT
r.
Required keys:
[0.0]
LABEL
= 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
BLACKOILOPTIONS
This statement defines the black oil options.
Keyword:
BLACKOILOPTIONS
Dependencies:
OPTIONS
Required keys:
Type
Unit: ( )
Parameter set
Default: [ ]
Sym.
[LASATER]
STANDING
BEGGS
GLASO
Description
Correlation for calculating solution gas
oil ratio
None
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.
Specify:
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
Keyword:
BOUNDARY
Dependencies:
NODE, LINE
Type
Unit: ( )
Parameter set
Default: [ ]
DENSITY
r.l.
(kg/m3)
DRILLINGFLUID
sym.
FEEDMASSFRACTION
r.l. (-)
FEEDMOLEFRACTION
r.l. (-)
FEEDNAME
sym.l.
FEEDVOLFRACTION
r.l. (-)
GASFRACTION
r.l (-)
[-1.0]
GASFRACEQ
r.l. (-)
[1.0]
GLR
r.l.
(Sm3/Sm3
)
GOR
r.l.
LINE
Sym.
(Sm3/Sm3
)
Description
Key
Page 163
Type
Unit: ( )
Parameter set
Default: [ ]
Description
MASSFLOW
r.l.
MEGFRACTION
r.l. (-)
[0.0]
NODE
Sym.
OILFRACEQ
r.l. (-)
[1.0]
PRESSURE
r.l. (Pa)
Boundary pressure
TEMPERATURE
r.l. (C)
TIME
r.l. (s)
TOTALMEGFRACTION
r.l. (-)
[0.0]
TOTALWATERFRACTION
r.l. (-)
TYPE
Sym.
CLOSED
Boundary type
PRESSURE
BUNDLE
VISCOSITY
r.l.
(Ns/m2)
WATERCUT
r.l.(-)
[0.0]
Page 164
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]
WAXFRACTION
r.l. (-)
[1.0]
Required keys:
TYPE
= INLET
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
= 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
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
!****************************************************************************
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
Type
Unit: ( )
Parameter set
Default: [ ]
FLOAT
sym.
[ON] | OFF
FLUID
sym.
FROM
sym.
GEOMETRY
sym.
INIFLOWDIR
sym.
[POSITIVE] |
NEGATIVE
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.
= [0.1] [m]
Page 168
3.3.9
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
Type
Unit: ( )
Parameter set
Default:[ ]
BRANCHES
sym.l.
BRANCHXCENTERS
r.l.(m)
BRANCHYCENTERS
r.l.(m)
ENDPIPES
sym.l.
ENDSECTIONS
i.l.
[Last or
section]
LABEL
str.
LINES
sym.l.
LINEXCENTERS
r.l.(m)
LINEYCENTERS
r.l.(m)
OUTERHVALUE
r.l.
(W/m2oC)
Description
Number/name of
within this bundle
first
OLGA
branches
Key
Type
Unit: ( )
STARTPIPES
sym.l.
STARTSECTIONS
i.l.
Page 169
Parameter set
Default:[ ]
Description
Label of the pipes that enter the bundle
for each branch.
[First or
section]
BRANCHES,
STARTPIPES, ENDPIPES
last
BRANCHXCENTERS,
BRANCHYCENTERS,
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
3.3.10 CASE
Defines information about a simulation.
Keyword:
CASE
Dependencies:
NONE
Type
Unit: ( )
Parameter set
Default: [ ]
AUTHOR
str.
["
"]
DATE
str.
["
"]
INFO
str.
["
"]
Additional information
PROJECT
str.
["
"]
TITLE
str.
["
"]
Required keys:
Description
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 (' ').
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
Sym.
DIRECTION
Sym.
[POSITIVE]
NEGATIVE
LABEL
str.
[Integer
increment]
PIPE
Sym.
POSITION
Sym.
SECTIONBOUNDARY
i.
Required keys:
LABEL, DIRECTION
=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
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
COMPOPTIONS
Dependencies:
OPTIONS
Type
Unit: ( )
Parameter set
Default: [ ]
Description
COMPONENT
str.l.
[ALL]
DENSITYLIMIT
r.
[Internal routines]
FLASHTYPE
sym.
[TWOPHASE]
[SIMPLETHREEPHASE]
FULLTHREEPHASE
Key
Type
Unit: ( )
Page 173
Parameter set
Default: [ ]
Description
TCONDENSATION
r.l.(s)
TVAPORIZATION
r.l.(s)
VISCOSITYCORR
sym.
Required keys:
[CORRSTATE], LBC
None
= 10 s
= 15 s
endif
Example:
!***************************************************************************
!
Compoptions
!--------------------------------------------------------------------------COMPOPTIONS FLASHTYPE = SIMPLETHREEPHASE, VISCOSITYCORR = CORRSTATE
Page 174
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
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.
Page 175
Keyword:
COMPRESSOR
Dependencies:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
ANTISURGECONTR
sym.
BRANCH
sym.
Number/name of branch
compressor is located.
CD
r. (-)
[0.84]
COMPRDATA
sym.
[Integer
increment]
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.
SECTIONBOUNDARY
i.
SECURITYFACTOR
r.(-)
SPEEDCONTR
sym.
TEMPERATURE
r.l. (oC)
TIME
r.l. (s)
where
[Integer
increment]
pipe
where
where
Page 176
= 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
!***************************************************************************
.
.
.
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
CASCADE
ESD
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
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
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
SETPOINT
REFCONDITION
GOR or GLR
WATERCUT
MOLWEIGHT
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.
Page 179
Keyword:
CONTROLLER
Dependencies:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
AMP1
r. (-)
AMP2
r. (-)
AMPLIFICATION
r.l. (-)
AVERAGETIME
r. (s)
BIAS
r. (-)
BRANCH
sym. l.
COMBINEVARIABLES
Sym.
ON
[OFF]
CONSTONE
r. (1/s)
CONSTSWITCH
r. (-)
CONSTTWO
r. (1/s)
DERIVATIVECONST
r.l.(s)
[0.0]
Page 180
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
ERROR
r.l.
EXTENDED
Sym.
ON
[OFF]
EXTSETPCONTROLLER
Sym.
EXTSIGNCONTROLLER
Sym.
GLR
r.l.
GOR
r.l.
(Sm3/Sm3)
[Value
from
PVT-table]
HIGHLIMIT
r.l
HIGHLIMITVARIABLE
sym.l.
INITIALCONTROLLER
sym.
INTEGRALCONST
r.l.(s)
[1.e10]
(Sm3/Sm3)
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.
LABEL
str.
LINE
Sym.
LOWLIMIT
r.l
LOWLIMITVARIABLE
sym.l.
MANUALSETPOINT
r.l.
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.
MAXSIGNAL
r.
Page 182
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
MINSETPOINT
r.
MINSIGNAL
r.
MODE
sym.l.
[AUTOMATIC]
MANUAL
EXTERNALSIGNAL
EXTERNALSETPOINT
FREEZE
MODETIME
r.l.
MOLWEIGHT
r. (kg/kmol)
NORMRANGE
r.
OPENMODE
Sym.l.
ABOVE
BELOW
PIPE
Sym. l.
Pipe(s) where
sampled.
controller
input
is
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Page 183
Description
POSITION
Sym. l.
PRIMARYCONTROL
sym.
REFCONDITION
sym.
RESET
r.l.
SAMPLEDT
r. (s)
SAMPLETIME
r.(s)
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.
Page 184
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]
SUBCONHIGH
sym.
SUBCONLOW
sym.
SUBCONTROLLER
Sym.l.
TIME
r.l.(s)
TYPE
Sym.
ANTISURGE
CASCADE
ESD
MANUAL
OVERRIDE
PID
PSV
SELECTOR
Key
Type
Unit: ( )
VARIABLE
Sym. l.
VARIABLEFUNCTION
Sym. l.
WATERCUT
r.l. (-)
Required keys:
Parameter set
Default: [ ]
ADD |
SUBTRACT
=1
=1
=1
= POSITION-1
end if
STROKETIME
= 10 [s]
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
Page 185
= 0.0
= [0.0]
= []
Page 186
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]
Page 187
end if
STROKETIME
= 15.0 [s]
= ABOVE
= PT bar
REFCONDITION
= [IN-SITU] | STD
SETPOINT
= 30.0
= 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
VARIABLE
REFCONDITION
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
= 10 [s]
end if
STROKETIME
= 15.0 [s]
= ABOVE
either
VARIABLE
REFCONDITION
= PT bar
= [IN-SITU] |
or
SETOFVARIABLES = GASFLOW
end
SETPOINT
RESET
= 30.0
= 28.0
= 10 [s]
end if
STROKETIME
= 10.0 [s]
= S_CON_L
SUBCONHIGH
= S_CON_H
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
end
WATERCUT
= [0.0]
= 25
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
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:
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
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:
Type
Unit: ( )
Parameter set
(Default:[ ])
Description
BICARBONATE
r.
[0.0]
BRANCH
sym.l.
[All branches]
CO2FRACTION
r.
GLYCOLFRACTION
r.
[0.0]
INHIBITOREFFICIENCY
r.
[0.0]
IONICSTRENGTH
r.
[0.0]
Key
Page 193
Type
Unit: ( )
Parameter set
(Default:[ ])
MODEL
sym.l.
MODEL1
MODEL2
MODEL3
[ALL]
PCO2MAX
r.
[1E6]
PHSAT
sym.
ON/[OFF]
PTMAX
r.
WCWET
r.
[30.0]
Required keys:
Description
CO2FRACTION
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
! MEG-tracking off
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)
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:
Type
Unit: ( )
Parameter set
(Default:[])
Description
MATERIAL
sym.
SEA
sym.
ON | [OFF]
SOIL
sym.
SOILCOLUMN
i.l.
SOILROW
i.l.
Required keys:
= ROCKDUMP
SEA
= ON | OFF
or
end
Page 196
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
.
.
.
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:
Type
Unit: ( )
Parameter
set Default: [
]
Description
FLOWCONTROLLER
sym.
FRACTION
r.(-)
FROMLINE
sym.
FROMPOSITION
sym.
HEATCONTROLLER
sym.
HEATLIMIT
r. (W)
[0]
LABEL
str.
MASSFLOW
r. (kg/s)
[0]
MAXFLOWRATE
r. (kg/s)
MAXHEATINPUT
r. (W)
MINFLOWRATE
r. (kg/s)
[0]
Minimum mass
default: zero.
MINHEATINPUT
r. (W)
TOLINE
sym
TOPOSITION
sym.
flow
rate
in line
allowed
Page 198
Required keys:
= 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
!
!***************************************************************************
.
.
.
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
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCHES
sym.l.
BRANCHXCENTERS
r.l.(m)
BRANCHYCENTERS
r.l.(m)
BUNDLES
sym.l.
BUNDLEXOFFSETS
r.l.(m)
BUNDLEYOFFSETS
r.l.(m)
DELTAT
r. (s)
DTPLOT
r. (s)
ENDPIPES
sym.l.
ENDSECTIONS
i.l.
[Last or
section]
LABEL
Str.
LINES
sym.l.
LINEXOFFSETS
r.l.(m)
first
Key
Page 201
Type
Unit: ( )
Parameter set
Default: [ ]
Description
LINEYOFFSETS
r.l.(m)
MESHFINENESS
i.
[32]
SHAPES
sym.l.
SHAPEXOFFSETS
r.l.(m)
SHAPEYOFFSETS
r.l.(m)
STARTPIPES
sym.l.
STARTSECTIONS
i.l.
[First or
section]
last
Page 202
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)
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.
TYPE
sym. l.
MAXDENSITY
r.
(kg/m3)
MINDENSITY
r.
(kg/m3)
MAXVISCOSITY
r.
(Ns/m2)
MINVISCOSITY
r.
(Ns/m2)
Page 204
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
.
.
.
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:
Type
Unit: ( )
Parameter set
Default: [ ]
BRANCH
sym.l.
[ALL]
CFL
sym.
[ON] | OFF
The
Courant-Friedrich-Levy
criteria
based on the flow velocity (CFL).
PIPE
sym.l.
[ALL]
POSITION
sym.l.
PRESSURE
sym.
ON | [OFF]
SECTION
i.l.
[ALL]
Section number.
Required keys:
CFL, PRESSURE
=1
=1
=1
POSITION
= POSITION-1
or
end
Description
Page 206
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
!***************************************************************************
.
.
.
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
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
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
Type
Unit: ( )
Parameter set
Default: [ ]
COMPRESSORFILE
str.l.
FEEDFILE
str.
PUMPFILE
str.l.
PVTFILE
str.l.
WAXFILE
str.
Required keys:
Description
Name of compressor file(s). The files
can contain several compressors each.
PVTFILE
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
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.
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.
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
Type
Unit: ( )
Description
CFLUML
Sym
[NEWTONIAN]|
BINGHAM|
POWERLAW
CFLUMW
Sym.
[NEWTONIAN]|
BINGHAM|
POWERLAW
Page 212
Key
Type
Unit: ( )
Description
CONSFL
r. [*]
CONSFW
r. [*]
CVISL
Sym.
[NEWTONIAN]|
BINGHAM|
POWERLAW|
HERSCHELBUCKLEY
CVISW
Sym.
[NEWTONIAN]|
BINGHAM|
POWERLAW|
HERSCHELBUCKLEY
FULL
Sym
YES/[NO]
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]
MAXPARTCONC
r [-]
For
particle
concentrations
above this the particle settling
stops,
only
used
with
PARTICLESETTLE=ON
MAXCONCK_G_EMUL
r [-]
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]
Key
Page 213
Type
Unit: ( )
Description
PLASTL
r.
[Ns/m]
Hydrocarbon
liquid
plastic
viscosity, used in complex
viscosity model.
PLASTW
r.
[Ns/m]
POWEXPL
r. [-]
POWEXPW
r. [-]
TYPE
Sym.
[NEWTONIAN]|
COMPLEXVISCOSITY
| COMPLEXFLUID|
WATERCUT
r [-]
Fraction
of
water
in
emulsion/slurry in input stream,
only
used
with
PARTICLESETTLE=ON
YIELDSTRL
r. [Pa]
YIELDSTRW
r. [Pa]
*) These subkeys do not have a fixed unit due to the form of the Power law and the
Herschel-Buckley model.
Required keys:
TYPE
Page 214
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
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
!***************************************************************************
.
.
Page 216
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
Type
Unit: ( )
Parameter set
Default: [ ]
EWSTART
r. (m)
LABEL
str.
NSSTART
r. (m)
TVDSTART
r. (m)
XSTART
r. (m)
[0]
YSTART
r. (m)
[0]
ZSTART
r. (m)
[0]
Required keys:
LABEL
= 0 [m]
= 0 [m]
= 0 [m]
TVDSTART
NSSTART
EWSTART
= -3200 0 [m]
= 0 [m]
= 0 [m]
or
end
Description
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
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.
NYPOINTS
i.
XEND
r(m)
XGRIDCOORD
r. l. (m)
YEND
r(m)
YGRIDCOORD
r.l. (m)
Required keys:
LABEL,
Description
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)
.
.
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.
CAPACITY
r. (W)
LABEL
str.
[integer
increment]
PIPE
sym.
Number/Name of Pipe
exchanger is located.
POSITION
sym.
SECTIONBOUNDARY
i.
TEMPERATURE
r.l. (C)
TIME
r.l. (s)
where
heat
Page 220
Required keys:
=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.)
!***************************************************************************
.
.
.
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.
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
HEATTRANSFER
Dependencies:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.l.
[ALL]
Branch number.
CAPACITY
r.l.
(J/KG-K)
If AIR [1000]
If WATER
[4186]
CONDUCTIVITY
r.l.
(W/mK)
If AIR [0.023]
If WATER [0.56]
DENSITY
r.l. (kg/m3)
If AIR [1.29]
If WATER
[1000]
EXPANSION
r.l. (1/C)
If AIR [34x10-4]
If WATER
[21x10-5]
Thermal expansion
ambient fluid.
HAMBIENT
r.l.
(W/m2C)
HAMBIENTSERIES
sym.
HMININNERWALL
r.l.
(W/m2C)
[0 W/(m2C)]
HOUTEROPTION
sym.
[HGIVEN] | AIR |
WATER | OTHER
Option for
coefficient.
coefficient
of
ambient
heat
transfer
Key
Page 223
Type
Unit: ( )
Parameter set
Default: [ ]
INTAMBIENT
r. (oC)
INTERPOLATION
sym.
[SECTIONWISE] |
HORIZONTAL |
LENGTH |
VERTICAL
Description
SERIESLABEL
sym.
LINE
sym.l.
Line Label.
OUTTAMBIENT
r. ( C)
PIPE
sym.l.
[ALL]
SECTION
i.l.
[ALL]
Section number.
TAMBIENT
r.l. (C)
Ambient temperature.
TAMBIENTSERIES
sym.
TIME
r.l. (s)
TIMESERIES
sym.
[OFF] | PERIODIC
| NONPERIODIC
UVALUE
r.l.
(W/m2C)
VELOCITY
r.l. (m/s)
If AIR [4]
If WATER [1]
VELOCITYSERIES
sym.
Page 224
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
= PERIODIC | NONPERIODIC
SERIESLABEL
TIME
TAMBIENT
or
HAMBIENT
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
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
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
key)
else If HOUTEROPTION
HAMBIENT
in
Page 226
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
!***************************************************************************
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)
Page 228
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.
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
Page 230
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.
Keyword:
HYDRATECHECK
Dependencies:
BRANCH
Page 231
Type
Unit: ( )
Parameter set
Default: [ ]
Description
APPLYTO
sym.l.
[None]
COLUMNHEADER
str.l.
FROMFILE
sym.
[NO] | YES
HYDRATEFILE
str.
LABEL
str.
MEGCONC
r. (-)
[0.0]
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
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:
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
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
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.
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
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.l.
[ALL]
Branch.
CMG
r.l.
(kg/m3)
[0.0]
CMHL
r.l.
(kg/m3)
[0.0]
CMHD
r.l.
(kg/m3)
[0.0]
CMWL
r.l.
(kg/m3)
[0.0]
CMWD
r.l.
(kg/m3)
[0.0]
FEEDNAME
sym.l.
FEEDMASSFRACTION
r.l. (-)
FEEDMOLEFRACTION
r.l. (-)
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Page 237
Description
FEEDVOLFRACTION
r.l. (-)
INMEGFRACTION
r. (-)
INPRESSURE
r. (Pa)
INTEMPERATURE
r.(oC)
INTERPOLATION
sym.
INVOIDFRACTION
r.(-)
INWATERCUT
r.(-)
[0.0]
MASSFLOW
r.l. (kg/s)
[0.0]
MEGFRACTION
r.l. (-)
[0.0]
OUTMEGFRACTION
r. (-)
[0.0]
OUTPRESSURE
r. (Pa)
OUTTEMPERATURE
r. (oC)
OUTVOIDFRACTION
r. (-)
OUTWATERCUT
r. (-)
[0.0]
[0.0]
HORIZONTAL
| [LENGTH] |
VERTICAL
Page 238
Key
Type
Unit: ( )
Parameter set
Default: [ ]
PIPE
sym.l.
[ALL]
PRESSURE
r.l. (Pa)
REFPRESSURE
r.(Pa)
SECTION
i.l.
[ALL]
TEMPERATURE
r.l. (C)
VOIDFRACTION
r.l.(-)
WATERCUT
r.l.(-)
[0.0]
Required keys:
Description
None
= 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
Page 239
or
PRESSURE
= (7E + 6) [Pa]
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
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
!***************************************************************************
Page 242
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
ENDCONTROLLER
sym.
CPULIMIT
r. (s)
[1e7] If in restart:
[Same as for
precedent run]
DTSTART
r. (s)
If in restart: [DT of
last time step in
precedent run]
ENDTIME
r. (s)
MAXDT
r.l. (s)
If in restart: [Same
as for precedent
run]
MAXTIME
r.l. (s)
[0.0] If in restart:
[Same as for
precedent run]
MINDT
r.l. (s)
If in restart: [Same
as for precedent
run]
MINTIME
r.l. (s)
[0.0]If in restart:
[Same as for
precedent run]
NSIMINFO
i. (-)
SOILINIT
r. (s)
if DEBUG = ON
[100] else [10]
-
STARTTIME
r. (s)
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.
Page 243
= 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
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
ALFA
r. (-)
BACKPRESSURE
r.l. (Pa)
BELLOWSPRESSURE
r. (Pa)
BRANCH
sym.
CD
r.
[0.84]
Discharge coefficient.
CONTROLLER
sym.
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)
GASLIFTTABLES
sym.l.
GLVOPERATION
sym
[INJOPERATED] |
PRODOPERATED
LABEL
str.
[Integer
increment]
PIPE
sym.
POSITION
sym.
r (-)
REFTEMPERATURE
r (C)
SECTION
i.
TEMPDEPENDENCY
sym.
[OFF] | ON
TIME
r.l. (s)
TOPOSITION
sym.
Page 246
Required keys:
LABEL
=1
=1
=1
POSITION
= POSITION-1
or
end
Either
TIME
=0
BACKPRESSURE = 70 bara
or
TOPOSITION
= POSITION-2
end
Either
or
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 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
!***************************************************************************
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
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
Type
Unit: ( )
Parameter set
Default: [ ]
LABEL
str.
[Integer
increment]
Name of line
FLUIDMATERIAL
sym.
RADIUS
r. (m)
INNERHVALUE
r. (W/mC)
[Calculated by
OLGA]
OUTERHVALUE
r. (W/mC)
[Calculated by
OLGA]
WALL
sym.
SHAPE
sym
Required keys:
LABEL, WALL
= 0.5 [m]
= MAT_1
SHAPE
= CIRCLE_1
or
end
Description
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
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:
Type
Unit: ( )
Parameter set
Default: [ ]
BRANCH
sym.
LABEL
str.
[Integer
increment]
Loss label.
NEGCOEFF
r.
PIPE
sym.
POSCOEFF
r.
POSITION
sym.
SECTIONBOUNDARY
i.
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.
Page 251
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:
=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
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
Type
Unit: ( )
Parameter set
Default: [ ]
CAPACITY
r. (J/kgC)
CONDUCTIVITY
r. (W/mK)
DENSITY
r. (kg/m3)
EXPANSION
r. (1/C)
INNEREMISSIVITY
r.
[0.]
LABEL
str.
Material label
OUTEREMISSIVITY
[0.]
RADIATION
sym
YES | [NO]
TYPE
sym
[SOLID] |
FLUID
VISCOSITY
r.(Ns/m2)
Required keys:
Description
= 1.E-04
= YES or NO
= 0.79 (oxided steel)
= 0.07 (polished surface)
= 0.9E-5
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
3.3.35 NODE
NODE
Dependencies:
NONE
Type
Unit: ( )
Parameter set
Default: [ ]
LABEL
str.
Node label.
NUMBER
i.
[Integer
increment]
Node number.
TYPE
sym.
TERMINAL |
MERGE |
SPLIT
r.(m)
[0]
r.(m)
[0]
r.(m)
[0]
Required keys:
Description
TYPE, X, Y, Z
= 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
!***************************************************************************
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
3.3.36 OPTIONS
OPTIONS
Dependencies:
NONE
Type
Unit: ( )
Parameter set
Default: [ ]
Description
AXIALHEAT
sym.
ON | [OFF]
COMPOSITIONAL
sym.
ON | [OFF] |
MEG|BLACKOIL
DEBUG
sym.
ON | [OFF] |
LIMITED
DRILLING
sym.
ON | [OFF]
NOSLIP
sym.
ON | [OFF]
PHASE
sym.
GAS | LIQUID |
[TWO] | THREE
POSTPROCESSOR
sym.
[ON] | OFF
SLUGVOID
sym.
[SINTEF] | AIR
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]
TEMPERATURE
sym.
[WALL] |
ADIABATIC |
UGIVEN |
FASTWALL |
OFF |
WAXDEPOSITION
sym.
ON|[OFF]
Page 258
Required keys:
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.
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,
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.l.
COLUMNS
i.
[4]
DELETEPREVIOUS
sym.
ON | [OFF]
DTOUT
r.l.(s)
PIPE
sym.l.
SECTION
i.l.
SOILCOLUMN
i.l.
SOILROW
i.l.
TIME
r.l.(s)
VARIABLE
sym.l.
Page 260
Required keys:
= (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
3.3.38 PIGTRACKING
Type
Unit: ( )
Parameter set
Default: [ ]
Description
INSERTTIME
r. (s)
LAUNCHPOSITION
sym.
LEAKAGEFACTOR
r.
LEAKDPCOEF
r.
[]
LEAKOPENING
r.(-)
[0.0]
LINEARFRIC
r. (Ns/m)
LABEL
str.
Pig label
MASS
r. (kg)
Pig mass
QUADRATICFRI
r.
(Ns2/m2)
STATICFORCE
r. (N)
TRAPPOSITION
sym.
Page 262
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
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.
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.
Page 264
Keyword:
PIPE
Dependencies:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
AREA
r. (m2)
[not used]
DIAMETER
r. (m)
ELEVATION
r. (m)
EWEND
r. (m)
IDIAMETER
r. (m)
LABEL
str.
[Integer
increment]
Pipe label.
LENGTH
r. (m)
LSEGMENT
r.l. (m)
[LENGTH /
NSEGMENTS]
Section lengths.
NEQUIPIPE
Number of parallel
equivalent pipe.
NSEGMENTS
i.
[No. of items in
LSEGMENT]
NSEND
r. (m)
NUMBER
i.
ODIAMETER
r. (m)
ROUGHNESS
r. (m)
TVDEND
r. (m)
WALL
sym.
XEND
r. (m)
YEND
r. (m)
ZEND
r. (m)
[0.0]
pipes
in
an
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]
= 70.0 [m]
= 70.0 [m]
= [0.0] [m]
Page 266
= 100.0 [m]
= 50.0 [m]
= [0.0] [m]
end if
If equal section lengths are to be defined, then
NSEGMENTS
=5
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
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
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
Type
Unit: ( )
Parameter
set Default: [
]
Description
DELETEPREVIOUS
sym.
ON | [OFF]
DTPLOT
r.l. (s)
TIME
r.l. (s)
VARIABLE
sym.l.
Required keys:
DTPLOT
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:
Type
Unit: ( )
Parameter set
Default: [ ]
CAPACITY
r.(J/kgoC)
CONDUCTIVITY
r. (W/mK)
Description
DENSITY
r. (kg/m )
DIAMETER
r. (m)
Page 270
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
DISPRATE
r. (m/s)
GROWTHRATE
r.
HYDRATETEMPERATUR
E
r. (C)
Hydrate temperature.
This key is only necessary for the
hydrate model.
ROUTING
Sym.L.
INITTEMPERATURE
r. (oC)
INJECTIONPERIOD
r. (s)
INSERTTIME
r. (s)
LABEL
str.
[Integer incr.]
LAUNCHPOSITION
sym.
LEAKAGEFACTOR
r.
LEAKDPCOEF
r.
[]
LEAKOPENING
r.(-)
[0.0]
LENGTH
r. (m)
LINEARFRIC
r. (Ns/m)
[10.]
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]
QUADRATICFRIC
r. (Ns2/m2)
[0.]
STATICFORCE
r. (N)
[1000.]
TRAPPOSITION
sym.
sym.
[SHORT] |
LONG |
HYDRATE |
HEAVYSSH
VISCOSITY
r. (N-s/m2)
WALLFRICTION
r. (Ns/m)
[1000]
WATERFRACTION
r.
WPPLASTVISC
r. (N-s/m2)
[-1]
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
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]
WXBRFCOEF
r. [-]
[1]
WXRMEFF
r. [-]
[1.0]
WXYIELDSTR
r. [Pa]
[-1]
Required keys:
CAPACITY
CONDUCTIVITY
INITTEMPERATURE
LENGTH
DENSITY
INJECTIONPERIOD
Page 273
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
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:
Type
Unit: ( )
Parameter set
Default: [ ]
BRANCH
sym.
LABEL
str.
PIPE
sym.
SECTION
i.
Required keys:
Description
Page 276
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)
Page 277
3.3.43 PRINTINPUT
This statement defines the input data which will be printed in the output file.
Keyword:
PRINTINPUT
Dependencies:
NONE
Type
Unit: ( )
Parameter set
Default: [ ]
DATA
sym.l.
PVTDATA |
COMPRESSORDATA
|
DIMENSIONS
KEYWORD
sym.l.
Required keys:
Description
Page 278
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:
Type
Unit: ( )
Parameter
set Default: [
]
Description
BRANCH
sym.l.
[ALL]
COMPONENT
sym.l.
[ALL]
DELETEPREVIOUS
sym.
ON | [OFF]
DTPLOT
r.(s)
LAYER
i.l.
[ALL]
LINE
sym.l.
SOILCOLUMN
i.l.
SOILROW
i.l.
TIME
r.l.(s)
VARIABLE
sym.l.
Required keys:
Page 279
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
.
!***************************************************************************
!
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)
!
.
.
.
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.
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
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:
= Pump speed
( rpm )
= Flow rate
( m3/s )
= Specific density
( kg/m3)
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.
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:
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.
(1).
(2).
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:
Page 284
3.
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
ACCECOEFF
r. (rad/s2)
[0.0]
ACOEFFICIENT
r.
[1.6]
BCOEFFICIENT
r.
[1.6]
BRANCH
sym.
BYCONTROL
sym.
BYDIAMETER
r. (m)
[0.0]
DCOEFF1
r (1/rpm)
[0.0]
DCOEFF2
r (1/m3/s)
[0.0]
DCOEFF3
r(-)
[0.0]
DENSITYR
r. (kg/m3)
[900]
for
Key
Page 285
Type
Unit: ( )
Parameter set
Default: [ ]
Description
DPRATED
r [ bar ]
ECOEFF1
r (1/rpm)
[0.0]
ECOEFF2
r (1/m3/s)
[0.0]
ECOEFF3
r(-)
[0.0]
EFFIMECH
r.
[0.7]
EFFRATED
r.
[0.5]
FLOWRATED
r. (m3/s)
HEADRATED
r. (m)
HPMAX
r. (W)
LABEL
sym.
[Numerical
increment]
MAXCAPACITY
r.(m3/s)
MAXPRESSURE
r.(Pa)
MAXRECYCLE
r. (kg/s)
MAXSPEED
r. (rpm)
MDISSIPATION
r. (W)
[0.0]
MINCAPACITY
r.(m3/s)
Minimum
battery.
MINRECYCLE
r. (kg/s)
[0.0]
MINSPEED
r. (rpm)
[0.0]
PIPE
sym.
POSITION
sym.
PREFSPEED
r. (rpm)
[3000]
PUMPTYPE
sym.
CENTRIFUGAL |
DISPLACEMENT |
PUMPBATTERY |
SIMPLIFIED
Name
of
PUMPVALVECONTRO
L
sym.
Label for
controller.
centrifugal
RECCONTROL
sym.
flow
Used
capacity
for
pump
pump
for
pump
type.
valve
Page 286
Key
Type
Unit: ( )
Parameter set
Default: [ ]
RECDIAMETER
r. (m)
[0.0]
RECPHASE
sym.
[MIXTURE]
GAS
LIQUID
WATER
SCONTROL
sym.
SECTIONBOUNDARY
i.
SPECAPACITY
r. (m3/R)
SPEEDR
r. (rpm)
TABLE
sym.
[Default
defined
code]
TORQMAX
r. (Nm)
TORQR
r. (Nm)
VDISSIPATION
r. (W)
[0.0]
Required key:
table
in
Description
LABEL, PUMPTYPE
= BRAN_1
= PIPE_1
=1
POSITION
= POS-1
or
end
If RECDIAMETER > 0, then
RECPHASE
RECCONTROL
= 30 [kg/s]
= 10 [kg/s]
= [0 ] [1/s2]
for
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
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
Page 289
3.3.46 REROUTE
REROUTE
Dependencies:
BRANCH, NODE
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.
TIME
r.l. (s)
[0.0]
TO
sym.l.
Required keys:
INLET-1, TO
= (0, 3600)
!***************************************************************
.
.
.
Remarks:
Page 290
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
Type
Unit: ( )
Parameter set
Default: [ ]
Description
DTWRITE
r. (s)
[Total
simulation time]
FILE
str.
READTIME
r. (s)
WRITE
sym.
[OVERWRITE],
APPEND, OFF
WRITETIME
r.l. (s)
[End of the
simulation time]
Required keys:
Page 291
None
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
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.
Page 293
Keyword:
SEPARATOR
Dependencies:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.
CF
r.
CRITFLOWMODEL
sym.
[FROZEN] |
HENRYFAUSKE
DIAMETER
r. (m)
EFFICIENCY
r.
[1.0]
EMGBACKPRESSURE
r. (Pa)
EMGCD
r.
[0.84]
EMGDIAMETER
r. (m)
EMGOUTLET
sym.
EMGTABLE
sym.
EMGTRAINVALVE
sym.
FLAREOUTLET
sym.
GASBACKPRESSURE
r.l. (Pa)
GASCD
r.
[0.84]
GASCONTROLLER
sym.
Page 294
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
GASDIAMETER
r. (m)
GASOUTLET
sym.
GASPIPEDIAM
r. (m)
GASPIPELENGTH
r. (m)
GASPIPEROUGH
r. (m)
GASTIME
r.l. (s)
GASTABLE
sym.
GASTRAINVALVE
sym.
HHOILHOLDUP
r.(-)
Liquid hold-up upper limit. If liquid holdup is higher than this value, the
emergency valve will be opened.
HHOILLEVEL
r. (m)
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)
INITOILLEVEL
r. (m)
Average of high
and low limit of oil
level for singletrain
INITWATLEVEL
r. (m)
Average of high
and low limit of
water level for
singletrain
LABEL
str.
[increment]
LENGTH
r. (m)
Separator length.
LEVELTABLE
sym.
LLOILHOLDUP
r.(-)
Liquid hold-up lower limit. If liquid holdup is lower than this value, oil drain rate
will start to decrease.
Key
Page 295
Type
Unit: ( )
Parameter set
Default: [ ]
Description
LLOILLEVEL
r. (m)
LLWATHOLDUP
r.(-)
LLWATLEVEL
r. (m)
OILBACKPRESSURE
r.l. (Pa)
OILCD
r.
[0.84]
OILCONTROLLER
sym.
OILDIAMETER
r. (m)
OILOUTLET
sym.
OILPIPEDIAM
r. (m)
OILPIPELENGTH
r. (m)
OILPIPEROUGH
r. (m)
OILTABLE
sym.
OILTCONST
r. (s)
OILTIME
r.l. (s)
OILTRAINVALVE
sym.
ORIENTATION
Sym
VERTICAL |
HORIZONTAL
PHASE
sym.
TWO | THREE
PIPE
sym.
POSITION
sym.
Page 296
Key
Type
Unit: ( )
Parameter set
Default: [ ]
RESETHOLDUP
r.(-)
RESETLEVEL
r. (m)
SECTION
i.
STROKETIME
r. (s)
TRAIN
sym.
TYPE
sym.
[SINGLETRAIN]|
MULTITRAIN
WATBACKPRESSURE
r.l. (Pa)
WATCD
r.
[0.84]
WATCONTROLLER
sym.
WATDIAMETER
r. (m)
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)
WATTIME
r.l.(s)
WATTRAINVALVE
sym.
Required keys:
Description
Page 297
= 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
= gasdrain
=1
or
GASCD
GASDIAMETER
end
GASCONTROLLER
= [1]
= 0.05 [m]
= GASCONTR-1
Page 298
OILPIPELENGTH
OILPIPEROUGH
= 20
= 4.5E-5
end
either
EMGTRAINVALVE
=emgvalve
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
= [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
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]
either
LLWATHOLDUP
or
LLWATLEVEL
end
endif
= 0.01
= 0.1 [m]
Page 299
Page 300
= MULTITRAIN
!separator location
=1
=1
=1
= SECT-1
GASTOUTLET
= BRAN-GAS
EMGOUTLET
FLAREOUTLET
(optional)
= BRAN-EMG
= BRAN-FLR
= 2.8 [m]
= 60 [s]
= 60 [s]
either
HHWATHOLDUP
or
HHWATLEVEL
end
INITWATLEVEL
endif
= 0.3
= 0.34 [m]
= 0.8 [m]
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
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
P-11, SECTIONBOUNDARY = 1, \
P-11, SECTIONBOUNDARY = 1, \
P-11, SECTIONBOUNDARY = 1, \
P-11, SECTIONBOUNDARY = 1, \
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
SETPOINT
REFCONDITION
GOR or GLR
WATERCUT
MOLWEIGHT
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
Keyword:
SETPOINTVARIABLE
Dependencies:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.
GLR
r.
(Sm3/Sm3)
GOR
r.
(Sm3/Sm3)
[Value
from
PVT-table]
LABEL
str.
LINE
sym.
MOLWEIGHT
r.(kg/kmol)
PIPE
sym.
POSITION
sym.
REFCONDITION
sym.
STD, [IN-SITU]
SECTION
sym.
Section number.
VARIABLE
sym.
WATERCUT
r. (-)
Required keys:
Page 305
LABEL, VARIABLE
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
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
Type
Unit: ( )
Parameter set
Default:[ ]
Description
LABEL
str
Name of shape.
MATERIAL
sym
TYPE
sym
RADIUS
r.(m)
WIDTH
r.(m)
HEIGHT
r.(m)
X_LOWER_LEFT
r.(m)
Y_LOWER_LEFT
r.(m)
X_UPPER_RIGHT
r.(m)
Y_UPPER_RIGHT
r.(m)
XPOINTS
r.l. (m)
YPOINTS
r.l. (m)
CIRCLE |
ELLIPSE |
RECTANGLE |
POLYGON
Required keys:
Page 307
= 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
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
Type
Unit: ( )
Parameter set
Default: [ ]
TSHUT1
r. (s)
TSHUT2
r. (s)
Required keys:
Description
TSHUT1, TSHUT2
None
Example:
!*********************************************************************!
SHUTIN Definition
!---------------------------------------------------------------------!
SHUTIN
TSHUT1 = 0, TSHUT2 = 0.108E+06
!*********************************************************************
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.
The illegal sections can be changed back to legal again for instance in a restart, by:
(1)
(2)
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 slug tracking module cannot be applied together with the wax deposition
module.
Keyword:
SLUGTRACKING
Dependencies:
Page 310
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.
F sl =
where
D
L
Usl
=
=
=
0 . 68 U sl
D 1 .2 L 0 .6
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
Page 311
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BRANCH
sym.
BUBBLEVOID
r.(-)
DELAYCONST
[150]
ENDTIME
r. (s)
HYDRODYNAMIC
sym.
ON | Manual |
[OFF]
ILLEGALSECTION
sym.
ON | [OFF]
INITBUBBLEVOIDS
r.l.(-)
[1]
INITENDTIMES
r.l.(s)
INITFREQUENCY
r. (1/s)
INITLENGTH
r.
[One pipe
diameter]
INITPERIODS
r.l.(s)
Page 312
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
INITPOSITIONS
sym.l.
INITSLUGVOIDS
r.l.(-)
[0]
INITSTARTTIMES
r.l.(s)
INITZONELENGTHS
r.l.(m)
LEVEL
sym.
ON | [OFF]
MAXNOSLUGS
[No limit]
PIPE
sym.l.
POSITION
sym.l.
SECTION
i.l.
SLUGVOID
r. (-)
STARTTIME
r. (s)
Page 313
= 0.0 [s]
= 100.0 [s]
= 0.05
= 0.6
Page 314
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)
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:
Type
Unit: ( )
Parameter
set (Default:
[])
BOTHAMBIENT
r.(W/m2oC)
1.E+6
BRANCHES
sym.l
ENDPIPE
sym.l.
GRID
sym.
LABEL
Str.
2o
Description
LEFTHAMBIENT
r.(W/m C)
1.E+6
MATERIAL
sym.
PIPEXCOORD
r.l.(m)
PIPEYCOORD
r.l.(m)
Page 316
Key
RIGHTHAMBIENT
Type
Unit: ( )
r.(W/m2oC)
Parameter
set (Default:
[])
Description
1.E+6
STARTPIPE
sym.l.
TOPHAMBIENT
r.(W/m2oC)
1.E+6
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
!
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
Page 318
Use key:
Specify:
FEEDMASSFLOW
GASFRACEQ
OILFRACEQ
WATERFRACEQ
When the volumetric flow rate at the standard conditions is given, do the following:
Use key:
Specify:
STDFLOWRATE
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,
Page 319
Type
Unit: ( )
Parameter set
Default: [ ]
BRANCH
sym.
Branch label.
CD
r.
[0.84]
Discharge coefficient.
CONTROLLER
sym.
CRITFLOWMODEL
sym.
[FROZEN] |
HENRYFAUSKE|
SUBCRITICAL
Description
DIAMETER
r. (m)
DENSITY
r.l.
(kg/m3)
DRILLINGFLUID
sym.
FEEDNAME
sym.l.
FEEDMASSFRACTION
r.l. (-)
FEEDMOLEFRACTION
r.l. (-)
FEEDMASSFLOW
r.l. (kg/s)
FEEDMOLEFLOW
r.l.
(kmol/s)
FEEDSTDFLOW
r.l.
(Sm3/s)
Page 320
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
FEEDVOLFRACTION
r.l. (-)
GASFRACEQ
r.l. (-)
[1.0]
GASFRACTION
r.l. (-)
[-1.0]
GLR
r.l.
GOR
r.l.
LABEL
str.
[Integer
increment]
MASSFLOW
r.l. (kg/s)
MEGFRACTION
r.l. (-)
[0.0]
MOLWEIGHT
r.l.
(kg/kmol)
OILFRACEQ
r.l. (-)
[1.0]
PHASE
sym.
GAS | LIQUID |
OIL | WATER
PIPE
sym.
(Sm3/Sm3)
(Sm3/Sm3)
Pipe number.
Page 321
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
POSITION
sym.
PRESSURE
r.l.(Pa)
[Section
pressure if
given massflow]
SECTION
i.
STDFLOWRATE
r.l. (m3/s)
TEMPERATURE
r.l. (oC)
TIME
r.l. (s)
TOTALMEGFRACTION
r.l. (-)
[0.0]
TOTALWATERFRACTION
r.l.(-)
[0.0]
r.l.
(Ns/m2)
WATERCUT
r.l.(-)
[0.0]
Page 322
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
WATERFRACEQ
r.l.(-)
[1.0]
WATERFRACTION
r.l.(-)
[0.0]
WAXFRACTION
r.l. (-)
[1.0]
Required keys:
=1
=1
= [1]
= SOURCE-1
= (0, 100 )
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
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
Page 324
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
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,\
Page 325
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
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
Type
Unit: ( )
Parameter set
Default: [ ]
INJECTIONPRESSURE
r. (Pa)
LABEL
str.
Table label.
POINT
r.l.
XVARIABLE
sym.
OPEN |
DELTAP |
PRODUCTION
PRESSURE |
LEVEL
YVARIABLE
sym.l.
CV | FLOW
etc. |
STDGASFLOW|
VOLUME
Required keys:
Description
OPEN
DELTAP
CV
Page 327
FLOW
GASFL
LIQFL
PILIQ
WATFR
OILTC
GASTC
WATTC
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
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, \
Page 329
Page 330
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
D1EXUP
r. (m)
D2INUP
r. (m)
DD1
r. (m)
DD2
r. (m)
GEOMETRY
Sym.
LABEL
str.
LJOINT
r. (m)
LUPSET
r. (m)
Length of upset.
PIPE
Sym.l.
[ALL]
Page 331
Figure 3.5 Side view and cross section of flowpath with upsets.
Required keys:
Page 332
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,
Type
Unit: ( )
Parameter
set Default: [
]
Description
BRANCH
sym.l
COMPONENT
sym.l.
[ALL]
DELETEPREVIOUS
sym.
ON | [OFF]
DTPLOT
r.l. (s)
LAYER
i.l.
[ALL]
LINE
sym.l.
NPLOT
i.l.
PIPE
sym.l.
Key
Page 333
Type
Unit: ( )
Parameter
set Default: [
]
POSITION
sym.l.
SECTION
i.l.
SLUG
i.l.
TIME
r.l. (s)
VARIABLE
sym.l.
SOILCOLUMN
i.l.
SOILROW
i.l.
Required keys:
Description
DTPLOT or NPLOT
=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
SECTION
=1
POSITION
= POSITION-1
or
end
either
VARIABLE
or
= (HOL, UG)
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
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
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
(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
p slugftont = 0
Keyword:
TUNING
Dependencies:
Type
Unit: ( )
Parameter
set Default: [
]
Description
AREA
r.l.
[1.0]
BRANCH
sym.l.
[ALL]
DIAMETER
r.l.
[1.0]
Key
Page 337
Type
Unit: ( )
Parameter
set Default: [
]
Description
DPFACT
r.
[1.0]
DPONSET
r.
[1.0]
ENTRAINMENT
r.l.
[1.0]
GROUGHNESS
r.
[1.0]
LAM_LGI
r.l.
[1.0]
LAM_WOI
r.l.
[1.0]
LIQUIDVISC
r.l.
[1.0]
MASSTRANSFER
r.l.
[1.0]
OILDENSITY
r.l.
[1.0]
PIPE
sym.l.
[ALL]
POSITION
sym.l.
ROUGHNESS
r.l.
[1.0]
SECTION
i.l.
[ALL]
SLUGLENGTH
r.
[1E9]
TAMBIENT
r.l.
[1.0]
Tuning
coefficient
temperature.
UBCOEFF1
r.
[1.0]
mass
for
transfer
ambient
Page 338
Key
Type
Unit: ( )
Parameter
set Default: [
]
Description
UBCOEFF2
r.
[1.0]
VOIDINSLUG
r.
[1.0]
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.
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 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)
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)
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
Type
Unit: ( )
Parameter
set Default: [
]
Description
COMPRESSORDATA
sym.
[SI] | BRITISH
FACTOR
r.
PVTDATA
sym.
[SI] | BRITISH
QUANTITY
sym.
PRESSURE |
FLOW |
ENERGY etc.
UNIT
str.
= MM,
= LENGTH,
= 1.0E-3
endif
Example:
!***************************************************************************
**
!
UNIT Definition
!---------------------------------------------------------------------------UNIT QUANTITY = LENGTH, UNIT = MM, FACTOR = 1.0 E-3
.
.
.
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:
Type
Unit: ( )
Parameter set
Default: [ ]
Description
BACKPRESSURE
r.l.(Pa)
BRANCH
sym.
CD
r.
[0.84]
Discharge coefficient.
CF
r.
CONTROLLER
sym.
CRITFLOWMODEL
sym.
[FROZEN]
HENRYFAUSKE
| SUBCRITICAL
DIAMETER
r. (m)
LABEL
str.
[Integer
increment]
OPENING
r.l.
PHASE
sym.
GAS | LIQUID |
TWO |
THREE
PIPE
sym.
POSITION
sym.
SECTIONBOUNDARY
i.
STROKETIME
r.(s)
TABLE
sym.
Page 342
Key
TIME
Required keys:
Type
Unit: ( )
Parameter set
Default: [ ]
r.l.(s)
Description
Time points for valve opening table and
backpressure values.
LABEL
=1
=1
=1
POSITION
= POSTION-1
or
end
If the choke model is used, then
CD
DIAMETER
= [0.84]
= 0.5 [m]
end if
end if
If valve opening is regulated by a controller, then
CONTROLLER
= C-101
endif
If valve is used by a separator (singletrain)
TIME
BACKPRESSURE
STROKETIME
endif
CRITFLOWMODEL
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
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:
Parameter set
Default: [ ]
CONTROLLERLABEL
str.
DISCRETIZATION
Sym.l.
[OFF] | ON
ELECTRICHEAT
Sym.
[OFF] | ON
INNERDIAMETER
r.(m)
LABEL
str.
MATERIAL
Sym.l.
MAXNOLAYERS
i.l.
MAXRATIO
r.l.
[2]
POWER
r.l. (W/m)
Key
Description
Page 345
Type
Unit: ( )
Parameter set
Default: [ ]
POWERCONTROL
Sym.
[OFF] | ON
POWERMAX
r. (W/m)
THICKNESS
r.l. (m)
TIME
r.l. (s.)
[0.0]
WALLAYER
i.
Key
Required keys:
Description
=2
= ON, then
= C-POW-1
= 1500
= ( 0, 14400, 14800, 1.e6)
= (200, 200, 400, 400)
= 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
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:
Page 348
Keyword:
WATEROPTIONS
Dependencies:
OPTIONS
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
rel =100
r.
[0.5]
PHI100
r.
[0.765]
PHIREL
r.
[0.765]
VELOCITYDIFFERENCE
r.(m/s)
[0]
VISCMOD
r.l.
VISCREL
r.
[100]
Key
Page 349
Type
Unit()
Parameter set
Default: [ ]
Description
WATERCUT
r.l.
WATERFLASH
sym.
[ON] | OFF
WATERSLIP
sym.
[ON] | OFF |
CONSTANT
ON:
Required keys:
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
Page 350
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
Page 351
Type
Unit: ( )
Parameter set
Default: [ ]
Description
sym.
[CONSTANT]|
AGEING
AGEINGTIME
r.l.(d)
[7 d]
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
CONDUCTIVITY
r.l.(W/mK)
[0.242]
DIFFCOEFFMULT
r.l.
[1.0]
DISSOLPRESS
r.l.(Pa)
[All pressures]
Page 352
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
DISSOLTDIFF
r.l.(C)
[0.0]
DISSOLRATE
r.l.(kg/m2s) [1.0e+12]
DISSOLUTION
sym.
[OFF] | ON
HARDPOROSITY
r.l.(-)
[0.2]
Branchwise input
INITPOROSITY
r.l. (-)
[0.8]
INSTPOROSITYOPT
sym. l.
[AUTOMATIC] |
MANUAL
Key
Page 353
Type
Unit: ( )
Parameter set
Default: [ ]
Description
MAXPOROSITY
r.l. (-)
[0.8]
MINPOROSITY
r.l. (-)
[0.2]
MAXROUGHNESS
r.l.(m)
[1.0E6]
MODEL
sym.
[RRR]|
Wax deposition model*
MATZAIN |
HEATANALOGY
SHEARMULTC2
r.l.
[1.0]
SHEARMULTC3
r.l.
[1.0]
VISCOPTION
sym.
[CALSEP] |
TABULAR
VISMULTIPLIER
r.l.
[(1, 1)]
VISCMULTD
r.l.
[1.0]
Page 354
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
VISCMULTE
r.l.
[1.0]
VISCMULTF
r.l.
[1.0]
WAXPOROSITY
r.l.(-)
[0.6]
WAXROUGHNESS
r.l.(-)
[0.0]
WAXTABLE
sym.l.
WAXVOLFRACTION
*
**
***
****
r.l.(-)
[(0, 1)]
= (BRANCH-1, BRANCH-2)
Page 355
end if
if AGEINGOPT = AGEING
AGEINGTIME
INITPOROSITY
HARDPOROSITY
end if
= [(7, 7)] d
= [(0.8, 0.8)]
= [(0.2, 0.2)]
! 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
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.)
!
.
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:
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.
Page 358
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)
BPPRESSURE
r.l.(Pa)
BPROD
r. l.
BRANCH
sym.
CINJ
r. l.
CPROD
r. l.
EXPONENTNw)
r.(-)
[1.0]
FEEDMASSFRACTION
r.l. (-)
FEEDMOLEFRACTION
r.l. (-)
Key
Page 359
Type
Unit: ( )
Parameter set
Default: [ ]
FEEDNAME
sym.l.
FEEDVOLFRACTION
r.l. (-)
FRACPRw)
r.l. (Pa)
[INJTHRESHOLD]
GASDIS
r. (m)
[0.0]
GASFRACTION
r.l. (-)
[-1]
GASINJw)
r.l.
GASPLIMIT
r. (Pa)
GFRTC
r. (s)
GORSTw)
r.
(Sm3/Sm3)
HOLESw)
r. (m)
r.l. (m)
INJECTIVITY
w)
r.l.
Fracture pressure
(Sm3/s/Pa)
HPAYw)
Description
Injectivity
LINEAR | QUADRATIC |
TABULAR |
FORCHHEIMER |
SINGLEFORCHHEIMER|
VOGELS |
BACKPRESSURE |
NORMALIZEDBACKPR |
UNDERSATURATED
(Sm3/s/Pa)
INJOPTION
sym.
Page 360
Key
Type
Unit: ( )
Parameter set
Default: [ ]
INJPOSTFRACFACTOR
r.
[1]
INJPREFRACFACTOR
r.
[1]
INJTABLE
sym.
INJTHRESHOLD w)
r.l. (Pa)
[FRACPR]
see Note above
table
sym.
[YES] | NO
KPERM
r.l. (mD)
Effective permeability
LABEL
str.
[Numerical
increment]
Well label.
LOCATION
sym.
BOTTOM |
[MIDDLE]
OFRTC
r. (s)
OILDIS
r. (m)
OILINJw)
r.l.
OILPLIMIT
r. (Pa)
[Res. pressure]
PHASE w)
sym
GAS | [OIL] |
WATER | LIQUID
w)
w)
ISOTHERMAL
w)
(Sm3/s/Pa)
Description
Key
Page 361
Type
Unit: ( )
Parameter set
Default: [ ]
PIPE
sym.
POSITION
sym.
PRODI w)
r.l.
(Sm3/s/Pa)
Description
(Sm3/d/bar).
PRODOPTION
sym.
LINEAR | QUADRATIC |
TABULAR |
FORCHHEIMER |
SINGLEFORCHHEIMER|
VOGELS |
BACKPRESSURE |
NORMALIZEDBACKPR |
UNDERSATURATED
PRODPOSTFRACFACTOR
r.
[1]
PRODPREFRACFACTOR
r.
[1]
PRODTABLE
sym.
QMAXw)
r.l.
(Sm3/s)
RESEXTw)
r. (m)
Reservoir extension.
RESPRESSURE
r.l. (Pa)
Reservoir pressure.
RESTEMPERATURE
r.l. (C)
Reservoir temperature.
ROGST
r.
(kg/Sm3)
Gas
density
at
standard
conditions. By default value from
PVT table is used.
ROLSTw)
r.
(kg/Sm3)
SECTION
i.
SKINDw)
r.(1/Sm3/s)
Turbulent
non-darcy
skin.
Normally given in (1/SCF/d).
SKINSw)
r.
TIME
r.l.(s)
[0.0]
w)
w)
w)
Page 362
Key
Type
Unit: ( )
Parameter set
Default: [ ]
Description
TOTALWATERFRACTION
r.l.(-)
[0.0]
VISGRESw)
r.(Ns/m2)
VISLRESw)
r.(Ns/m2)
WATDIS
r. (m)
WATERCUT
r. (-)
[0.0]
WATERFRACTION
r.l.(-)
[0.0]
WATINJw)
r.l.
WATPLIMIT
r. (Pa)
(Sm3/s/Pa)
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)
r.
[1]
r. (m)
Section length
r. (m)
0.0
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
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
Page 365
Page 366
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
Page 367
Page 368
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
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
.
.
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
!
!***************************************************************************
.
.
.
Page 370
CHAPTER 4
FLUID PROPERTIES
AND OTHER DATA FILES
4.
Page 371
Page 372
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.
2.
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]
FLUIDF
(-)
[LC]
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)
J = 1, NTABT
Bubble point pressures, J = 1, NTABT
Dew point pressures, J = 1, NTABT
Variables : Name
Page 373
Unit
Definition
TABTEX(L) (-)
NB!
Text
string
to
identify
different properties.
the
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
SIGWOT(J,I)
SGTB(J,I)
SOTB(J,I)
SWTB(J,I)
Fig. 4.1
(N/m)
(J/kgC)
(J/kgC)
(J/kgC)
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.
Page 375
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)
. . . . DRGPTB(NTABT,1)
. . . . DRGPTB(NTABT,NTABP)
. . . . DROPTB(NTABT,1)
. . . . DROPTB(NTABT,NTABP)
Page 376
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)
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
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
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
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
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:
( ... )
4.1.2.2
Page 381
Table Structure
Type
Unit: ( )
LABEL
str.
PHASE
sym
EOS1
str.
MESHTYPE
sym.
Parameter
set Default: [
]
Description
[STANDARD] |
FREEPRES |
FREETEMP
COMPONENTS1
str.l.
MOLES1
r.l.
Page 382
Key
Type
Unit: ( )
Parameter
set Default: [
]
Description
DENSITY1
r.l. (kg/m3)
MOLWEIGHT1
r.l. (g/mol)
STDPRESSURE1
r. (Pa)
[ 1 ATM]
STDTEMPERATURE1
r. (C)
[15.5 C]
GOR1
r. (Sm3/Sm3)
GLR1
r. (Sm3/Sm3)
WC1,2
r. (-)
STDGASDENSITY1
r. (kg/m3)
STDOILDENSITY1
r. (kg/m3)
STDWATDENSITY1,2
r. (kg/m3)
TOTWATERFRACTION2
r. (-)
DEWPRESSURES
r.l. (Pa)
DEWTEMPERATURES
r.l. (C)
BUBBLEPRESSURES
r.l. (Pa)
Key
BUBBLETEMPERATURES
Type
Unit: ( )
Page 383
Parameter
set Default: [
]
r.l. (C)
Description
CRITICALPRESSURE
r. (Pa)
CRITICALTEMPERATURE
r. (C)
NOPRES
i.l.
TEMPERATURE
r.l. (C)
NOTEMP
i.l.
PRESSURE
r.l. (pa)
COLUMNS
sym.l.
TM (C)
Temperature
PT (Pa)
Pressure
RS (-)
RSW (-)
ROG (kg/m3)
Gas density
DROGDP
(s2/m2)
DROGDT
(kg/m3C)
ROHL (kg/m3)
Oil density
Page 384
Key
POINT
Type
Unit: ( )
r.l.
Parameter
set Default: [
]
Description
DROHLDP
(s2/m2)
DROHLDT
(kg/m3C)
ROWT (kg/m3)
Water density.2
DROWTDP
(s2/m2)
DROWTDT
(kg/m3C)
TCG (W/mC)
TCHL (W/mC)
TCWT (W/mC)
CPG (J/kgC)
CPHL (J/kgC)
CPWT (J/kgC)
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)
SIGGWT (N/m)
SIGHLWT
(N/m)
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.
4.1.2.4
Page 385
Examples
)
PVTTABLE POINT = (5,1,..)
)
PVTTABLE POINT = (5,5,)
Page 386
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,..)
Page 387
!
!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
)
PVTTABLE POINT = (5,1,..)
)
PVTTABLE POINT = (5,5,)
Page 389
: MASSRE = G * 0,5 /
Reduced RPM
G
GSURGE
RPM
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
COTEXT(3,I)
MREDSU(K,I)
(kg/s)
. 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.
Page 391
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.
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
!*************************************************************************************************
!
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)
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
!
Qb = f
( N , P,
, PI , I )
- Pa;
- Pa;
- m3 / s;
- m2 / s;
- (-);
- rpm.
Page 394
!*************************************************************************
!
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.
Page 395
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
5.
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.
Page 398
Page 399
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
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.
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
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.
Page 401
2.
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
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
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.
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.
18.
GAS DENSITY
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
Type II:
1.
Page 405
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.
4.
5.
6.
7.
Page 406
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.
3.
4.
5.
6.
7.
Calsep: PVTSIM Method documentation: Modelling of wax formation -> Viscosity of oilwax suspensions.
8.
9.
10.
Chapter 6: References
Page 409
11.
A. H. P. Skelland:
Non-Newtonian Flow and Heat Transfer.
John Wiley & Sons, New York, 1967
12.
13.
Singh,Venkatesan,Fogler, Nagarajan:
Formation and Aging of Incipient Thin Film Wax-Oil Gels.
AIChE Journal, Vol. 46, No. 5.
14.
15.
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.
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.
21.
22.
Page 410
Chapter 6: References
23.
White, F.M.:
Fluid Mechanics
2nd ed., ISBN 0-07-066525-7
24.
25.
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.
30.
Glaso, Oistein.:
Generalized Pressure-Volume-Temperature Correlations
Journal of Petroleum Technology, pp. 785-795, May 1980
Chapter 6: References
6.2
Page 411
6.3
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.
Page 417
APPENDIX A
Complete list of Output Variables
GENERAL INFORMATION
418
2.
BOUNDARY VARIABLES
419
3.
VOLUME VARIABLES
423
4.
426
5.
BRANCH VARIABLES
434
6.
GLOBAL VARIABLES
436
7.
437
8.
442
9.
442
10.
442
11.
443
12.
444
13.
DRILLING VARIABLES
445
14.
NODE VARIABLES
446
15.
REMARKS
447
Page 418
1.
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:
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.
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
Page 420
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
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
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
Page 424
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
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
Page 426
4.
Name
Units
Definition
O/TP
CHECK
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
Name
Units
Definition
TP
DHRCOO
TP
TP
HCOMP
HREC
W
W
TP
TP
TP
RPM
GCOMP
GREC
r/min
kg/s
kg/s
Page 427
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
Name
Units
Definition
O/TP
TP
CONTR
PMCAS
Controller signal
Averaged primary controller variable (only for extended
cascade controller)
Page 428
Use as
Name
Units
Definition
TP
SETPOINT
TP
MODE
Name
Units
Definition
TP
DHCOOL
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
TP
TP/C
GLVTEMP
GLWTLK
C
kg/s
TP
TP
TP
GOLKEX
GTLEAK
GWLKEX
kg/s
kg/s
kg/s
TP
HLEAK
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
*: 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
Page 430
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
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
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
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
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
Sm3/s
Sm3/s
Sm3/s
Sm3/s
Page 433
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
Name
Units
Definition
TP
BITNDP
Pa
Page 434
5.
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
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.
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.
7.
Page 437
Page 438
O /TP
TP
Name
Units
Definition
NSLUG
SLUPRO
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
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
Page 440
Use as
Name
Units
Definition
TP
USF
m/s
TP
UST
m/s
TP
ZFSL
TP
ZTSL
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
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
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
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.
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.
Name
Units
Definition
O/TP/PP
O/TP/PP
O/TP/PP(11)
QSOIL
QIN
TSOIL
W/m
W/m
C
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
Page 443
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
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
Page 444
Branch variables:
Name
Units
Definition
TP
TP
TP
TP
TP
MLTWLBR
MLTWSBR
MTWXBR
WAXMASBR
WAXVOLBR
kg
kg
kg
kg
m3
Pig variables:
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
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
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
-
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:
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
Volume variables:
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
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
Boundary variables:
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
Name
Units
Definition
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)
(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)
(8)
For trend plotting a slug identification number is specified instead of the usual
section number (SLUG TRACKING option only).
(9)
(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
(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
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
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
1000
0.55556
1.0000
0.55556
Page 450
Quantity
Unit name
KG/M-N
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
Quantity
Unit name
SM3/SM3
M3/M3
SCF/STB
SET1
SET2
Page 451
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
MASS/AREA
MASS DENSITY
Page 452
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
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
NS2/M2
RESVOLUME/STDVOLUME
RM3/SM3
SPECIFIC CAPACITY
M3/R
FT3/R
2.8317E-02
Quantity
Unit name
SPECIFIC HEAT
J/KG-C
J/KG-K
BTU/LBM-R
BTU/LBM-F
Page 453
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
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
www.scandpowerpt.com
A product by