OLGA 63 Manual
OLGA 63 Manual
V E R S I O N 6 .3
be dynamic ®
OLGA®, OLGA® Online, DRILLBENCH®, MEPO®, IPOS®, edpm®, be dynamic®
and Academy of Petroleum Dynamics® are registered trademarks of SPT Group.
Table of Contents
Chapter 1 Introduction .............................................................................................................................. 1
Background ............................................................................................................................................ 2
OLGA 6 .................................................................................................................................................. 2
OLGA as a strategic tool ........................................................................................................................ 3
OLGA Model Basics .............................................................................................................................. 3
How to use in general ............................................................................................................................ 4
Threaded Execution ............................................................................................................................... 9
Applications.......................................................................................................................................... 10
i
OLGA 6.3 USER MANUAL Table of Contents
ii
OLGA 6.3 USER MANUAL Table of Contents
SINGLEOPTIONS.............................................................................................................................. 330
SLUGTRACKING............................................................................................................................... 331
TABLE ................................................................................................................................................ 333
TIMESERIES ..................................................................................................................................... 334
TOOLJOINT ....................................................................................................................................... 336
TRANSMITTER ................................................................................................................................. 337
TRACERFEED................................................................................................................................... 338
TREND ............................................................................................................................................... 339
TRENDDATA ..................................................................................................................................... 340
TRENDDATA for BUNDLE ................................................................................................................ 341
TUNING ............................................................................................................................................. 342
VALVE ............................................................................................................................................... 344
ZONE ................................................................................................................................................. 346
WALL ................................................................................................................................................. 348
WATEROPTIONS .............................................................................................................................. 350
WAXDEPOSITION............................................................................................................................. 353
WELL ................................................................................................................................................. 357
iii
OLGA 6.3 USER MANUAL Table of Contents
iv
OLGA 6.3 USER MANUAL
Chapter 1
Introduction
1
Background OLGA 6.3 USER MANUAL
Background
OLGA is the industry standard tool for transient simulation of multiphase petroleum production. The
purpose of this manual is to assist the user in the preparation of the input data for an OLGA simulation.
The sample cases presented with the installation of OLGA are intended to illustrate important program
options and typical simulation output.
OLGA comes in a basic version with a number of optional modules; FEMTherm, Multiphase Pumps,
Corrosion, Wells, Slug Tracking, Wax Deposition, Inhibitor Tracking, Compositional Tracking, Single
Component, Tuning, Hydrate Kinetics and Complex Fluid.
In addition there are a number of additional programs like the OLGA GUI and the FEMThermViewer for
preparation of input data and visualisation of results.
These optional modules and additional programs are available to the user according to the user's
licensing agreement with SPT Group.
OLGA 6
OLGA 6 is the latest version in a continuous development which was started by the Institute for Energy
Research (IFE) in 1980. The oil industry started using OLGA in 1984 when Statoil had supported its
development for 3 years. Data from the large scale flow loop at SINTEF, and later from the medium
scale loop at IFE, were essential for the development of the multiphase flow correlations and also for
the validation of OLGA. Oil companies have since then supported the development and provided field
data to help manage uncertainty, predominantly within the OLGA Verification and Improvement Project
(OVIP). OLGA has been commercially available since the SPT Group started marketing it in 1990.
OLGA is used for networks of wells, flowlines and pipelines and process equipment, covering the
production system from bottom hole into the production system. OLGA comes with a steady state pre-
processor included which is intended for calculating initial values to the transient simulations, but which
also is useful for traditional steady state parameter variations. However, the transient capabilities of
OLGA dramatically increase the range of applicability compared with steady state simulators.
2
OLGA 6.3 USER MANUAL
OLGA is applied for engineering throughout field life from conceptual studies to support of operations.
However the application has been extended to be an integral part of operator training simulators, used
for making operating procedures, training of operators and check out of control systems. Further, OLGA
is frequently embedded in on-line systems for monitoring of pipeline conditions and forecasting and
planning of operations.
OLGA OPC Server enables integration to other simulators and interfaces such as dynamic process
simulators (HYSYS, DYNSIM, UNISIM and INDISS). This allows for making integrated engineering
simulators and operator training simulators studying the process from bottom hole all the way through
the process facility in a single high fidelity model.
Note that the OLGA flow correlation has been implemented in all major steady state simulators
providing consistent results moving between different simulators.
These fluids may be coupled through interfacial mass transfer. Three momentum equations are used;
one for each of the continuous liquid phases (oil/condensate and water) and one for the combination of
gas with liquid droplets. The velocity of any liquid droplets entrained in the gas phase is given by a slip
relation. One mixture energy equation is applied; assuming that all phases are at the same temperature.
This yields seven conservation equations and one equation of state to be solved: the seven
3
How to use in general OLGA 6.3 USER MANUAL
conservation equations are three for mass, three for momentum, and one for energy, while the equation
of state is for pressure.
Two basic flow regime classes are recognised; distributed and separated flow. The former comprises
bubble and slug flow [2] , the latter stratified and annular mist flow.
stratified flow
SEPARATED Stratified
(Annular
Slug
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, fluid properties, boundary and initial conditions are required.
The equations are linearised and a sequential solution scheme is applied. The pressure and
temperature calculations are de-coupled i.e. current pressure is based on previous temperature.
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).
The numerical error is corrected for over a period of time. The error manifests as an error in local fluid
volume (as compared to the relevant pipe volume).
[1] Note that the OLGA model has only been verified and tuned for fluids where oil is lighter than water.
[2] In standard OLGA a slug unit model is applied which calculates average liquid hold-up and pressure,
but which does not give any details about individual slugs. To follow individual slugs through the system
the slug tracking module must be applied.
4
OLGA 6.3 USER MANUAL
parameters such as initial time-step and maximum and minimum time-step values. The latter overrules
the automatic control. There is also an option for using the second-derivative of pressure as a time step
controlling criterion. Some functions in OLGA, e.g. slug-tracking, take control of the time-stepping in
order to ensure a successful simulation.
The spatial integration is performed on a user-defined grid. There are tools available to facilitate the
gridding. There are no formal limitations on the numerical section lengths, but it is considered good
practice to keep all neighbour section length ratios between 0.5 and 2:
Additionally it is recommended that each pipe should have at least two sections.
Due to the numerical solution scheme, OLGA is particularly well suited for simulating rather slow mass
flow transients. This is important for the simulation of long transport lines and thermal calculations,
where typical simulation times in the range of hours to several days, and sometimes years, will require
long time steps, to obtain efficient use of the computer.
OLGA is also being used successfully for fast transients such as water hammer and pressure surges in
general. Certain precautions w.r.t. spatial grid and time-stepping may be needed in order to keep the
numerical error within acceptable limits.
Critical flow calculations are performed in the OLGA valve model, only. A valve with cross section equal
to the pipe should then be positioned on e.g. a pipe outlet if choked flow is expected.
The de-coupling of temperature from pressure would normally give a pressure wave propagation
velocity in gas which would be about 15% too low. However, a quasi implicit correction of temperature
reduces this error considerably.
Critical flow calculations are performed in the OLGA valve model, only. A valve with cross section equal
to the pipe should then be positioned on e.g. a pipe outlet if choked flow is expected.
Temperature
OLGA is particularly well suited for sophisticated thermal simulations. Since OLGA is one-dimensional
(calculates along the pipe axis) any 2 and 3-dimensional effects must be modelled explicitly. The basic
OLGA thermal model calculates the inner wall heat transfer coefficient. The built-in correlations are valid
for natural- and forced convection and also for the transition between them. Flow pattern is accounted
for. The user may specify pipe walls with material properties, including emissivity to account for
radiation, and must give the ambient properties, i.e. temperature and heat transfer coefficient. Based on
this the fluid temperature is calculated.
Special features like Annulus, Solid- and Fluid bundles make it possible to simulate very complex
structures of pipe-in-pipe and parallel pipes within structures of various solid materials. Taking into
account that temperature is calculated along the pipes
one obtains a combination of two-dimensional convective
heat transfer within 3-dimensional heat conducting
structures.
5
How to use in general OLGA 6.3 USER MANUAL
The requirement for initial conditions is a fundamental difference between a transient and a steady state
model, e.g. the results of a steady state calculation may serve as the initial condition (at t=0 ) for a
transient simulation.
With OLGA the user decides, and later specifies in the input, whether the simulation is to start from a
user defined condition (for instance a specific shut-in condition), or from a steady state multiphase
flowing situation calculated by the program. The steady state pre-processor in OLGA can be used to
provide good initial values for most production situations.
In addition, the user may specify the initial condition in detail, for example for a shut-in system, by
defining the initial values for pressures, temperatures, mass flow and gas fractions. Tools for
interpolation are available, for filling in the initial values in all numerical sections of the system.
Finally, the restart capability may be used to start a simulation from conditions saved during a previous
simulation.
Boundary Conditions
The boundary conditions define the interface between the simulated system and its surroundings and
they are crucial to the relevance to any type of simulations. For a network of pipelines and wells there
are several options available, but basically flow rate or pressure, in addition to temperature and gas-
liquid ratio must be specified at each flow path inlet and outlet boundary (at least one pressure must be
given).
The boundary conditions, e.g. a pressure, can be given as time series to model a certain transient
situation.
Moreover, the ambient temperature along the flow paths and ambient heat transfer coefficient (film heat
transfer resistance) must be specified and OLGA provides a number of options for this, including
water and air velocity profiles and seasonal variations of temperature.
Inflow from reservoirs to well-bores defines the most important boundary in a petroleum production
network. In addition to various well-inflow correlations and options OLGA comes with an implicit
coupling facility to the OLGA Rocx module which is a complete 3-D, 3-phase reservoir simulator.
Separators, pumps, compressors and valves, all with controllers, can be modelled to improve the
relevance of the outlet boundaries.
Fluid properties
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 part of the network. The user may specify different fluid
property tables for each flow path, but has to ensure that a realistic fluid composition has been used to
make a table for a flow path with a fluid mixture coming from two or more pipeline branches merging
upstream.
6
OLGA 6.3 USER MANUAL
Fluid 2
Fluid 3
Fluid 1
It is also possible to perform simulations using Compositional Tracking, where the basic information on
the chemical components is provided in a separate text file and then OLGA calculates the fluid
properties internally with PVT routines provided by Calsep A/S. This means that the total composition
may vary both in time and space, and that no special considerations are needed for the downstream
system.
Special models are also available for tracking hydrate inhibitors like MEG and methanol.
OLGA is generally able to handle multi component fluid systems, but there are some restrictions and
assumptions in the use of fluids. For a more detailed description, please see Limitations in the use of
fluid properties.
Rheology
The standard OLGA flow models assume a Newtonian rheology (viscosities are well defined fluid
characteristics).
Dispersions and non-Newtonian behavior are quite common in petroleum production and OLGA
provides several semi-empirical models to account for more complex rheologies. In some cases the
model takes care of the rheology with a minimum of user interference (e.g. for oil-water dispersions and
also for waxy oils). For other systems the user needs to specify the various parameters for such fluids to
describe e.g. Bingham or power law non-Newtonian behavior.
7
How to use in general OLGA 6.3 USER MANUAL
Network
In OLGA the network comprises flow paths coupled with nodes which have a volume. General networks
with closed loops can then be modelled, see below. The flow paths have a user defined direction but the
flow is invariant to direction as such and any fluid phase may flow co-currently or counter-currently with
respect to the pre-defined direction at any time and position.
Pipe-bends are not accounted for as such (except for differences in static head). The user may apply
pressure loss coefficients at boundaries between numerical sections.
Equipment is positioned on the flow path – usually on a pipe-boundary. However, the separator in
OLGA is a network component similar to a node.
Controllers are specified as integral parts of the simulation model and they have their own
network formalism.
8
OLGA 6.3 USER MANUAL
Threaded Execution
Pipe sections belonging to the same branch may be updated in parallel. Suppose a branch has 100
sections, and that two threads are available to the OLGA engine: Section 1 and section 51 will be
updated simultaneously, then section 2 and section 52 are updated, and so on. Depending on the
computer hardware, this method can drastically reduce the time OLGA takes to advance one time-step.
Normally, you do not need to change the default settings of neither OLGA nor your operating system.
Parallel updating of segments is usually activated in the OLGA engine if your PC supports it.
A situation where you might want to reduce the number of threads, arise if you execute parametric
studies. Given that your license permits, it would be preferable to spend the CPU's cores on
simultaneous simulations, rather than on speeding up each simulation in the study. Another situation
could be when you don't want OLGA to consume all your computing power, e.g., if you want to write a
report while OLGA is working.
Most large cases will benefit from the parallelisation. Still, please note that some of your PC's cache
memory will be used for forking and joining the threads, and doing the necessary book-keeping. As a
consequence, special cases will run faster with a single engine thread.
Parallel speed-up
The parallelisation encompasses heat calculations in section walls, updating fluid properties and
flashing, and, most importantly, calls to the flow model which decides friction factors, liquid holdup and
the flow regime. If the flow model calculations dominate the overall simulation, the utilization of the
CPUs is most efficient.
In the Task Manager's list of processes it is possible to view the number of threads for each process.
With 1 engine thread, it uses a total of 5 threads in batch mode, and 8 threads while running under
control of the GUI. With 2 engine threads allowed, the task manager would display 6 threads for a batch
run and 9 threads for a GUI run; with 4 engine threads the total number of threads would be 8 and 11,
respectively.
9
Applications OLGA 6.3 USER MANUAL
Applications
When the resources become more scarce and complicated to get to careful design and optimisation of
the entire production system is vital for investments and revenues. The dimensions and layout of wells
and pipelines must be optimised for variable operational windows defined by changing reservoir
properties and limitations given by environment and processing facilities.
OLGA is being used for design and engineering, mapping of operational limits and to establish
operational procedures. OLGA is also used for safety analysis to assess the consequences of
equipment malfunctions and operational failures.
REFERENCES contain a list of papers describing the OLGA model and its applications.
OLGA should be used in the various design phases i.e. Conceptual, FEED and detailed design and the
following issues should be addressed:
• Design
o Sizes of tubing and pipes
o Insulation and coverage
o Inhibitors for hydrate / wax
o Liquid inventory management / pigging
o Slug mitigation
o Processing capacity (Integrated simulation)
Normally the engineering challenge becomes more severe when accounting for tail-end production with
reduced pressure, increasing water-cut and gas-oil ratio. This increase the slugging potential while fluid
temperature reduces which in turn increase the need for inhibitors and the operational window is
generally reduced.
Pressure
Operational
Water Cut Slugging window
10
OLGA 6.3 USER MANUAL
Operation
OLGA should be used to establish
o Operational procedures and limitations
o Emergency procedures
o Contingency plans
Some typical operational events suitable for OLGA simulations 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 blow-down
One of the primary strategies for hydrate prevention in case of a pipeline shut-down is to blow down.
The primary aim to reduce the pipeline pressure below the pressure where hydrates can form. The main
effects that can be studied are the liquid and gas rates during the blow-down, the time required and the
final pressure.
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 slug tracking module is very useful in this regard.
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 is 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 flow lines.
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 sub-critical chokes with fixed or
controlled openings, check-valves, compressors with speed and anti- surge controllers, separators, heat
exchangers, pumps and mass sources and sinks.
11
OLGA 6.3 USER MANUAL
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 flowline.
Hydrate control
Hydrate prevention and control are important for flow assurance. Passive and active control strategies
can be investigated: Passive control is mainly achieved by proper insulation while there are several
options for active control which can be simulated with OLGA: Bundles, electrical heating, inhibition by
additives like MEG.
Wax deposition
In many production systems wax would tend to deposit on the pipe wall during production. The wax
deposition depends on the fluid composition and temperature. OLGA can model wax deposition as
function of time and location along the pipeline.
Tuning
Even if the OLGA models are sophisticated models made for conceptual studies and engineering will be
based on input and assumptions which are not 100% relevant for operations. Therefore OLGA is
equipped with a tuning module which can be used on-line and off-line to modify input parameters and
also critical model parameters to match field data.
Wells
- Flow stability e.g. permanent or temporary slugging, rate changes
- Artificial lift for production optimization
- Shut-in/start-up - water cut limit for natural flow
- Cross flow between layers under static conditions
- WAG injection
- Horizontal wells / Smart wells
- Well Clean-up and Kick-off
- Well Testing
- Well control and Work-over Solutions
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.
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.
12
OLGA 6.3 USER MANUAL
Chapter 2
13
Simulation description OLGA 6.3 USER MANUAL
The OLGA simulator uses text files for describing the simulation model:
The .key format has been introduced as the new input file format for the OLGA engine. The OLGA GUI
will automatically generate files in this format (with the extension .genkey). The .key format reflects the
network model described in the simulation model and should be the preferred format.
In addition to the simulation file, OLGA handles input in several other formats as described in Data files.
Simulation description
The input keywords are organised in Logical sections, with Case level at the top, followed by the
various network components and then the connections at the end.
Case level
Case level is defined as the global keywords specified outside of the network components and
connections. Case level keywords can be found in the CaseDefinition, Library, FA-models and Output
sections.
Network components
The network components are the major building blocks in the simulation network.
The following network component keywords can be specified (see links for further details on each
component):
• FlowComponent;FLOWPATH, NODE
14
OLGA 6.3 USER MANUAL
• ProcessEquipment;PHASESPLITNODE, SEPARATOR
• Controller;CONTROLLER
• ThermalComponent;ANNULUS, FLUIDBUNDLE, SOLIDBUNDLE
Flowpath
Piping
The flowpath can be divided into several pipes, which can have an inclination varying from the other
pipes in the flowpath. Each pipe can again be divided into sections as described above. All sections
defined within the same pipe must have the same diameter and inclination. Each pipe in the system can
also have a pipe wall consisting of layers of different materials.
Boundary&Initialconditions
For the solution of the flow equations, all relevant boundary conditions must be specified for all points in
the system where mass flow into or out of the system. Initial conditions at start up and parameters used
for calculating heat transfer must also be specified.
The following keywords are used for Boundary & Initial conditions:
Process Equipment
In order to obtain a realistic simulation of a pipeline system, it is normally required to include some
process equipment in the simulation. OLGA supports a broad range of different types of process
equipment, as shown below.
It should be noted that the steady state preprocessor ignores the process equipment marked with (*) in
the list.
15
Simulation description OLGA 6.3 USER MANUAL
• CHECKVALVE (*); Defines name, position and allowed flow direction for a check valve.
• COMPRESSOR (*); Defines name, position and operating characteristics of a compressor.
• HEATEXCHANGER; Defines name, position and characteristic data for a heat exchanger.
• LOSS; Defines name, position and values for local pressure loss coefficients.
• LEAK; Defines the position of a leak in the system with leak area and back pressure. The leak
can also be connected to another flowpath to simulate gas lift etc.
• PUMP (*); Defines name, type and characteristic data for a pump.
• TRANSMITTER (*); Defines a transmitter position.
• VALVE; Defines name, position and characteristic data for a choke or a valve.
Output
OLGA provides several output methods for plotting simulation results.
• OUTPUT(DATA); Defines variable names, position and time for printed output.
• PLOT; Defines variable names and time intervals for writing of data to the OLGA viewer file.
• PROFILE(DATA); Defines variable names and time intervals for writing of data to the profile
plot file.
• TREND(DATA); Defines variable names and time intervals for writing of data to the trend plot
file.
Node
Boundary&Initialconditions
• PARAMETERS; A collection keyword for all node keys. This keyword is hidden in the GUI.
Output
OLGA provides several output methods for plotting simulation results.
• OUTPUTDATA; Defines variable names, position and time for printed output.
• TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
16
OLGA 6.3 USER MANUAL
Phasesplitnode
Boundary&Initialconditions
• PARAMETERS; A collection keyword for all phase split node keys. This keyword is hidden in
the GUI.
Output
OLGA provides several output methods for plotting simulation results.
• OUTPUTDATA; Defines variable names, position and time for printed output.
• TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
Separator
Boundary&Initialconditions
• PARAMETERS; A collection keyword for all separator keys. This keyword is hidden in the GUI.
Output
OLGA provides several output methods for plotting simulation results.
• OUTPUTDATA; Defines variable names, position and time for printed output.
• TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
Controller
Boundary&Initialconditions
• PARAMETERS; A collection keyword for all controller keys. This keyword is hidden in the GUI.
Output
OLGA provides several output methods for plotting simulation results.
• OUTPUTDATA; Defines variable names, position and time for printed output.
• TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
Annalus
Initialconditions
• PARAMETERS; A collection keyword for all annulus keys. This keyword is hidden in the GUI.
17
OLGA 6.3 USER MANUAL
AmbientConditions
• AMBIENTDATA; A collection keyword for specifying the Annulus ambient conditions.
AnnulusComponents
• COMPONENT; A component to place within the annulus definition.
Output
• PROFILEDATA; Defines variable names and time intervals for writing of data to the profile plot
file.
• TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
Fluidbundle
Initialconditions
• PARAMETERS; A collection keyword for all fluid bundle keys. This keyword is hidden in the
GUI.
AmbientConditions
• AMBIENTDATA; A collection keyword for specifying the fluid bundle ambient conditions.
BundleComponents
• COMPONENT; A component to place within the fluid bundle definition.
Output
• PROFILEDATA; Defines variable names and time intervals for writing of data to the profile plot
file.
• TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
Solidbundle
Initialconditions
• PARAMETERS; A collection keyword for all solid bundle keys. This keyword is hidden in the
GUI.
AmbientConditions
• AMBIENTDATA; A collection keyword for specifying the solid bundle ambient conditions.
BundleComponents
• COMPONENT; A component to place within the solid bundle definition.
Output
• PROFILEDATA; Defines variable names and time intervals for writing of data to the profile plot
file.
• TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
Connections
The CONNECTION keyword is used to couple network components, such as a node and a flowpath.
Each flowpath has an inlet and an outlet terminal that can be connected to a node terminal. Boundary
nodes (i.e. CLOSED, MASSFLOW, PRESSURE) has one terminal, while internal nodes has an arbitrary
number of terminals where flowpaths can be connected to.
18
OLGA 6.3 USER MANUAL
Example file
The keyword examples shown above can be combined to an OLGA .key file.
ENDCASE
Simulation model
An OLGA simulation is controlled by defining a set of data groups consisting of a keyword followed by a
list of keys with appropriate values. Each data group can be seen as either a simulation object,
information object, or administration object.
19
Simulation model OLGA 6.3 USER MANUAL
Logical sections
Network model
A simulation model is then created by combining several simulation objects to form a simulation
network, where information objects can be used within the simulation objects and the administration
objects control various parts of the simulation. The simulation objects can again reference both
information and administration objects.
The simulation model can handle a network of diverging and converging flowpaths. Each flow path
consists of a sequence of pipes and each pipe is divided into sections (i.e. control volumes). These
sections correspond to the spatial mesh discretization in the numerical model. The staggered spatial
mesh applies flow variables (e.g. velocity, mass flow, flux) at section boundaries and volume variables
(e.g. pressure, temperature, mass, volume fractions) as average values in the middle of the section.
Each flowpath must start and end at a node, and there are currently three different kinds of nodes
available:
• Terminal; boundary node for specifying boundary conditions
• Internal; for coupling flowpaths (e.g. split or merge)
• Crossover; hybrid node for creating a closed-loop network
The figure below shows a simple simulation network consisting of three flowpaths and four nodes.
20
OLGA 6.3 USER MANUAL
The flowpath is the main component in the simulation network, and can also contain other simulation
objects (e.g. process equipment, not shown in the figure above).
It is also possible to describe the simulation model with a text file. See Input files for further descriptions.
21
OPC Server OLGA 6.3 USER MANUAL
OPC Server
If asked for in the OLGA model, OLGA will run a server for OPC Data Access. OPC Data Access (OPC
DA) is a specification for continuous communication of real-time data from a device to a receiving
process. In the case of the OGLA OPC Server, the device is always the simulation of the current OLGA
model, and the receiver could be a scheduler, a display or a simulator that implements a client for OPC
DA.
With the OPC Server, it is possible to interact with the running model. An OPC DA client connected to the
OLGA OPC Server, may read output from the running simulation, and may also write values to the
simulation. Through OPC, a process simulator or a user interface is allowed to connect to the OLGA
simulation, and manipulate valve openings, well pressures, the setpoint of a PID controller or the
massflow from a source. The OLGA OPC Server also has some special writeable items that serve as
commands. By toggling SaveSnap or Stop, OLGA loads a snap file (i.e., a restart file) or stops,
respectively.
One uses the SERVEROPTIONS keyword to set up the OPC Server. Output is specified with the
SERVERDATA keyword, which is very similar to TRENDDATA, and can be used with both trend and
profile output variables. Input can be configured for certain subkeys in the keywords NODE, SOURCE,
VALVE, WELL, and controllers; these subkeys form a set of parameters for the OLGA model being
simulated.
There are two modes for controlling OLGA's time-stepping: SIMULATOR and EXTERNAL. When the
OLGA OPC Server is in SIMULATOR mode, one sets a speed relative to the computer's clock (say, ten
times faster than real-time), and OLGA slows down its time-stepping process to try and keep this speed.
When in EXTERNAL mode however, OLGA reads a time from the OPC Server, and steps forward until it
reaches that time. The client updates the time on the server, and so the client takes control over the time-
stepping.
OPC DA relies on DCOM security, which can be difficult. A good understanding of DCOM security may be
necessary to set up communication between a server at one computer and a client at another computer.
Since OLGA owns the OPC Server, and removes it when it stops, it is not possible to set specific DCOM
security for the OLGA OPC Server -- one has to rely on the general, default settings. It is usually quite
easy to establish the connection when server and client are run on the same computer, by the same user,
and both server and client are run as administrator.
For further reference see the document OLGA OPC Server Guide, found with the OLGA documentation.
22
OLGA 6.3 USER MANUAL
Chapter 3
OLGA Models
23
2nd Order Scheme OLGA 6.3 USER MANUAL
Mass equations can be solved with two different schemes in OLGA. The default is a 1st order scheme
(upwind implicit) and the alternative is a 2nd order TVD scheme.
The 1st order scheme is more robust and should be the preferred choice in most situations.
The 2nd order scheme has less numerical diffusion and therefore keeps holdup fronts better.
When to use
The 2nd order scheme for mass equations is to be used when it is important to track relatively sharp
holdup fronts. Examples are:
1. Oil-Water fronts
2. Inhibitor fronts
3. Gas-Oil fronts
The 2nd order method used for the mass equations is a combination of different numerical schemes in
order to get a stable method which satisfies the TVD (Total Variation Diminishing) condition. For smooth
gradients the method is 2nd order while for non-smooth flow (shocks) the method reduces to 1st order
upstream. The smoothness of the data is measured on the control volume boundary like this
Where m is the mass and θ is the measure of smoothness. If θ < 0 the method reduces to first order
upstream and if θ > 0 the method uses 2nd order methods. In the 2nd order region the numerical
scheme is determined based on a 2nd order limiter. In OLGA the limiter known as the van Leer limiter is
chosen.
Simulation differences between the 1st order and 2nd order schemes
24
OLGA 6.3 USER MANUAL
Figure 2 Profile plot of an oil–water front showing the differences between the two schemes. The
number of sections in the pipeline are 50, 100 and 500, respectively.
Figure 3 Profile plots of a gas–oil front. The number of sections in the pipeline are 50, 100, 200, 500
and 1000, respectively.
Figure 4 Trend plot showing the hold-up at the top of a riser. The number of sections in the riser are
15, 30 and 60, respectively.
25
2nd Order Scheme OLGA 6.3 USER MANUAL
26
OLGA 6.3 USER MANUAL
Figure 5 The figures show profile plots of an oil–water front. Inside the area filled with water, there are
three areas containing MEG.
Limitations
The 1st order scheme diffusive behavior reduces unphysical numerical instabilities in the simulation if
they occur. For simulations where instabilities are observed it is not recommended to use the 2nd order
scheme. For such problems the 2nd order will only make matters worse because it enhances the
numerical oscillations.
Since the 2nd order method is only implemented for the mass transport equations the final result from
the equation set will not converge to 2nd order accuracy. The improvement in the result will also differ
depending on which physical phenomena which are of interest. For example simulations where
pressure waves or temperature waves are of interest the improvement from the 2nd order method will
be small. For simulations where propagation of holdup fronts is of interest the improvement can be
significant.
The 2nd order method only works if the CFL criterion is fulfilled. This means that it is not possible to
violate CFL criterion by increasing MINDT when the 2nd order options is set.
How to use
The 2nd order scheme for the mass equations is activated by setting MASSEQSCHEME=2NDORDER
in the OPTIONS keyword.
27
Blackoil OLGA 6.3 USER MANUAL
Blackoil
Blackoil modelling allows one to make a compositional model with a minimum of input. Compared to
compositional tracking, the blackoil module is faster in terms of CPU cycles, and it treats shut-in cases
more accurately than does the standard PVT table option.
The module makes it possible to perform calculations with a minimum of information about the
production fluids. Details about the fluid composition are not required for a blackoil simulation; specific
gravity of gas and oil and the gas–oil ratio (GOR) at standard conditions are the only necessary data. If
water is present, also the specific gravity of water must be input. Note that no fluid table is needed.
A blackoil feed can consist of one gas, one oil and one water component. The gas component consists
of hydrocarbon gas, and optionally H2S, CO2 and N2 components. It is possible to specify more than one
blackoil feed, and for such a mixture each component of each feed is tracked, cf. the example network
in Figure A below. Inside the OLGA engine, the blackoil module uses the framework of the
compositional tracking module to track the components through the pipelines.
Water properties are calculated by the standard OLGA routines. The physical properties of gas and oil
are calculated from correlations belonging to a specific blackoil model – the user has a choice between
four different blackoil correlations. To find the properties at a position in a pipe, the correlations use the
pressure and the temperature, as well as the specific gravities of gas, oil and water, and the GOR, at
that position. In the case of multiple feeds, the specific gravities and the GOR are mixture values. The
mixture is the average taken over the constituting blackoils weighted by volume at standard conditions.
Feed2
Feed1 Feed3
Figure A: Network case with several blackoil fluids (feeds) specified. Each component is tracked
through the network. The fluid properties are calculated based on the fluid mixture.
When to use
Due to the limited amount of input, the blackoil module can be a good choice when little is know about
the production fluids. For instance, during planning or design one may use specific gravities and a GOR
typical of the geographical area. Later when production is established, one may insert the actual values,
and possibly make use of the module’s tuning mechanism to further improve the match between
observations and the predictions made by OLGA.
As mentioned above, the blackoil module is related to the compositional tracking module, and may be
preferred as the computationally faster alternative. This is due to the fact that blackoil models are
intrinsically crude, and cannot provide the detailed analyses of compositional tracking. It is however
possible to include the effects of MEG in the density calculations by specifying a larger specific gravity
for water. This method should also be used if salts are present.
Methods and assumptions
28
OLGA 6.3 USER MANUAL
The following three assumptions are made for the blackoil module:
1. An oil component cannot exist as gas in the gas phase. As a consequence, the module is not
suited for studying gas condensate systems. However, this assumption does not exclude the
dispersion of oil and water, the existence of water/oil droplets in the gas or gas bubbles in the
liquids.
2. Gas can dissolve in oil.
3. Gas cannot dissolve in the water phase, and water cannot exist as steam in the gas phase.
(This assumption may change in a future version of OLGA.)
Blackoil Correlations
To calculate the solution gas-oil ratio RSGO and the bubble point pressure Pb, four different correlations
are available in OLGA. They are based on fluids from different areas, and have recommendation for use
as mentioned in Table 1. The default correlation is Lasater.
These correlations can be used to calculate the bubble-point pressure, Pb, for a given GOR or an
equilibrium value of RSGO (< GOR) at any pressure below Pb. If measured values for GOR and the
bubble point Pb(Tb) are available, it is recommended to tune the correlations for RSGO(P,T) and Pb(T).
In the following, the four sets of correlations are presented with their tuning coefficients.
Lasater Correlation
The basis for the Lasater correlation is the following relationships:
/ (a)
with
, and (b)
/ 1.32755 · 10 / (c)
For the purpose of calculating the RSGO, the above equations are inverted with GOR replaced by
RSGO, and Pb replaced with the actual pressure P. That is, find yg from Equation (c) with P instead of
Pb, and invert Equation (c) to get RSGO, viz.:
1.32755 · 10 ⁄ / 1 (d)
29
Blackoil OLGA 6.3 USER MANUAL
Pressure must be given with a unit of psia, temperature in 0R (degrees Rankine), and GOR and RSGO
in scf/STBO.
Standing Correlation
The bubble-point pressure at a given GOR is given by
where
⁄ . . .
10 (f)
To calculate RSGO, replace Pb with the actual pressure P, and replace GOR with RSGO, and invert
Equation (f) to obtain
⁄18.2 . . .
1.4 10 (g)
With the Standing correlation, pressure is measured in psia, and temperature is measured in 0F.
⁄ . ⁄ .
27.64 10 , and (h)
⁄27.64 . . /
10 (i)
. ⁄ .
56.06 ⁄ 10 , and (j)
⁄56.06 . . /
10 (k)
Symbols have the same meanings as for the Lasater correlation. Units for pressure and temperature are
psia and 0R, respectively.
Glasø Correlations
30
OLGA 6.3 USER MANUAL
⁄ . . ⁄ .
(m)
. . . . ⁄ . .
⁄ 10 (n)
Symbols have the same meanings as for the Lasater correlation. Units for pressure and temperature are
psia and 0F, respectively.
.
0.9759 1.2 · 10 (o)
where
⁄ .
1.25 (p)
The density at the bubble-point, ρob, is given by the above equations with RSGO = GOR. At pressures
above the bubble-point, the compressibility is taken into account, and the density is calculated by
exp (r)
Units for Equations (o) to (s): Temperature is given in 0F, pressures in psia. BO is given in bbl/STB.
The basis for calculating the gas density is the compressibility equation of state, viz.:
pV = znRT. (t)
When other variables have units of psia, ft3, lbm, moles and 0R, the gas constant R has the value 10.72.
Now, the gas volume formation factor, BG, can be expressed as
0.0283 / (u)
31
Blackoil OLGA 6.3 USER MANUAL
/ (v)
where ρgsc = 0.0764 γg. (The value 0.0764 is the density of air at standard conditions expressed as
lbm/ft3). γg denotes specific gravity of gas at standard conditions.
The gas compressibility z expresses the deviation of the real gas volume from the ideal gas behaviour.
The assumption that real gas mixtures will have the same z-factor for the same values of
pseudoreduced pressure Ppr and temperature Tpr, is used to determine the value of z. An algebraic
relationship, cf. /28/, has been developed, and this relates z to Ppr and Tpr. The implicit set of equations
that emerges, requires an iterative solution procedure. In order for OLGA to save CPU CYCLES, THE
Z-VALUES HAVE BEEN PRE-COMPUTED, AND TABULATED AS A FUNCTION OF PPR AND TPR.
Values for Tpr and Ppr are found from the pseudocritical temperature Tpc and the pseudocritical pressure
Ppc:
Empirical equations exist for Ppc and Tpc, /28/, and we use them:
The presence of CO2 and H2S is accounted for by correcting the pseudocritical values Ppc and Tpc.
Nitrogen, N2, is assumed to have no significant effect on the z-factor. The corrected values become
where
Now, the live oil viscosity μo is found by modifying the dead oil viscosity according to the gas dissolved
in the oil, i.e.,
(ae)
where
. .
10.715 100 5.44 150 (af)
32
OLGA 6.3 USER MANUAL
If the pressure is above the bubble pressure Pb, the above expression corresponds to the viscosity at
the bubble point μob, where RSGO = GOR. For these pressures the viscosity is modified, viz.:
⁄ .
2.6 exp 11.5 8.98 (ag)
Units: Pressures are measured in psia, temperatures in 0F, viscosities in cp and RSGO in scf/STB.
/10000 (ah)
with
A = (9.379 + 0.016Ma)T1.5 / (209.2 + 19.26Ma + T ) (ai)
B = 3.448 + 986.4 / T + 0.01009Ma (aj)
C = 2.447 - 0.2224B (ak)
Ma = 29γg (Ma is the apparent molecular weight) (al)
Liquid viscosity is calculated as for the standard pvt table option with oil viscosity as above.
Surface Tension
The expression for the gas-oil surface tension needs to be simple without the information about the
fluid composition. Given values of API, T (0R) and P (psia), we can use
for dead oil, and then correct the value for saturated oil at saturation pressure:
For undersaturated oil, the corresponding saturation pressure for P(T,RS) is used. The unit of a surface
tension σ is dynes/cm (1 dyne/cm = 0.001 N/m).
For oil-water surface tension empirical data are scarce, and a preliminary relation is used:
exp (ap)
The above correlations are based on data from /31/ and /33/.
33
Blackoil OLGA 6.3 USER MANUAL
The specific heat or heat capacity of gas cpg will be tabulated as a function of temperature and specific
gravity of gas. The data are taken from /31/, Figure 4-49. It is assumed that the specific heat of a gas
mixture corresponds to the specific heat of a pure gas with the same specific gravity.
The specific heat of oil, cpl, can be calculated using the following equation, cf. /32/:
where
ENTHALPY OF GAS
⁄ (ar)
From tabulated values for cpg and z, a table for Hg can be generated; 00C and 1 bara is used as the zero
point. The compressibility factor z is tabulated as a function of Tpr and Ppr. Thus the term (dH/dP)TdP in
Equation (ar) can be expressed in terms of Tpr and Ppr:
⁄ ⁄ (as)
Enthalpy of Oil
The enthalpy of oil Ho is calculated directly by integrating cpo from zero to the actual temperature.
Modifications of Ho at elevated pressures are ignored.
The latent heat for gas dissolved in oil ΔHgo will be used to calculate the enthalpy of liquefied gas Hgo.
We have
The term ΔHgo can be approximated by a simple correlation from /32/. First, the latent heat is estimated
at 1 bara.
where Tabp is the atmospheric boiling point measured in K. The unit of the latent heat thus becomes
kJ/kg.
34
OLGA 6.3 USER MANUAL
Second, the latent heat is extrapolated for pressures above 1 bara, according to
Tabp is tabulated as a function of oil specific gravity and molecular weight, cf. /32/, see Table 2 below.
Thermal conductivity
Data for the thermal conductivity of gas as a function of M and T is plotted in /31/. A function has been
developed that gives a reasonable approximation to these data, and this function is used by OLGA.
Little data are available for oil, and so a simple linear function is used, viz.:
(aw)
Blackoil Tuning
It is possible to tune the correlations for gas dissolved in oil RSGO, bubble pressure Pb and oil viscosity
to measured data.
Tuning of the correlations use data for a single fluid or a mixture. If there are several blackoil feeds (e.g.,
a network case), one must either tune to one of the fluids or to a mixture of the fluids. If the
measurements are from a separator, the data available will typically be for the mixture. Please note that
the tuned correlations are used for the whole network. See the description of the correlations for how
the tuned parameters enter the calculations.
Limitations
35
Blackoil OLGA 6.3 USER MANUAL
The blackoil module has the same limitations to its usability that the compositional tracking module.
How to use
Set the following keywords to use the blackoil module:
36
OLGA 6.3 USER MANUAL
Complex Fluid
Complex fluids are liquids with high viscosity, yield stress, or liquids exhibiting shear thinning. Such
properties might arise in waxy oil or emulsions which often exhibit shear thinning and high viscosity,
whereas a slurry of hydrate crystals in oil may have a yield stress depending on the particle
concentration. Hydrate is a snow like substance formed by water and natural gas that might occur in
hydrocarbon transport lines at ambient temperatures well above the normal freezing point of water at
elevated pressure. Fluids that demonstrate both shear thinning and a yield stress, e.g., gelled waxy
crude, can only be approximated using complex fluid models.
The presence of yield stress or shear thinning in the liquid might result in a decreasing pressure drop
with increasing production rates up to a certain point where the pressure drop is at a minimum, even for
horizontal pipes. For production rates below this minimum, unstable operation might occur depending
on the boundary conditions of the transport line. These instabilities can interact with other, more well
known, multiphase flow phenomena such as terrain slugging and give rise to a wider range of unstable
operational conditions. The purpose of the complex fluid model is to predict such behavior.
When to use
The complex fluid module should be used whenever a fluid exhibits significant deviation from Newtonian
behavior, either by shear thinning (e.g., heavy oils) or influence of yield stress (e.g., waxy oils). For
Newtonian liquids, the module should be used when modeling fluids with viscosity above 50 cP and it
has been tested up to 1000 cP.
License requirements
The Complex Fluid Module requires a separate license.
τ = τ 0 + μργ& (a)
where
τ 0 = yield stress
μρ = plastic viscosity
γ& = shear rate
τ = Kγ& n (b)
where
K = consistency factor
37
Newtonian fluid OLGA 6.3 USER MANUAL
Newtonian fluid
τ = μ γ& (c)
where
μ = viscosity
When running standard OLGA, i.e., without slug tracking activated, the use of complex fluid yields an
important improvement since the slug flow model includes the effects of the above rheologies and at the
same time as it covers the range of Reynolds numbers from laminar to turbulent flow. This affects the
bubble front velocity, and, consequently, the liquid accumulation. Furthermore, it yields a better model of
the liquid flowing below the slug bubble as well as a better prediction of the slug fraction. Using this as
basis for pressure drop predictions is a major difference from the complex viscosity model, which is very
important for more viscous liquids.
For stratified flow, the wall friction calculations should yield better results than when using an equivalent
viscosity.
How to use
The Complex Fluid module is activated in the FLUID keyword by setting the key
TYPE=COMPLEXFLUID. The fluid viscosity model to be used is determined by the keys CFLUML and
CFLUMW for the liquid hydrocarbon phase and water phase, respectively. Except for the default
Newtonian modeling, fluid viscosity can be modeled using either the Bingham model or the power law
model.
The parameters of the viscosity models can be given in two ways. If the key FULL=YES, the fluid
viscosity parameters (yield stresses/power exponents) are read from the fluid property file as functions
of pressure and temperature. If, on the other hand, FULL=NO, the yield stresses YIELDSRL and
YIELDSTW or power exponents POWEXPL and POWEXPW have to be given if the liquid hydrocarbon
or water viscosity model is set to BINGHAM or POWERLAW respectively. For both options, the viscosity
given in the fluid file is interpreted as the plastic viscosity for Bingham fluids and as the consistency
factor for Power law fluids.
38
OLGA 6.3 USER MANUAL
Compositional Tracking
The compositional tracking model combines the powerful multiphase capabilities in OLGA with
customised calculations for fluid properties and mass transfer. Part of this module is a software package
developed by Calsep.
With the compositional tracking model, every single fluid component is accounted for throughout the
calculation, enabling simulation of scenarios such as start-up and blowdown with a high level of detail
and accuracy.
When to use
It is important to acknowledge that the extra level of detail given by compositional tracking compared to
table-based approach is CPU-intensive and will increase the simulation time. Note that a higher number
of components will also increase the simulation time. Standard OLGA will in many cases, such as for
single pipeline flow and networks where the fluids in the pipelines are similar, give satisfactorily accurate
results.
License requirements
The Compositional Tracking Module requires a separate license.
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, elevated geometry, and
changes in fluid composition at the inlet. In the Compositional Tracking model the mass equations are
solved for each component (e.g. H2O, C1, C14-C22) in each phase (e.g. gas, liquid droplets, bulk
hydrocarbon liquid and bulk water). Thus, the model will keep track of the changes in composition in
both time and space, and will 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 (by PVTsim) and given as input to OLGA. The feed file contains information about the feeds
(fluid composition used in a source or well and as boundary or initial conditions) 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 FEED keyword. These feeds may only contain a set of the components
defined in the feed file. It is not possible to define additional components outside the feed file.
39
Compositional Tracking OLGA 6.3 USER MANUAL
PVT package
The material properties of the fluid along the pipeline will be calculated continuously during the
simulation, based upon the current conditions (i.e. local pressure, temperature and composition). These
calculations are part of a PVT package delivered by Calsep.
This PVT package uses functions that are similar to the ones used by PVTsim, although they are
optimised for increased computational speed. PVTsim must also be used to characterize the fluid and
generate the feed file to be used as input to the model.
Moreover, the molar fractions and their derivatives with respect to the current conditions at phase
equilibrium are also delivered by the package. Based on these results, the mass transfer between the
phases needed for the mixture to be at equilibrium is calculated.
Physical limits for the temperature and pressure used in the PVT calculations are introduced and can
not be changed by the user (as it can with fluid tables). The temperature range is from -200 to 500 C
and the pressure range is from 0.05 to 1000 bara. If the temperature or pressure goes out of range, they
are reset to the upper or lower limits. These reset values are used in the PVT calculations only and are
not fed back to the overall calculations of temperature and pressure.
The phase equilibrium calculations in PVTsim are based on either the Soave-Redlich-Kwong (SRK) or
the Peng-Robinson (PR) equation of state (EOS) [Soave (1972) and Peng and Robinson (1976)]. The
fluid data in the feed file are based on one of these equations, with or without the Peneloux volume
correction [Peneloux et al. (1982)], and the same EOS will be adopted in the OLGA simulation.
Limitations
Maximum number of components allowed in a feed file is 30. Except for this, there are no special
limitations associated with the Compositional Tracking model.
However, as described, be aware of the additional CPU-intensive calculations that are performed.
Other considerations
Process equipment
The system can include process equipment such as critical and sub-critical chokes, compressors with
controllers, check valves, valves, separators, heat exchangers, pumps, and controlled mass sources
and sinks.
Flow model
The descriptions of the flow regimes, friction factors and wetted perimeters etc in the compositional
tracking model are as in the standard OLGA model.
Restart
The Compositional Tracking model is available with full restart functionality. However, it is not possible
to switch from or to the compositional model in a restart case.
40
OLGA 6.3 USER MANUAL
How to use
Input
In order to use the Compositional Tracking model, 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 compositional data for the fluid.
The ”Plus” and ”No-plus” fluid types only require mole or weight fractions, mole weights and liquid
densities. For the ”Plus” fluid, PVTsim will generate pseudo-components based on the last (plus)
component.
The ”Characterized” fluid type is used when the fluid characterization has been performed in another
PVT tool, and requires all fluid properties such as critical temperature, accentric factor, etc.
Choose ”Interfaces” from the Main Menu in PVTsim, and then choose ”Compositional Tracking”. In this
window the feed file that is an input to the Compositional Tracking module is generated. The feeds
defined in the feed file will then be available as feeds in OLGA, with the name specified in the Well
column in the Fluid box in PVTsim as feed name.
Step 2:
Prepare the OLGA input using the following keywords;
Step 3:
Specify output variables for detailed plotting of simulation information.
Plot data for individual components can be specified with the addition of the
COMPONENTS=(<component names>) key to each plotting keyword. If COMPONENTS is not
specified, it will be plotted for all components for the specified variable.
Note: Output variables for rates at standard conditions (e.g. QGST) are CPU demanding since a flash
must be performed, and should be used with care for Compositional Tracking simulations.
Special considerations
In the keyword COMPOPTIONS the user should evaluate what flash algorithm to use, what kind of
viscosity correlation to use, if any of the fluid components should be assigned delay constants, and if
needed specify the density limit for the dense phase region. The user can also choose to use the default
values, in which case none of these parameters have to be specified.
41
Compositional Tracking OLGA 6.3 USER MANUAL
This is the only option allowed when performing simulations with fluids consisting purely of non-
aqueous components. It may also be used with fluids containing aqueous components when
high simulation speed is wanted, provided the amount of free water is believed to have little
impact on the conclusions. It should not be used if:
• Hydrate control is important and MeOH or another component more volatile than H2O
is used as inhibitor.
• Tracking of hydrocarbons and inorganic gasses dissolved in the aqueous phase is
important.
• Tracking of aqueous components dissolved in a hydrocarbon liquid phase or a dense
gas phase is important.
This is the default option when at least one aqueous component is defined in the feed file, and
is expected to provide accurate results for most simulations involving fluids consisting of both
hydrocarbons and aqueous components. Full three phase flash is recommended for rigorous
simulations if
• Hydrate control is important and MeOH or another component more volatile than H2O
is used as inhibitor.
• Tracking of hydrocarbons and inorganic gasses dissolved in the aqueous phase is
important.
• Tracking of aqueous components dissolved in a hydrocarbon liquid phase or a dense
gas phase is important.
Note that simplified three phase is the recommend option for performing screening/approximate
simulations where high accuracy may not be required even in the aforementioned cases. This is
due to the full three phase option being significantly slower than the simplified three phase
option.
• FLASHTYPE = FULLTHREEPHASE means that a full three-phase flash is performed for the
total composition. The fugacity of all the components in all the phases is the same. All the
phases are in rigorous equilibrium, i.e. any component can dissolve in any phase. Classical
42
OLGA 6.3 USER MANUAL
mixing rule is used for component pairs not involving aqueous components while the Huron-
Vidal mixing rule is used for all component pairs involving aqueous components.
This option is significantly slower than the simplified three phase flash option. It is
recommended as an option to make a final check of whether the accuracy obtained using the
simplified three phase flash is adequate for the given case. Full three phase flash is also
recommended if
• Hydrate control is important and MeOH or another component more volatile than H2O
is used as inhibitor.
• Tracking of hydrocarbons and inorganic gasses dissolved in the aqueous phase is
important.
• Tracking of aqueous components dissolved in a hydrocarbon liquid phase or a dense
gas phase is important.
Note that simplified three phase is the recommend option for performing screening/approximate
simulations where high accuracy may not be required even in the aforementioned cases. This is
due to the full three phase option being significantly slower than the simplified three phase
option.
This is the only option allowed when performing simulations with fluids containing salts.
The viscosity calculations can be based on the corresponding states principle (CSP) or the Lohrenz-
Bray-Clark (LBC) correlation (1964). If the fluid has been tuned to one of the correlations in PVTsim, it is
not possible to choose a different correlation in OLGA Compositional tracking module (an error will be
given if the other correlation is chosen). The default viscosity correlation is CSP.
When using CSP the PVT code executes 2-3 times slower than when LBC is used. Since 10-90% of the
calculation time in an OLGA simulation is spent in the PVT code, the cost of using CSP instead of LBC
may vary a lot.
However, the LBC model is not reliable as a predictive model. The following steps should therefore be
taken when using LBC:
In case the CSP viscosity model is chosen, it is still recommended to tune to experimental viscosity data
if available. The predictive capability of the CSP model is within 10% up to viscosities of approximately 1
cP. For higher viscosities the capability is more uncertain.
It is further recommended to consider if oil viscosities at temperatures below approximately 20-40 C are
influenced by precipitated wax. The CSP and LBC viscosity models cannot account for the influence of
precipitated wax, nor the non-Newtonian effects associated with the precipitation. The CSP and LBC
models may still be forced to follow the apparent oil viscosities. Since the Compositional Tracking
module does not account for wax precipitation/ deposition, viscosities will follow the apparent oil
viscosity.
43
Compositional Tracking OLGA 6.3 USER MANUAL
In the dense phase region (see Figure A below), there are no good criteria to distinguish gas from oil,
and the "chosen" phase does not affect the 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.
In the dense phase region, a fluid with higher density than the given DENSITYLIMIT value is defined as
liquid and a fluid with lower density is defined as gas. If the user gets an error saying there is no gas for
this branch the DENSITYLIMIT should be increased.
The DENSITYLIMIT should preferably be set equal to the density found in PVTsim when performing a
flash at the critical point. If not specified, internal routines will be used to decide phase (which may
cause instabilities when crossing bubble/dew point).
Note: The use of DENSITYLIMIT can also reduce oscillations, such as 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.
44
OLGA 6.3 USER MANUAL
In the non-equilibrium model the convective mass transfer terms are calculated according to:
, ⁄
,
1 , (a)
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. 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 vaporization (TVAPORIZATION) and condensation
(TCONDENSATION).
The local non-equilibrium mass transfer term is derived from the following equation:
, ,
, , ,
(b)
,
where ,
is the local mass transfer term calculated by the equilibrium model and , is the
delay factor for component fc for condensation or vaporization dependent on the sign of the equilibrium
mass transfer term.
This yields:
,
, ,
, ,
(c)
,
,
, ,
,
Output
The keywords OUTPUTDATA, TRENDDATA, PROFILEDATA and PLOTDATA in the input file specify
the data collection from the simulation.
The output file (*.out), trend file (*.tpl), profile file (*.ppl) and plot file (*.plt) can be used to show detailed
compositional information:
• Mass flow rate for each component in each phase (oil droplets, oil film, total oil phase, water
droplets, water film, total water phase, and gas)
• Mass rate of flashing for each component to gas phase, oil phase and water phase
• Specific mass for each component in each phase
• Mole fraction for each component in gas phase, oil phase and water phase
• Equilibrium mole fraction for each component in gas phase, oil phase and water phase
• Mass fraction for each component in gas phase, oil phase and water phase
• Equilibrium mass fraction for each component in gas phase, oil phase and water phase
• Total mole fraction (all phases) for each component
• Total mass in branch for each component
The output file shows information textually and is structured for easy reading. The trend file and profile
file are ASCII files that can be plotted graphically in the OLGA GUI. The plot file is a binary file that is
viewed in a separate plotting tool called the OLGA Viewer. Due to the binary format, which reduces the
file size, this form of data collection can use a shorter plotting interval and is useful for detailed analysis.
45
Controller OLGA 6.3 USER MANUAL
Controller
Controllers is in OLGA terms a network component labeled “signal component” which mean that they
can communicate with other network components by sending and receiving signals. Other network
components may be other signal components or flow components (i.e. a branch). Controllers are typical
signal components but also other types of network components may be signal components.
All controllers have one common key; LABEL, which are used to identify the controller.
Both analog and digital controllers can be simulated in OLGA (see Analog vs. digital controllers for
further details). A controller can be set to one of five different modes operation either by using time
series in the MODE sub-key or hooking a defined controller up to the MODE terminal (see Controller
modes for further details). In addition to implementing the possibility to switch the controller mode, the
current version of OLGA also implements the possibility to “activate” and “deactivate” the controllers by
hooking an external controller up to the ACTIVATE terminal (see controller activation/deactivation for
further details). The controller output is constrained; see constraining the controller output for further
details. In the most advanced usage of the OLGA controllers utilizes the possibilities of interconnecting
controllers by the use of terminals. A description to the different terminals is given in controller details.
The analogue controller collects input and gives a corresponding output at each simulation time step.
The MAXCHANGE sub-key specifies the maximum allowed change in controller output from one time
step to the next. The default value is 0.2. The automatic integration time step mechanism ensures that
the relative change in the output signal of the controller from one time step to the next will never exceed
MAXCHANGE.
The digital controller collects input and generates a corresponding output at time points separated by
time intervals given in sub-key SAMPLETIME. There may be one or more OLGA integration time steps
in between each sample time point. The automatic time step control assures that a simulation time point
always agree with a sample time point (to the accuracy specified in the MAXCHANGE sub-key). The
output signal from the controller is kept constant during the sample time interval.
46
OLGA 6.3 USER MANUAL
Controller mode
A controller in OLGA can be set in one of the five different modes:
Automatic; in MODE = AUTOMATIC, the controller behaves according to the controller function as
specified for the different controller types. For those controllers that make use of setpoint the
value in MODE = AUTOMATIC is taken from the SETPOINT key.
Manual; in MODE = MANUAL, the controller function is bypassed and the controller output is set
according to the time series definition of key MANUALOUTPUT.
External signal; in MODE = EXTERNALSIGNAL, the controller function is bypassed and the controller
output is set according to the external controller connected to the SIGNAL terminal.
Freeze; in MODE = FREEZE, the controller function is bypassed and the controller output is kept
constant (equal to the previous output value).
The controller MODE can be manipulated either by time series or by another controller. To manipulate
the mode of a controller by time series, specify the sequence in the MODE sub-key. The predefined
literals:
AUTOMATIC value 1
MANUAL value 2
EXTERNALSIGNAL value 3
EXTERNALSETPOINT value 4
FREEZE value 5
are used when specifying the MODE through MODE sub-key in the GUI and input file. The MODE sub-
key is interpreted together with the TIME sub-key.
When using the terminal to change the mode of a controller one need to connect an external controller
to the MODE terminal. E.g. to manipulate the mode of controller A by a controller labeled A.MODE
connect controller A.MODE to the MODE terminal of controller A. The mode of controller A id the
dependent on the output value of A.MODE
All controllers except “Table” and “Scaler” have MODE implemented. The definition on MODE through
the use of the MODE terminal overrules the definition of MODE given by the MODE sub-key.
Controller activation/deactivation
In addition to implementing the possibility to switch the controller mode, the current version of OLGA
also implements the possibility to “activate” and “deactivate” the controllers by hooking an external
controller up to the ACTIVATE terminal.
47
Controller OLGA 6.3 USER MANUAL
controller is activated the output is calculated according to the controller function and any specification
of MODE.
The deactivation of controllers takes precedence over controller function and mode. For further details
see the description of the controller details
Controller details
Figure A below shows a block diagram of how different inputs and outputs relate to different part of the
controller implementation.
48
OLGA 6.3 USER MANUAL
49
Controller OLGA 6.3 USER MANUAL
The activation/deactivation mechanism is illustrated by the switch with two inputs and memory block on
the right in the figure.
- If the controller is activated (ACTIVATE = true, or value greater or equal to 0.5) the activate
switch is in position two connecting the controller to the output A.
- If the controller is deactivated (ACTIVATE = false, or value less than 0.5) then the activate
switch is in position one connecting the output A to the previous value, thus the output is frozen
(kept constant).
Controller Terminals
Most of the controller types will have the following input terminals:
MODE – used to set the mode of a controller
SIGNAL – used to override the output of the controller when MODE = EXTERNALSIGNAL
SETPOINT – used to override the setpoint key when MODE = EXTERNALSETPOINT, e.g.
cascaded controllers
ACTIVATE – used to activate deactivate the controller function
In the controller output terminal OUTSIG a number of output variables are available. The variable
transmitted is set-up (specified) in the signal connection.
See controller details for further information.
U U
U, U , (d)
,
or
U U
U, U , (e)
,
where
tact,open is the actuator time when increasing U
tact,close is the actuator time when decreasing U
Δt is the time step
Uold is previous output signal from the controller
50
OLGA 6.3 USER MANUAL
The actuator time is specified as stroke time or the time required to open/close. 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.
It is required that some of the input terminals are connected. The required input is different for the
different types of controllers. Connecting the output terminals is optional.
The controller output can be connected to process equipment (Valve, Pump etc.). The controller input is
connected to output from another controller, a transmitter or some process equipment.
The input terminal MEASRD is required, while the input terminal SETPOINT is optional. The PID
controller has internal setpoint given as key input. But the user can connect an external setpoint to the
controller. In order to use the external setpoint the SETPOINTMODE must be set to EXTERNAL.
(1)
PT PC
(2)
In Figure A the measured pressure is taken from a transmitter (PT). The controller (PC) output is
connected to the valve opening.
Connection (1):
TRANSMITTER OUTSIG_1 → CONTROLLER MEASRD
A variable and unit must be defined for the output from the transmitter.
Ex. ”PT bara”
Connection (2):
CONTROLLER OUTSIG_1 → VALVE INPSIG
Controller Setpoint
51
Controller OLGA 6.3 USER MANUAL
Most controllers take a setpoint as input. The setpoint can be connected as an input terminal or given as a
time series. If it is given as a time series the keywords SETPOINT and TIME must be given.
Figure B shows how the controller setpoint is changed for the following SETPOINT/TIME input:
0
0 1 2 3
TIME
Figure B: Setpoint vs. time
52
OLGA 6.3 USER MANUAL
Algebraic controller
The algebraic controller is used to combine input signals to form algebraic equations and logical
expressions. The algebraic controller issues a control signal to a device (e.g. a valve) or as an input
signal to other controllers.
When to use
Use to change a variable in a process unit (e.g. Valve, Pump) or an input to another controller according
to an algebraic function or a logical expression.
Ex. Make the valve opening dependent on more then one signal and an algebraic expression.
Ex. Make the valve opening dependent on a logical expression.
Ex. Activate deactivate controllers according to a logical expression.
Ex. Non-linear transformation a measured signal to a controller.
The computed output signal is affected by maximum, minimum constraints and by rate of change
constraints (opening, closing time or stroke time), see Constraining the controller output and Actuator
time of controlled device.
How to use
Connect the required input signal(s) to the INPSIG_1..N terminal(s). Specify the operators to act on the
input signal(s) in the VARIABLEFUNCTION key. Connect the controller output signal OUTSIG_1..N to a
device variable.
The figure below shows how multiple controller blocks can be combined in one algebraic controller.
53
Controller OLGA 6.3 USER MANUAL
ASC controller
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 Figure A: Compressor characteristic diagram, Figure B:
Recirculation loop and Figure A: Anti Surge Controller.
When to use
Use to control the recycle flow for compressors, and to avoid compressor surge.
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 setpoint
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.
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. Figure A shows the ASC application.
The cascade controller uses the PID algorithm, see Proportional Integral Derivative (PID) Algorithm. The
ASC controller has the same functionality as the PID controller, in addition to the functionality described
in this section. See PID Controller Methods and assumptions (Jump to: PID controller Methods and
assumptions).
How to use
54
OLGA 6.3 USER MANUAL
Connect the compressor output (QGSURGE) to the ASC controller setpoint (SETPOINT). (Connect the
compressor OUTSIG to the ASC setpoint and specify QGSURGE as variable.) This is the volume flow
(default unit m3/s) at predicted surge multiplied with a security factor. The security factor is given in the
compressor SECURITYFACTOR key.
Put a transmitter at the same section boundary as the compressor. Connect the gas volume flow QG to
the ASC controller measurement terminal (MEASRD). Make sure QG and QGSURGE have the same
units. The MEASRD terminal must be connected.
Connect the ASC controller output to the Compressor ASCSIG input terminal.
MEASRD
SETPOINT OUTSIG_1..N
55
Controller OLGA 6.3 USER MANUAL
Cascade controller
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.
When to use
Cascade control is used when there are disturbance associated with the manipulated variable, or when
the final control element exhibits nonlinear behaviour.
Temperature control when two fluid flows are heat exchanged. The temperature dynamics are slow
compared to the flow dynamics.
The OLGA cascade controller will represent the inner loop. That is; the secondary controller shown in
Figure A. The cascade controller uses the PID algorithm, see Proportional-Integral-Derivative (PID)
Algorithm. See also the PID Controller Methods and assumptions. The Cascade controller has the same
functionality as the PID controller, in addition to the functionality described in this section.
The cascade controller can be in normal or extended mode. 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:
Where
S the setpoint of the secondary controller
56
OLGA 6.3 USER MANUAL
⎛ 1 ⎞
S n = S n−1 + ⎜ C P − (C P,max + C P,min )⎟ PM − PS CΔt (b)
⎝ 2 ⎠
Where
tn
1
PM =
Tav n
∫ Pdt (c)
t −Tav .
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.
Limitations
Secondary loop process dynamics should be at least four times as fast as primary loop process
dynamics.
How to use
See Connecting the controllers for a example on how to connect a controller. The cascade control loop is
built as two separate PID controllers, where the output from the primary controller is used as a setpoint of
the secondary controller.
The cascade controller requires that the measurement terminal (MEASRD) and the setpoint terminal
(SETPOINT) are connected.
57
Controller OLGA 6.3 USER MANUAL
MEASRD
SETPOINT OUTSIG_1..N
58
OLGA 6.3 USER MANUAL
ESD controller
Emergency-Shut-Down (ESD) logics are used to avoid damage on the process equipment and the
pipeline. An ESD controller closes, output goes from 1 to 0, when a measured process variable rises
above (or fall below) a safety limit.
When to use
Use to model safety control system.
Example of use:
Shutdown of a pump downstream a separator. If the liquid level in a separator becomes to low, gas might
flow in the pump feed. Gas in the feed might damage the pump.
The output signal is limited with stroke time. See Actuator time of controlled device.
How to use
See Connecting the controllers for an example on how to connect a controller.
Connect the measured value (e.g. a pressure). The MEASRD terminal must be connected.
The ESD output is typically connected to some process equipment or a pressure driven source/leak.
Set the setpoint where the controller should close. If the controller should automatically open, enter a reset
value.
Include sufficient hysteresis for the reset value compared to the setpoint value. In this way a situation where
the ESD output oscillates will be avoided. That is; a situation where the ESD closes in one time step, opens
the next, closes again in the next etc.
MEASRD_1..N
SETPOINT_1..N OUTSIG_1..N
59
Controller OLGA 6.3 USER MANUAL
Manual controller
The manual controller is used to simulate the actions of an operator. The manual controller issues a
control signal to a device (e.g. a valve).
When to use
Use to change the process unit (e.g. Valve, Pump) inputs manually.
The input signal is filtered through with stroke time limitations. This can be avoided by setting a low
stroke time. See Actuator time of controlled device.
How to use
Give the required setpoint changes, and connect to a device variable.
The manual controller doesn’t require any of the signal terminals to be connect. Figure A shows the
connection possibilities of the manual controller.
SETPOINT OUTSIG_1..N
60
OLGA 6.3 USER MANUAL
Override controller
The Override controller acts as a minimum or maximum operator on its input. It can be configured to
select the lowest or highest value among several inputs.
When to use
When there are fewer variables to manipulate than there are variables to control. The controllers (or
measurements) of the controlled variables need to share the manipulated variables.
Here the output signal from two pressure controllers (PC) is connected as input to the override
controller. One of the pressure controllers 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.
Figure B shows a typical application of the override controller (OC) with input signal from three
controllers in a process module. The override controller is in low select mode. The flow controller (FC) is
controlling the flow downstream of the control valve (choke) while the pressure controllers (PC) are
controlling the pressures upstream and downstream of the control valve. In normal operation, the valve
is controlled by the flow controller. In situations where the pressure downstream of the control valve
approaches the maximum operating pressure (set-point for downstream pressure controller), the valve
is controlled by the high-pressure controller. In situations where the pressure upstream of the control
valve approaches the minimum operating pressure (set-point for upstream pressure controller), the
valve is controlled by the low-pressure controller.
61
Controller OLGA 6.3 USER MANUAL
OC FC
PC
PC
The output signal is limited with stroke time. See Actuator time of controlled device.
How to use
See Connecting the controllers for an example on how to connect a controller.
Select the mode of operation by setting SELECTIONMODE. Connect the signals the override controller
should operate on.
The Override controller require that at least one input terminal is connected.
INPSIG_1..N OUTSIG_1..N
62
OLGA 6.3 USER MANUAL
PID controller
The main function of a PID controller is to maintain process parameters within specified bounds by
controlling process equipment parameters like valve opening and compressor speed.
When to use
To stabilize a process variable, or to stabilize an entire pipeline.
A typical application of the controller unit in a process module is to control a separator level (Figure A)
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
The PID controller limits the output with the stroke time of the connected device (e.g. Valve). See
Actuator time of controlled device.
The controller uses Anti-Windup. When the controller reaches maximum/minimum output (saturates) the
integral is kept to a proper value, so that the controller is ready to resume action, as soon as the control
error changes. The anti-windup used is a tracking/back calculation scheme.
Transfer between setpoint modes are made bumpless. When the setpoint mode change, the integral
term is corrected to remove a sudden jump in the controller output.
If the PID controller output is connected to a Selector or an Override controller it might become inactive.
See Selector and Override controllers. There are four different modes for the controller when it becomes
inactive. The Selector or Override controller will automatically set the PID controller in a active/inactive
state.
• ONHOLD
Restore old values, everything is on hold.
• INTERLOCK
The PID controller get feedback on the output signal used (uused) from the connected controller (Selector
or Override). If the PID controller becomes inactive it will use uused to back calculate its integral error.
• DEFAULTINPUT
63
Controller OLGA 6.3 USER MANUAL
⎛ 1 t de ⎞
u = K c ⎜⎜ e +
⎝ τi ∫ edt + τ
0
d
⎟ + bias
dt ⎟⎠
(a)
e = (x − xstp ) (b)
where:
x = input process parameter (pressure, level, etc.)
= time constant
u = output signal from controller
t = time
bias = initial value
Subscripts:
stp = set point (or reference point)
i = integral
d = derivative
0 = time at start of simulation
The amplification factor Kc is a dimensioned quantity. If the option with normalised amplification factor is
used, the program will calculate Kc using the range given with the following expression:
For non-linear controllers, KC, , can be given in tabular form as a function of the error signal e. An
error is then given as a vector (keyword input). The PID parameters keys for KC, and must be
specified as vectors with the same dimension as . The controller parameters are found by linear
interpolation in the actual controller error, e. The non-linear controller option is activated when the PID
parameters are given as vectors, and not as single values.
By using this general formula, simpler controllers as P and PI controllers can be defined by giving
proper values to the time constants in the PID formula. The table below shows time constants for
simpler controllers.
Time constants
P controller 0.0 109
PI controller 0.0 < 108
PD controller > 0.0 109
This controller formula is frequently referred to as a standard PID controller in the manual.
64
OLGA 6.3 USER MANUAL
How to use
See Connecting the controllers for an example on how to connect the PID controller.
The PID controller requires that a measurement value is connected to the controller. (Signal terminal
MEASRD). The setpoint must be given in the key SETPOINT, or connected to the SETPOINT input
terminal.
MEASRD
SETPOINT OUTSIG_1..N
Three parameters are at our disposal for tuning a PID controller, Kc, td and ti. However, for petroleum
applications td is rarely used (td = 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
td = DERIVATIVECONST
ti = INTEGRALCONST
bias = BIAS
x = VARIABLE
xstp = SETPOINT
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 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 Figure A: PID controller used as a level controller.
The change in the liquid volume fraction in the vessel (b) is given by
dβ Qin − Qout
= (a)
dt V
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
65
Controller OLGA 6.3 USER MANUAL
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 (Jump to: Equation a in the following differential equation is
obtained
d 2β Q K dβ Qmax K c
= − max c − β + f (t ) (c)
dt 2
V dt Vτ i
Where f(t) is a disturbance that the control system should compensate for. Casting it into the standard form
d 2β dβ
τ 2
p + 2ζτ p + β = f (t ) (d)
dt dt
we get the time constant of the control loop
Vτ i
τp = (e)
Qmax K c
Qmax K cτ i
ζ = 0.5 (f)
V
Kc must be positive for tp and z 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.
66
OLGA 6.3 USER MANUAL
Response
ζ = 0.2
0.3
0.4
0.5
0.7
1
setpoint
0 2 4 6 8 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 ti (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 (g)
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 we obtain
dF ⎛ dF 1 ⎞
= Fmax K c ⎜ + F ⎟ + f (t ) (h)
dt ⎝ dt τ i ⎠
or
For the solution to be stable, Kc must be negative. The time constant of the solution is
( Fmax K c − 1)τ i
τp = (j)
Fmax K c
67
Controller OLGA 6.3 USER MANUAL
Figure D shows the response of the flow to a step change in for example setpoint (f(t) has a step
increase).
1.2
0.8
response
0.6
0.4
0.2
0
0 1 2 3 4 5 6
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.
A
3. Set Kc = with A ranging from 1 to 10.
Fmax
4. τp can be selected from the above chart, depending on how fast you want the flow rate to reach
e.g. 90% of the set point. When τp has been chosen τi is found from the definition of τp.
5. By choosing a different A, the same τp can be obtained for a different τi.
68
OLGA 6.3 USER MANUAL
PSV controller
A Pressure-Safety-Valve (PSV) typically opens fast when the pressure rises above a defined value.
When the valve is opened the pressure is relieved. The safety valves are included to avoid damage on
the process equipment and the pipeline.
The PSV controller and a valve (or source) simulates the behaviour of the Pressure-Safety-Valve.
When to use
Use to model pressure safety valves. Use together with a valve or pressure driven source.
The output signal is limited with stroke time. See Actuator time of controlled device.
How to use
See Connecting the controllers for a example on how to connect a controller.
Connect the measured value (e.g. a pressure). The MEASRD terminal must be connected.
Connect the PSV controller output to valves, pressure driven sources or leaks.
Set the setpoint where the controller should open. If the controller should automatically close, enter a reset
value.
Include sufficient hysteresis for the reset value compared to the setpoint value, to avoid a situation where
the PSV output oscillates. That is; a situation where it opens in one time step, closes the next, opens again
in the next etc.
Change the default OPENMODE to BELOW if the controller should open when the measurement falls
below the setpoint.
MEASRD_1..N
SETPOINT_1..N OUTSIG_1..N
69
Controller OLGA 6.3 USER MANUAL
Scaler controller
The scaler controller is used to scale input signals linearly from an input range to an output range. The
scaler controller issues a control signal to a device (e.g. a valve) or as an input signal to other
controllers.
When to use
Use to scale a variable in a process unit (e.g. Valve, Pump) or an input to another controller.
Ex. Scale controller ouptput signal from range 0 - 100% to input valve signal range 0 - 1. Includ a scaler
controller between main controller and valev
Ex. Scale signal from transmitter range to controller input range. Include a scaler controller between
transmitter and main controller.
Ex. Limit transmitter signal to stay in configured range.
The computed output signal is affected by maximum, minimum constraints and by rate of change
constraints (opening, closing time or stroke time),
see Constraining the controller output and Actuator time of controlled device.
How to use
Connect the required input signal to the MEASRD terminal. Specify input range and the output range by
setting LOWLIMIT, HIGHLIMIT and MINSIGNAL, MAXSIGNAL keys. Connect the controller output
signal OUTSIG_1..N to a device variable.
The figure below shows transformation of input to output through a scaler controller C.
70
OLGA 6.3 USER MANUAL
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 another sub-
controller, and keeps it until the high (or low) variable limit is reached.
When to use
When there are fewer variables to manipulate than there are variables to control. The controllers (or
measurements) of the controlled variables need to share the manipulated variables.
Figure A 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
Figure A: Separator using SELECTOR controller to control the liquid outlet valve.
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.
71
Controller OLGA 6.3 USER MANUAL
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 sub-
controllers. The variables and their low and high limits are given as input to OLGA.
If the sub-controllers are PID controllers the integral term of the non-acting controller can be saved
(interlocked), reset to zero, or still be integrated. This will be determined in the input to the OLGA sub-
controllers by the user.
How to use
See Connecting the controllers for an example on how to connect a controller.
Define the limits where the Selector controller changes its output (LOWLIMIT, HIGHLIMIT).
Connect the controller used below LOWLIMIT (SUBCONLOW), and the controller used above HIGHLIMIT
(SUBCONHIGH).
SUBCONLOW
SUBCONHIGH
OUTSIG_1..N
HIGHLIMITSIG_1..N
LOWLIMITSIG_1..N
72
OLGA 6.3 USER MANUAL
STD Controller
The controller converts mass flow rate to volumetric flow rate at standard conditions.
When to use
Use to control a volumetric flow rate at standard conditions.
Limitations
Standard conditions, pressure = 1 atm and temperature = 60 °F (~15.5 °C), must be included in the fluid
table.
How to use
To convert from mass flow at to volumetric flow rate at standard conditions:
Set correct phase in PHASE key. Specify the fluid in the FLUID or FEEDNAME keys. Specify
the wanted GOR/CGR/WGR/WATERCUT/MOLWEIGHT, and the volumetric flow rate at
standard conditions will be calculated.
Connect the STDController output terminal OUTSIG to an PID controller MEASRD terminal.
73
Controller OLGA 6.3 USER MANUAL
Switch controller
The main purpose of the switch controller is to switch between alternative inputs values. The output of
the controller is selected based on the setpoint in MODE = AUTOMATIC or SETPOINT terminal if
MODE = EXTERNALSETPOINT.
When to use
Use to select between alternative inputs to controllers or valves.
1.5 <= SP < 2.5 unconstrained output A is set equal to controller at terminal INPSIG_2
2.5 <= SP < 3.5 unconstrained output A is set equal to controller at terminal INPSIG_3
The computed output signal is affected by maximum, minimum constraints and by rate of change
constraints (opening, closing time or stroke time), see Constraining the controller output and Actuator
time of controlled device.
How to use
Connect the required input signal(s) to the INPSIG_1..N terminal(s). Specify the SETPOINT key or
connect the SETPOINT terminal. Connect the controller output signal OUTSIG_1..N to a device
variable.
74
OLGA 6.3 USER MANUAL
Table controller
The table controller makes it possible to tabulate a relation between the controller input and the
controller output.
When to use
Use to define a non-linear relation for a process variable.
It is possible to use nested tables, that is; u = f(g(x)). This is done in the table definition, where one
table can reference another. The result from interpolating one table is used to interpolate in another.
Limitations
The table controller is limited to one variable. It is only possible to calculate u = f(x1), and not u = f(x1,x2)
etc.
How to use
Define a table, with XVARIABLE and YVARIABLE set to NOTGIVEN. Reference the table in the
controller definition.
Make the input signal available (from e.g. a transmitter) with the correct units, and connect to the
controller. The table controller requires that the input signal (INPSIG) terminal is connected.
INPSIG OUTSIG_1..N
75
Controller OLGA 6.3 USER MANUAL
Transmitter
When to use
The transmitters are used together with the controllers.
The signal is converted to user specified units. If no unit is given, the default unit is used.
One transmitter can measure and transmit an arbitrary number of variables (from a single position).
Limitations
The transmitters can only be connected to the flow path. For process equipment (Valve, Pump etc.)
variables, connected the equipment directly.
How to use
The transmitter is positioned on the flow path, using pipe and section/section boundary or absolute position.
It is possible to use one transmitter to for both PT (volume variable) and UL (boundary variable).
Make the connection between the transmitter, and the receiving signal terminal. Use the Connections view
to set variable name and unit.
After making a connection from the transmitter (ex. OUTSIG_1), a new terminal will be made available (ex.
OUTSIG_2). One transmitter can measure and transmit an arbitrary number of variables (from a single
position).
76
OLGA 6.3 USER MANUAL
Corrosion
The purpose is to calculate standard uniform CO2 corrosion and Top Of Line (TOL) CO2 corrosion.
When to use
CO2 corrosion should be expected whenever CO2 and water is present.
License requirements
The Corrosion Module requires a separate license.
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:
Currently, three CO2 corrosion models; the NORSOK model , the de Waard 95 model and the IFE top-
of-line corrosion model have been implemented in the OLGA three-phase flow model /5/, /8/, /18/. The
de Waard 93 corrosion model was included in earlier versions, but has now been replaced with the top-
of-line corrosion model. Corrosion dominated by H2S is at present not covered by the corrosion module.
The NORSOK and de Waard 95 models are both regarded as conservative models as they include only
limited effects of protective corrosion films. Protective corrosion films can form especially at high
temperature (above 60 °C) and at high pH (above pH 5.5). The corrosion rate will increase with
temperature for both models up to a limiting temperature where formation of protective corrosion films
are predicted. Both models are tuned to a large set of experimental data, but the NORSOK model takes
somewhat larger account for protective corrosion films at high temperature and high pH than the de
Waard 95 model, as more recent high temperature data also have been used.
The NORSOK model gives the corrosion rate as function of pH, temperature, CO2 partial pressure and
wall shear stress:
The de Waard 95 model gives the corrosion rate according to the following formula:
77
Corrosion OLGA 6.3 USER MANUAL
where Vr is the maximum corrosion rate based on the limiting reaction rate given as a function of
temperature, CO2 partial pressure and pH:
Vm is the maximum corrosion rate based on the limiting mass transfer rate given as a function of CO2
partial pressure, liquid flow velocity and hydraulic diameter:
and the scale protection factor Fscale is a function of temperature and CO2 partial pressure:
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:
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:
The flow field at each section along the pipeline/network is used to calculate the corrosion rate.
How to use
For Top Of Line (TOL) corrosion the water condensation rate is needed. This is not available when
using the Black oil model. When using the PVT table option it is only available for a three phase table
and when specifying:
When using compositional tracking (COMPOSITIONAL=ON IN OPTIONS). TOL can only be used when
specifying:
The NORSOK and de Waard models can be used for all PVT calculation options (Black oil, PVT table
and Compositional Tracking).
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:
78
OLGA 6.3 USER MANUAL
• Bubble point pressure , from which the CO2 partial pressure for single phase liquid flow will be
calculated (PTMAX)
Currently, the bicarbonate, glycol concentrations, ionic strength and water wetting limit are given as
constants for a given branch. The glycol concentration can either be set manually or be determined by
the MEG tracking function if available to the user. If the manual option is used, the glycol concentration
is constant through the whole pipeline. If the MEG tracking option is used, the glycol concentration will
be diluted in accordance with water condensation rates.
The water chemistry has a significant influence on the calculated corrosion rates. Experience in CO2
corrosion evaluation is therefore important to prepare input and evaluate simulation results properly.
For both the NORSOK and the de Waard 95 models the pH value in the bulk water phase is calculated
as a function of CO2 partial pressure, temperature, bicarbonate content and ionic strength by the
formulas given in the NORSOK model. The input parameters BICARBONATE and PHSAT can be used
to choose between different water chemistry conditions when calculating the pH value:
• Condensed water without corrosion products: BICARBONATE = 0, PHSAT = OFF
• Condensed water saturated with corrosion products: BICARBONATE = 0, PHSAT = ON
• Water with specified bicarbonate content (e.g. formation water): BICARBONATE > 0, PHSAT =
OFF
The pH calculation is based on the CO2 partial pressure calculated as the CO2 mole % in the gas phase
multiplied by the total pressure. For a situation with no free gas phase the CO2 content will be constant
for pressures above the bubble point pressure. The user must then manually supply the bubble point
pressure (PTMAX), which may be found by running OLGA. The maximum CO2 partial pressure is then
calculated by the code for all pressures higher than PTMAX: CO2FRACTION * PTMAX. This is done
even though free gas is present; the code only checks if the pressure is above PTMAX or not.
Alternatively, the user may set the maximum CO2 partial pressure directly, (PCO2MAX). If no free gas
exists in the pipeline at all, PTMAX or PCO2MAX can be found from measurements or calculations in a
separator or in a pipeline further downstream where a free gas phase exists.
In the de Waard 95 model, corrosion reduction due to protective films is not accounted for when
formation water is present. For ionic strengths larger than 0.2 M, formation water is assumed and there
will be no corrosion reduction due to scaling. For ionic strengths lower than 0.2 M, condensed water
conditions are assumed, and the scaling reduction factor is then dependent on the CO2 partial pressure
and temperature.
The presence of glycol will reduce the corrosion rate. The same glycol reduction factor is used for both
the NORSOK and the de Waard 95 models. The effect of corrosion inhibitors can be specified through
the key INHIBITOREFFICIENCY.
Parameters calculated by the three phase flow model OLGA, which are used by the corrosion models,
are pressure (plot variable PT), temperature (TM), water velocity or mixture water/oil velocity, wall shear
stresses in water or alternatively liquid mixture (boundary variables TAUWWT, TAUWL), water volume
fraction (BEWT), oil film volume fraction (BEHL) and the near-wall water cut (WCWALL, which is given
as a fraction). WCWALL is defined to be 1.0 if there is any continuous water film at the wall. If water is
present only as droplets in the oil film, WCWALL is equal to the liquid film water cut. The liquid film
water cut can be expressed as USLWT/(USLWT+USLHL) where USLWT is the superficial velocity of
water in the liquid film, and USLHL is the superficial velocity of oil in the liquid film.
First, the water-oil flow regime is determined by the flow model. There are mainly two flow regime
conditions of concern for the corrosion model:
79
Corrosion OLGA 6.3 USER MANUAL
1. A continuous water film exists (WCWALL = 1.0). A continuous water film may be a result of
stratification, or due to a water cut above the flow model's water-oil inversion point. The water-
oil inversion point has a default value of 0.5 (water cut = 50%), but may be changed through the
keyword WATEROPTIONS, INVERSIONWATERFRAC. The OLGA code has been verified with
0.5 as inversion point. Please note that changing this value might change the flow predictions
significantly.
2. Water only existing as droplets in a continuous oil film. For such cases, the water cut must be
below the flow model's inversion point (0.0 < WCWALL < INVERSIONWATERFRAC < 1.0)
This flow information is sent to the corrosion module where tests are performed to determine if water
wetting occurs:
Condition 2 will give water wetting if the water cut (and WCWALL converted to %) is above the water
wetting limit, WCWET, given in the CORROSION keyword (default value 30 %).
For slug flow (output variable ID = 3), both conditions might be occurring intermittently, i.e. a passing
slug bubble might be in condition 1, while the liquid slug might be in condition 2 or vice versa. Such
cases are treated as full water wetting (condition 1).
To sum up, the case of no water wetting can only occur in condition 2 when the liquid film water cut (and
WCWALL in %) is less than the water wetting limit (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.
Limitations
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.
80
OLGA 6.3 USER MANUAL
Drilling Fluid
Drilling fluids were originally developed to describe the different inert fluids that are used in drilling
operations. For example, muds of different densities can be pumped into the well during the drilling
operation. In underbalanced drilling Nitrogen gas (N2) can be used as lift gas to create the underbalanced
operation. Common to these fluids is that they remain in a single phase during the entire operation
envelope. In OLGA these fluids therefore belongs to a predetermined phase. OLGA then tracks the
amounts of the different drilling fluids in the gas, oil and water phases along the pipeline and calculates
the phase densities and viscosities by assuming ideal mixing together with the production fluid. As these
inert fluids were first developed for drilling operations, they were named drilling fluids. The production
engineering simulators were quick to make use of the drilling fluids to simulate dead (stabilized) oil
circulation in deep water oil production loops. In well applications drilling fluids are used to simulate well
clean-up, well work over and initial start-up of well after completion. In on-line and engineering simulators
drilling fluids are also used to simulate MEG distribution systems.
In OLGA it is possible to combine drilling fluids and MEG tracking, MEG is tracked as a separate
component. It is assumed that a defined drilling fluid is completely miscible with the specified
predetermined phase to and immiscible with the fluids in the other phases. Therefore this option is
suitable for displacement of different fluids of low volatility.
When to use
The drilling fluids can be used when it is desired to track one or more fluids of low volatility (in addition to
the production fluid) simulating one fluid displacing another. In drilling applications the inert fluids can be
oil and water based mud and nitrogen for gas lift in underbalanced drilling. In well operation drilling fluid
is useful for simulating gas-lift of wells, well clean-up, well work over and initial start-up of well after
completion. Typical examples from flow assurance engineering are dead (stabilized) oil circulation in
deep water production loops, gas lift of deep water risers and simulating MEG distribution networks for
gas condensate production systems.
License requirements
Drilling and its associates are parts of the Wells Module that requires a separate license.
The masses of the individual drilling fluids are tracked along the flow paths. The physical properties of
the drilling fluids and process fluid mixture are calculated based on the assumption of ideal mixture. The
solubility of the drilling fluid into other phases than the miscible phase is neglected. The drilling fluids do
not affect the phase behavior/envelope of the process fluids.
Built in correlations
When the built-in correlations are used, the code uses the following sixteen fictitious components to
keep track the amount of mixing of different drilling fluids:
81
Drilling Fluid OLGA 6.3 USER MANUAL
How to use
In order to invoke the Drilling Fluids, the key DRILLING in the OPTIONS keyword must be set to ON, e.g.
CaseDefiniton OPTIONS DRILLING = ON. Once the DRILLING option has been turned on, it cannot be
turned off in a subsequent restart from a RESTART file.
Drilling fluids are defined on Library level through use of the DRILLINGFLUID keyword. The drilling fluid
type must be set to gas, oil or water, e.g. TYPE = GASMUD, OILMUD or WATERMUD. The drilling fluid
type determines which phase the drilling fluid enters.
The drilling fluid properties can be identified through a fluid property table in the *.tab file, use the
FLUIDTABLE key to refer to the *.tab file that contains the drilling fluid properties. The fluid properties
table referred must contain all liquid properties normally present in a *.tab file. A drilling fluid FLUIDTABLE
is normally generated using PVTsim. But the generated PVTSim tables cannot be used directly they need
to be converted using the Mud Property Table application available in the tools menu. Alternatively the
Fluid Definition Tool available through the Wells GUI can be used.
Built in correlations
The built in correlations for drilling fluid density and viscosity can be specified using the keys,
MAXDENSITY, MINDENSITY, MAXVISCOSITY, and MINVISCOSITY. These keys denote the drilling
fluid density and viscosity at standard conditions. Based on these standard properties, the density and
viscosity at in-situ temperatures and pressures are calculated by correlations. Units of conversions of
these drilling fluid properties are supported, so a valid density unit (such as LB/FT3) or viscosity unit
(such as CP) must follow the density and viscosity specifications.
82
OLGA 6.3 USER MANUAL
flow. In addition, the drilling fluid used must be identified by label, along with its density and viscosity.
This label, density, and viscosity must be consistent with the label and the density, viscosity ranges
specified in the DRILLINGFLUIDS keyword.
It is also possible to push drilling fluid into the model through a pressure boundary, e.g. NODE keyword.
The drilling fluid used must be identified by label in the NODE keyword. The drilling fluid label, density
and viscosity in the must be consistent with the label and density, viscosity ranges specified in the
DRILLINGFLUID keyword.
Output variables
A number of drilling mud variables can be plotted as either TREND or PROFILE variables. A
comprehensive list can be found on Drilling output variables.
Additional information
83
Elastic walls OLGA 6.3 USER MANUAL
Elastic walls
The purpose of the elastic wall option is to account for radial pipe flexibility in simulations involving
pressure surges due to sudden changes in liquid velocity. This pressure increase, commonly known as
water hammer, can be significantly reduced if the pipe is allowed to expand. The expansion will also
reduce the propagation speed of pressure waves.
The magnitude of influence from the wall flexibility can be measured by the ratio of the fluid
compressibility, κfluid, and wall flexibility, κwall. If κwall/κfluid << 1, the effect of wall flexibility can safely be
assumed to be small. However, if κwall/κfluid > 0.2, the simulation results based on rigid walls may be very
conservative. The following figure illustrate the effect when the compressibility ratio is approximately 0.5.
The case is a water filled 5 km horizontal pipe, with a diameter of 20.8 cm and a 9 mm thick steel wall.
The fluid is flowing with a velocity of 4 m/s before a near instantaneous closing of a valve is performed 6
seconds into the simulation. To monitor the water hammer, the pressure in the section upstream of the
valve is plotted. The simulation is performed both with and without flexible walls (red and black curve
respectively) .
The effect of the flexible pipe is most pronounced in the instantaneous change in pressure that occurs 6
seconds into the simulation. This is the actual water hammer that will be discussed subsequently. After
the initial hammer, a period of packing can be observed. In this phase, the flexible wall behaves much in
the same manner as the rigid wall. However, it should be observed that the packing phase is prolonged
and the total pressure increase due to packing is actually higher in the case with flexible walls.
Theoretical comparisons
84
OLGA 6.3 USER MANUAL
In a perfectly rigid pipe, the theoretical hammer pressure is usually derived from the Joukowsky
equation:
ΔHmax = Δc a / g (a)
where
H - head in meters
a - speed of propagation of the disturbance (speed of sound)
g - acceleration of gravity
Δc - change in velocity
In terms of the pressure, this equation becomes:
ΔPmax = Δc a ρ (b)
For slow closing valve action the following equation is often used.
ΔP = 0.07 v L / t (c)
where ΔP is the change in pressure given in psi, v is the fluid velocity [ft/s], L is the pipeline length [ft]
and t is the valve closing time [s]. This relation assumes incompressible fluid and tends towards infinity
at small t.
Given that the valve closing time is small enough, simulated results in OLGA without elastic walls will be
comparable to the Jukowski equation. It should be noted that the total pressure increase in the pipeline
computed by OLGA may be higher than the maximum theoretical water hammer. This is because the
momentum of the upstream fluid will continue to pack the pipeline after the valve is fully closed. For
longer closing times, effects such as packing of pipeline before the valve is fully closed may give rise to
an additional increase in pressure that is not accunted for in either Equation (b) or Equation (c).
When to use
The elastic wall option should be used when sudden changes in pressure is to be expected and the fluid
is near incompressible. These cases may include liquid dominated systems with sudden changes in
valve opening, start up or shut down of pumps or jumps in source mass rates. In situations with liquid
shut-in, the elastic wall option can also be used to dampen the effect of volume error induced pressure
changes.
It is up to the User's discretion to verify that these assumptions are valid when using the elastic wall
option in OLGA.
85
Elastic walls OLGA 6.3 USER MANUAL
When simulating flexible pipes, OLGA accounts for both changes in flow area and more importantly, the
effect the flexibility has on the overall compressibility of the pipe-fluid system. In the pressure evolution
equation solved by OLGA, this amounts to using a modified compressibility, κeff:
(a)
∑ (b)
and κwall is the change in relative pipe area, A, for a unit change in internal pressure:
(c)
The pressure equation is also modified to account for the modified area. If the initial assumptions hold,
the effect on the flow will be marginal but its inclusion is mandated by the need for a consistent
calculation of the volume error. The updated area is calculated as follows:
1 (d)
where R0 is the given radius of the pipe and ε(P) is relative change in radius, dependent on the internal
pressure, P, and external pressure, Po:
(e)
When OLGA is used to calculate the flexibility of the pipe, the thick wall equation is used:
∑ E ln (f)
where i is the wall layer index and Ri is the inner radius of wall layer i. Using Equations (c) and (f) along
with assumption 3, we get:
2 (g)
If κ is specified in the input to OLGA, Equation (g) is used to compute an equivalent value for γ, which will
then be used in Equations (d) and (e).
The external pressure, Po, is taken to be the pressure in each OLGA section when the simulation starts
(after steady state preprocessor or initial conditions). This will lead to an initially undeformed state. In
order to get consistent results in restart, given that the elastic properties may change, the deformations in
the previous run are automatically converted by OLGA to an initial (constant) strain:
(h)
εinitial is the initial relative change in radius, given by the deformation in the previous run. Thus, a wall may
be deformed, but not flexible, in a restart run even if flexible walls are turned off.
86
OLGA 6.3 USER MANUAL
How to use
The elastic wall option is activated at a global level with the key OPTIONS.ELASTICWALLS = ON/OFF. If
OPTIONS.ELASTICWALLS = OFF, all walls are treated as inflexible (infinitely rigid). However, if this key
is set to ON, individual WALLS are treated as flexible/inflexible depending on the value of the key
WALL.ELASTIC = ON/OFF. If OPTIONS.ELASTICWALLS = ON, the Young's modulus of elasticity will be
a required key for materials (MATERIAL.EMOD).
There are two methods available for the elastic properties of a wall (when WALL.ELASTIC = ON)
1. Default option: Let OLGA compute the flexibility of the wall based on the radius of the pipe and
material properties of the wall layers. If this option is used, OLGA will omit any wall layer that has
a material with a Young's modulus less than WALL.ERATIOMIN times the Young's modulus of
the inner adjacent wall layer. All subsequent wall layers will also be excluded. This is because the
thickness of the wall is assumed to be unchanged and the wall flexibility can be significantly
underpredicted if the contribution from a very rigid wall layer, placed outside a very flexible wall
layer, is included (see Figure A).
2. User given flexibility: The wall flexibility may be specified with the key WALL.KAPPA. This option
is particularly useful when the equation used by OLGA is not valid. This may apply when the wall
is stiffened with braces, surrounded by soil or encased by a flexible medium. This may also apply
if a significant part of the wall rigidity can be attributed to axial stresses or other 2nd order effects.
Figure A: Insulated pipe. If the stiffness of the steel protective casing is included, the wall flexibility will be
very conservative.
Hydrate Check
87
Hydrate Check OLGA 6.3 USER MANUAL
This module is used to get information on possible formation of hydrates. The user can specify hydrate
formation curves for each flowpath that should be investigated.
When to use
HydrateCheck should be used when there is a risk of reaching the temperature/pressure region where
water can form hydrates.
2 For a given pressure and inhibitor concentration in a section, the pressure above where hydrate
may form is determined from the hydrate formation curve. The difference between the fluid
pressure and the hydrate formation pressure is then calculated, i.e. the volume variable
DPHYD is updated.
3. The positions and the values of the maximum temperature and pressure differences for hydrate
formation are calculated, i.e. the branch variables MDPHYD, MDPPOS, MDTHYD and MDTPOS
are updated.
When hydrate curves for different inhibitor concentrations (HAMMERSCHMIDT = OFF) are used, the
four sides are the highest/lowest temperature and highest/lowest pressure of the hydrate curves. All
hydrate curves are extrapolated so they reach two of the square sides as illustrated in the figure below
for INHIBCONC = 0%, INHIBCONC = 20% and INHIBCONC = 40%.
For HAMMERSCHMIDT = ON the highest/lowest pressure is defined by the hydrate curve for the
inhibitor concentration of 0%, while the highest/lowest temperature depends on the actual inhibitor
concentration (Hammerschmidt).
88
OLGA 6.3 USER MANUAL
Figure AHydrate curve square with different pressure/temperature conditions. Condition 1 and 2 has an
inhibitor concentration of 40%, while Condition 3 has 0%.
When OLGA computes DPHYD and DTHYD it uses the inhibitor concentration and the pressure and
temperature in the section. See Condition 1 in the figure above.
If HAMMERSCHMIDT = OFF it is checked whether the inhibitor concentration in a section is within the
range given by the hydrate curves. If it is above the highest inhibitor concentration, the hydrate curve for
the highest inhibitor concentration is used. If is below the lowest inhibitor concentration, the hydrate
curve for the lowest inhibitor concentration is used. If the inhibitor concentration in the section is
between two hydrate curves, OLGA interpolates the two hydrate curves to generate a new hydrate
curve for the inhibitor concentration in the section.
When DPHYD is computed, the temperature in the section is used to find the hydrate pressure for the
given inhibitor concentration. If the temperature in the section is inside the square and no match is
found, the highest hydrate pressure is used if the temperature is to the right of the hydrate curve
(Condition 2) and the lowest is used if it is to the left (HAMMERSCHMIDT = OFF only; hydrate pressure
always defined within the square with ON). If the temperature in the section is to the right of the square
(Condition 3) the highest pressure in the square is used as the hydrate pressure. When the temperature
in the section is to the left of the square the lowest pressure in the square is used as the hydrate
pressure.
When DTHYD is computed, the pressure in the section is used to find the hydrate temperature for the
given inhibitor concentration. If the pressure in the section is inside the square and no match is found,
the highest hydrate temperature is used if the pressure is above the hydrate curve (Condition 3) and the
lowest is used if it is below (HAMMERSCHMIDT = OFF only; hydrate temperature always defined within
89
Hydrate Check OLGA 6.3 USER MANUAL
the 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 A are not well defined for conditions 2, 3
and 4 (especially the hydrate curve for 0%). Also, it is recommended to always include the hydrate
curve for an inhibitor 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 inhibitor concentrations above/below the given values, as well.
Limitations
For Compositional Tracking, the INHIBITOR must be defined in the FEEDFILE before it can be selected
in the HYDRATECURVE.
The Hammerschmidt equation (used when HAMMERSCHMIDT = ON) is only valid for inhibitor
concentrations below 70%. The inhibitor concentration can be verified by plotting e.g. MEGMFR.
How to use
Define the hydrate formation curves with the HYDRATECURVE keyword in the Library section.
In each flowpath, use the HYDRATECHECK keyword to specify a list of hydrate curves to apply. Each
HYDRATECURVE specified in a flowpath must have a unique inhibitor concentration (INHIBCONC).
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 an inhibitor on the hydrate formation temperature can be calculated. This requires the
Inhibitor tracking module or the Compositional tracking module with an inhibitor defined in the FEEDFILE.
Note that changes in the composition (except the specified inhibitor) do not affect the hydrate curve
calculations.
90
OLGA 6.3 USER MANUAL
Hydrate Kinetics
The hydrate kinetics model (CSMHYK) allows for the prediction of where and approximately where
hydrate plugs will form in oil and gas pipelines. The current version of CSMHYK model (version 1) is
more suitable for systems with small mass and heat transfer resistances inside of the pipeline.
When to use
Include the hydrate kinetics if the pipeline temperature is close to the hydrate formation temperature. If
the temperature drops sufficiently below the hydrate equilibrium temperature hydrate will be nucleated.
The formation of hydrate will affect both the temperature of the pipeline and the pressure drop due to
increased viscosity of the hydrate-oil slurry relative to oil viscosity.
License requirements
The Hydrate Kinetics Module requires a separate license.
The hydrate formation reaction will by default react gas (methane) hydrocarbons with liquid water to
form hydrate particles (OILGUESTFRACTION=0 and GASGUESTFRACTION=1).
The HYDRATEKINETICS key GASGUESTFRACTION is the mass fraction of gas available for hydrate
formation to all the gas in a section, mg, i.e.,
(a)
The HYDRATEKINETICS key OILGUESTFRACTION is the mass fraction of oil available for hydrate
formation to all the oil in a section, m0.
The hydrate reaction rate is limited to the mass available to react. First the gas mass will react, then the
oil mass will react.
Flow model modifications
By default the hydrate particles will flow with the oil film. That is; the hydrate velocity will be the same as
for the oil film (COIL=1 and CWATER=0, denoted Co and Cw, respectively). But it is possible to relate
the hydrate velocity to both the oil and water velocity, uof and uwf, respectively, according to
(b)
An effective hydrate oil slurry viscosity, γhos, is calculated by the Colorado School of Mines code:
1 (c)
91
Hydrate Kinetics OLGA 6.3 USER MANUAL
It is possible to force a drift flux relation between the gas velocity, ug, and the volume average liquid
velocity, ul by using the DRIFTFLUX, VELOCITYRATIO and DRIFTVELOCITY keys:
· (d)
It is also possible to increase the drag between gas and liquid by using the FOGEXPONENT key:
(e)
The FOGEXPONENT will reduce the velocity difference between gas and liquid when hydrate particles
are present.
By using the FULLDISPERSION key, no slip between oil film and water film is used in the simulation.
Limitations
The model is still in the research phase, and the initial emphasis has been on flowing liquid dominated
systems with excess of water and gas for hydrate formation. Future versions will likely also address gas
dominated systems and include a deposition mechanism. Special care should be taken when using the
model since the model has only been validated against limited data sets. Further, it is not designed for
shut-in and depressurization studies.
The hydrate particles are uniformly distributed in the oil phase. The hydrate equilibrium is pre-calculated
and the kinetic model developed for methane is adapted.
How to use
The hydrate kinetics model is activated through the HYDRATEKINETICS keyword.
HYDRATEKINETICS keyword is a FlowPath FA-Model (Flow Assurance Model).
92
OLGA 6.3 USER MANUAL
Inhibitor Tracking
The Inhibitor tracking module allows for tracking of the contents of a hydrate inhibior in the pipeline. The
module allows the choice between three inhibitors; MEG (mono-ethylene glycol), MEOH (methanol) or
ETOH (ethanol).
When to use
An important application of this module within flow assurance, is using it to ensure that the amount of
hydrate inhibitor throughout the pipelines is sufficient to prevent the formation of hydrates. In the
standard three-phase model of OLGA, the pipeline may contain water and inhibitor, but information
regarding the inhibitor concentration along the line is not available.
License requirements
The Inhibitor Tracking Module requires a separate license.
• MEG is only present in the aqueous phase. Water will be in both gas and aqueous phase.
• The only properties of the aqueous phase affected by MEG are the viscosity, the density, and
the density’s derivatives.
• The water vapour content in the 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 inhibitor tracking module is not aware of any special physics the user may have activated,
and hence may not work properly in combination with e.g. Wax or Corrosion. However, it should
work with all the features of basic OLGA.
• The inhibitor tracking module must be used with a two-phase fluid table or with a three-phase
fluid table that has only H2O in the water phase.
• MEOH/ETOH does not effect flashing between gas and oil. This flash is calculated based upon
the gas mass fraction from the PVT table.
• There is no hydrocarbon component dissolved in the water.
• The mole fraction of MEOH/ETOH in gas is equal to the vapor pressure divided by the system
pressure.
• The active coefficients of MEOH/ETOH and H2O from UNIFAC correlations are used to
calculate the chemical potentials of MEOH/ETOH and H2O in the aqueous phase.
At each time step the properties of the aqueous phase are calculated from the local pressure and
temperature, and also from the fluid composition in each section of the pipeline. The effects of the
inhibitor are 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 inhibitor-water mixture, and the
Hankinson-Brobst-Thomson (HBT) technique yields an estimate of the liquid density. Descriptions and
93
Inhibitor Tracking OLGA 6.3 USER MANUAL
formulae for the Grunberg and Nissan method and the HBT technique can be found in the open
literature, see /35/.
The effect of inhibitor can also be included in the calculation of the hydrate formation temperature. The
user can either specify a hydrate curve for each inhibitor concentration and let OLGA interpolate
between the values, or the Hammerschmidt formula for hydrate depression (/19/) can be used (the
equation is valid for inhibitor concentrations between 0% and 70%):
∆ (a)
∆ (b)
ΔT = Hydrate depression, oF
M = Molecular weight of inhibitor (MEG: 62.069 g/mol, MEOH:
32.042 g/mol, ETOH: 46.069 g/mol)
H = Hammerschmidt constant, default value is 2335 delta F
W = Weight per cent of the inhibitor in the liquid
TMEGCONC = Calculated hydrate temperature
TMEGCONC=0 = Hydrate temperature for no inhibitor
For the other properties of the aqueous phase, the effects of the inhibitor are neglected and pure water
properties from the three-phase fluid table or from OLGA are adopted.
Limitations
Inhibitor tracking is turned on through the COMPOSITIONAL keyword and cannot be used in
conjunction with the other modules available through this keyword (e.g. Blackoil or Compositional
Tracking). Furthermore, it cannot be used with Wax tracking. Please also see the list of assumptions in
Methods and assumptions.
How to use
With the Inhibitor tracking module, one can specify a hydrate inhibitor (one of MEG, MEOH, or ETOH) to
see the effect this will have on the formation of hydrates in the pipeline.
Note that either INHIBFRACTION or TOTALINHIBFRACTION can be given. The former is the mass
fraction of the inhibitor in the total aqueous phase; the latter is the mass fraction of the inhibitor in relation
to the total aqueous phase + water vapour.
94
OLGA 6.3 USER MANUAL
Leak
The leak is a negative mass source. It removes mass from the pipeline.
The leak can transport mass between two pipelines. The leak outlet must then be connected to another
pipeline.
When to use
Use to simulate leaks and pipe ruptures. It is also used for gas lift valve (GLV) modeling.
π 2
ALEAK = u s D LEAK , 0 ≤ u s ≤ 1
4
where us = controller signal ( 0 ≤ us ≤ 1).
The leak uses the valve model. See Choke Methods and assumptions.
It is possible to route the flow through the leak to any pipe section in any branch by using the subkey
TOPOSITION, in which case backflow is allowed.
Limitations
The leaks are not included in the steady state pre-processor.
Backflow is not allowed when the BACKPRESSURE key is used, that is, there will be no backflow if the
section pressure is lower than the given backpressure.
The leak uses the valve model. See valve limitations.
How to use
Position the leak. Leaks can be placed anywhere along the pipeline.
A LEAK has 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 in this case as the backpressure is equal to the pressure in
the section defined in TOPOSITION.
Backflow is not allowed for functionality 1, that is, there will be no backflow if the section pressure is
lower than the backpressure.
95
Leak OLGA 6.3 USER MANUAL
For functionality 2 backflow is not allowed if GASLIFTTABLES is used. GASLIFTTABLES defines the
gas lift valve (GLV) response curve. Backflow is allowed if CD/DIAMETER or TABLE/PHASE/CF is used
instead.
Note: GASLIFTTTABLES can also be used for functionality 1. See Gas Lift Valve (GLV) for information
about GLV’s.
If the flow through the leak is calculated using CD/DIAMETER or TABLE/PHASE/CF, the flow area of a
leak can be manipulated by a controller. Connect a controller to the leak input signal terminal INPSIG. If
no controller is connected to the leak, the entire flow area is used. See Valve How to use for details.
96
OLGA 6.3 USER MANUAL
Near-Wellbore
Conventional dynamic well flow models use steady-state IPRs (Inflow Performance Relationship) to
describe the influx of oil and gas from the reservoir, ignoring the transients in the near-wellbore area.
Furthermore, reservoir models use steady-state lift curves to represent the TPRs (Tubing Performance
Relationship), which ignores the wellbore flow dynamics. Neither the well models nor the reservoir
models can account for the dynamic wellbore/reservoir interactions.
In OLGA the IPR is described with the WELL keyword. With this model some transient phenomena in
the well are not accurately predicted while others are not predicted at all. To bridge this modeling gap,
the near-wellbore reservoir model Rocx has been developed and linked to OLGA.
When to use
This link should be used when transient phenomena in the wellbore/reservoir are studied. Typical
examples are:
• Well Shut-in/start-up
• Onset of instability
• Dynamic gas/water coning
• Well loading and back seepage
• Cross flow
License requirements
Near wellbore is part of the ROCX Module that requires a separate license.
The near-wellbore reservoir model, Rocx, is capable of simulating three-phase Newtonian Darcy flow in
porous media. The flow equations are solved in three dimensions, giving saturations and pressures
varying in space and time as output in addition to the flow rate of each phase at the boundary.
The numerical coupling between OLGA and Rocx is implemented in an implicit scheme. The concept of
the implicit coupling here is that Rocx calculates a sensitivity coefficient for the production rate with
respect to the wellbore pressure at each time step and makes it available for OLGA. At the next time
step, OLGA uses this sensitivity coefficient to determine the new wellbore pressure. The sensitivity
coefficient is extracted from the Jacobian matrix of the reservoir model in the last iteration. The size of
the near-wellbore domain contributing to the rate-pressure sensitivity calculation is specified by the
coupling level that can be given as a simulation input.
1. Assuming the models have been integrated up to time step n, the wellbore model begins
integration to time step n+1 by requesting the reservoir model to calculate the sensitivity
coefficients and , which are used in this relation:
(a)
97
Near-Wellbore OLGA 6.3 USER MANUAL
where PP is the pressure in the wellbore, MP is the mass flow rate for each phase and the
subscript p refers to a given phase, i.e. gas, oil or water.
2. The wellbore model uses the above relation as a boundary condition and solves for the
complete wellbore. The wellbore model has now completed time step n+1 and sends and
to the reservoir model.
3. The reservoir model completes its time step n+1 calculation by using the wellbore model
supplied boundary condition.
which can be analytically derived from the reservoir model equations. is simply given by
(c)
With this implicit coupling implementation, the integrated model can run simulations with relatively long
time steps while maintaining numerical stability.
Limitations
OLGA Rocx is not compatible with these fluid property models
o Compositional option
o Black oil option
Rocx uses the OLGA PVT table for looking up fluid properties. Currently, only the three-phase fixed
format OLGA PVT table can be used.
The steady-state pre-processor in OLGA can not be applied in the integrated simulation. The simulation
can be initialized by initial conditions or restart files. Rocx has its own restart file with the extension .rrs.
Other limitations on the Rocx reservoir simulator are given in the ”Rocx User Manual”.
How to use
Rocx is linked to OLGA through the NEARWELLSOURCE keyword.
Rocx supports both radial and rectangular grids. The numerical and physical kernel code is not affected
by the choice of grid. The flow and thermal equations of Rocx are solved fully implicitly, using the
Newton-Raphson iterative method at each time step.
Input data to Rocx are permeability and porosities of the porous medium, fluid transport properties, and
thermal properties of the rock and fluids. Necessary boundary and initial conditions must be given to
enable simulation. Like in OLGA, the boundary conditions of the reservoir model can also be specified
in time series. Rocx reserves the skin option for the situation when the inflow deviation from its ideal can
not be properly accounted for by the reservoir model itself, e.g. the perforation skin.
The simulation input information is stored in a keyword based text file. Standard industry file formats are
used for output. More details of the Rocx model can be found in the ”Rocx User Manual”.
98
OLGA 6.3 USER MANUAL
When to use
The phase split node is recommended to be used in a finger type separator and in nodes where the
in/over pipe connections where the phases tend to have an uneven split.
When the volume fraction of the connected phase(s) is sufficiently low(0.01), the flow in the outgoing
branch will be as from an internal NODE.
Limitations
The phase split node is not intended for design purposes. It only distributes the phase fractions in the
outgoing branches according to the user defined type of terminals chosen:
• The phase split node is only treated as a simple volume tank with no internal separation
equipment
• There are no level controls and no separator efficiencies
• No heat exchange with the surroundings
How to use
Input
Internal volume
If the volume is not given, it will be default assigned a value by OLGA. In some cases it might be more
useful to give a larger value for the key VOLUME in order to get more stable node conditions during the
simulations.
99
Phase Split Node OLGA 6.3 USER MANUAL
Output
All of the output variables specified under section “VOLUME VARIABLES” that are available for the
internal NODE are also available for the phase split node.
100
OLGA 6.3 USER MANUAL
Pig
A pig is a mechanical device which is inserted into a pipline that moves with the flow. Such devices can
be used for, e.g., inspection, internal cleaning, or pushing liquid out of the pipe. When running a pigging
operation, parameters of interest are
When to use
The Pig keyword is used to simulate various pigging scenarios.
License requirements
Tracking of the liquid slug in front of a pig (TRACKSLUG=ON) is part of the Slugtracking Module that
requires a separate license.
101
Pig OLGA 6.3 USER MANUAL
max 0, | | · (a)
where
= static friction force [N]
F0
= wall friction factor [Ns/m]
Fw
= pig velocity [m/s]
Up
As the pig velocity, Up, increases, the wall friction force decreases due to less contact between the pig
and the pipe wall. This effect is approximated by the wall friction factor.
f UP f UP |UP | (b)
where
f = linear friction factor [Ns/m]
quadratic friction factor
f =
[Ns2/m2]
Up = pig velocity [m/s]
Leakage
There are two different types of leakage.
∆
· ∆ (c)
where
cpl = leakage factor [-]
pressure drop over the pig
ΔPpig =
[Ns2/m2]
ρ = density [kg/m3]
(d)
where
Up = pig velocity [m/s]
102
OLGA 6.3 USER MANUAL
(e)
where
inner pipe diameter
D =
[m]
outer diameter of pig
Dp =
[m]
By default, the gap between the pig and pipe wall is equals two times the pipe roughness. The user can
override this setting by specifying the pig diameter using the key DIAMETER.
The total volumetric leakage flow rate is split over the oil, water, and gas phases. For stratified flow, the
total leakage of gas, oil, and water is proportional to the hold-up each respective phase at that position.
For all other flow regimes, gas leakage is not allowed and the total leakage is split over water and oil in
proportion to the local water and oil hold-up, respectively.
1 Φ (c)
Where
The wax breaking force coefficient, C, can be used to account for the effective shear surface orientation.
C=1 implies that the wax layer shear surface is normal to the wall whereas C=√2 can be interpreted as
an effective shear surface forming a 45° angle against the wall. The coefficient can also be used to tune
the yield stress if, e.g., wax layer yield stress measurements or estimates are available.
7.876 10 · 1 (d)
This equation is derived from the viscosity equation used in PVTSim 16 from Calsep.
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 affect the rheological properties of the fluid near the pig. An estimate of
the friction effects caused by the interaction between the wax plug and the pipe wall is evaluated using
the following procedure:
103
Pig OLGA 6.3 USER MANUAL
1. Find the wax plug friction length by searching along the pipeline for existing suspended wax
(bounded by the accumulated amount of wax stripped from the wall), accounting for the wax plug
porosity. The wax plug length depends on the pig leakage factor. If there is full flow through the
pig, the wax plug friction length is set to zero. If there is no leakage, the full length of the wax plug
is used. Interpolation is applied for any intermediate situations.
2. The wall shear stress for the wax plug is calculated by using standard correlations for Bingham
plastics /22/ and the PVTSim 16 version of the Pedersen/Rønningsen effective viscosity model.
The standard Bingham correlations are used to calculate the shear stress as a function of
average velocity. The internal effective viscosity model may be used to find the yield stress and
plastic viscosity for a given suspended wax fraction according to
· ·
· exp ·Φ (e)
where
The plastic viscosity is found by setting the shear rate, dνx/dy=1000 1/s whereas the yield stress
is found through equation (d) above using the porosity of the wax plug in front of the pig instead
of the wax porosity. The yield stress and plastic viscosity are then used in the Bingham related
equations to calculate the friction forces acting on the pig and wax plug.
In the transition from non-Newtonian to Newtonian turbulent flow (Hedstrøm number between
1000 and 2000), splines are used in order to get a smooth transition between the friction factors
calculated using the Darby and Melson formula /22/ (applied for Hedstrøm number > 2000) and
Haaland’s formula /23/ (applied for Hedstrøm number < 1000).
Due to the upper bound on the effective viscosity, the wax plug shear stress is taken as the
maximum of the yield stress and the shear stress from the Bingham friction calculations.
3. The resulting frictional force is applied directly to the pig since the wax plug does not enter the
model explicitly but only as an "effective friction length."
Note, 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 as compared to the friction generated
104
OLGA 6.3 USER MANUAL
by the "virtual" wax plug. Furthermore, the gravitational effects of a wax plug are assumed to be taken
into account by the standard scheme.
· · · ⁄ (f)
where Up is the pig velocity [m/s], mwxw is the average wax mass on the wall in the control volume
[kg/m3], A is the cross-sectional pipe area [m2], and η is the pig wax removal efficiency [-]. The mass
removed from the wall is added to the fluid downstream the pig.
Limitations
• The calculation of the volume of wax dislodged by a pig and the additional forces required to
push accumulated wax ahead of a pig is not available.
• It is not possible to simulate the melting of a hydrate plug since the pig mass is constant.
• It is not possible to simulate a pig traversing through a pipeline at the same time as slug
tracking is enabled.
How to use
General
A pig is added to the simulation by declaring the PIG keyword on the flow-path where it is to be inserted.
Leakage factor
The leakage factor, cpl, used in determining the volumetric flux of liquid from behind the pig to in front of
it can be specified in three different ways in order to override the default value:
105
Pig OLGA 6.3 USER MANUAL
The pressure loss coefficient can calibrate by letting fluid flow past a stationary pig.
Output
Pig specific plotting variables are found in the subgroup Pig of the group Basic. In addition, slug related
plotting variables (group SlugTracking or group Compositional, subgroup Slug) apply when the liquid
slug in front of a pig is tracked.
106
OLGA 6.3 USER MANUAL
Process Equipment
Check Valve
A check valve prevents the total flow from flowing in the wrong direction.
When to use
Use to model check valves, and to prevent the flow from flowing in an undesirable direction.
Limitations
A check valve close if the total volume flow is in the wrong direction, but there can be a negative flow of
liquid and positive flow of gas through the check valve.
How to use
Position the check valve at any section boundary in the pipeline. If ABSPOSITION is used the check
valve will be moved to the closest section boundary.
107
Process Equipment OLGA 6.3 USER MANUAL
Compressor
A compressor is included to increase the pressure of the gas. The compressor is described by
compressor characteristics that give the pressure and temperature increase over the compressor as a
function of flow through the compressor and the rotational speed of the compressor. The compressor
characteristics also give information about the minimum inlet flow (surge flow) that the compressor can
operate on. If the inlet flow drops below the surge flow multiplied by a safety factor, a recirculation loop
around the compressor is opened. The recirculation loop secures stable conditions for the compressor.
A heat exchanger (cooler) can be included in the recirculation loop.
The compressor characteristics and the surge volume flow are given in the form of tables. The
compressor surge volume flow is the lowest volume flow the compressor can operate on without
becoming unstable. Compressor data needed for the model are found by linear interpolation in the
compressor tables.
Pressure increase and derivatives of pressure increase are calculated from the pressure characteristics
and are used for setting new coefficients in the momentum equations. Temperature increase is
calculated from the temperature characteristics and is used for setting new coefficients in the energy
equation.
The compressor speed and the recirculation around the compressor are governed by the control
system. In addition, the compressor speed is limited by a user-specified range. The surge volume flow
calculated from the compressor tables is used together with an optional security factor to establish a set
point for the controller that controls the recirculation around the compressor.
It is assumed that during operation the control system keeps the compressor within the bounds of
validity of the characteristics.
p2
π= = f (R, S ) (a)
p1
where
= (-) is the pressure ratio
p1 = (N/m2) is the inlet pressure
p2 = (N/m2) is the outlet pressure
G = (kg/s) is the mass flow
108
OLGA 6.3 USER MANUAL
0.5
R = GΘ
(kg/s) is reduced inlet mass flow
δ
T1
Θ = (-) is normalized inlet temperature
288 K
p1
δ = (-) is normalized inlet pressure
1.013 ⋅ 105 Pa
r
S = (rpm) is reduced rotational speed
Θ 0.5
r = (rpm) is rotational speed
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.
where r 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.
109
Process Equipment OLGA 6.3 USER MANUAL
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:
W
H c = PW c (c)
Δz
where W is the mass flux through the compressor and Dz is the section length of the section
downstream of the boundary where the compressor is located.
For an inlet at pressure p1 and a density of r1, the power required for compression to an outlet pressure
p2 is:
⎡ n −1
⎤
n ⎢⎛ p2 ⎞ n
1
PWc = p1 ⎜⎜ ⎟⎟ − 1⎥ (d)
⎢
ρ1 n − 1 ⎝ p1 ⎠ ⎥
⎢⎣ ⎥⎦
The relation between pressure ratio, temperature and the polytropic exponent n is:
n −1
T2 ⎛ p2 ⎞ n
=⎜ ⎟
T1 ⎜⎝ p1 ⎟⎠
(e)
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 (f).
n − 1 ln(T2 T1 )
= (f)
n ln( p2 p1 )
For a compressor located at boundary j the surge volume flow is calculated as follows:
0.5
⎛ Θ 0.5 ⎞ p j −1 ⎛ 288 ⎞
⎜⎜ G ⎟⎟ ⎜ ⎟
5 ⎜ ⎟
⎝ δ ⎠ surge 1.013 ⋅ 10 T
⎝ j −1 ⎠
Qsurge = (g)
ρ j −1
110
OLGA 6.3 USER MANUAL
The recirculation is between two neighbouring sections with a compressor on the common boundary,
see Figure B. Only gas is allowed to flow in the recirculation loop. The recirculation flow is treated as a
source into the section volume ahead of the compressor boundary, and a source out of the section
volume after the compressor boundary.
The pressure drop across the restriction is equal to the pressure difference between the sections
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 value, the critical
value is used.
Solving for W:
2
⎛D ⎞
W = ± (2 ρ g Δp ch )
0 .5
Cd ⎜ 0 ⎟ (i)
⎝ D ⎠
where the positive sign relates to a positive source, and the negative sign relates to a negative source.
W is the mass flux, ρg 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 (i). 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, g. Specific heat ratio of 1.3 is used.
γ
p ⎛ γ + 1 ⎞ γ −1
π crit = =⎜ ⎟ (j)
p crit ⎝ 2 ⎠
γ
⎡ ⎤
⎢ ⎛ 2 ⎞ −1 ⎥
γ
Δp ch ,crit = p − p crit = p 1 − ⎜⎜ ⎟
⎢ ⎝ γ + 1 ⎟⎠ ⎥
(k)
⎢⎣ ⎥⎦
where
111
Process Equipment OLGA 6.3 USER MANUAL
⎛ cp ⎞
g is specific heat ratio ⎜⎜ ⎟⎟
⎝ cv ⎠
pcrit is critical pressure ratio
p is the pressure in the section it is flowing out of
Dpch, crit is critical pressure difference
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.
Wrec, g
H rec, g = hg (l)
Δz
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 Dz 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
H rec, g = (hg − Δhhex )
Δz (m)
Δhhex = hg − h sp
g
hgsp is specific gas enthalpy based on the desired heat exchanger outlet temperature and pressure in
the section where the source is entering. Δhhex is specific enthalpy decrease in the heat exchanger.
The energy extracted through the heat exchanger is limited by the heat exchanger capacity.
The orifice opening of the controlled choke is governed by the control system. The control module also
takes care of the stroke time of the controlled choke. The orifice opening is calculated as:
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.
Limitations
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 not be positioned at the first or last section 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.
112
OLGA 6.3 USER MANUAL
It is recommended that a separator is located upstream of the compressor in order to avoid liquid flow
through it. Numerically, the compressor model works with liquid phase present but the results make no
sense.
How to use
To use a compressor, one needs to add a compressor and two controllers (speed controller and anti-
surge controller). There must be one compressor table for each compressor.
If the controllers are omitted the speed will be kept at minimum speed (MINRPM) and the recycle loop
will be closed.
Recycle loop
The anti-surge security factor, SECURITYFACTOR, determines the anti-surge control line. To protect
the compressor against surge conditions, always select a security factor > 1. A typical value for security
factor is from 1.1 to 1.3. A security factor of 1.2 means that the control valve in the recirculation loop
starts to open at a compressor inlet flow that is 20% higher than the surge flow specified in the
compressor tables.
The anti-surge controller (ASC) should be configured as a PI controller. The ASC is a kind of non-linear
controller that have two amplification factors, AMP1 and AMP2. AMP1 is used if the inlet flow to the
compressor is less than the surge flow, and AMP2 if the inlet is greater than the surge flow. Both AMP1
and AMP2 have to be negative, and the absolute value of AMP1 should be higher than the
corresponding absolute value of AMP2 in order to rapidly open the recycle valve and to impose an
inertia to close it again. A short stroke time for the recycle valve should also be selected. Select also the
controller initial output signal (BIAS), equal to zero. To send information from the compressor to the
ASC about surge flow, connect the OUTSIG_n out-signal from the compressor to the MEASRD input-
signal of the controller. Then select QGSURGE as the measured variable.
If the anti-surge controller is omitted the controller signal will be zero which will cause the recycle choke
to be closed, i.e. there will be no flow in the recycle loop.
To add a cooler to the recirculation loop, set COOLER=ON and also set the COOLCAPACITY.
113
Process Equipment OLGA 6.3 USER MANUAL
In the gas lift process, either continuous or intermittent, relatively high pressure gas is injected downhole
through a gas lift valve (GLV) into the production string to lift the fluid to the surface. The bottom hole
pressure after shut-in is often much higher than the bottom hole pressure at normal production
conditions. Several gas lift valves (unloading valves) are spaced along the depth of the well to lower the
compressor discharge pressure required during startup phase of gas lift after a shut-in operation.
Properly spaced and designed, these unloading valves should close one after the other from top to
bottom as the lift gas reaches the deeper valves. The unloading valve opens or closes depending on the
casing pressure and tubing pressure. The opening pressures are affected by downhole temperature as
the temperature changes the forces acting on the valve stem.
The characteristics of a GLV are usually given by several sets of curves with each curve shows the gas
injection rates at different production pressures at a constant injection pressure. The keyword TABLE
provides the channel for users to specify the GLV characteristics.
The keyword LEAK allows users to use the GLV characteristics and specify the lift gas injection position.
As many leaks can be given as the actual gas lift well configuration requires.
Combining the functions that are provided by the keywords TABLE, LEAK, and ANNULUS, it is possible
to simulate different gas lift configurations and various operations such as startup, shut-in, and steady-
state operation. Gas lift distribution systems and production networks of wells can be simulated with the
network capability of OLGA.
When to use
Whenever the gas-lifted well contains GLV of which the opening depends on the production and
injection pressure, the characteristics of the GLV should be used through the keyword TALBE in the
simulation model. Such a model can be used to:
A gas lift valve (GLV) is used to inject gas into the tubing from the annulus/casing. Typically more than
one GLV is placed after each other down the annulus. The intention is that the GLV closest to the
wellhead opens first, and as the tubing pressure decreases this GLV shall close and the next one open
(might already be open depending on the response curve). This cycle will be repeated till the injected
gas reaches the operating GLV (lowermost active GLV). Once the gas lift gas reaches the operating
GLV, gas is continuously injected through this GLV and stable production is optimised by regulating the
optimum amount of gas (injection gas rate). At constant injection pressure (casing pressure) all GLV’s
above the operating GLV should be closed. If the tubing pressure is increased for any reason (e.g.
choke back production at the wellhead, a big liquid slug coming from the productive formation, etc), this
may cause the opening of some GLV’s. This opening is the automatic response of the GLV’s to stabilise
the flow. The injection of gas will reduce the liquid head pressure in the tubing until the GLV’s are closed
again.
114
OLGA 6.3 USER MANUAL
Figure A 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.
The GLV is constructed to respond on both the casing pressure and tubing pressure, see Figure B. 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.
115
Process Equipment OLGA 6.3 USER MANUAL
Figure B: Sketch of typical casing (injection) pressure operated GLV (with gas charge)
The GLV in Figure B is characterized as an Injection or Casing Pressure Operated GLV since the
injection/casing pressure works on the large part of the bellows (AINJ) while the tubing pressure works
on the small part (APROD). The force balance for the point where the GLV starts to open is then:
where R = ASEAT / ABELLOW. PINJ and PPROD switch places in the equation for a Production or Tubing
Pressure Operated GLV.
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 Figure A). 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).
Associated liquid (in case of liquid on the injection side) through the GLV is calculated by setting the
total mass flux WTOT [kg/(m2s)] as:
116
OLGA 6.3 USER MANUAL
ρ mix
WTOT = WG (b)
ρG
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 phase, P, (gas, oil, water, etc.) the mass flux through the GLV is:
· (c)
where xP 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:
where TB is the bellows temperature, and the pressures and temperature are given in psia and F. These
equations have been implemented in OLGA, but with a user given reference temperature. That is, it has
been assumed that the equations give reasonable results also for other reference temperatures than 60
F.
The bellows temperature will depend on the production temperature, injection temperature, flow
conditions, geometry of GLV, placement of GLV, etc. The user must give a parameter α where the
bellows temperature is a linear interpolation between the injection and production temperature:
From the force balance equation (a) we get the following expressions for the increase in required
production pressure to open the GLV (assuming constant injection pressure):
ΔPB ΔPB
Injection operated : ΔPPROD = , Production operated : ΔPPROD = (f)
R 1− R
where ΔPB is calculated in equations (d). 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
117
Process Equipment OLGA 6.3 USER MANUAL
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 (d) for a reference
temperature different from 60 F). E.g., the curve for a casing/injection pressure of 850 psig in Figure A
will not be affected by temperature with this procedure. This is not physically correct.
Limitations
The temperature effects on the opening/closing of a GLV are mainly uncertainties in using the GLV
characteristics. The average of the temperatures on the production and injection side is used as
temperature inside the valve body. In reality, the temperature distribution within the valve is more
complex because of interaction between the production string and the injection string, the expansion of
lift gas through the valve, and axial heat transfer along the pipes.
It is also assumed that the maximum flow rate point of the GLV performance curve corresponds to the
flow rate of a fully opened valve. For the curves which do not have the maximum point, the effects of
temperature on the closing of the valve are not considered.
How to use
Use the keyword TABLE to specify the curves of gas flow rate as a function of production pressure for
different injection pressures.
Use the keyword LEAK to specify the gas injection position and the name of the table the GLV
performance curves are given.
118
OLGA 6.3 USER MANUAL
Heat Exchanger
A heat exchanger is included to raise or lower the temperature in the fluid. There are two different types
of heat exchangers in OLGA;’Setpoint Heat Exchanger’ and ’Controlled Heat Exchanger’. Both can be
configured to give practically the same results, but each is configured differently and this allows for
different usages.
When to use
When a heat exchanger is used in the anti-surge recirculation loop of a compressor, it is specified
through the keys of the COMPRESSOR keyword (keys COOLER and COOLCAPACITY). Otherwise,
use this HEATEXCHANGER keyword to create a heat exchanger.
The controlled heat exchanger has a simpler model. In the controlled heat exchanger, the effect of the
heat exchanger is determined by the controller system. The heat source/sink is not estimated as the
heat exchanger has no knowledge of any target temperature. The CONTROLLER for the heat
exchanger knows the current temperature and the target temperature and adjusts the effect of the heat
exchanger to obtain the target temperature.
Limitations
A heat exchanger can not be positioned at the first or last section boundary of a pipeline.
How to use
To select between a setpoint heat exchanger and a controlled exchanger, simply set the TYPE.
To use a setpoint heat exchanger, specify the position, an outlet temperature and an upper limit of the
heat source, the capacity.
To use a controlled heat exchanger, specify the position and the capacity, but instead of setting the
outlet temperature, connect the heat exchanger to a controller. The controller will typically measure the
temperature at a specified position along the pipeline and compare the measured temperature to a
setpoint. Based on the difference between the setpoint and the measured temperature, the controller
will deliver a signal to the heat exchanger which determines how large a fraction of the heat exchanger’s
capacity will be applied. Different types of controllers can be used, making the input of a controlled heat
exchanger more flexible than that of the setpoint heat exchanger. For example, one can measure the
average temperature over several sections by using a Linear Combination Controller.
119
Process Equipment OLGA 6.3 USER MANUAL
Pump
The PUMP keyword is used to model specific pump types of common commercial interest.
OLGA currently offers four different pump models; the centrifugal pump and the simplified centrifugal
pump which belong to category 1 above, as well as the displacement pump and the pump battery which
belong to category 2 above.
No explicit OLGA models are yet implemented for the less-common types of specialized pumps listed in
category 3 above.
When to use
If the inlet pressure of a pipeline is too low to drive the fluid to the outlet of the pipeline, or if we want to
increase the oil production, a pump can be installed to increase the flow rate in the pipeline.
License requirements
• The centrifugal and displacement pumps are part of the Multiphase Pump Module that requires a
separate license.
• The pump battery model is used for drilling applications, and is only available with the Wells
Module.
• The simplified centrifugal pump requires no additional license.
ΔP = f (Q , N , α I , PI ) (a)
For the liquid (assuming incompressible), the specific work delivered from the pump into the fluid is:
(PO − PI )
Wl = (b)
ρl
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 ⎛ P
⎢⎜ O ⎟ ⎞ n
Wg = −1⎥ (c)
n − 1 ρ g ,I ⎢⎝ PI ⎠ ⎥
⎢⎣ ⎥⎦
Where n is the polytropic constant and ρg, I the gas density at pump inlet.
120
OLGA 6.3 USER MANUAL
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:
⎡ n −1
⎤
k PI ⎢⎛ PO ⎞ n
Win = ⎜ ⎟ − 1 ⎥⎥ (d)
k − 1 ρ g , I ⎢⎝ PI ⎠
⎣⎢ ⎥⎦
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, the pump power to the fluid is weighted by mass fractions (αm = gas mass
fraction) as follows:
⎡ ⎛ n −1
⎞⎤
W = (1 − α m )Wl + α mWg = PI ⎢ (1 − α m )⎛
⎜⎜
PO ⎞
− 1⎟⎟ +
α m n ⎜ ⎛ P ⎞
⎜⎜ ⎟⎟ − 1⎟⎥
O
n ⎟
⎜ (e)
⎢ ρl ⎥
⎢⎣ ⎝ PI ⎠ ρ g n − 1 ⎜ ⎝ PI ⎠ ⎟⎥
⎝ ⎠⎦
With W calculated from the pump characteristics, Equation (e) 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 a two-phase mixture (except for very high gas fractions) an isothermal compression of the gas may
be assumed (i.e. n=1.0) to account for rapid vapor-phase heat loss to all of the associated liquid, the
pump impeller / case, and the surroundings. Assuming n = 1.0, equation (e) can then be rewritten by a
series expansion to:
⎡ (1 − α m )⎛ PO ⎞ α ⎛ P ⎞⎤
W = PI ⎢ ⎜⎜ − 1⎟⎟ + m ln⎜⎜ O ⎟⎟ ⎥ (f)
⎢⎣ ρ l ⎝ PI ⎠ ρ g , I ⎝ PI ⎠ ⎥⎦
Modeling in OLGA
OLGA's transient calculations for centrifugal pump performance utilize multi-dimensional interpolation
across four separate (default, or user-specified) quadrants of performance curves. Each quadrant is
defined in a specific normalized / homologous format (see Pump Data Table for Centrifugal Pumps for
an exact definition of all quadrant formats). Together, these four quadrant curve sets give OLGA
advanced capability to model all possible transient combinations of Positive and Negative Normalized
Speed Ratios and Flow Ratios (including transient backflows that often occur during pump startup and
shutdown, in combination with either weak forward impeller rotation or actual reverse impeller rotation).
However, most pump manufacturers do not publish performance curves directly in this normalized /
homologous format required by OLGA. Nor do they typically offer any curves at all for the operating
quadrant representing Positive Speed with Negative Flow (where the pump is transiently unable to
overcome external backpressure, typically during Startup/Speedup) or the operating quadrant
representing Negative Speed with Negative Flow (where the centrifugal impeller is physically rotating
backwards, either due to reverse power input or overwhelming external backpressure).
Instead, most manufacturers publish one Head versus Flowrate Curve (with Power or Torque overlaid)
for the case of Gas Volume Fraction (GVF) = ZERO, plus additional curves for increasing GVF's, up to a
"Degraded Performance Limit" (often GVF=60-70%, but variable by manufacturer and model).
121
Process Equipment OLGA 6.3 USER MANUAL
In order to incorporate such manufacturer curves into an OLGA pump model, the user must first convert
the manufacturer curves into homologous curves where the head and torque ratios (actual value to
rated value) are functions of the pump speed and flow rate ratios, as defined in Equations (g) below.
OLGA's special homologous centrifugal pump curves utilize the following non-dimensional variables:
122
OLGA 6.3 USER MANUAL
H Q
h= - head ratio q= - flow ratio
HR QR
N TH
ω= - speed ratio β= - torque ratio (g)
NR TH R
OLGA interpolates over four quadrants of homologous curve sets, all defined in terms of the above non-
dimensional variables. Each quadrant curve set includes:
The two-phase head HT and two-phase torque THT curves should be based on fully-degraded two-
phase conditions. The transfer from single-phase conditions to fully-degraded two-phase conditions is
described by a two-phase multiplier. The pump head H and hydraulic torque TH under two-phase
conditions are determined as:
H = HS (1 − HM (α ) ) + HT HM (α )
where HM(a) is the two-phase head multiplier, TM(a) is the two-phase torque multiplier and a the gas
volume fraction at the pump inlet. Each set of homologous curves consists of four curves. These are
defined in Table 1 and Table 2.
A complete default set of homologous curves is tabulated in the code (and also documented in an
external file that is linked to the example centrifugal pump in the pump.opi sample case installed with
OLGA). These built-in default centrifugal pump curves are based on experimental data, and are
representative for typical centrifugal pumps. However, 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 Figure A. This figure shows the single phase homologous
head curves.
Because the homologous curves are dimensionless, one set of curves can be used to describe a variety
of different pumps (i.e., within a single OLGA model) by specifying the desired rated density, head,
torque, flow rate and speed for each pump.
In calculating the hydraulic torque, TH, the difference between actual fluid density and rated density
must be corrected as:
ρ
TH = β ⋅ TH R ⋅ (i)
ρR
123
Process Equipment OLGA 6.3 USER MANUAL
variables
ω > 0, 1
1 q/ω h/ω2
q > 0, 1 h/q2
2 ω/q
q < 0, 1 h/q2
3 ω/q
ω < 0, 1
4 q/ω h/ω2
2 2
HS1
HS3 h
2
ω
h
1 q2
q
ω
1
h q2 ω
q
or
h ω2
HS4
0 0
h h
2 q2
ω
q
ω ω
q
HS2
-1 -1
0 1
-1 q ω
or q
ω
The OLGA centrifugal pump model also includes embedded numerical models for typical recycle and
bypass lines, including user-specified orifices that may be linked to OLGA controllers. For more detail,
see the heading Recycle and bypass flow below.
For details of the energy balance across the OLGA Displacement Pump, see the heading Energy
balance below.
124
OLGA 6.3 USER MANUAL
Displacement pump
Theory and multiphase dynamics
For the displacement pump, the pump flow rate is the theoretical flow rate minus the backflow through
the pump. The theoretical flow rate is a function of the pump speed and the characteristics of the pump,
expressed through the specific flow rate. The backflow rate is a function of several parameters and is
tabulated in a backflow table. This can be summarized as follows:
Q = Q 0 − Qb
Q0 = Qspc N (j)
Qb = f ( N , ΔP , α I , PI , ν I )
where
Modeling in OLGA
For a given displacement pump, the specific flow rate Qspc is a constant. Qb is tabulated in the backflow
table as a function of N, DP, aI, nl and PI.
A default implementation of the backflow table is implemented in the displacement pump (and also
documented in an external file that is linked to the example displacement pump in the pump.opi sample
case installed with OLGA). Other backflow tables may be given by using the TABLE keyword.(See
Pump Data Table for Displacement Pumps.)
The OLGA displacement pump model also includes embedded numerical models for typical recycle and
bypass lines, including user-specified orifices that may be linked to OLGA controllers. For more detail,
see the heading Recycle and bypass flow below.
For details of the energy balance across the OLGA Centrifugal Pump, see the heading Energy balance
below.
Pump Battery
Accurate simulation of the pumps used for a standard drilling operation is important for the overall
estimation of the pump power needed as well as the volume of mud/water required during the operation.
Defining the total flow rates proportional to the rate of pump strokes simulates the battery of positive
displacement pumps.
We define the pump battery through a proportionality factor for the volume delivered at a certain pump
rate:
125
Process Equipment OLGA 6.3 USER MANUAL
If any one of these controllers is set into action the pump rate is adjusted 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:
Qinj ⋅ WHP
HHP =
2.81 (l)
where
1
G R = ( 2 ρΔPch ) 2 Cd Ach (m)
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
Theory and multiphase dynamics
The simplified centrifugal pump in OLGA is intended for quick, approximate modeling. It models a
linearized approximation to the local behaviour of a real centrifugal pump, and is therefore only accurate
for use across small excursions from its specified local operational point (where the tangent to the real
nonlinear operating curve does not change significantly).
126
OLGA 6.3 USER MANUAL
These simple algebraic expressions are used to calculate the pressure increase over this simplified
pump, as well as its pump efficiency:
= ( 1 + E 1 ( N - N r ) + E 2 ( Q - Q r ) ) ( 1 - E3 α ) (o)
ΔP = ΔPo / (p)
where:
ΔPo = Pump pressure increase at rated density ( bar )
ΔP = Pump pressure increase ( bar )
N = Pump speed ( rpm )
Q = Flow rate ( m3/s )
α = Gas volume fraction
= Pump efficiency ( adiabatic )
= Specific density ( kg/m3 )
D1,2,3 = Input coefficients for pressure increase
E1,2,3 = Input coefficients for efficiency
Subscripts: r = rated
( H iso − H s )
ΔH = (q)
η
b. Outlet enthalpy is calculated from:
Hd = Hs + ΔH (r)
Pump torque:
= Wtot /ω (u)
TH = Г ηM (v)
where
127
Process Equipment OLGA 6.3 USER MANUAL
Modeling in OLGA
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.
Energy balance
Centrifugal and Simplified Centrifugal pumps
The total power input to the fluid from any pump (including the OLGA centrifugal, displacement, and
simplified pumps described above) is:
THω
QPt = (w)
ηM
where TH is the pump hydraulic torque, w the pump speed and M the pump mechanical efficiency.
Displacement pump
For the displacement pump, the hydraulic torque, TH, may not be available, and it is therefore 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 (x)
where,
Wl - specific work delivered from pump into liquid
Ql - liquid flow rate
rl - liquid density
Wg - specific work delivered from pump into gas
Qg - gas flow rate
rg - gas density
128
OLGA 6.3 USER MANUAL
Limitations
The recycle flow and bypass flows around the OLGA centrifugal and displacement pumps are
considered as flows through controlled chokes. Each flow is calculated with the given pressure
difference between the two sides of the choke and the choke upstream conditions. The pipeline effect of
the recycle flowline and bypass flowline is not considered.
The recycle flow can only flow from the pump downstream section to the upstream section, and the
bypass flow can only flow from the pump upstream section to the downstream section. It is impossible to
insert any component in the recycle flowline or bypass flowline, because no pipeline is considered.
Pumps can not be positioned at the first or last section boundary of a flow path.
How to use
General setup (all pump types)
1 Add the PUMP keyword to the desired flowpath
2 Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or
POSITION (an alias)
3 Choose a desired PUMPTYPE from the list below:
A. Simplified Centrifugal to roughly simulate multiphase transient dP and efficiency with only
three algebraic coefficients, as either constant or linearly sensitive to transient fluctuations in
speed, flowrate, and void fraction.
B. Centrifugal to more rigorously model the real nonlinear transient operation of a particular
multiphase centrifugal pump (including recycle and bypass). OLGA calculations are based on
either built-in nonlinear curves for a "typical" pump, or user input of special dimensionless
OLGA curves for a particular pump that must usually be derived from given dimensional
curves before OLGA entry.
D. Pump Battery to simulate the special case of a battery of positive displacement liquid-phase
drilling mud pumps by specifying a proportionality constant relating operating speed to total
volumetric flowrate, subject to specified control limits for minimum and maximum flowrate, as
well as maximum hydraulic horsepower and outlet pressure.
NOTE: The related topic Pump - When to use documents the differing OLGA module license
requirements for each PUMPTYPE described above.
4 Choose any applicable means of controlling the pump speed, as described in detail at the bottom
of this section.
129
Process Equipment OLGA 6.3 USER MANUAL
1 In addition to the General Setup above, you must specify DPRATED, FLOWRATED, SPEEDR, and
MAXSPEED. Allso override the (900 kg/m3) default of the required DENSITYR with your actual
rated liquid density, if significantly different.
2 You may also specify related sensitivity of pump DP to varying speed, flowrate, and void fraction via
the linear departure coefficients DCOEFF1 - DCOEFF3. NOTE: Without these optional user inputs,
the OLGA simplified centrifugal pump defaults to a constant DP = DPRATED regardless of any
transients.
3 You may also override the default (0.5) adiabatic efficiency by entering EFFRATED, then make that
efficiency sensitive to speed, flowrate, and void fraction if desired by also entering ECOEFF1 -
ECOEFF3. NOTE: Adiabatic efficiency of the Simplified Centrifugal Pump affects OLGA calculations
for fluid heating, hydraulic horsepower, total shaft horsepower and torque, through the relations
documented in Pump - Methods and assumptions.
4 If more accurate estimation of Total Shaft Power is also required, you may also override the default
(0.7) EFFIMECH.
Centrifugal setup
1 Like the Simplified Centrifugal Pump discussed above, the OLGA Centrifugal Pump also requires
DENSITYR (same 900 kg/m3 default, or specified), plus FLOWRATED, and SPEEDR.
2 However, OLGA's full Centrifugal Pump model also requires you to specify HEADRATED and
TORQR as a minimum, in order to scale the general transient response surface of either the built-in
default or user-specified Homologous Centrifugal Pump Curves to your actual pump.
3 You may optionally enter custom transient centrifugal pump performance curves to precisely
represent the exact transient response surface for your actual pump. However, note that most
manufacturers do not publish pump curves directly in this format, and it may also be difficult to
obtain degraded multiphase performance curves up to the maximum degraded Gas Volume
Fraction (GVF) for your particular hardware and application (often somewhere in the range of 30 -
70% vapor volume).For more specific information about the theoretical basis of these special OLGA
input requirements, consult Table 1, Table 2, and Figure A of the Pump - Methods and
Assumptions topic.
4 The OLGA Centrifugal Pump will run without any further inputs, already representing a much more
realistic transient modeling upgrade to the Simplified Centrifugal Pump model at only slightly greater
modeling cost in setup time and runtime.
5 This PUMPTYPE also includes additional provisions for simple "branch-less" Bypass and Recycle
modeling to further increase the realism of OLGA's transient responses for typical pump packages.
The setup procedures and modeling assumptions for these Built-in Bypass and Recycle features
are described in detail below.
Displacement setup
1 The OLGA Displacement Pump requires significantly different types of inputs than the Centrifugal or
Simplified Pumps. For example, none of DENSITYR, FLOWRATED, HEADRATED, SPEEDR, or
TORQR is used.
2 You must enter SPECAPACITY (the total specific volume displaced per revolution or displacement
cycle) as well as MAXSPEED. OLGA will then multiply these two inputs to determine the (gross)
theoretical volumetric flowrate displaced (before subtracting internal bypass).
3 The OLGA Displacement Pump will run without any further inputs, although equipment
manufacturers or others with detailed knowledge may wish to override the defaults for one or more
of ACOEFFICIENT, BCOEFFICIENT, MDISSIPATION, VDISSIPATION, etc in order to tune the
model very precisely.
4 You may optionally enter custom transient displacement pump backflow (performance) curves to
precisely represent the exact transient response surface for your actual pump. However, note that
the required input format is a complex 5-dimensional matrix of internal backflow rates as a function
of pump speed, head, void fraction, inlet pressure, and liquid viscosity - information normally only
130
OLGA 6.3 USER MANUAL
available from the manufacturer's experts, perhaps even requiring new eperimental work on a
prototype pump for your particular fluid and operating conditions..For more specific information
about the theoretical basis of these special OLGA input requirements, consult the Displacement
Pump Theory topic in the Pump - Methods and Assumptions section.
5 Like the Centrifugal pump, this PUMPTYPE also supports additional provisions for simple "branch-
less" Bypass and Recycle modeling to further increase the realism of OLGA's transient responses
for typical pump packages. The setup procedures and modeling assumptions for these Built-in
Bypass and Recycle features are described in detail below.
3 These inputs are used to simulate simple limit controls on horsepower, flowrate, and pressure.
Optional Built-In Bypass and Recycle for Centrifugal and Displacement Pumps
To activate OLGA's simplified Bypass feature for any Centrifugal or Displacement Pump, specify
BYDIAMETER and connect a bypass controller of your choice. No other bypass inputs are offered or
required.
To activate OLGA's simplified Recycle feature for any Centrifugal or Displacement Pump, specify at
least RECDIAMETER and MAXRECYCLE, plus any non-default values for RECPHASE,
MINRECYCLE, and ACCECOEFF. Then connect a recycle controller of your choice.
Further details about the internal workings of these simplified Bypass and Recycle features are provided
in the following text, equations, and block flow diagrams.
131
Process Equipment OLGA 6.3 USER MANUAL
Within OLGA, this system will be simplified as shown in Figure C. Note that 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.
No-slip flow is assumed for all of gas, liquid, and droplets moving through section boundary J, as:
Ug = U d = U l = U
OLGA also permits the user to add a separate VALVE keyword at the same section boundary where a
centrifugal pump is located. The user may then close that optional OLGA Valve to block any possible
backflow transients (that may otherwise occur due to higher downstream pressure at any moment when
the centrifugal pump is shut down).
The centrifugal pump model requires a pump table with the characteristics of the pump. The
displacement pump model requires a backflow table. The pump manufacturers generally characterize
their pumps by pump operating characteristics. There is a default implementation of such tables in
OLGA. If other tables are needed they should be given with the TABLE keyword. Each of the
characteristics is assigned a label, which is referred to in the PUMP keyword.
The user can choose the recycle flow as gas only, liquid mixture, water only, or fluid mixture.
a. Controlled manually by specifying time and speed series in the controller definition.
b. Regulated by a physical parameter. The speed is calculated by:
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.
132
OLGA 6.3 USER MANUAL
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:
where A is a constant pump speed variation rate (acceleration). The speed variation will stop
once the recycle flow is within a defined range below MAXRECYCLE and above
MINRECYCLE.
3. If the maximum pump torque has been given by users (Only for centrifugal and displacement
pumps):
The effective pump torque is calculated from the total power input to the fluid, QPt :
60 QP t
TQ pump = [N m] (ac)
2πN
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.
133
Process Equipment OLGA 6.3 USER MANUAL
Separator
The network separator is not intended to accurately model separation phenomena, but is meant to
include the influence of a separator on transient pipeline dynamics. The behaviour of the separator is
mainly based upon user given input for the separation efficiency (gas/liquid, oil/water), and set critical
levels for oil and water drainage.
When to use
It is recommended to use the separator model whenever a ”real” separator is present in the flow
network and the effect of the downstream flow pattern is of interest. If it is only interesting to look at the
upstream flow pattern, it sometimes is appropriate to replace the separator with an ordinary pipe with
large diameter to stabilize the boundary conditions and in that way avoid the needs for more complex
specification of outgoing pipes, valves and controllers linked up to the separator.
It can also be useful to employ a separator as a downstream boundary condition for controlling the
boundary pressure. This may reduce unwanted flow oscillations in the network compared to using a
constant pressure boundary condition.
Valves/controllers
The separator has no internal valves and controllers, so they have to be specified on the outgoing
pipes.
Level control
The separator levels are controlled by the valves and controllers in the outlet pipes. For a three-phase
separator, the water level limit for when the water will be drained together with the oil can be specified in
the separator keys:
HHWATHOLDUP or
HHWATLEVEL
Separation efficiencies
For three phase flow the liquid droplet volume fraction is distributed to water and oil
droplet volume fractions according to the water and oil volume fractions in the settled
liquid in the separator.
134
OLGA 6.3 USER MANUAL
To prevent instabilities in the separator when the liquid holdup becomes very large, it
is possible to specify two input keys, EFFLOW and EFFHIGH, to assure a continuous
transition from effg = EFFICIENCY to effg = 0.0. EFFLOW is the liquid volume fraction
when efficiency is being reduced and EFFHIGH is the liquid volume fraction when
efficiency becomes zero and the gas outlet is treated as a normal flow path. The gas-
liquid separation efficiency, effg is modified by the following set of rules:
(a)
(b)
αl ≥ EFFLOW:
0.0 (c)
K so
eff o = 1 − (d)
Trsp
where Kso is the time constant, OILTCONST, 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.
K sw
eff w = 1 − (e)
Trsp
where Ksw is the time constant, WATTCONST, 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:
⎛ K ⎞
eff w = ⎜1 − sw ⎟(1 − H of ) + (1 − eff o )H of (f)
⎜ T ⎟
⎝ rsp ⎠
where Hof is the ratio of the water layer height above the limit to the liquid height above
the same limit.
135
Process Equipment OLGA 6.3 USER MANUAL
Heat transfer
The heat transfer, qtr into the separator or out from the separator is given by:
(g)
where U is the overall heat transfer coefficient, A is the surface area, Tsep is the separator temperature
and Tamb is the ambient temperature. If adiabatic temperature option is given for the total flow network,
U is set to zero for all separators in the network.
Limitations
The network separator is not intended for design purposes. It only simulates a predefined behaviour of
a ”real” separator.
• The separator is only treated as a simple volume tank with no internal separation equipment
• The separator efficiencies is user given
• No wall temperatures is calculated
• There are no time restrictions for calculation of the flash contributions. The total mass internally
is taken into account and treated as at equilibrium. Due to the internal geometry of the
separator, this might give incorrect results if the separator pressure or temperature suddenly
changes.
How to use
PC
Gas
Gas
Oil
Water
LC
Oil
LC
Water
Input
136
OLGA 6.3 USER MANUAL
Initial conditions
• Key INITTEMPERATURE gives initial value for the separator temperature
• Key INITPRESSURE gives initial value for the separator pressure
• Key INITWATLEVEL gives initial value for the water level
• Key INITOILLEVEL gives initial value for the oil level
Geometry
There are two ways to specify the geometry of the separator. One method is to specify the separator
length, LENGTH and the separator diameter, DIAMETER. The surface area and volume is then
calculated by using the knowledge of the cylindrical form. The other method is to define a specific level
table LEVELTABLE, a set of user defined values giving the volume as a function of the level (height).
Using this method the surface area, SURFACEAREA also has to be given.
Separator valves/controllers
The separator has no internal valves and controllers. All valves must be defined on the outgoing pipes
and might be positioned at the first section boundary of the pipes. The controllers are connected to the
valves and must also be defined outside the separator. It is recommended that the water valve opening
is controlled by a water level controller, the oil valve opening is controlled by a oil level controller and the
gas valve opening is controlled by a separator pressure controller.
Output
Many of the plot variables specified under volume variable are available for the separator. In addition a
number of separator specific plot variables also are available:
• Mass flow rates for each mass field for each pipe connection
• Separator levels (oil, water)
• Separator efficiency
137
Process Equipment OLGA 6.3 USER MANUAL
Valve
The valve models the pressure drop for flow through chokes and valves.
When to use
Use to model orifices, chokes and different types of valves.
For high velocities in the pipeline, a fully open valve can be used to limit the flow to critical flow. Use a
choke with choke diameter equal to the pipeline diameter. Position the Valve at the last section
boundary of the pipe where the flow rate should be limited.
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 time series, 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 openings. 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.
Choke model
The flow through the choke is assumed frictionless, homogeneous and adiabatic. The flowing phase
fractions are frozen at inlet conditions. Phase change occurs after the throat, and the fluid reaches
equilibrium in position 2.
The choke model in OLGA describe the pressure drop from upstream (position 1 in Figure A) to
downstream (position 2 in Figure A) an orifice or other constriction in the pipeline. The model include
pressure drop from position 1 to throat (position t in Figure A) and pressure recovery when the fluid
expands from the throat to position 2.
Bernoulli Equation:
· (a)
where
138
OLGA 6.3 USER MANUAL
P pressure (Pa)
Momentum density:
/ (b)
where M is the overall mass flow through the choke and Mg is the gas flow through the choke.
Continuity equation:
· · / (d)
Momentum equation:
· (e)
The overall pressure drop over the choke is found by combining equations (a) through (e).
Critical flow
The critical flow through the choke is found at the maximum of equation (a). Differentiating equation (a)
w.r.t. pressure and combining with equation (d) yields the following relation for the critical flow, MC,
·
(f)
The throat area, At, is corrected with the choke discharge coefficient, Cd, to find the minimum flow area.
The liquid properties are calculated in position 1 and treated as constant, while the gas is compressed/
expanded isentropically.
Gas density:
, · (g)
,
(h)
,
139
Process Equipment OLGA 6.3 USER MANUAL
· (i)
The liquid is assumed isothermal and the liquid throat temperature is therefore the same as the inlet
temperature.
Two options are available when calculating the critical flow through a choke:
1. Frozen: No mass transfer, isentropic expansion of gas. (Homogeneous frozen critical flow
model)
2. Henry–Fauske: The Homogeneous frozen critical flow model corrected for mass transfer in the
throat [3].
If the Henry–Fauske model is used and entropy values are given in the fluid property tables file (with the
word ENTROPY in the heading of the fluid file), the entropy values in the fluid file will be used.
Otherwise, the entropy changes will be calculated from enthalpy, mass fraction and density by
integrating the following equation from the upstream conditions (position 1) to the throat conditions
(position 2):
2 2 2
∫ ds = ∫
1 1
1
T dh − ∫
1
V
T dp (j)
Controlled choke
In the case of a controlled choke, the choke area, Ao, is varied according to the controller signal us :
Ao = us ⋅ Amax ; 0 ≤ us ≤ 1 (k)
where
π
Amax = Do2 (l)
4
Do is the choke diameter and Amax is the maximum choke area.
In the case of an uncontrolled choke, the choke flow area is varied according to the time tables of the
relative choke area, orel,
Ao = Amax (n)
Note that it is possible to simulate a choke without a controller; the choke area is then given by a time
series.
140
OLGA 6.3 USER MANUAL
It is possible to give a table representing the valve sizing coefficients either for gas flow or for liquid flow.
It is not possible to give a table for two/three-phase flow. The sizing coefficients are tabulated as
functions of the relative valve opening. The liquid valve sizing coefficient can also be given as a function
of both relative valve opening and pressure drop over the valve.
Note: The input data for the valve sizing coefficients must be consistent with the units specified
together with the valve sizing equations below.
If a liquid sizing table is given, the valve flow rate (even three-phase flow) will be calculated using the
choke model in OLGA. The liquid sizing table should be used for liquid flow, near incompressible gas
flow and two/three-phase flow.
∆
(o)
where
OLGA converts Cv for liquid to the choke flow area, Ao, used in eq. (p). Equations (p) and (o) will
produce a relation between Cv and Ao. Setting CD=1.0, the choke area can be calculated. The pressure
drop and the critical flow rate are calculated using the choke model, regardless if the flow is gas, liquid,
or multiphase flow. The mixture density is used in the calculation.
Orifice equation:
1 ⎡⎛ A ⎤
2
⎞
ΔPorf = ⎢⎜⎜ ⎟⎟ − 1⎥Wtot ∑ α iU i (p)
2 ⎢⎝ Ao ⋅ Cd ⎠ ⎥⎦
⎣ i
where
Cd Discharge coefficient
A Pipe flow area
Ao Choke (orifice) flow area
Wtot Total mass flux
141
Process Equipment OLGA 6.3 USER MANUAL
See Cv to area conversion for the details of the conversion from Cv to orifice area.
If the MODEL key is set to HYDROVALVE, the gas sizing equation is used in the same manner as the
liquid valve sizing. Combining equations (p) and (q), a choke area can be calculated. The critical flow
will then be determined by the choke model.
If instead the model option GASSIZING (keyword MODEL) is used, the gas sizing equation will be used
for both subcritical and critical flow. The choke model will not be used.
where
Qm Mass flow rate (lb/hr.)
ρg Gas density (lb/ft3)
p1 Upstream pressure (psi)
Cg Gas sizing coefficient (lb/hr / (psi × lb/ft3)1/2)
ΔP Pressure drop (psi)
Cf Coefficient ratio, Cg/Cv (-)
The critical flow rate is obtained by setting the sine-term equal to one. The upstream density is used in
the calculation.
Conversion between liquid valve sizing coefficient (Cv) and orifice area
∆ · 1 · · ∑ 1 · · (a)
· ·
∆ ∆ ·
· · (b)
142
OLGA 6.3 USER MANUAL
(c)
·
· ·
Above we have assumed that the orifice equation is given with the same units as the sizing equation.
Using SI units for the area, m, and inserting the reference water density we get the following equation:
· · 2.40132. . 5 2
(e)
1
2
· ·
1
Limitations
Friction and gravity forces are neglected in the choke model. See Selmer-Olsen et al. for limitations in
the choke model /34/.
When using the Henry-Fauske critical flow model (CRITFLOWMODEL = HENRYFAUSKE) make sure
the entropy is given in the thermo tables. Otherwise the entropy must be integrated from the enthalpy
and density data in the thermo tables. In some cases, this will slow down the simulation.
Further, it is not allowed to position a valve at the first section boundary in a flowpath next to a closed
node in OLGA 6. OLGA 5 does not have this restriction.
How to use
Position the valve. Valves can be inserted anywhere in the pipeline.
Choose which valve model to use from available information in data sheet etc. If no Cv/Gg is given, use
the choke model. The choke is used when the model option HYDROVALVE (keyword MODEL) is set. A
discharge coefficient, CD and maximum choke diameter must be defined for the choke. If the discharge
coefficient is unavailable, use the default value.
Consider using the CRITFLOWMODEL option HENRYFAUSKE for two/three-phase simulations with
flashing fluids. Otherwise use CRITFLOWMODEL = FROZEN.
If Cv data are available, use the model option HYDROVALVE, and specify the Cv vs. valve opening in a
table. The valve Cv can also be described as a function of valve pressure drop (DELTAP) and valve
opening.
If Cg data are available, use the model option GASSIZING (key MODEL). Specify the Cg vs. valve
opening in a table. It is also possible to use the HYDROVALVE (MODEL key) to simulate a gas valve.
143
Process Equipment OLGA 6.3 USER MANUAL
To control the valve flow in the choke, or the pressure drop over it, connect a controller to the input
signal terminal INPSIG. When connected, INPSIG will be used as the valve opening. Otherwise, the key
OPENING will set the valve opening. The given OPENING can be constant, or a function of time.
To limit the rate of change in valve position, set the valve stroke time. Set CLOSINGTIME/
OPENINGTIME or STROKETIME. Setting STROKETIME will give CLOSINGTIME = OPENINGTIME =
STROKETIME.
It is possible to tune both the choke and valve model. The input signal CVTUNINGSIG will scale the
choke CD, or the valve Cv/Cg.
144
OLGA 6.3 USER MANUAL
Single Component
The single component module allows for tracking of a single component, e.g., H2O or CO2, that crosses
the saturation line in time or space in a pipeline. Standard OLGA cannot deal with single component
systems if the saturation line is crossed due to the explicit coupling between volume balance and
energy balance equations and the lack of a two phase region (two phase envelope) for single
component systems.
In order to circumvent this limitation, time constants, or delays, are introduced in the
evaporation/condensation process. The difference between the saturation temperature and the fluid
temperature serves as a potential for phase mass transfer. Multiplying this temperature difference with a
certain heat or energy transfer coefficient yields an energy transfer rate that can be used to estimate the
mass transfer rate. An asymptotic approach to equilibrium occurs where the speed at which equilibrium
is reached is determined by the size of the energy transfer coefficient.
When to use
The single component module should be used for all single component fluids. Special options exist for
H2O and CO2, for which the fluid property calculations have been hard coded into OLGA. For other
single component fluids, it is necessary to specify input parameters to the fluid property calculations.
The numerics in standard OLGA have been designed for multi component hydrocarbon fluids. A
consequence of the chosen approach is that standard OLGA become unstable when simulating single
component fluids that cross the saturation line in time or space. The same can happen for multi
component fluids with very narrow phase envelopes, for example a fluid composed predominantly of
one component, but with a small amount of impurities. Since the behavior is very case dependent, it is
hard to give general guidelines on the exact amount of impurities required before standard OLGA can
be expected to yield reasonable results. One should, however, be careful when using standard OLGA to
simulate fluids consisting of 90% or more of one component. Besides the numerical issues, it is
important to make sure that the fluid property calculations are accurate for the particular fluid
composition to be simulated.
As implied by the name, the single component module can only be applied to pure single component
fluids. At present, OLGA is thus not able to simulate single component fluids with small amounts of
impurities.
License requirements
The Single Component Module requires a separate license.
The inner pipe wall surface can be superheated or subcooled as compared to the saturation
temperature. Such situations might lead to surface boiling or surface condensation in cases where the
liquid or gas is in direct contact with the pipe wall. The resulting, additional, mass transfer term is not
explicitly included, but it can be accounted for by an enhanced heat transfer due to surface
boiling/condensation.
145
Single Component OLGA 6.3 USER MANUAL
The evaluation of the fluid property equations is time consuming, and, therefore, they are only evaluated
at the start of the simulation. The properties are evaluated at a grid of pressure/temperature values that
is limited by the minimum and maximum values of pressure and temperature given in the input. An
equidistant grid is used with a minimum of 50 and maximum of 100 grid points for both pressure and
temperature. During the simulation, linear interpolation is used to evaluate the properties in between
grid points.
For pressures above the critical pressure, liquid properties are calculated from the EOS.
In the liquid region and a pressure below the critical pressure, the gas properties are extrapolated from
the saturation line — the enthalpy equals the liquid enthalpy plus the latent heat at the saturation
temperature corresponding to the pressure and the density is acquired by linear interpolation between
the value at critical pressure and the saturation pressure. All other properties are taken at the saturation
temperature corresponding to the pressure. For pressures above the critical pressure, gas properties
are calculated based on the EOS. Using this procedure, the gas and liquid properties are continuous
across the fictitious gas-liquid (V–L) division line when the pressure is above the critical one.
At the critical point and its vicinity, the thermal capacity and density derivatives show extreme sensitivity
to temperature and pressure changes, even to the extent where discontinuities occur. Therefore, a
buffer zone is introduced near the critical temperature as shown below. Within this zone, the liquid
density derivative and thermal capacity are given the values calculated at a temperature, Tlow, less than
the saturation point. Similarly, for the vapor phase, the gas density derivative and the thermal capacity
are given the values calculated at a temperature, Thigh, above the saturation point.
146
OLGA 6.3 USER MANUAL
The buffer zone is bounded by the coordinates [Tlow, Psat(Tlow)], [Tlow, Pc], [Thigh, Pc], [Thigh, Psat(Thigh)].
147
Single Component OLGA 6.3 USER MANUAL
In the gas region, the properties for water are extrapolated from the saturation point — the enthalpy is
based on thermal capacity at the saturation temperature corresponding to a given pressure. The
density, on the other hand, is calculated using the density derivative w.r.t. pressure at the saturation
pressure corresponding to the given temperature. All the other properties are evaluated at the saturation
temperature.
For pressures above 225 bar, water properties are calculated based on equations for the different
regions specified in /38/.
The thermal capacity and enthalpy for water are singular near the critical point. To avoid numerical
problems in region 3, the water properties from region 1 are used instead of those for region 3 when the
pressure is below 225 bar. The same procedure is used for steam (gas).
In the water region, the gas properties are extrapolated from the saturation point. Enthalpy is based on
thermal capacity at the saturation temperature corresponding to the given vapor pressure and the
density according to the density derivative w.r.t. pressure at the saturation pressure corresponding to
the given temperature. All other properties are evaluated at the saturation temperature corresponding to
the vapor pressure.
For pressures above 225 bar, vapor properties are calculated based on equations for the different
regions.
Using this procedure, the vapor and water properties are continuous across the vapor-liquid (V–L)
division line when the pressure is above 225 bar.
Flashing/Condensation
The driving force for flashing of liquid or condensation of gas is the difference between the saturation
temperatures and the fluid temperature.
The effect of local boiling on a hot wall surface or condensation on a cold one are not explicitly included
in the mass balance of liquid and gas, but can be accounted for through an enhanced heat transfer at
the pipe wall.
The total energy available for generating gas or condensing it to obtain saturated conditions is
, (a)
where
mg = specific mass of gas [kg/m3]
ml = specific mass of liquid [kg/m3]
cpg = specific heat of gas [kJ/kgC]
cpl = specific heat of liquid [kJ/kgC]
h = heat transfer coefficient at inner wall surface [kJ/m2sC]
S = inner surface area per unit volume of pipe [1/m]
V = section volume [m3]
The total mass transfer to obtain saturated conditions is:
148
OLGA 6.3 USER MANUAL
,
, (b)
, ,
where
hsat,g enthalpy of saturated gas [kJ/kg]
=
hsat,l enthalpy of saturated liquid [kJ/kg]
=
In order to reduce numerical problems, it is assumed that this mass transfer occurs over a time Tψ. This
yields the mass transfer rate
,
(c)
The mass transfer per time step must not be larger than the available component mass of the
diminishing phase.
(d)
where
0.08664
0.42747
1 1
0 (e)
where
compressibility factor
149
Single Component OLGA 6.3 USER MANUAL
The solution, Z, to the above equation is found by iteration. As initial guess, the pressure is given by the
Antoine equation except for CO2 where the Wagner equation is used. Coefficients for these equations
can be found in /40/.
(f)
according to
(g)
where XV1 and XV2 are given through the keys VOLX(1) and VOLX(2), respectively, and Pr = P/Pc.
(h)
where the coefficients, CPi, are given through the input by CPIC(i+1).
150
OLGA 6.3 USER MANUAL
How to use
The single component model is activated by setting the key COMPOSITIONAL=SINGLE under the
OPTIONS keyword.
The time constants for condensation and boiling are specified by the keys TCONDENSATION and
TBOILING, respectively, under the keyword SINGLEOPTIONS. These keys are available as time series
if desired. Large values of the time constants will slow down the mass transfer leading to a fairly large
non-equilibrium. Small values will speed up the mass transfer and thereby reduce the thermal non-
equilibrium. Too small values might however cause instabilities which in turn can result in nonphysical
results.
Also note that although it is possible to choose water as a component, all possible single components
will be treated similarly and as an "oil phase". This means that although the holdup in a single
component water simulation is 1 in a pipe, the HOLWT and HOLHL output from that pipe is 0 and 1
respectively. Similar behaviour is to be expected from other output-variables which has an option for
water.
For many different components values of these coefficients can be found in /40/.
For boundaries, sources and wells, the gas fraction will be either gas or liquid, all depending on the
specified temperature as compared to the saturation temperature at the specified pressure. For sources
without any given pressure, the pressure of the source receiving position is used.
The output variables TSAT, TSV, PSAT, PVAP (see output variables description) are used to retrieve
the vapor data. TSV equals TM and PVAP equals PT for single component simulations (no partial
pressure since only a single component is considered). Other data can be obtained by specifying
compositional variables.
Under OPTIONS, the key WRITEPVTFILES = [NO]/YES controls whether the program will write the
single component properties that are being used to file or not. For YES, a tab file <inputfile>_pvt.tab
(fixed format) will be generated. Furthermore, the saturation line will be written to a file
<inputile>_pvt.env. Both these files can be visualized in the GUI.
151
Slug Tracking OLGA 6.3 USER MANUAL
Slug Tracking
In the standard OLGA model, physically sharp fronts in liquid hold-up are smeared out by the numerical
scheme, a phenomenon that is more pronounced in horizontal or near horizontal high velocity transient
flow cases. In situations where slug flow is identified by the flow model, hydrodynamic slugs are
accounted for only in an average manner that does not give any information about slugs, their
properties, or how they affect the flow. However, many flow parameters are highly dependent on the
slug pattern, e.g., the pressure drop in a flow-path. Thus, it is necessary to be able to explicitly account
for the occurrence of slugs.
The slug tracking model is designed to initiate, maintain, and track physically sharp fronts such as those
constituted by start-up slugs and hydrodynamic slugs. Among other things, the model gives information
about position, velocity, length, and other characteristic quantities of each individual slug. In turn, this
information is used to give better estimates of the actual properties of the overall flow.
When to use
The slug tracking model has two different options initiating slugs (keyword SLUGTRACKING). These
options are:
1. Level slug initiation, which initiate slugs when changes in liquid hold-up are detected from one
section to another. The change in hold-up might be caused by a start-up situation, liquid
sources, or boundary conditions changing with time just as well as geometry effects. This option
is activated through the LEVEL key and is mainly to be used for well-defined start-up slugs.
2. Hydrodynamic slug initiation, which is the recommended slug initiation method for
hydrodynamic and terrain slugging. Hydrodynamic slugs can be initiated when OLGA predicts
transitions from either stratified or annular flow to slug flow. This option is activated by the key
HYDRODYNAMIC.
In addition to these two options, there is manual hydrodynamic slug initiation. This option is activated
through the HYDRODYNAMIC key and requires that all slugs initiated are given as user input. Thus, in
order to use this option, detailed knowledge about the slugging is required since the user has to specify
the number of slugs to set up, at which positions to set them up, and at which times.
License requirements
Slug tracking is part of the Slugtracking Module that requires a separate license.
Startup Slug 1
Figure A Schematic visualization of a pipeline shut-in situation where liquid has been accumulated at
low points. The pipeline consists of a well, a transport line, and a riser.
152
OLGA 6.3 USER MANUAL
Level slug initiation may be carried out at any time in the user specified time interval given by
STARTTIME and ENDTIME. The detection of level slugs is based on differences in the gas fraction.
SLUGVOID is used to specify the maximum void allowed in a slug whereas BUBBLEVOID determines
the minimum void in a bubble. When a section is found with void less than SLUGVOID, a level slug
might be initiated, all depending on the void in the neighboring sections. If the void increases and
exceeds BUBBLEVOID within two upstream sections, a tail is initiated. If, on the other hand, the void
increases and exceeds BUBBLEVOID within two downstream sections, a front is initiated.
Initiation of hydrodynamic slugs
J-1 J J+1
ID=3
New Slug
J-1 J J+1
LSDINI
If OLGA predicts slug flow (ID=3) at boundary J, a hydrodynamic slug may be initiated in section J, J-1,
or over both sections, see Figure B.
Initiating a new slug implies redistribution of masses which might lead to discontinuities in pressure in
inclined or vertical pipes. To avoid such discontinuities, the new slug is set up with an as short slug
length as possible. These short hydrodynamic slugs will then grow into larger slugs as they propagate
through the pipe if the conditions are favorable.
When OLGA predicts slug flow, two criteria must be met before a hydrodynamic slug is initiated in a
section:
• The distance to the closest slug must exceed a minimum distance.
• The time elapsed since a slug was either generated in or passed through the section must be
larger than a specified minimum time.
The minimum distance between slugs is specified through the INITFREQUENCY key (slug initiation
frequency, Fi). Using the slug initiation frequency, the minimum distance is calculated as UB/Fi, where
UB is the bubble nose velocity of the new slug. Per default, the minimum distance is 10 pipe diameters.
The idle time required before generating a new slug at any section boundary is specified through the
DELAYCONSTANT key. The delay constant,DC, is given as the minimum number of pipe diameters
between the new slug and the slug that last occupied the same section.
∆ · (a)
153
Slug Tracking OLGA 6.3 USER MANUAL
where
D = pipe diameter [m]
Ul = average liquid velocity [m/s]
Limitations
Model limitations
The model currently used for hydrodynamic slug initiation uses a slug frequency and a delay constant to
determine when to set up new slugs. The slug frequency determines how close to an existing slug a
new slug can be initiated whereas the delay constant determines the shortest time allowed between
setting up two consecutive slugs at the same boundary or setting up a new slug after a slug has passed.
Compatibility limitations
At present, it is not possible to run slug tracking in combination with
• Complex fluid. The simulation will run, but as far as slugging goes, the results will be the same
as if complex fluid had not been used.
How to use
General
1. Add the SLUGTRACKING keyword and choose a slug initiation method.
2. Add trend and profile plot variables to see differences between running the simulation with and
without slug-tracking, e.g.,
PROFILEDATA VARIABLE=(PT, TM, ID, HOL, HOLHL, HOLWT, UL, UG)
TRENDDATA PIPE=PIPE5, SECTION=3, VARIABLE=(QLT, QLTHL, QLTWT, ACCLIQ,
ACCOIQ, ACCWAQ)
The accumulated flow rates (ACCLIQ) can be used to estimate slug sizes.
154
OLGA 6.3 USER MANUAL
If stability problems are encountered when using in-line process equipment together with slug-tracking,
it is recommended that illegal sections are introduced around the process equipment. Furthermore, if
there are large changes in pipe diameter, e.g., when modeling a separator at the end of a pipeline as a
pipe with big diameter, instabilities can be avoided by setting illegal sections on each side of such
boundaries.
With long pipelines mainly operating in the slug flow regime, the number of slugs can become very large
which in turn results in long simulation times. In such situations, it is recommended to only allow for
slugs close to the pipeline outlet, say the last 5-10 km. Yet again, this can be accomplished by using the
keyword SLUGILLEGAL. In cases where terrain effects are predominant and large slugs develop far
away from the outlet, illegal sections should not be used to prevent such slugs from developing.
Flow regime
When slug tracking is activated, the flow regime indicator (ID) should be used with caution since the flow
regime is forced to bubbly inside liquid slugs whereas it is forced to stratified in slug bubbles. Thus, the
flow regime indicator will never indicate slug flow when slug tracking is activated.
∆ · (a)
where
D = pipe diameter [m]
Ul = average liquid velocity [m/s]
155
Slug Tracking OLGA 6.3 USER MANUAL
.
. . (b)
∆
where
D = pipe diameter [m]
L = pipeline length [m]
Usl = superficial liquid velocity [m/s]
it is possible to get an estimate of the delay constant. Tuning on the delay constant should be performed
such that the resulting slug frequency is in the same order of magnitude as Fsl. It should be noted that
this correlation is based on experimental data and field data for systems dominated by hydrodynamic
slugging. Thus, if terrain effects are predominant, one should not use the Shea correlation. The default
value of 150 has been found to yield good results for a number of cases.
It is possible to plot properties of individual slugs using their identification number. This feature is mainly
of use when there are few slugs in the system and the slugs of interest are easily identified. In cases
with severe slugging, the large number of slugs will make it virtually impossible to single out a particular
slug. However, it might be of interest to look at a statistical sample of slugs in order to get an idea of the
general slug properties. The syntax for addressing individual slugs is
TRENDDATA SLUGID=1, VARIABLE = (LSL, LSB, JSLT, JSLF, USF, UST, ZFSL, ZTSL, PTJF, PTJT)
Slug statistics
The trend plot variables LSLEXP and LSBEXP show the length of a liquid slug or slug bubble currently
residing at a given section boundary.
TRENDDATA PIPE=PIPE-1, SECTION=10, VARIABLE=LSLEXP
Using the OLGA GUI, these variables can be used to plot slug statistics. The slug statistics is generated
by post-processing of the .tpl-file and is accessed by selecting the variables LSLEXP_STAT and
LSBEXP_STAT in the trend plot dialog. These two plot variables represent the statistical distribution of
slug and slug bubble lengths at the boundary considered. The properties of these plots can be set
through 'Slug Statistics...' under the Edit menu.
156
OLGA 6.3 USER MANUAL
Slug Tuning
The SLUGTUNING keyword makes it possible to tune parameters in the slug model.
When to use
The SLUGTUNING keyword is used for tuning the OLGA slug tracking model to specific sets of
measurement data or sensitivity studies. SLUGTUNING should be applied with great care, as it might
cause the validation and verification of the OLGA model to no longer be valid.
License requirements
Slug tuning is part of the Tuning Module that requires a separate license.
(a)
where
CUB1 = tuning coefficient 1 given by the key UBCOEFF1
CUB2 = tuning coefficient 2 given by the key UBCOEFF2
C0 = distribution coefficient
Umix = mixture velocity, i.e., sum of the superficial velocities
U0 = drift velocity
,
∆ (b)
0
where
CDP = tuning coefficient for slug front pressure drop given by key DPFACT
CDP0 = tuning coefficient for onset of slug front pressure drop given by key DPONSET
Lslug = slug length
f(α,ρl) = additional pressure drop
Ucrit = cutoff velocity at which the slug front pressure drop is switched on
Limitations
The slug tuning coefficients are given globally, i.e., it is not possible to specify different sets of tuning
parameters for different flow-paths.
How to use
Specify the desired slug tuning coefficients and where they should be applied. N.B., the slug tuning
coefficients is global.
157
Source OLGA 6.3 USER MANUAL
Source
A source can be used to model pipeline inflow and outflow of gas and liquid. OLGA use mass flow rate
for internal calculations, but input flow rate may also be given as volumetric flow at standard conditions.
Wells and nearwells are more specialized types of modelling pipeline inflow and outflow.
When to use
The SOURCE key can be used when a flow needs to be inserted into the pipeline.
For more advanced flow simulations the WELL or NEARWELL keys can be used.
The upstream (for positive source) or downstream (for negative source) pressure and temperature can
be specified. When the upstream/downstream pressure is given, the expansion from the given pressure
to the pressure inside the pipe section will be taken into account for the temperature calculations. A
mass source need not specify the upstream/downstream pressure, and this will then be set to the
pressure inside the pipe section where the source is introduced. A SOVA must always specify the
upstream/downstream pressure.
The external pressure and temperature can be constant or given as a time series.
Phase fractions can be specified in the input for a positive source. For a negative source, the phase
fractions in the connected section will be used.
Mass source
The mass source is the simplest model and has a given mass flow rate specified by the user.
Phase fractions for gas and water can be specified, from which the oil phase fraction will be calculated.
The default value for gas is -1, which means it will be read from the PVT file. The default value for water
is 0.
If a controller is used, the actual mass flow rate into the section (positive source) or out of the section
(negative source) is a fraction of the mass flow rate given as input, with the fraction regulated by the
controller.
Note that the mass flow node covers the functionality of a mass source in the first section after a closed
node.
158
OLGA 6.3 USER MANUAL
Both sub-critical and critical flow is described. For sub-critical 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 upstream conditions and the flow area only. The pressure
difference determines the direction of flow in or out of the pipe.
π
Asova = ⋅ DSOVA
2
⋅ u s ;0 ≤ u s ≤1 (a)
4
where us = controller signal
Valve functionality
The valve-specific functionality is further described in the Valve section.
Indexes:
tot Total
ST At standard condition
g Gas phase
o Oil phase
liq Liquid phase (water + oil)
w Water phase
* Equivalent phase
159
Source OLGA 6.3 USER MANUAL
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.
ST
If WATERCUT, GOR and volume flow of gas at standard condition ( Qg ) are known, use:
1 1 wc
m& tot = Q gST ( ρ gST + ρ oST + ( ) ρ wST ) (b)
GOR GOR 1 − wc
ST
If WATERCUT, GOR and volume flow of liquid at standard condition ( Qg ) are known, use:
ST
If WATERCUT, GOR and volume flow of oil at standard condition ( Qo ) are known, use:
wc
m& tot = QoST ( ρ oST + GORρ gST + ρ wST )
1 − wc (d)
ST
If WATERCUT, GOR and volume flow of water at standard condition ( Qw ) are known, use:
1 − wc ST 1 − wc ST
m& tot = QwST ( ρ wST + ρ o + GOR ( )ρ g )
wc wc (e)
ST
If WATERCUT, GLR and volume flow of gas at standard condition ( Qg ) are known, use:
1 − wc ST wc ST
m& tot = Q gST ( ρ gST + ρo + ρw )
GLR GLR (f)
ST
If WATERCUT, GLR and volume flow of liquid at standard condition ( Qliq ) are known, use:
ST
PHASE = LIQUID and STDFLOWRATE = Qliq
ST
If WATERCUT, GLR and volume flow of oil at standard condition ( Qo ) are known, use:
160
OLGA 6.3 USER MANUAL
1 wc
m& tot = QoST ( ρ oST + GLR ( ) ρ gST + ρ wST )
1 − wc 1 − wc (h)
ST
If WATERCUT, GLR and volume flow of water at standard condition ( Qw ) are known, use:
1 − wc ST 1
m& tot = Q wST ( ρ wST + ρ o + GLR ( ) ρ gST )
wc wc (i)
Specified GOR or GLR will shift the values of gas mass fraction in the PVT table with use of the
following equation (2 phase)
where
GG P ,T Gas mass flow at given pressure and temperature
GG ST Gas mass flow at standard condition - calculated from given GOR or GLR
GHL ST Oil mass flow at standard condition - calculated from given GOR or GLR
RS P ,T Gas mass fraction at given pressure and temperature - value from the PVT table
RS ST Gas mass fraction at standard condition - value from the PVT table
GG
RS =
GG + GHL (k)
*ST
If the equivalent gas volumetric flow rate at standard condition ( Qg ) and the mol weight of the total
flow, , are known, use:
PHASE = GAS, STDFLOWRATE = Qg
*ST
and MOLWEIGHT = MW
The density of the equivalent gas at standard conditions 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)
If GOR or GLR is less than 1010 the total mass flow will be calculated from the equations described
earlier for PHASE = GAS with QgST = Qg*ST and ρ gST = ρ g*ST .
Note: There are limitations on how much the value of GOR/GLR can be changed 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.
161
OLGA 6.3 USER MANUAL
How to use
To define a SOURCE, follow the steps described below.
Mass source
There are several keys available to define the mass source.
When the mass flow rate is to be specified at the source temperature and pressure without
compositional tracking use the key MASSFLOW.
When the volumetric flow rate at the standard conditions is given, the key STDFLOWRATE should be
used.
162
OLGA 6.3 USER MANUAL
When to use
The steady state pre-processor may be used in order to
1. eliminate the need for user given initial conditions
2. get a consistent initial state as a basis for dynamic simulations
3. perform screening studies
The steady state pre-processor can be used for flow networks with any combination of boundary
conditions at inlets and outlets. Both merging and diverging networks can be calculated.
Except for displacement pumps and pump battery, the steady state pre-processor incorporates the
effect of process equipment. For PID controllers the bias settings are used as the controller outputs.
Iteration on the sequence 1) to 3) is performed until the change between two iterates is smaller than a
tolerance. If the inlet flows and/or outlet pressures are not known, an outer iteration is needed in
addition to the one shown above. In this iteration the initial guesses for inlet flows/outlet pressures are
refined until the residuals are smaller than a given tolerance.
Limitations
The solution computed by the steady state pre-processor and the solution obtained when simulation
with the dynamic solver until a steady state is achieved may not be equal. This is mainly due to the two
following reasons:
1. For unstable systems (for instance slugging cases) the steady state pre-processor may find a
solution that differs from the average value in the transient solution as there is no truly steady-
state condition.
2. The steady state pre-processor has some small residual errors that are removed by the
transient simulation. In some sensitive cases this can cause a difference in pressure,
temperature and hold-up profiles.
Therefore, if the slug flow regime is detected in the simulation, it is recommended to perform a dynamic
simulation with the slug tracking model (not available in OLGA 6.1).
The steady state pre-processor is not as robust as the dynamic OLGA. This is particularly the case for
simulations with pressure or well (productivity index) as inlet boundary conditions, or negative sources.
In such cases, if the pre-processor does not converge to a reliable solution, the pre-processor must be
turned OFF (STEADYSTATE=OFF under OPTIONS), and INITIALCONDITIONS must be applied to all
the FLOWPATHS instead.
163
Steady State Processor OLGA 6.3 USER MANUAL
The steady state pre-processor cannot handle counter-current flow (such as for instance positive gas
flow and negative liquid flow).
The steady state pre-processor cannot handle zero flow in the pipeline, therefore it should not be used
with closed valves in the flow path or with mass sources that sum up to zero flow rate at start time.
For flow networks with one or more separators the steady state pre-processor uses a simplified
approach. The separator is treated as a simple node with mixture properties and the phase flow
fractions of any phase are assumed to be equal for any of the outlets of a separator. This approach may
lead to discontinuities between the steady state and dynamic solution.
The steady state pre-processor may be run with wax deposition or hydrate kinetics activated, but the
pre-processor does not consider the wax phase or hydrate formation.
How to use
To activate the steady state pre-processor from the OLGA GUI do the following:
The latter option can be useful if the pre-processor has problems finding a solution. This implies that the
simulation must be run dynamically for some time in order to achieve a true thermal steady state
solution.
The steady state pre-processor can sometimes fail to find a solution if flows are negative, i.e. if the flow
goes from the outlet to the inlet of a pipeline. For such pipelines it is therefore recommended to set
INIFLOWDIR=NEGATIVE in the BRANCH input group.
In order to do some fast studies (screening studies), one can use the steady state pre-processor results.
In this case use STEADYSTATE = ON under OPTIONS and STARTTIME equal ENDTIME under
INTEGRATION.
If input parameters (boundary conditions, valve openings, etc.) are given as time series, the steady
state pre-processor uses the values at the start time.
164
OLGA 6.3 USER MANUAL
SteamWater-HC
The SteamWater-HC functionality is an improved way of tracking when there is a considerable amount
of H2O in the fluid. There are some basic limitations when not using this module:
The standard table based version of the code assumes that the gas phase is always saturated with
steam (no mass balance for steam). Does not apply when using Inhibitor Tracking and Compositional
Tracking as they have a steam mass balance.
The second limitation is not a real limitation as there will usually be some HC gas in situations where
water is evaporating. The only situation where this limitation is real is if only water is present in the fluid
and temperature and pressure conditions are such that the saturation line is crossed.
The third limitation is related to the way the conservation equations are solved with an explicit coupling
between volume (pressure) balance and energy (temperature) balance.
This is solved by introducing time constants or delays in the evaporation/condensation process. The
difference between the saturation temperature and the fluid temperature serves as a potential for phase
mass transfer. Multiplying this temperature difference with a certain heat or energy transfer coefficient
gives a certain energy transfer rate that can be used to estimate the mass transfer rate. In that case an
asymptotic approach to equilibrium occurs. How fast this approach is depends on the size of the energy
transfer coefficient.
Also, this module gives more correct water/steam properties around the critical point and also in the
supercritical region.
When to use
The SteamWater–HC functionality should be used when there is a considerable amount of water in the
fluid, or when it is important to limit the rate of boiling/evaporation/condensation, e.g., when simulating
drying of a pipeline with hot gas.
License requirements
SteamWater–HC is part of the Single Component Module that requires a separate license.
• Oil, gas, water and vapor (steam) will all have the same temperature, TM.
• The pressure of the water phase will be equal to the total pressure.
• The pressure of vapor will be equal to the partial pressure of vapor in the gas phase and will be
calculated assuming an ideal mix of vapor and hydrocarbon gas.
• Water saturation temperature, TSATW, will be calculated from the total pressure.
• Vapor saturation temperature, TSATV, will be calculated from the partial pressure of vapor.
• If the fluid temperature, TM, is higher than TSATW, flashing or boiling of water will take place.
• If TM is higher than TSATV but lower than TSATW, evaporation of water will take place.
• If TM is lower than TSATV, condensation of vapor will take place. Note that TSATV will always
be less or equal to TSATW.
165
SteamWater-HC OLGA 6.3 USER MANUAL
The inner pipe wall surface may be superheated or subcooled compared to TSATW or TSATV. Such a
situation may lead to surface boiling or surface condensation in cases where water or vapor is in direct
contact with the pipe wall. This additional mass transfer term will not be directly included but can be
accounted for by an enhanced heat transfer due to surface boiling/condensation.
After the saturation points and the physical properties are calculated for all the P/T grid points that
correspond to the PVT table for the HC mixture, linear interpolation between the grid points is applied
during the simulations. For simulation cases where the pressure may cross the critical pressure, it is
important that the HC PVT table contains a grid point that is close to the critical point in order to obtain
accurate crossing of the saturation line.
For all the cases, a pressure interval less than10 bar and a temperature interval less than 10 K are
recommended in order to maintain acceptable accuracy of the linear interpolation.
Saturation line
Below the critical point, PC and TC, (pressure and temperature), the saturation pressure, Psat (T), and
saturation temperature, Tsat (P), at a given grid point, P,T, is determined from the saturation line.
Above the critical point, PC = 221.2 bar and TC = 647.3 K, and to 676 K and 250 bar, a straight line is
used to divide the single-phase or dense-phase region into vapor and liquid. Above 676 K and 250 bar,
the boundary line between region 2 and region 3 is used as the division between vapor and liquid. The
definition of the regions is described in /37/.
166
OLGA 6.3 USER MANUAL
Physical properties.
Water properties:
For pressures below 225 bar, water property equations for region 1 (see /37/) are used for water in the
water region.
In the vapor region, the properties for water are extrapolated from the saturation point: Enthalpy is
based on thermal capacity at saturation temperature corresponding to a given pressure and the density
according to the density derivative to pressure at the saturation pressure corresponding to a given
temperature. All the other properties are from the saturation temperature.
For pressures above 225 bar, water properties are calculated based on equations for the different
regions specified in /37/.
Thermal capacity and enthalpy for water is singular near the critical point. To avoid numerical problems
in region 3 the water properties from region 1 instead of those for region 3 when the pressure is below
225 bar (the equations are very similar except when you are closer than <1C and 0.1 bar). The same is
done for steam.
Vapor properties:
For pressures below 225 bar, vapor property equations for region 2 are used for vapor in the vapor
region.
In the water region, the vapor properties are extrapolated from the saturation point. Enthalpy is based
on thermal capacity at saturation temperature corresponding to the given vapor pressure and the
density according to the density derivative to pressure at the saturation pressure corresponding to the
given temperature. All the other properties are from the saturation temperature corresponding to the
vapor pressure.
For pressures above 225 bar, vapor properties are calculated based on equations for the different
regions.
With this procedure, the vapor and water properties are continuous across the vapor-liquid (V-L) division
line when pressure is above 225 bar.
Vapor pressure:
PVAP = P*Mvap/(Mvap + Mhc)
where
Mvap = MGVAP/MWH2O, kmoles of vapor/unit volume(m3)
Mhc = MGHC/MWhc, kmoles of HC gas/unit volume(m3)
MGVAP = Mass of vapor/unit volume
MGHC = Mass of HCgas/unit volume
MWH2O = Molweight of vapor = 18 kg/kmol
MWhc = Molweight of HC gas
Flashing/Condensation
The driving force for flashing of water or condensation of vapor will be the difference between the
saturation temperatures and the fluid temperature. The vapor saturation temperature will be directly
related to the partial pressure of vapor assuming an ideal mixing of HC-gas and vapor. With the
presence of HC-gas in the fluid, a gradual transfer of mass of H2O will take place as the partial pressure
of vapor changes. With no HC-gas in the fluid the partial pressure of vapor will be equal to the total
pressure and no bulk mass transfer takes place until either sub-cooled water reaches saturation
temperature or superheated steam cools down below saturation temperature.
167
SteamWater-HC OLGA 6.3 USER MANUAL
The effect of local boiling on a hot wall surface or condensation on a cold wall surface will not be
included directly in the mass balance of water and vapor but can be accounted for through an enhanced
heat transfer at the pipe wall.
The total energy available for generating vapor or condensing vapor to obtain saturated conditions is
HTOTV.
where
mghc = specific mass of HC-gas (kg/m3)
mlhc = specific mass of HC-liq (kg/m3)
mlwt = specific mass of water (kg/m3)
mgv = specific mass of vapor (kg/m3)
cpgh = specific heat of HC-gas (KJ/kgC)
cplh = specific heat of HC-liq (KJ/kgC)
cpwt = specific heat of water (KJ/kgC)
cpv = specific heat of vapor (KJ/kgC)
In order to reduce numerical problems it will be assumed that this mass transfer will take a certain time
TPSI. The mass transfer rate will then be:
The mass transfer per time step must not be larger than the available mass of the diminishing phase
component.
How to use
In order to activate the SteamWater-HC model, the input key COMPOSITIONAL under keyword
OPTIONS must be set to STEAMWATER-HC.
For initialconditions, boundaries, sources and wells, the specified water fraction will be either steam or
liquid depending on the specified temperature compared to the water saturation temperature at the
specified pressure when STEAMFRACTION is set to -1 (default). For sources without any pressure
given, the pressure of the source receiving position will be used. STEAMFRACTION can be set
between 0 and 1 to give both water and steam.
New output variables for presenting vapor data have been implemented: TSAT, TSV, PSAT, PVAP (see
output variables description). Other data for vapor can be obtained by specifying compositional
variables.
After the saturation points and the physical properties are calculated for all the P/T grid points that
correspond to the PVT table for the HC mixture, linear interpolation between the grid points is applied
during the simulations. For simulation cases where the pressure may cross the critical pressure, it is
168
OLGA 6.3 USER MANUAL
important that the HC PVT table contains a grid point that is close to the critical point in order to obtain
accurate crossing of the saturation line.
In OPTIONS the subkey WRITEPVTFILES=[NO]/YES controls if the program will write to file the
water/steam properties that are being used. For YES, tab files (fixed format) will be written for each HC
mixture PVT table, using the same P/T grid. The name of the file(s) will be
<inputfile>_pvt_<HCfluidlabel>.tab. Also, the saturation line will be written to a file with the name
<inputile>_pvt.env. Both can be viewed in the GUI.
For all the cases, a pressure interval less than 10 bar and a temperature interval less than 10 K are
recommended in order to maintain acceptable accuracy of the linear interpolation.
169
Thermal Components OLGA 6.3 USER MANUAL
Thermal Components
The basic functionality in OLGA computes an axial temperature distribution in pipelines taking into
account radial heat transfer through pipe walls.
In addition to this functionality, OLGA has three types of thermal components that also take cross-
sectional heat transfer between different pipelines into account. This is useful for, e.g., pipeline bundles,
buried pipelines and drilling configurations.
The Bundle model should be used for pipeline bundles when the effect of heat transfer between
different pipelines is important.
The Annulus model is similar to the Bundle model, but it is specially designed for well and drilling
configurations.
The FEMTherm model should be used when pipeline configurations are surrounded by a solid medium.
It computes a three-dimensional temperature distribution by combining computation of radial and
angular heat storage and heat transfer in the medium surrounding the pipelines, with the one-
dimensional axial computation for the pipeline fluid.
Annulus
In well- and drilling-configurations such as the one illustrated in Figure 1 below, there will be cross
sectional heat transfer between the different pipelines. If the temperature distribution in one pipeline
changes, it will affect the temperatures in all the other pipelines. The annulus model treat such heat
couplings in a more explicit and dynamic manner than the basic OLGA model.
When to use
The annulus model should be used for pipeline configurations like the one shown in Figure 1 below in
order to account for cross sectional heat transfer between the different pipelines. The annulus model is
very similar to the bundle model, but it is specially designed for well- and drilling-applications. In the
annulus model diameters are allowed to vary in the axial direction.
The annulus model may be used to model gas-lifted wells where gas is injected into the annulus
between the casing and tubing and recovered in the tubing together with the production fluid.
The annulus model has no purpose if all U-values (overall heat transfer coefficients) and temperatures
are known.
170
OLGA 6.3 USER MANUAL
License requirements
Annulus is part of the Wells Module that requires a separate license.
Limitations
All pipelines that are contained within the same annulus must have the same section lengths and
elevations.
The annulus model requires the WALL or FASTWALL temperature calculation option to be used.
How to use
To use the Annulus model, in the OLGA GUI do the following:
In the OLGA GUI, an annulus consists of a carrier line enclosing one or several flow-paths. The carrier
line itself is a regular flow-path. To populate the annulus, the following has to be repeated for each
participating component:
In the property window for the newly created component, fill out the required fields. In particular, the
FLOWPATH identifier have to be specified. N.B., no flow-path is created by this procedure, and, thus,
the flow-path specified have to either exist beforehand or be added to the case later.
The properties FROM and TO define the part of the flow path that is enclosed in the annulus (axial
direction). They refer to position labels which must be defined under Piping for the FLOWPATH.
The properties XOFFSET and YOFFSET are X- and Y-direction offsets for the FLOWPATH center from
an arbitrary reference point. All flow-paths contained in the same annulus must have the same
reference point.
171
Thermal Components OLGA 6.3 USER MANUAL
The property OUTERHVALUE may be used if the heat transfer coefficient from the outer wall surface to
the carrier line is known, otherwise forced/free convection will be applied.
Flow-paths that are contained within the same annulus have to have the same section lengths and
elevations. Pipe diameters may vary in the axial direction.
The WALL or FASTWALL temperature calculation option must be specified when an annulus is present
in a case.
172
OLGA 6.3 USER MANUAL
FEMTherm
FEMTherm may be used to calculate the thermal performance of the following systems:
• Bundled pipelines
• Buried pipelines
• Complex risers
FEMTherm covers the functionality of the Soil module implemented in earlier versions of OLGA, with
several differences:
• Easier input:
o Discretization: just one value is required (MESHFINENESS)
o Predefined shapes (circle, ellipse, rectangle) in addition to a user-defined polygon
• Better visualization of cross section, grid and results (FEMTherm Viewer)
• More accurate discretization around the circular pipe wall (unstructured triangular mesh)
• Radiation is included
When to use
The FEMTherm model is designed to simulate the thermal interactions between parallel pipelines
enclosed in a solid medium. In situations with buried pipelines, the model is capable of predicting the
transient thermal behavior of the surrounding soil. Therefore, the model is very useful when the
immediate surroundings of a pipe cannot be treated as a constant thermal reservoir. The model is also
very flexible with respect to geometry definitions and is well suited for analyzing complex risers with
temperature variations that are not axi-symmetric. However, the FEMTherm calculations can be time-
consuming, and, thus, this model is not recommended for systems where the ambient heat transfer
boundary conditions can be defined sufficiently well using the concentric wall layer model.
License requirements
The FEMTherm model is part of the FEMTherm Module that requires a separate license.
173
FEMTherm OLGA 6.3 USER MANUAL
cross section with two interior pipelines. The simulation model consists of stacks of such cross sections
along the pipeline.
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.
Figure B: Cross section grid and concentric pipe with a single wall layer
In the situation of an incompressible fluid in the pipe visualized above, the governing equations for this
system are:
∂T f ∂T f &
ρ f C pf Af = −m& C pf − QWALL (a)
∂t ∂z
174
OLGA 6.3 USER MANUAL
∂T w
ρ w C pw A w = +Q& WALL − Q& FEM (b)
∂t
∂T ∂ ⎛ ∂T ⎞ ∂ ⎛ ∂T ⎞ r r →
ρC p = ⎜λ ⎟ + ⎜⎜ λ ⎟⎟ ∧ q& = J q ⋅ n , J q = −λ∇T (c)
∂t ∂x ⎝ ∂x ⎠ dy ⎝ ∂y ⎠
In the more general case, equations (a) and (b) are solved for each component and for each wall layer.
Equation (a) describes the energy conservation of the fluid, Equation (b) the energy conservation of the
pipe WALL and Equation (c) the energy conservation with heat conduction in the interior of the solid
medium. In addition to these, a set of boundary and initial conditions are required for the calculation.
The temperature, T = T ( x, y, z, t ), is the central variable in FEMTherm and the parameters in the
model are:
Α Area of the pipe cross section
Q& FEM Heat transfer between first layer and FEM domain boundary
The weak form of Equation (c) according to classical functional analysis is:
∂T r r
∫ ρC pδT
Ω
∂t
dA = ∫ λ∇δT ⋅ ∇TdA − ∫ δTJ q ⋅ n dS
Ω ∂Ω
(d)
175
FEMTherm OLGA 6.3 USER MANUAL
where Ω is the interior of the FEM domain, ∂Ω is the boundary subject to non-essential boundary
conditions and δT is the test function. The last term in this equation is used to impose the boundary
condition for the Newton’s law of cooling of external boundaries:
r r
J q ⋅ n = − h (T − Tamb ) (e)
where the heat transfer coefficient, h , and the ambient temperature, Tamb , are user-defined
constants. The finite element domain is discretized using linear triangular elements, while the evolution
n+1
in time is modeled using a backward Euler scheme. By factoring out the ambient temperature, Tamb ,
and the temperature in the last wall layer, Ti,nN+1 , the following system of discrete equations is obtained.
(K + 1
Δt C)T n +1 = 1
Δt
n +1
CT n + R amb Tamb + ∑ R i Ti ,nN+1 (f)
i
n +1
This can now be used to solve the vector of nodal temperatures, T , as a function of the ambient
temperature, the last wall layer temperatures of each component and the temperature at previous
n
time step, T . The wall layer temperatures are not yet known, and therefore the equation system (f) is
coupled to and solved simultaneously with the equations for the fluid and wall temperatures for all
embedded components. The linearization needed for this coupling is derived in the following manner:
The ”ambient” temperature, Ti,ambient , of the last wall layer of each component is obtained by taking the
average temperature in the FEM domain along the boundary of thei’th component, ∂Ωi . This average
temperature of discrete nodal temperatures is defined by the function
∫T FEM (T)dS
∂Ωi (g)
Ti ,ambient (T) =
∂Ω i
∫
where dS = ∂ Ω i is the length of boundary i and the function TFEM is evaluated element by element
∂Ω i
along the boundary. By the linearity of the solution, using superposition this can be written as:
(
+1
Ti ,nambient n +1
= Ti ,ambient (T n ) + Ti ,ambient (B ambTamb ) + ∑ Ti ,ambient (B j T jn, N+1 )
j
(h)
ambient + a i , 0 Tamb + ∑ a ij T j , N
n +1 n +1
= Ti ,inertial
j
n +1
where B j T j , N = (K + 1 Δt C) −1 R jT jn, N+1 is a vector of nodal temperatures resulting from the boundary
(n
condition at perimeterj, and T = (K + 1Δt C) −1 1Δt CTn is a scaling of the nodal temperatures at timen.
Given that the temperature, TFEM ,within the FEM domain is a linear function of the nodal temperatures,
the constantsaijcan easily be obtained from:
176
OLGA 6.3 USER MANUAL
Numerical considerations
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. 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 (see Figure C) serves as an external
boundary to the finite element equation. 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.
inner
surface
outer
surface
One needs to determine the number of nodes that is required to obtain a suitable grid and time step in
order to obtain numerical solutions to the heat transfer Equation (c). The FEMTherm model should be
used with optimized spatial and temporal discretizations which gives a step-size independent solution.
In the figure below we see a close-up of the region between the two pipes in Figure C for three
examples of the spatial discretization. The numerical accuracy is strongly dependent on the number of
internal nodes (N) between external boundaries.
a b c
Figure D: Different discretizations for the area between two OLGA pipes
Due to the linear interpolation functions in the finite element calculation, we recommend that N should
be at least 4 to get a good approximation for the temperature field. 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 MESHFINENESS[*]
key in the SOLIDBUNDLE keyword sets the spatial resolution of the grid by determining the number of
nodes on the outermost shape. The number N can be checked after the simulation has been performed
by looking at the grid in FEMTherm Viewer, or alternatively using FEMTherm input dialog in GUI.
177
FEMTherm OLGA 6.3 USER MANUAL
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
The key DELTAT in the SOLIDBUNDLE 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 ρC p 2
τ≈ L (a)
2 λ
where ρ , Cp and λ are the density, specific heat capacity and thermal conductivity of a pipe layer
thickness L . Thus, one should determine this time constant for all the layers in a pipe and use a time
step that is below the smallest of these.
It should be noted that the thermal masses in the solid medium can be very large and it may require
very long simulation times to obtain thermal equilibrium when integrating the energy balance equation.
To account for this, without using the steady state pre-processor, it is possible to switch the
TEMPERATURE option from FASTWALL to WALL between restarts. This is in principle the procedure
used in the steady state pre-processor. The FASTWALL option is equal to setting the heat capacity
parameter to zero and can be used when there are no thermal transients. The increase in computational
speed may be significant when compared to using the WALL option. However, for transient analyses
this option should only be used to initialize the simulations.
The results from an OLGA simulation where the FEMTherm module has been applied can be visualized
using FEMTherm Viewer. Note that the FEMTherm code makes a triangle mesh also for the OLGA
WALLS (radial conduction layers) and the fluid within. This is for the purpose of visualization 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 Figure E that shows an inner OLGA WALL with two
outer walls defined by SHAPE.
Figure E: Left: Grid visualized in FEMTherm Viewer (the fluid in the middle will also have a mesh).
Right: Grid used in FEMTherm calculation.
The plotting frequency is determined by the key DTPLOT in the SOLIDBUNDLE keyword and should be
set judiciously. For very fine discretization and/or long bundle sections, the amount of data may become
exceedingly large for long simulations. By increasing the value of DTPLOT, the amount of data may be
limited.
178
OLGA 6.3 USER MANUAL
[*] MESHFINENESS is the number of nodes, which are evenly distributed on the outer boundary of the
SHAPE with the longest circumference within a SOLID BUNDLE, 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.
Limitations
All pipelines that border to a solid shape must have a constant diameter in the axial direction. Thus, if an
annulus borders to a solid shape the diameter of the outermost pipeline of the annulus is not allowed to
vary.
Multiple outer shapes as well as overlapping shapes are allowed. However, shapes inside an outer
shape are not allowed to partially overlap, or to be adjacent as shown in Figure A. Note that the model
is constructed with the use of rectangles and circular pipes only.
The FEMTherm calculations are based on linear theory which assumes fixed geometry and material
properties. All materials are assumed to be homogeneous and isotropic. The integration in time is
performed using a fixed time step (no time step control) for the temperature distribution in the cross
section.
The model can only handle parallel pipes and pipes of a constant diameter.
How to use
FEMTherm is activated through the SOLIDBUNDLE keyword. To include a SOLIDBUNDLE/FEMTherm
computation in the simulation, the following must be done in the OLGA GUI:
From the newly created solid bundle, right click and choose:
Add → BundleComponents → COMPONENT.
In the property window for the newly created bundle component, fill out the required fields. In particular,
a reference to either a FLOWPATH, a LINE a FLUIDBUNDLE or a SHAPE must be specified. Note that
no new component is created by this procedure, and that the specified component must exist
beforehand or be added later.
179
FEMTherm OLGA 6.3 USER MANUAL
The properties FROM and TO define the part of the component that is enclosed in the bundle (axial
direction). They refer to position labels.
The thermal computations are only affected by the relative position of one object to another. To give
better control of the cross section, without having to adjust the pipeline geometry, the coordinate system
of the bundle cross section is decoupled from the rest of the model. All components are by default
placed concentric around the origin and may be independently moved to its correct location with the
keys XOFFSET and YOFFSET. The only exception to this rule is for SHAPES of type RECTANGLE and
POLYGON. In this case, the x and y coordinates of the shape are given explicitly, but XOFFSET and
YOFFSET may still be used for an additional offset.
The property OUTERHVALUE may be used if the heat transfer coefficient from the outer surface of the
bundle component to the carrier line is known, otherwise forced/free convection will be applied.
The length and elevation of each section of a pipeline that is contained within a SOLIDBUNDLE must be
maintained.
For every SOLIDBUNDLE a finite element triangle mesh is generated. The fineness of the mesh is set
by the MESHFINENESS key. The value of this key denotes the number of nodes on the component
with the largest circumference. The higher the MESHFINENESS, the finer the mesh. However, the grid
is not very sensitive with respect to MESHFINENESS as the value of this parameter is being rounded
off to multiples of 32. The typical values for this key is between 128 and 640. To select this parameter
wisely, it is recommended to read about numerical considerations in Methods and Assumptions.
The ambient conditions for the bundle may vary both in the vertical axis of the cross section and along
the length of the bundle. It is defined through the use of the AMBIENTDATA keyword. If this keyword is
not given, the ambient conditions defined in the HEATTRANSFER keyword in the largest flow
component of the bundle is used.
180
OLGA 6.3 USER MANUAL
Bundle
For pipeline configurations like the one shown in Figure 1 below, there will be cross sectional heat
transfer between the different pipelines. If the temperature distribution in one pipeline changes, it will
affect the temperatures in all the other pipelines. The bundle model treat such heat couplings in a more
explicit and dynamic manner than the basic OLGA model.
Hot liquid
Production return
Carrier
Carrier fluid
Insulation
Hot liquid
injection
Figure 1 Example of a fluid bundle configuration.
When to use
The bundle model should be used for pipeline configurations like the one seen in Figure 1 above when
accuracy in temperature is important.
License requirements
Fluid bundle is part of the FEMTherm Module that requires a separate license.
Limitations
The diameters of the carrier line and all the interior pipelines have to be constant in the axial direction.
181
Bundle OLGA 6.3 USER MANUAL
All pipelines that are contained within the same bundle have to have the same section lengths and
elevations.
The bundle model requires the WALL or FASTWALL temperature calculation option to be used.
How to use
To use the Bundle model, in the OLGA GUI do the following:
In the OLGA GUI a fluid bundle consists of a carrier line enclosing one or several flow components
(flow-paths, lines, and/or bundles). The carrier line itself is either a regular flow-path or a line. To
populate the fluid bundle, the following has to be repeated for each participating flow component:
From the newly created fluid bundle, right click and choose:
Add→BundleComponents→COMPONENT
In the property window for the newly created bundle component, fill out the required fields. In particular,
a reference to the flow component (FLOWPATH, LINE or FLUIDBUNDLE) has to be specified. N.B., no
new flow component is created by this procedure, and, thus, the component specified has to either exist
beforehand or be added to the case later.
The properties FROM and TO define the part of the flow path that is enclosed in the bundle (axial
direction). They refer to position labels which must be defined under Piping for the FLOWPATH.
The properties XOFFSET and YOFFSET are X- and Y-direction offsets for the component center from
an arbitrary reference point. All components contained in the same fluid bundle must have the same
reference point.
The property OUTERHVALUE may be used if the heat transfer coefficient from the outer wall surface of
the bundle component to the carrier line is known, otherwise forced/free convection will be applied.
Flow-paths that are contained within the same bundle have to have the same section lengths and
elevations. Pipe diameters must be constant in the axial direction.
The WALL or FASTWALL temperature calculation option must be specified when a fluid bundle is used
in a case.
182
OLGA 6.3 USER MANUAL
Line
A LINE is a type of FLOWPATH for which simplified one-phase calculations are performed.
In OLGA, a LINE also takes into consideration frictional effects and will give a pressure drop along the
pipeline. Thus, it needs fluid properties as a function of both pressure and temperature. These fluid
properties are given as usual with the PVTFILE and FLUID keys.
Note that this also applies when running component tracking (e.g. CompTrack, Blackoil). Example 1-
phase fluid files are provided with the Sample cases.
When to use
Lines are typically used in bundles, for injection lines and auxiliary lines where the pipeline hydraulics
may be neglected.
Limitations
LINES cannot be connected to multiphase nodes. LINES can form networks but these networks must
be hydrodynamically decoupled from multiphase networks.
How to use
The implementation of a LINE in the OLGA GUI is as follows:
Fill in the required fields in the property window. For further instructions on FLOWPATH properties see
the keyword description for FLOWPATH.
LINES must be connected to nodes just as FLOWPATHS do. These nodes must also be defined as
singe-phase by selecting LINE=YES or LINE=CROSSOVER in the property window for the node. A
CROSSOVER node is a node that allows flow recirculation; see the keyword description of NODE for
details.
183
Thermal Computations OLGA 6.3 USER MANUAL
Thermal Computations
Temperature is an important parameter in flow assurance analyses and is a key prediction in the
analysis of phenomena such as hydrates and wax formation propensities. Thus, temperature can
influence the production capacity of a network and therefore, a reliable prediction of the temperature
profile in a pipeline is important.
In OLGA, a homogeneous temperature is calculated for the fluid which can be multiphase. In addition, it
calculates the heat transfer across the pipe wall by determining the average temperature of each wall
layer. The pipe wall may comprise of multiple layers of materials of different types, which are aligned
concentrically.
Ambient conditions for an area can vary significantly in winter and summer seasons or during a day.
This may cause freezing or melting of the soil surrounding a pipeline. OLGA can simulate phase
changing materials and give detailed modelling of the soil taking the latent heat of fusion and
differences in thermal properties for frozen and unfrozen materials into account.
• The heat flux through the pipe wall layers is calculated by the code with user-defined thermal
conductivities, specific heat capacities and densities for each wall layer.
The former is recommended since the heat storage capacity in the wall is often significant. It is preferred
to include a dynamic calculation of the temperatures of individual wall layers in a transient simulation.
The latter option will save some CPU time, but should be used with care and preferably in steady state
situations only.
Buried pipelines may be modelled with the soil as the outermost wall layer. The first method of
calculating the heat flux (where heat flux is a function of wall properties) should then always be used
due to the large thermal mass of the soil.
The thickness of the composite soil layer is based on an equivalent heat transfer coefficient for the soil
for a pipeline burial of a particular depth. 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:
184
OLGA 6.3 USER MANUAL
λ soil
h soil =
D ⎛ 2H ⎞
cosh -1 ⎜ ⎟
2 ⎝ D⎠
(a)
where:
D = outer diameter of buried pipe
H = distance from centre of pipe to top of soil
λsoil = soil heat conductivity
hsoil = overall heat transfer coefficient for soil
The thickness of the composite soil layer can be determined using the expression below for a known
value of the soil thermal conductivity:
Rso
k soil =hsoil ⋅ Rsi ⋅ ln (b)
Rsi
where:
Rsi = inner radius of soil layer (=outer radius of pipe wall)
Rso = outer radius of soil layer
ksoil = input value of soil conductivity
The specific heat capacity of the soil may be adjusted as follows in order to predict the transient heat
transfer accurately:
k soil
C p input = C p soil (c)
λsoil
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 on ksoil.
However, for dynamic situations, a good soil discretization is important in order to obtain a reliable
temperature profile across the wall layer. Alternatively, the Solid Bundle module may be used in such a
situation.
185
Phase changing materials OLGA 6.3 USER MANUAL
For heat capacity, the value specified in CAPACITY is used for all temperatures above the melting point.
A multiplier (HCAPMULT) is used below the melting point. If the FUISIONMULT key is different from 0,
a step wise function is used for heat capacity having the value equal to FUSIONMULT*CAPACITY in
the phase changing region. If the FUSIONMULT key is 0, linear interpolation is performed between 1
and HCAPMULT. The FUSIONMULT key takes the latent heat of fusion (additional energy added or
withdrawn for a phase change) into consideration.
The exmple below describes how the latent heat of fusion is caluated in a situation with a wet soil
material. In the example, we use a phase changing region from -1 to 0 C. This gives one multiplier
between -1 and 0 C to account for the latent heat of fusion, while another multiplier is used below -1 C
for the frozen soil. The soil is assumed to have a dry density 1900 kg/m3, with 10% water weight/dry soil
weight. The moist unfrozen heat capacity is 1067 J/kgC (0.255 btu/lbF) and the frozen heat capacity is
876 J/kgC (0.209 btu/lbF). The latent heat of fusion is (190 kg/m3*333 kJ/kg)/(2090 kg/m3) = 30.27
kJ/kg. This gives:
Thermal conductivity given in CONDUCTIVITY is used directly for temperatures above the melting point.
A conductivity multiplier (CONDMULT) is used for temperatures below the melting point. Linear
interpolation is used in between.
Limitations
A finer discretisation of the wall layers may be necessary for transient calculations, when the heat
storage in the pipe walls can be important (cool down or warm up), A wall layer should, as a rule of
thumb, not be thicker than approximately 30% of the outer radius of the layer. The change in thickness,
δ, between two neighbouring layers should be 0.2 ≤ δ(i)/δ(i-1) ≤ 5 to obtain a good accuracy.
If ELECTRICHEAT is defined in the WALL definition, it is preferable to have at least three layers and
define the electric heating in the middle layer.
Very thin layers, such as paint etc., should be included in a neighbouring layer by adjusting the
thickness and conductivity of that layer. Only the thickness needs to be adjusted if the thermal
conductivity of the thin layer is fairly close to the conductivity of one of it is neighbours.
186
OLGA 6.3 USER MANUAL
How to use
In the OLGA GUI the method for the temperature calculation is set from the OPTIONS card on the Case
level. In the OPTIONS property window the TEMPERATURE can be set either to:
User-defined heat transfer parameters for the chosen temperature option must be given for each
pipeline. In the OLGA GUI under Boundary&InitialConditions for each FLOWPATH , one or several
HEATTRANSFER cards may be added. In the property window for each HEATTRANSFER card, the
required fields must be filled out.
In a temperature calculation the homogeneous 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.
In order to simulate a phase changing material, TYPE must be set to PCM in MATERIAL keyword. An
upper and lower temperature limit for melting and freezing must be specified, PHCHMAX and
PHCHMIN. Further, the three multipliers for properties below the melting point and in the phase
changing region must be given.
187
Tracer Tracking OLGA 6.3 USER MANUAL
Tracer Tracking
Tracer tracking simulations together with measurements of tracer output from real fields provide a
means to obtain valuable information about flow conditions in reservoirs, wells and pipelines. The tracer
tracking functionality in OLGA can be used to track tracers which have such a purpose of
investigation/examination, and it can be used to track tracers of inhibitor type (for instance kinetic
hydrate- or corrosion inhibitors).
OLGA predicts the distribution in space and time of mass, age and residence time for tracers being
inserted into wells/pipelines. The results may be used by for instance hydrate kinetics- and corrosion
models to take into account the effect of the inhibitors.
When to use
Tracer tracking should be used when one wants a distribution in space and time of mass, age and
residence time of tracers of such small amounts that their influence on the flow is negligible. Examples
of such tracers are KHI inhibitors, corrosion inhibitors and radioactive tracers.
License requirements
Tracer tracking is part of the Inhibitor Tracking Module that requires a separate license.
Here G represents the sum of regular sources as well as the influence of entrainment and deposition of
droplets. The age- and residence time-equation has an additional source term, which, in the case of
aging, takes into account the amount of time the tracer is subject to sub-cooling relative to an equilibrium
temperature (for instance the hydrate formation temperature in case of KHI tracking).
The following assumptions are used:
The presence of tracers is assumed to have no effect on the flow, i.e. tracers usually exist in amounts so
small that the effect on the flow of the production fluids is negligible.
The tracers/inhibitors are assumed to be carried in a carrying phase (condensate, water or gas).
Partitioning of tracers/inhibitors to other phases than the carrying phase is not included in the current
version of the model.
Limitations
• The current corrosion model and hydrate kinetics model in OLGA do not take into account the
inhibition effect of any tracer.
• Partitioning of tracers is not implemented in the current version.
• The distribution of ages (when applicable) is divided into a given number of groups. Each group
has a user given low and high bound of age. All the inhibitors within each group are assumed to
have the same age (average age).
188
OLGA 6.3 USER MANUAL
• It is not possible to specify an initial condition (by the keyword INITIALCONDITIONS) containing
tracers, but the steady state preprocessor will compute an initial steady state tracer distribution.
• It will not be possible to specify the tracer content in negative sources. The amount of tracer
going out will be based on the concentration of the tracer in the section from which the source
originates.
• Production flows from wells will not contain any tracer. The injection flows will be treated in the
same manner as negative sources.
• The tracer does not follow the water vapor phase. Any vaporization/condensation does not affect
the tracer mass, but the concentration changes. If a section is totally emptied of the carrying
phase, e.g. water, by vaporization, the remaining tracer is removed.
Tracer tracking can be combined with all other modules, but some limitations exist:
• Tracer tracking can be combined with slug tracking, but the tracer output variables are average
values for a section.
• Tracer tracking can be combined with pig tracking (which is a special version of slug tracking),
but distribution of tracer on each side of the pig might in some cases be inaccurate.
• Tracer functionality is not implemented in the near well module Rocx.
How to use
The following keywords and keys must be set to use tracer tracking.
In the property window for the keyword OPTIONS choose:
· TRACERTRACKING=ON
In the property window for each TRACERFEED set the following keys:
· LABEL choose a label
· AGING must be set to ON to track age distribution of the tracer
· CARRIERPHASE specify the fluid phase on which the tracer is based
· AGEBOUNDARIES may be specified when AGING=ON (numbers separated by comma)
· LOWLOWBOUND age below LOWLOWBOUND is not plotted
· HIGHLOWBOUND age below HIGHLOWBOUND is not plotted
under certain conditions
Tracers may be fed into pipelines either via a SOURCE or via a MASSFLOW node.
In the property window for a SOURCE or a node of type MASSFLOW set the following keys:
· SOURCETYPE select TRACER
· TRACERFEED set the name of the tracer feed in this source/node
· TRACERMASSFLOW specify the tracer mass flow
· TRACERAGE specify the age of the tracer
· TRACERRESIDENCETIME specify the residence time of the tracer
189
Transmitter OLGA 6.3 USER MANUAL
Transmitter
Transmitters are used to measure flow path variables and transmit them to controllers etc. through an
output signal terminal.
When to use
The transmitters are used together with the controllers.
The signal is converted to user specified units. If no unit is given, the default unit is used.
One transmitter can measure and transmit an arbitrary number of variables (from a single position).
Transmitter - Limitations
The transmitters can only be connected to the flow path. For process equipment (Valve, Pump etc.)
variables, connected the equipment directly.
How to use
The transmitter is positioned on the flow path, using pipe and section/section boundary or absolute position.
It is possible to use one transmitter to for both PT (volume variable) and UL (boundary variable).
Make the connection between the transmitter, and the receiving signal terminal. Use the Connections view
to set variable name and unit.
After making a connection from the transmitter (ex. OUTSIG_1), a new terminal will be made available (ex.
OUTSIG_2). One transmitter can measure and transmit an arbitrary number of variables (from a single
position).
190
OLGA 6.3 USER MANUAL
Tuning
The TUNING keyword makes it possible to tune the fluid properties, friction, phase mass transfer and
entrainment of liquid droplets into the gas phase.
When to use
The TUNING keyword can be used for adjusting the OLGA model to specific sets of measured data or
for sensitivity studies. TUNING should be applied with great care, as it might cause the validation and
verification of the OLGA model to no longer be valid.
License requirements
The Tuning Module requires a separate license.
How to use
Specify the desired tuning coefficients and where they apply.
The tuning coefficients AREA, DIAMETER and ROUGHNESS can only be specified for an entire pipe or
an entire branch. It is not possible to specify these coefficients using the section key.
The keys POSITION, PIPE and SECTION will be processed in a nested manner. The number of entries
must either be one or a multiple of the listed number of combinations of pipes, sections or positions.
191
Water OLGA 6.3 USER MANUAL
Water
The purpose of the Water model is to let the user specify the parameters and model used for oil/water
dispersion viscosities and to specify the approach used to determine the water distribution between
liquid and gas phases.
When to use
Changes to the dispersion model are recommended when experimental data shows that the default
options do not give a good description of the fluid. The module may also be used for sensitivity analysis
with respect to dispersion e.g. the water volume fraction at inversion point.
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.
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.
It is also possible to specify an intermediate dispersion range. Between a lower critical water cut (given
by FWLOW) and the inversion point (given by INVERSIONWATERFRAC), the flow is assumed to be a
water-in-oil dispersion flowing above a free water layer. The degree of mixing of water into oil is
predicted by the standard OLGA model, but the maximum fraction of the total water stream that can be
mixed into the oil is given by EMAX:
With the default values of FWLOW and EMAX, 0.0 and 1.0 respectively, no such intermediate range is
defined.
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), six different viscosity models
can be chosen: Pal & Rhodes, Rønningsen, Pal & Rhodes correlated with experimental data, Woelflin,
Barnea & Mizrahi or table based model.
The mixture viscosity for oil continuous dispersions (μhw) and water continuous dispersions (μwh) are
expressed as:
μ hw = μ h ⋅ μ rel,h (a)
μ wh = μ w ⋅ μ rel,w (b)
192
OLGA 6.3 USER MANUAL
where μh [cP] is oil viscosity, μw [cP] is water viscosity and μrel [-] is relative viscosity (dispersion viscosity
/ viscosity of continuous phase).
Pal & Rhodes and Pal & Rhodes correlated with experimental data:
One correlation for relative viscosities of liquid/liquid dispersions was developed based on a
generalization of Einstein’s 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):
2.5
⎡ Φ w / Φ μ rel =100 ⎤
μ rel , h = ⎢1.0 + ⎥ (c)
⎢⎣ 1.19 − Φ w / Φ μ rel =100 ⎥⎦
2.5
⎡ Φ h / Φ μ rel =100 ⎤
μ rel , w = ⎢1.0 + ⎥ (d)
⎢⎣ 1.19 − Φ h / Φ μ rel =100 ⎥⎦
where Φ w = β wd /(β hc + β wd ) is the concentration of water droplets in the oil continuous dispersion,
and Φh = β hd /(β wc + β hd ) is the concentration of oil droplets in the water continuous dispersion. μrel is
limited upwards to 10000.
The parameter Φ μ rel =100 is the dispersed phase volume fraction for which the relative viscosity μrel equals
100. Based on pipe flow experiments on stable oil continuous emulsions for different crude oils and
formation waters, the parameter Φ μrel =100 is set equal to 0.765 (Søntvedt et al., 1994). In the present
version of the model, this correlation and the correlation parameters are also applied for water
continuous dispersions using the analogous quantities. It is still left to investigate how to discriminate
between oil and water continuous dispersions.
With an experimental point, Φrel (Φh or Φw depending on the inversion point) and μrel (μrel,w or μrel,h)
specified, the Pal & Rhodes method in Equations (c) and Equation (d) is rearranged to calculate the
Φ μ rel =100 value:
Φ rel
Φ =
μ rel = 100
(
1 . 19 1 − μ − 0 .4
rel ) (e)
Equation (c) will then be used to calculate the water in oil dispersion viscosity. For oil in water
dispersion, Equation (d) is used. Φrel is defined with the key PHIREL, μrel with the key VISCREL, and the
inversion point with the key INVERSIONWATERFRAC.
Rønningsen:
Another correlation for relative viscosities of an oil continuous dispersion is the correlation by
Rønningsen recommended for a shear rate of 500 1/s (2003) /17/:
193
Water OLGA 6.3 USER MANUAL
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 Rønningsen method is applied.
The possibility to use a simple volume weighting with a tuning factor is also available.
where the tuning factor VISCMOD can be specified through input as a tabulated function of
WATERCUT.
Woelflin:
A third option for the relative viscosity is given by
exp
Defined by WATEROPTIONS DISPMODEL = WOELFLIN. Two parameters can be set with this model:
AWOELFLIN (default value 4.2) and BWOELFLIN (default value 2.5).
exp 1
where
Here µc and µd are the viscosities for the continuous and dispersed phases, respectively. The model is
activated with WATEROPTIONS DISPMODEL = BARNEA.
WATEROPTIONS DISPMODEL=INPUTVISC, \
VISCMOD=(1,1.05,1.2,1.4,1.9,2.8,2.7,1.3,1.15,1.05,1)\,
WATERCUT=( 0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1),\,
WATERFLASH=ON, WATERSLIP=ON
Note that the "Table base model" should use WATERFLASH=ON and WATERSLIP=ON.
194
OLGA 6.3 USER MANUAL
Flashing/condensation of water
With the water flash option turned on for standard simulations with PVT tables (FLASHMODEL =
WATER in the OPTIONS keyword) the amount of water that evaporate or condense is calculated by
OLGA under the assumption that the gas phase is always saturated with water vapour. The pressure
and temperature dependent mass fraction of water vapour in the gas phase at water saturation is
determined from the fluid properties table. If water properties are calculated by OLGA itself, water
vapour in the gas phase is assumed to be zero and FLASHMODEL = WATER is disregarded.
If the inhibitor tracking module is used (which uses PVT tables), it is not assumed that the gas phase is
saturated with water vapor, that is, the gas might be dry if there is no available water. In some
instances, therefore, inclusion of the inhibitor tracking option may provide more accurate calculation of
the distribution of water between phases.
WATERFLASH has no effect on Compositional Tracking simulations, in which case flashing of water is
decided by FLASHTYPE in COMPOPTIONS.
Limitations
The three phase flash option is only valid when a three phase fluid property file is used.
How to use
The following sections describe how to use the keys in the WATEROPTIONS keyword.
Dispersion viscosities
The water volume fraction at inversion point is determined by the key INVERSIONWATERFRAC
(default: INVERSIONWATERFRAC = 0.5).
If DISPERSIONVISC = ON, the dispersion viscosities are calculated according to the model specified in
the DISPMODEL key. If DISPERSIONVISC = OFF, the viscosities are read from the fluid property file
directly if WATERSLIP = ON. When WATERSLIP = OFF | CONSTANT, viscosities of liquids are
weighted according to volume fraction.
If DISPMODEL = PALRHODES, PHI100 must be given (default: PHI100 = 0.765). PHIREL and
VISCREL are required for the EXPERIMENT option (default: PHIREL = 0.765 and VISCREL = 100).
The default values for the EXPERIMENT option correspond to the standard PALRHODES model.
If DISPERSIONVISC = OFF and WATERSLIP = OFF, the volume weighting calculation of viscosities
can be tuned using the keys VISCMOD and WATERCUT. WATERCUT must be given as a list
ascending values for the water cut. For each value in WATERCUT a corresponding value for the
viscosity tuning factor must exist in the VISCMOD key.
195
Water OLGA 6.3 USER MANUAL
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
FLASHMODEL = WATER 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 FLASHMODEL = HYDROCARBON the value
is interpreted as only free water (resulting in more free water than with FLASHMODEL = WATER).
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 = Ggas/Ghc
Rswt = Gw/Gtot
Rswv = Gwv/Ggas
Rsw = GwL/Gtot
Where
Example: Assume a flowing mixture consisting of 50 kg/s gas (saturated with water), 30 kg/s of oil and
20 kg/s of aqueous phase. Furthermore, let the saturated gas flow include 1 kg/s of water. The various
mass fractions then become:
Rs = 50/(50+30) = 0.625
Rswt = (20+1)/(50+30+20) = 0.21
Rswv = 1/50 = 0.02
Rsw = 20/(50+30+20) = 0.20
When modeling a three-phase mixture using PVT tables where you want to include the mass transfer
between the free water and the gas phase, the water option in OLGA must be used with FLASHMODEL
= WATER. This option is more important for gas production systems than for "normal" oil production
systems.
When using two-phase PVT tables in OLGA simulations, internal routines are used for the calculation of
water properties. The water vapour mass fraction, however, will be set to zero; all water in the
calculations will be free water. If the fluid temperature becomes sub-zero, the enthalpy and entropy are
extrapolated, meaning that the fluid is in thermal but not in chemical equilibrium (sub-cooled water, not
ice). This is consistent with the 3-phase PVT tables created by PVTsim.
The user should be aware that when performing standard simulations with PVT tables there is no
separate water vapour mass balance equation. For three phase simulations, the gas phase is assumed
to be saturated with water. The amount of water vapour is determined by the water vapour mass fraction
from the PVT table. Therefore, the total water mass could be in error for cases where e.g. the inlet total
196
OLGA 6.3 USER MANUAL
water mass flow rate is not sufficient to saturate the gas at the water vapour mass fraction from the PVT
table. However, MEG tracking has a water vapour mass balance equation that makes it suitable for
simulating three phase systems where a detailed analysis of the water distribution is necessary (can be
used with no MEG).
When using compositional tracking, the water vapour will be taken into account depending on
FLASHTYPE in COMPOPTIONS.
For multiphase transport systems where liquid accumulation could represent a problem, it is
recommended to perform three phase flow computations with the water slip switched on.
197
Wax OLGA 6.3 USER MANUAL
Wax
The wax deposition module allows for modeling 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 Wax table file. The wax file can be generated
in PVTSim. Wax deposition will be calculated for all flow paths, but different wax data can be given for
each flow path.
When to use
• When case laboratory experiments indicates the presence of wax, and the wax appearance
temperature is within the temperature envelope encountered during pipeline operation.
• Example cases:
a. During a system shut-in, when the temperature may fall under the wax appearance
temperature and wax solids starts to precipitate. This may cause both a reduction in
effective pipe diameter and a severe increase in oil viscosity. Gelling of the oil may occur
at zero fluid velocity and sufficiently low temperatures, making it difficult to restart the
pipeline.
b. Production cases where low fluid temperatures occurs in the pipeline, where wax both
deposits at the wall and precipitates as particles suspended in the oil. Both diameter
reduction due to the wax layer at the wall and the effect of suspended wax particles on oil
viscosity may significantly increase pipeline pressure drop and thereby reduce the
production capacity of a pipeline.
License requirements
The Wax Deposition Module requires a separate license.
The wax deposition rate due to molecular diffusion may be described by:
, ,
(a)
198
OLGA 6.3 USER MANUAL
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 correlation. mfr [-] is the mass fraction of wax components,
ρoil [kg/cm3] is the oil density, and L [cm] is the thickness of the boundary flow 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.
A model for shear stripping of wax 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:
(b)
⎛ dδ ⎞
where C2 and C3 are the constants given in /12/. Values: C2 = 0.055 and C3 = 1.4. ⎜ ⎟ is the
⎝ dt ⎠ diff
change rate due to diffusion, and porosity effects. The constant C1 = 15.0 from /12/ is included in
⎛ dδ ⎞
⎜ ⎟ for the MATZAIN model only. NSR is a flow regime dependent Reynolds number /12/:
⎝ dt ⎠ diff
ρ o voδ
N SR = , ( Single − phase, Stratified )
μ o, f
ρ m vl δ
N SR = , ( Bubble, Slug )
μ o, f
ρ m ρ o vl δ
N SR = , ( Annular )
μ o, f
Where ρo is the oil density [kg/m3], vo 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.
199
Wax OLGA 6.3 USER MANUAL
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:
K * C wall γA ⎡ m 3 ⎤
Volshear
wax = ⎢ ⎥ (c)
ρ wax ⎣ s ⎦
Where Cwall is the volume fraction of precipitated wax in the oil at the inner wall temperature, is the
2
shear rate at the wall [1/s], A is the surface area available for deposition [m ] and is the average
density of the wax [kg/m3].
1. The dissolved wax concentration derivative with respect to temperature is found at the cloud
point for the pressure in the section.
2. The dissolved wax concentration at the wall is adjusted when the wall surface temperature is
above the dissolution temperature (found by applying DISSOLTDIFF). The adjustment is as
follows:
dC wax
C wax, wall = C wax,TWS + ⋅ (TWS − WDT )
dT WAP
dC wax
where Cwax is the concentration of wax, TWS is wall surface temperature, is the
dT WAP
concentration derivative with respect to temperature at the cloud point (see point 1), WDT is the
dissolution temperature:
WDT = WAP + DISSOLTDIFF
WAP is from the wax tables, while DISSOLTDIFF may be a constant or a function of the section
pressure (through the given DISSOLPRESS).
4. The total dissolution and diffusion rate of wax from wall to bulk, , is limited upwards by
DISSOLRATE (kg/(m2s )):
(
m& = min m& * , DISSOLRATE )
*
where m & is the mass diffusion rate based solely on the wax concentration 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 is kept
constant.
200
OLGA 6.3 USER MANUAL
⎡ ⎤
⎢ 4 ⎥
E ⋅ Φ wax F ⋅ Φ wax ⎥
η = ηliq ⋅ ⎢exp( D ⋅ Φ wax ) + + (d)
⎢ dvx dvx ⎥
⎢ dy ⎥
⎣ dy ⎦
where η liq is the viscosity of the oil not considering solid wax and Φ wax the volume fraction of
dv x
precipitated wax in the oil-wax suspension. is the shear rate. The parameters D, E and F have the
dy
following values (viscosities in Pa s and shear rates in s-1)
D= 18.12
E= 405.1
F= 7.876*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 shear rate used in the equation is limited to be 10 s-1 or larger to avoid division by zero. The
resulting viscosity, , is limited to be or larger.
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/:
⎡ N RE0.15
,f
⎤
C oil = ⎢1 − ⎥
⎢⎣ 8 ⎥⎦
(e)
ρ vd
N RE , f = o l w
μ o, f
where Coil 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], dw 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.
201
Wax OLGA 6.3 USER MANUAL
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 [ref.13]
k dep =
[2k wax + k oil + (k wax − k oil ) Fw ]
k oil
[2kwax + k oil − 2(k wax − k oil ) Fw ]
(f)
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.
Limitations
Note: The wax deposition model cannot be used together with the slug tracking, compositional tracking
or the inhibitor tracking models. The steady state pre-processor will not consider the wax phase.
How to use
Input
To use the wax deposition module, follow the steps below;
Step 1:
When generating the OLGA PVT table, multiphase flashing (gas, oil, wax) 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.
Step 2:
WAXDEPOSITION to specify wax specific data for each flow path. Wax deposition may be calculated by
using one of the three following models:
The required model is chosen by using the key MODEL in keyword WAXDEPOSITION.
• BOUNDARY, WELL and/or SOURCE to specify WAXFRACTION. A scaling factor for
determining the amount of wax forming components relative to a HC mixture. The value must
be in the range [0,1]. If all inflow boundaries have WAXFRACTION = 1 (default value), the
amount of wax in the inflow will be according to equilibrium (specified in the wax data file).
• TREND to print wax variables for given positions to a trend plot file
• OUTPUT to print wax variables for a branch at given times to an output file
• PROFILE to print wax variables for a branch at given times to a profile file
Output
202
OLGA 6.3 USER MANUAL
The keywords TRENDDATA, PROFILEDATA and PLOT in the input file specifies the output from the
simulation.
The trend file (*.tpl), profile file (*.ppl) and plot file (*.plt) are used for plotting several variables related to
wax deposition:
The different was deposition variables are described in Waxdeposition Output Variables.
The trend file and profile file are text files that can be viewed in the OLGA GUI. The plot file is a binary
file that is viewed in a separate plotting tool called the OLGA Viewer. Due to the binary format this file
can use a shorter plotting interval and is useful for detailed analysis.
203
Well OLGA 6.3 USER MANUAL
Well
The wells module provides the possibility of building virtual wells that can be used to analyse ”what if”
case scenarios. This is especially useful for analyzing transient well behaviour such as start-up/shut-
down, unstable flow, rate changes, well clean-up, well testing, liquid loading and chemical injection.
It also enables a full-field integrated modelling approach, where a combination of reservoir, well bore,
pipeline network and facilities simulators are used to construct an analytical model of the full field
production system.
An Wells Module is available for well flow applications where the reservoir properties and the inflow
relationships play an important role in the modeling. See The Wells Module for more details.
Please also see /36/ which covers different topics where the OLGA wells module could be used.
When to use
The Wells module is suited for the following applications:
License requirements
Production or injection flow equations other than linear, quadratic, or tabular are enabled by the Wells
Module that requires a separate license.
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, the equilibrium gas mass fraction
will be used. If the water option is not used, WATERFRACTION should be zero (default value).
204
OLGA 6.3 USER MANUAL
The following three options are available for specifying the relationship between the mass flow rate and
the pressure difference (with the Wells Module seven new options are available – see The Wells
Module).
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, Equation (g) in the Wells Module, can also be used for
linear inflow. This model is available for all users and is described in section Constant productivity index.
where A, B and C are constants. Constant A allows for a minimum pressure difference required for flow
to start from the reservoir to the well.
The following three options are available for specifying the relationship between the mass flow rate and
the pressure difference.
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, Equation (g) in the Wells Module, can also be used for
linear inflow. This model is available for all users.
205
Well OLGA 6.3 USER MANUAL
where A, B and C are constants. A is the minimum pressure required for flow to start from the well into
the reservoir.
The table input option is made to support gas and water coning.
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:
• Use a single equivalent well. Use one of the following procedures to construct data for the
equivalent well:
1. If the linear equation is used, the constants A and B for the equivalent well are:
A = NAi
B = NBi
where Ai and Bi are constants for each parallel well. N is number of parallel wells included in the
equivalent well.
2. If the non-linear equation is used, the constants A, B and C for the equivalent well are:
A = Ai
B = Bi/N
C = Ci/N2
where Ai, Bi and Ci are the constants for each parallel well.
3. 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 Wells 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 The Wells Module for further information.
dq f q ∞f - q f
=
dt Tf (a)
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.
206
OLGA 6.3 USER MANUAL
q ∞f = PI f ( Plim , f - P wf )
(b)
when the flowing pressure, Pwf, is less than a given threshold pressure, Plim,f. When Pwf is above Plim,f,
will be set to zero. The productivity index, PIf, as well as the time constant Tf can change with Pwf.
f
n+1
n+1 n
q∞f - qn+1
f
q f =q +
f Δt
Tf (c)
As an option, a transport delay can be modelled by specifying a certain distance that the front of phase f
must travel before the actual inflow can be started. This distance, hf,o, will be user determined.
d h f h∞f - h f
=
dt T h, f (e)
Pres − Pw, f
h ∞f = h f ,o ⋅ (f)
Pres − Plim, f
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.
The Wells Module will be especially well suited for the following applications:
• 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.
Reservoir inflow
In the Wells 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.
207
Well OLGA 6.3 USER MANUAL
q = J ( p R − pwf )
(g)
where pR is the static reservoir pressure, pwf is the flowing bottom hole pressure and J is the constant
productivity index given by:
kh
J= (h)
141.2vBo(ln(re / rw ) − 0.75 + s)
in oilfield units (stb/d/psi)
where
J Productivity index [stb/d/psi]
kh Effective permeability x net pay [mD ft]
ν Oil viscosity [cP]
Bo Oil formation volume factor [Rft3/Sft3]
re Reservoir extension [ft]
rw Wellbore radius [ft]
s Mechanical skin
p R2 − p wf
2
= Bq g + Cq g2 (i)
where B and C are the linear and non-linear part of the productivity index respectively defined by:
Tμ g z
B= [ln(re rw ) − 0.75 + s ] [psi2/(scf/d)] (j)
0.703kh
Tμ g z
C= D [psi2/(scf2/d2)] (k)
0.703kh
Where:
T reservoir temperature [°R] (RESTEMPERATURE)
μg gas viscosity at reservoir conditions [cP] (VISGRES)
z Gas z-factor at reservoir conditions (ZFACT)
re reservoir extension [ft] (RESEXT)
rw wellbore radius [ft] (HOLES/2)
s mechanical skin [-] (SKINS)
D non-Darcy or turbulence skin [1/Sft3/d] (SKIND)
k reservoir permeability [mD] (KPERM)
h well effective net pay [ft] (HPAY)
208
OLGA 6.3 USER MANUAL
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 , (l)
a ≤ s×2
where B and C are defined by:
T ⎛ μgZ ⎞
B= ⎜ ⎟[ln (r r ) − 0.75 + s ] [psi/(scf/d)] (m)
(1.407 kh ) ⎜⎝ p av ⎟⎠ e w
T ⎛ μgZ ⎞
C= ⎜ ⎟D [psi/(scf2/d2)] (n)
(1.407 kh ) ⎜⎝ p av ⎟⎠
where pav is defined as pav= (pR + pwf)/2.
Vogels equation
The following IPR equation, known as Vogels equation, was traditionally used for oil-well performance in
saturated oil reservoirs (see ref. /1/ ).
⎡ ⎛ p wf ⎞ ⎛p ⎞
2
⎤
q 0 = q 0,max ⎢1 − 0.2⎜⎜ ⎟⎟ − 0.8⎜⎜ wf ⎟⎟ ⎥
⎢⎣ ⎝ pR ⎠ ⎝ pR ⎠ ⎥⎦
(o)
where q0,max is the theoretical maximum oil rate when flowing bottom hole pressure equals zero.
(
q = C p R2 − p wf
2
)n
, (p)
C=
(0.703kh)
n
[scf/d/psi2n]
(Tμ g Z )n D1−n [ln(re rw ) − 0.75 + s]2n−1
(q)
This equation is often referred to as the backpressure equation. The exponent n ranges in value from
0.5 to 1.0. A normalised form of this equation can be used for saturated oil wells:
n
⎡ ⎛ p wf ⎞
2
⎤
q0 = q0,max ⎢1 − ⎜⎜ ⎟⎟ ⎥
⎢⎣ ⎝ p R ⎠ ⎥⎦
(r)
where q0,max is the maximum oil rate when flowing bottom hole pressure equals zero.
209
Well OLGA 6.3 USER MANUAL
q = J ( p R − pwf ) pb ≤ pwf ≤ p R
for (s)
⎛ J ⎞ 2
q = J ( p R − p b ) + ⎜⎜ (
⎟⎟ p b − p wf2 ) p wf ≤ pb
⎝ 2 pb ⎠ for (t)
For the model to take these local drawdown and build-up effects into account, the reservoir reference
pressure can be specified as a function of time by the user.
Injectivity index
The injectivity index is used for modelling of flow from the wellbore into the reservoir zone of gas,
hydrocarbon liquid or water. This option is for example used for pushing the gas back into the reservoir
during a work-over operation.
The injectivity index is adapted to specify the relation between the flow from the well into the reservoir
and the pressure build-up in the well. That is, when the bottom hole pressure exceeds the static
reservoir pressure an inflow into the reservoir will start depending on the injectivity index.
The inflow into the reservoir can be specified on the same form as the well production, but a different
relationship can also be used. In addition, a separate linear injectivity index can be used for the oil
phase or the water phase.
Fracture pressure
When the pressure in the wellbore exceeds a certain value above the static reservoir pressure the
formation will break down. The pressure required to burst the formation is called the fracture pressure.
When the pressure inside the wellbore exceeds this pressure small fractures will be created in the
formation resulting in a significant increase in injectivity, and the fluid in the wellbore will flow into these
fractures instead of flowing into the reservoir matrix.
By specifying the fracture pressure the user defines the maximum allowable pressure inside the
wellbore. In the Wells Module this is modelled by an "infinite" inflow into the reservoir zone.
210
OLGA 6.3 USER MANUAL
Limitations
The steady state pre-processor does not handle injection wells. For these cases a solution with source
close to 0 is found as input to the dynamic solver.
How to use
Standard and advanced well feature
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.
In the standard well for OLGA the coefficients used in the inflow correlations is specified directly. Three
options are available for specifying the relationship between the mass flow rate and the pressure
difference, a linear formula, a non-linear formula and a tabular form. Please see Methods and
Assumption description for more details.
The Wells Module is designed for well flow applications where the reservoir properties and inflow
relationships play an important role in the modeling. In the Wells Module the reservoir performance is
specified through permeability, extension of reservoir, fluid properties etc. The well/reservoir variables
are translated into the coefficients used in the inflow correlations. The volume flow q is a function of the
bottom hole pressure pwf, the reservoir pressure pR, and the computed coefficients used in the inflow
correlations. The coefficients used in the inflow correlations may also be given directly.
There are several different inflow models implemented in the Wells Module e.g. Forchheimer, Vogels
and Backpressure. Please see Methods and Assumption for more information.
Input
The keyword ”WELL” is used to define required data for calculating the flow performance of wells.
Either the key ABSPOSITION or POSITION or the keys PIPE and SECTION is used to locate the well.
The production and the injection models are specified through the keys PRODOPTION and INJOPTION
with the following values available:
• LINEAR
• QUADRATIC
• TABULAR
• FORCHHEIMER (The Forchheimer model)
• SINGLEFORCHHEIMER (Forchheimer with pressure instead of pressure squared)
• VOGELS (The Vogels equation for saturated oil reservoirs)
• BACKPRESSURE (The Backpressure equation for oil and gas wells)
• NORMALIZEDBACKPR (Normalized backpressure for saturated oil wells)
• UNDERSATURATED (Under saturated oil wells)
For advanced well inflow types the coefficients could be given directly by using the keys BINJ, CINJ,
BPROD, CPROD and EXPONENTN or by setting
the reservoir variables through using some of the keys BOOIL, BPPRESSURE, FRACPR, GASINJ,
HOLES, GASINJ, HPAY, INJECTIVITY, INJPOSTFRACFACTOR, INJPREFRACFRATOR,
INJTHRESHOLD, KPERM, OILINJ, PHASE, PRODI, PRODPOSTFRACFACTOR,
211
Well OLGA 6.3 USER MANUAL
When using the standard well in Olga the key GASFRACTION, and WATERFRACTION or
TOTALWATERFRACTION is the one to use since AINJ, BINJ, APROD and BPROD then are mass
based. Values from PVT table is used when GASFRACTION and TOTALWATERFRACTION is set to -
1 in the input.
With the advanced well inflow types the key GORST and WATERCUT is appropriate to use since AINJ,
BINJ, APROD and BPROD then are volume based. WATERCUT is calculated from PVT table if set to -
1 in the input.
Be aware of that you may not get as output the fractions or water cut specified for the well since this
depend on that there are enough content of the specified phases in the well.
Output
The keywords TREND and PROFILE in the input file specify the output from the simulation.
The resulting trend file (*.tpl) and profile file (*.ppl) are used for plotting several Well variables (same
variables for Advanced and Standard well):
212
OLGA 6.3 USER MANUAL
Zone
A zone is a region within a branch in which OLGA automatically generates inflows in each control
volume based on a template definition.
When to use
The Zone keyword simplifies input when inflows are to be present in all control volumes in a given
region of a branch. Instead of specifying each individual inflow in each control volume, these are
automatically generated based on a template.
License requirements
Zone is only implicitly affected by license requirements, i.e., it is only affected by license requirements
that apply to the inflows referenced.
Please refer to the individual sections to get detailed information on the various references given in the
ZONE keyword.
No interpolation
This option (referred to as OFF in the input) means that the reservoir pressure and reservoir
temperature is assumed to be constant through the entire zone.
Vertical interpolation
This option (referred to as VERTICAL in the input) applies linear interpolation w.r.t. vertical depth
between the reservoir pressure and reservoir temperature specified at the zone endpoints.
Automatic interpolation
This option (referred to as AUTOMATIC in the input) requires that the reservoir pressure and reservoir
temperature is specified at one of the zone endpoints. Given this reference pressure, p0, the pressure,
p(h), is calculated at each depth h by integrating the hydrostatic pressure of the reservoir liquid
according to
, (a)
213
Zone OLGA 6.3 USER MANUAL
How to use
General
Instead of specifying WELL keywords in numerous consecutive control volumes, the ZONE keyword
can be used to simplify input. The extend of the zone is specified through the position references
STARTPOSITION and ENDPOSITION. For each control volume between the endpoints, well-type
objects are automatically generated according to a template. The template is specified using the
keyword RESERVOIRINFLOW under Library and is linked to ZONE through the reference key
RESERVOIRINFLOW.
Reservoir inflow
The keyword RESERVOIRINFLOW under Library is in most parts a duplicate of the flow-path level
keyword WELL. As compared to WELL, there is no position to be specified since the positions of each
respective inflow is automatically generated through the input given on ZONE. Furthermore, the
reservoir pressure and reservoir temperature are specified through ZONE. For detailed information,
please refer to the section on interpolation below.
Coefficient specification
One final thing to be noted is the specification of the injection and production coefficients. On WELL,
these are specified for that particular inflow object whereas their interpretation in RESERVOIRINFLOW
is depending on the COEFTYPE key on ZONE. For COEFTYPE=TOTAL, the coefficient values are
considered to correspond to the sum for all contributions within the zone. For COEFTYPE=PERMETER,
the coefficient values need to be multiplied by a length in order to generate the value for each individual
inflow. To illustrate this, consider a 1,000 meter long zone. If one of the coefficients is specified to equal
50 when COEFTYPE=TOTAL, the equivalent input using COEFTYPE=PERMETER is to specify that
very same coefficient to be 0.050.
Interpolation
The zone has a number of options for specifying the reservoir pressure and reservoir temperature;
INTERPOLATION=[OFF],VERTICAL,AUTOMATIC. The default option, OFF, corresponds to constant
reservoir pressure and temperature as given through PRESSURE and TEMPERATURE. A more
advanced option is vertical interpolation. Here, the reservoir pressure and reservoir temperature are
specified at the zone endpoints (STARTPRESSURE, ENDPRESSURE, STARTTEMPERATURE, and
ENDTEMPERATURE) and linear interpolation is carried out as a function of vertical depth. The third
interpolation option, automatic interpolation, uses a uniform temperature while the pressure is calculated
through integrating the hydrostatic pressure contribution in the reservoir fluid starting at the given
reference pressure.
Output
When specifying output variables for zones, output is always given accumulated over the entire zone. In
order to get data for the individual inflows, set ZONEDETAILS=YES in the TRENDDATA keyword. By
doing so, output is generated for each individual inflow that has been automatically generated in
addition to the accumulated one. N.B., it is not possible to get data for an individual inflow, it is either all
or nothing.
214
OLGA 6.3 USER MANUAL
If the machine running the simulation is short on physical and virtual memory, this will ultimately lead to
an unexpected program termination.
An exception is the correlation for the void fraction in liquid slugs. An average correlation based on the
diesel, naphtha and stanco experiments at the SINTEF loop is applied by default. The actual correlation
quite significantly influences the transition from stratified to slug flow. The selected correlation yields
good agreement for all the above experiments. For air/water, another correlation should be applied and
OLGA provides an alternative which may be activated by specifying the key SLUGVOID in the keyword
OPTIONS.
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, the 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 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 do 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 since 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.
Another restriction on the Flow Model is that gas is assumed to be lighter than oil and water. Oil can in
turn however be lighter or heavier than water. Please note however that the numerical models in OLGA
has only been verified and tuned for fluids where the density of oil is smaller than density of water. How
OLGA deals with fluids where oil or water densities are equal to or smaller than gas densities are
described in Limitations in the use of fluid properties.
215
OLGA 6.3 USER MANUAL
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 the fluids in the pipes have different
compositions. Thus, changes in physical properties and equilibrium mass fractions due to changes in
temperature and pressure will be different from the values in the PVT table. These differences are
usually small.
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 latter
has important implications for the pressure wave propagation (or speed of sound); if normal
condensation takes place, the mixture will appear too compressible in OLGA and the pressure wave
velocity will be smaller than if the mass transfer rate was finite.
Due to the instantaneous mass transfer, compositional tracking and regular table based OLGA both has
problems handling single component systems and systems with a very narrow phase envelope. This is
because a small change in pressure and temperature might change the holdup and physical properties
of the fluid dramatically
First of all OLGA assumes that gas is the lightest phase, and thus flows at the top. If the gas density for
some reason is larger or equal to the oil density, the gas densities are modified to be slightly smaller
than the oil density. Similarly if the gas density is larger than or equal to the water density, the water
density is modified to be slightly larger than the gas density. A warning of this is then printed. The
density of oil can both be smaller and larger than the water density, but note that the numerical models
in OLGA has only been verified and tuned for fluids where the density of oil is smaller than density of
water. OLGA also checks if all densities are zero, and terminates if they are.
Secondly OLGA checks if the viscosities are <10-9, and sets these viscosities to 10-9 if they are. OLGA
also checks if the gas-density is smaller than the oil and water viscosities. If the gas viscosity is, for
some reason, larger than either of these, the oil or water viscosity is set to a value slightly larger than
the gas-viscosity at this point. A warning of this is then printed.
Thirdly OLGA checks if the surface tension between phases is smaller than 10-5. If they for some reason
are smaller, OLGA will set these values to 10-5. A warning of this is then printed.
Finally OLGA also investigates if the enthalpies and temperature and pressure dependencies of the
enthalpies seem reasonable. A warning is printed if something unexpected is found. This check is not
performed in Compositional Tracking.
216
OLGA 6.3 USER MANUAL
Input/Output Limitations
Input pre-processor
The input pre-processor that checks the input data for inconsistencies is not foolproof. Although the
most frequent input errors are found, there may be cases with faulty input that are not detected.
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 summarizes 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.
”Stock tank conditions” are also used in the industry, but this phrase is often perceived to mean dry oil
and gas. Therefore, the term ”standard conditions” is used 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 assume 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 FLASHMODEL =
HYDROCARBON is specified in the keyword OPTIONS.
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.
217
OLGA 6.3 USER MANUAL
The first time step control is based on the transport criterion of Courant-Friedrich-Levy (CFL):
∆
∆ min
This criterion is by default switched on. This means that the time step is limited so that no mass is trans-
ported 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 second time step control, SOUND_CFL, (default OFF) uses the same principles as the CFL but is
based on the speed of the pressure wave instead of the fluid velocity. It has been introduced to better
calculate shock waves (e.g. due to water hammer).
The third time step control, PRESSURE, (default OFF) is based on the second order time derivative of
the pressure.
The fourth time step control, GRADPRESSURE, (default OFF) is based on the first order time derivative
of the pressure. This has been introduced to be able to reduce the time step earlier for quick pressure
changes, e.g. a pipeline with high pressure is opened into a small closed volume.
If all time step control criteria are switched on, OLGA will choose the minimum time step from the
activated time steps controls. The upper and lower limit for the time step is the user-given MINDT and
MAXDT in the keyword statement INTEGRATION.
Additional time step controls are activated when process equipment is simulated, or the slug tracking
option is activated.
Section Lengths
For a pipeline of fixed length the simulation time increases roughly quadratically with the number of
sections in the pipeline. First, the number of arithmetic operations per time step increases proportionally
to the number of sections. Second, 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 ∆ and
∆ approach zero.
Pipe-Section Discretisation
In general, if either the inclination angle or the diameter of the pipes varies, each pipe should be divided
into at least two sections to ensure meaningful results, i.e. to reduce numerical 'smearing out' of these
effects.
218
OLGA 6.3 USER MANUAL
For transient calculations when the heat storage in the pipe walls can be important (cool down or heat
up) a finer discretisation of the pipe walls may be necessary.
Very thin layers, such as paint etc., should be included in a neighbouring layer by adjusting the
thickness and conductivity of that layer. If the thermal conductivity of the thin layer is fairly close to the
conductivity of one of the neighbours, only the thickness needs to be adjusted.
219
OLGA 6.3 USER MANUAL
220
OLGA 6.3 USER MANUAL
Chapter 4
Keyword Description
221
ANNULUS OLGA 6.3 USER MANUAL
ANNULUS
Annulus is a network component. See ANNULUS COMPONENT for more description.
See also ANNULUS COMPONENT Keys
222
OLGA 6.3 USER MANUAL
AMBIENTDATA
This statement specifies the ambient conditions of bundles (solidbundle, fluidbundle and annulus),
which is quite similar to the HEATTRANSFER keyword with respect to input data and axial variation. To
facilitate different configurations in the cross section plane, the ambient conditions can vary in the
vertical axis as well as along the bundle axis.
This option is intended to offer a simplified input for the discontinuous data encountered when modelling
buried pipelines. If TYPE=SIMPLEBURIED, only a single AMBIENTDATA may be given. The
VERTPOS key will then be inactive, while the keys SOILSURFACELEVEL, SOILTEMPERATURE,
SOILTEMPLEVEL and SOILVERTBOUND are active.
SOILSURFACELEVEL define a horizontal line, above which the ambient conditions apply (e.g. ambient
temperature and heat transfer coefficient).
The scalar SOILTEMPERATURE define the temperature at the horizontal line that intersects the lowest
point of all SHAPEs (YMIN). This will be constant along the pipeline.
Between YMIN and SOILSURFACELEVEL, the temperature at the boundaries will either be calculated
by OLGA (SOILVERTBOUND=NOFLUX) based on the assumption of no heat flux normal to the
boundaries, or set by SOILTEMPEATURE (SOILVERTBOUND=FIXEDTEMP). The latter will in most
circumstances give a rough but conservative estimate on the overall heat loss from the pipeline.
Detailed (TYPE=VERTICALPOINTS)
If this option is used, a set of AMBIENTDATA may be given, where each will have a key VERTPOS to
identify the vertical position to which it applies. Ambient conditions will be interpolated linearly between
each AMBIENTDATA. Conditions will be constant above/below the higher/lowest VERTPOS. A single
AMBIENTDATA with TYPE=VERTICALPOINTS results in ambient conditions that are uniform in the
cross section plane.
One important consideration is what to do when the ambient conditions are discontinuous. This may
solved by defining two AMBIENTDATA keywords positioned very close on the vertical axis. (NOTE: only
available for SOLIDBUNDLE)
223
OLGA 6.3 USER MANUAL
224
OLGA 6.3 USER MANUAL
225
OLGA 6.3 USER MANUAL
226
OLGA 6.3 USER MANUAL
227
OLGA 6.3 USER MANUAL
228
OLGA 6.3 USER MANUAL
BLACKOILCOMPONENT
This statement defines a component (gas, oil or water) for the black oil options.
Parameter
Type
Key set Description
Unit:()
Default:[ ]
API gravity. API = 141.5/(oil specific gravity)–
APIGRAVITY Real [30] 131.5. Cannot be given if
OILSPECIFICGRAVITY is given.
Mole fraction of CO2 in gas at standard
CO2MOLEFRACTION Real [0.0] conditions. CO2MOLEFRACTION has to be
less than 10%.
Gas specific gravity (gas density/air density).
GASSPECIFICGRAVITY Real [0.64] GASSPECIFICGRAVITY has to be larger than
0.5 (0.55 is pure methane).
Mole fraction of H2S in gas at standard
H2SMOLEFRACTION Real [0.0] conditions. H2SMOLEFRACTION has to be
less than 10%.
[BOCOMP-
LABEL String Name of the blackoil component.
1]
Mole fraction of N2 in gas at standard
N2MOLEFRACTION Real [0.0] conditions. N2MOLEFRACTION has to be less
than 10%.
Oil specific gravity (oil density/water density).
OILSPECIFICGRAVITY Real [0.876]
Cannot be given if APIGRAVITY is given.
OIL | GAS | Define if the component is an oil, Gas or water
TYPE Symbol
WATER component.
Water specific gravity (water density/fresh
water density). Used in order to include density
WATERSPECIFICGRAVITY Real [1.0]
effect on water due to components other than
salt, e.g. MEG.
229
BLACKOILFEED OLGA 6.3 USER MANUAL
BLACKOILFEED
This statement defines a black oil feed.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
GASCOMPONENT Symbol Ref. to blackoil component label of type gas.
Real
GLR Gas/liquid ratio. Alternative to GOR.
(Sm3/Sm3)
Real
GOR Gas/oil ratio. Alternative to GLR.
(Sm3/Sm3)
LABEL String [BOFEED-1] Blackoil feed label.
Real Liquid/gas ratio. Alternative to GLR (to be
LGR
(Sm3/Sm3) used for gas feeds).
Real Oil/gas ratio. Alternative to GOR (to be used
OGR
(Sm3/Sm3) for gas feeds).
OILCOMPONENT Symbol Ref. to blackoil component label of type oil.
Ref. to blackoil component label of type
WATERCOMPONENT Symbol
water.
WATERCUT Real [0.0] Watercut.
230
OLGA 6.3 USER MANUAL
BLACKOILOPTIONS
This statement defines the black oil options.
231
BRANCH OLGA 6.3 USER MANUAL
BRANCH
This statement defines a grouping of pipes by reference to a GEOMETRY.
Type Parameter set
Key Description
Unit:() Default:[ ]
Label or number of the fluid table to apply for this
branch. If a keyword based pvt-file is used,
FLUID Symbol
FLUID has to be the LABEL given in the pvt-file,
i.e., numbering is not valid for this format.
Label of GEOMETRY keyword. Only one
GEOMETRY Symbol
geometry is allowed in each BRANCH statement.
Preprocessor input. Defines whether the initial
guess on the flow direction for a branch should
NEGATIVE | be positive or negative. Changing the direction
INIFLOWDIR Symbol
[POSITIVE] might avoid a crash in the preprocessor or result
in a solution closer to the transient steady state
solution.
CASE
Defines information about a simulation.
232
OLGA 6.3 USER MANUAL
CHECKVALVE
Defines a check valve in the pipeline. Allows flow only in the defined flow direction.
Type Parameter set
Key Description
Unit:( ) Default:[ ]
Real
ABSPOSITION Absolute position. Distance from branch inlet.
(m)
NEGATIVE | Allowed direction. Positive direction refers to
DIRECTION Symbol
[POSITIVE] direction of increasing section number.
LABEL String [CHECK-1] Check valve label.
Pipe number or pipe label where the check
PIPE Symbol
valve is located.
Position label where the source is located. If
POSITION Symbol this is defined, PIPE and SECTION should not
be used.
Section boundary number where the
SECTIONBOUNDARY Integer 1
checkvalve is located.
233
COMPOPTIONS OLGA 6.3 USER MANUAL
COMPOPTIONS
This statement specifies the different options used in the PVT routines for calculating material properties
and flashing terms in the Compositional Tracking model.
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 FLASHTYPE key specifies the type of flash calculations to use. TWOPHASE is the simplest one
and is default if no aqueous components (H2O, MEG, etc) are part of the feed. SIMPLETHREEPHASE
is the default if there are at least one aqueous component. FULLTHREEPHASE is the most time-
consuming option, but provides full mixing in all phases. This option must be used if any salt
components are defined in the feed.
The TCONDENSATION/TVAPORIZATION keys are non-equilibrium delay constants for the mass
transfer from liquid phase to gas phase and vice versa. The keys can be introduced for each component
specified with the COMPONENT key. The equilibrium state reached in the flash calculations will then be
delayed for the specified components. The default is no delay.
The DENSITYLIMIT key can be used to specify the limit for the dense phase region density. In the
dense phase region, where there are no good criteria to distinguish gas from oil, a fluid with higher
density than the given value is defined as liquid and a fluid with lower density is defined as gas.
234
OLGA 6.3 USER MANUAL
235
COMPRESSOR OLGA 6.3 USER MANUAL
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). 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.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
Discharge coefficient of valve/choke in recycle
CD Real [0.84]
loop.
Name of compressor data. This refers to a label
COMPRDATA Symbol
in the compressor characteristics file.
Maximum heat transfer rate from fluid flowing
COOLCAPACITY Real (W)
through the heat exchanger in the recycle loop.
Switch for turning on or off heat exchanger in
COOLER Symbol ON | [OFF]
recycle loop.
DIAMETER Real (m) Orifice diameter of valve/choke in recycle loop.
LABEL String [COMPR-1] Label of the compressor.
Real
MAXRPM Maximum RPM.
(rpm)
Real
MINRPM Minimum RPM.
(rpm)
Number/name of pipe where compressor is
PIPE Symbol
located.
Position of the compressor. If POSITION is
POSITION Symbol defined, PIPE and SECTIONBOUNDARY should
not be used.
Section boundary number where compressor is
SECTIONBOUNDARY Integer 1
located.
Security factor (e.g. 1.2 implies that the min. flow
SECURITYFACTOR Real
is 120% of surge rate).
Temperature values out of heat exchanger.
RealList
TEMPERATURE Number of temperature values must correspond
(C)
to the number of times given in the TIME-key.
RealList Time series for temperature out of heat
TIME
(s) exchanger.
236
OLGA 6.3 USER MANUAL
CONTROLLER
ALGEBRAICCONTROLLER
The controller type ALGEBRAIC can combine signals from other controllers using a defined set of
operators, see below. The controller loops over all operators given in VARIABLEFUNCTION key. The
number of operands is defined by the operation. The operators are applied to the current result (result
from previous operation) as the first operand and additional operands in terms of input signals terminals
(INPSIG_i). The initial current result (result from previous operation) is input signal one (INPSIG_1).
237
CONTROLLER OLGA 6.3 USER MANUAL
238
OLGA 6.3 USER MANUAL
239
CONTROLLER OLGA 6.3 USER MANUAL
ASCCONTROLLER
The main purpose of the Anti Surge Controller (ASC) is to prevent a compressor from operating to the left
of the Surge Line in a compressor performance map.
The controller uses a non-symmetrical PID algorithm. Two amplification constants must therefore be
given. One amplification for positive and one for negative controller error.
240
OLGA 6.3 USER MANUAL
241
CONTROLLER OLGA 6.3 USER MANUAL
242
OLGA 6.3 USER MANUAL
CASCADECONTROLLER
A cascade controller (normal or extended) is a PID controller. The cascade controller is used in the
inner loop of a cascade control. The output of the primary controller changes the setpoint of the
secondary (cascade) controller.
243
CONTROLLER OLGA 6.3 USER MANUAL
244
OLGA 6.3 USER MANUAL
245
CONTROLLER OLGA 6.3 USER MANUAL
246
OLGA 6.3 USER MANUAL
ESDCONTROLLER
ESD - Emergency shutdown controller. The ESD controller will send a signal intended to close a
valve when the measured variable is above or below (depending on the OPENMODE key) the
setpoint value. The setpoint is given as a signal or a key. The valve is opened again if RESET is
given, and if the measured variable is below or above (depending on the OPENMODE key) the
setpoint value.
247
CONTROLLER OLGA 6.3 USER MANUAL
248
OLGA 6.3 USER MANUAL
249
CONTROLLER OLGA 6.3 USER MANUAL
MANUALCONTROLLER
The manual controller simulates an operator. It provides a valve opening directly from a user specified
series, only dependent on time. The user specified series is given in the setpoint key, or as a setpoint
signal. The manual controller limits the setpoint with STROKETIME or CLOSINGTIME/OPENINGTIME.
250
OLGA 6.3 USER MANUAL
251
CONTROLLER OLGA 6.3 USER MANUAL
252
OLGA 6.3 USER MANUAL
OVERRIDECONTROLLER
An override controller is a low select or high select operator. An override controller uses any number of
input signals. The input signals are compared, and the minimum/maximum (depending on the
SELECTIONMODE key) input signal is chosen as the output signal from the override controller.
253
CONTROLLER OLGA 6.3 USER MANUAL
254
OLGA 6.3 USER MANUAL
PIDCONTROLLER
PID (Proportional-Integral-Derivative) controllers are designed to maintain a specified value (given by a
setpoint signal or key) for a measured flow variable (given as an input signal).
The user can 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.
255
CONTROLLER OLGA 6.3 USER MANUAL
256
OLGA 6.3 USER MANUAL
257
CONTROLLER OLGA 6.3 USER MANUAL
258
OLGA 6.3 USER MANUAL
SCALERCONTROLLER
The main purpose of a SCALER controller is to scale the measured signal from range
LOWLIMIT..HIGHLIMIT to range MINSIGNAL..MAXSIGNAL. Output U is set:
259
CONTROLLER OLGA 6.3 USER MANUAL
SELECTORCONTROLLER
The selector controller has two sub controllers, SUBCONLOW and SUBCONHIGH. The selector
controller switches between these sub-controllers depending of the low and high limits given as
input through the HIGHLIMITSIG and LOWLIMITSIG signal terminals. A sub-controller that is active
due to a limit being reached stays active until another limit is reached. Then another sub-controller
takes over, and stays active until yet another limit is reached.
260
OLGA 6.3 USER MANUAL
261
CONTROLLER OLGA 6.3 USER MANUAL
262
OLGA 6.3 USER MANUAL
STDCONTROLLER
The STDController converts mass flow rate to volumetric flow rate at standard conditions.
Set correct phase in PHASE key. Specify the fluid in the FLUID or FEEDNAME keys. Specify the
wanted GOR/CGR/WGR/WATERCUT/MOLWEIGHT, and the overall mass flow rate will be calculated.
Connect the STDController output terminal OUTSIG to a PID controller MEASRD terminal.
263
CONTROLLER OLGA 6.3 USER MANUAL
264
OLGA 6.3 USER MANUAL
SWITCHCONTROLLER
The main purpose of the switch controller is to switch between alternative inputs values. The output of
the controller is selected based on the setpoint in MODE = AUTOMATIC or SETPOINT terminal if
MODE = EXTERNALSETPOINT.
1.5 <= SP < 2.5 unconstrained output A is set equal to controller at terminal INPSIG_2
2.5 <= SP < 3.5 unconstrained output A is set equal to controller at terminal INPSIG_3
….
265
CONTROLLER OLGA 6.3 USER MANUAL
266
OLGA 6.3 USER MANUAL
TABLECONTROLLER
A table controller uses the input signal (terminal INPSIG) as lookup variable, x, in a table. The controller
output is y = f(x). The look-up function is linear interpolation.
267
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
VARIABL SymbolList List of variables to be printed.
E (ValueUnitPair) Units may be specified.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
VARIABL SymbolList List of variables to be plotted.
E (ValueUnitPair) Units may be specified.
268
OLGA 6.3 USER MANUAL
CORROSION
This statement 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.
269
OLGA 6.3 USER MANUAL
270
OLGA 6.3 USER MANUAL
DRILLINGFLUID
This statement enables 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 NODE.
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 (Complex Fluid Module).
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. For both types of mud the power law exponent and/or the yield stress should then
be given in the file as a function of pressure and temperature.
Type
Parameter set
Key Unit:( Description
Default:[ ]
)
Real Density of cutting particles. Global value
CUTDENSITY [2100.0]
(kg/m3) that only should be set once.
FLUIDTABLE Symbol Label or number of fluid table in PVT file.
[DRILLINGFLU
LABEL String Name of definition.
ID-1]
The maximum density of the drilling fluid to
Real be used in the entire drilling process. The
MAXDENSITY
(kg/m3) densisty must be given at standard
conditions.
The maximum viscosity of the drilling fluid
Real (N- to be used in the entire drilling process.
MAXVISCOSITY
s/m2) The viscosity must be given at standard
conditions.
The minimum density of the drilling fluid to
Real be used in the entire drilling process. The
MINDENSITY
(kg/m3) density must be given at standard
conditions.
271
OLGA 6.3 USER MANUAL
Type
Parameter set
Key Unit:( Description
Default:[ ]
)
The minimum viscosity of the drilling fluid
Real (N- to be used in the entire drilling process.
MINVISCOSITY
s/m2) The viscosity must be given at standard
conditions.
WATERMUD |
Type of drilling fluid. The following types
TYPE Symbol OILMUD |
are allowed: WATER, OIL, and GAS.
GASMUD
B constant in the Vogel viscosity model for
water based muds. visc =
VISCOSITYBCONST Real
visc0*exp(B/(T+C)) where visc0 is given in
SOURCE and/or NODE.
C constant in the Vogel viscosity model for
water based muds. visc =
VISCOSITYCCONST Real
visc0*exp(B/(T+C)) where visc0 is given in
SOURCE and/or NODE.
272
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Pipeline position where the criteria
ABSPOSITION RealList (m) changes will be applied. Absolute position.
Distance from branch inlet.
The Courant-Friedrichs-Lewy (CFL)
CFL Symbol OFF | [ON]
criterion based on the flow velocity.
CFLFACTOR Real [0.8] Adjust the CFL time-step.
Time-step control based on the first-order
GRADPRESSURE Symbol ON | [OFF]
derivative of pressure w.r.t. time.
Pipe numbers or labels where the criteria
PIPE SymbolList
changes will be applied.
Labels of specified positions where the
POSITION SymbolList
criteria changes will be applied.
PREFACTOR Real [0.8] Tuning factor for pressure criterion.
Time-step control based on the second-
PRESSURE Symbol ON | [OFF]
order derivative of pressure w.r.t. time.
Section numbers where the criteria
SECTION IntegerList 0
changes will be applied.
Time-step control based on the speed of
SOUND_CFL Symbol ON | [OFF]
pressure waves.
273
FEED OLGA 6.3 USER MANUAL
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.
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: several files can be listed for COMPRESSORFILE, PUMPFILE and PVTFILE.
If drilling fluids are used and the fluid properties are given in files, these are specified as
additional files in the PVTFILE key.
Paramete
Type
Key r set Description
Unit:( )
Default:[ ]
COMPRESSORFIL StringLis Name of COMPRESSOR file(s). The files can
E t contain several compressors each.
Name of FEED file (used by the
compositional tracking module). Note that
FEEDFILE String
only one file may be specified, however one
file can contain several feeds.
StringLis Name of PUMP file(s). Each file can contain
PUMPFILE
t only one pump.
StringLis
PVTFILE Name of the file(s) containing fluid properties.
t
Name of the file containing the WAX table.
Note that only one wax table can be specified
WAXFILE String
for the time being. See user manual for
details.
274
OLGA 6.3 USER MANUAL
FLOWPATH
This statement defines the label of the flow path.
275
FLUID OLGA 6.3 USER MANUAL
FLUID
This statement enables the use of the complex viscosity model and the complex fluid model
for simulation of non-Newtonian flows and high viscosity liquids.
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.
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.
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.
276
OLGA 6.3 USER MANUAL
277
FLUIDBUNDLE OLGA 6.3 USER MANUAL
FLUIDBUNDLE
FLUIDBUNDLE is a network component.
This keyword defines a carrier line that encloses one or several FLOWPATHS, LINES and/or
FLUIDBUNDLES. The carrier line itself must be specified as either a FLOWPATH or a LINE. The length
and elevation of each pipe section contained in the bundle must be maintained. Pipe diameters must be
constant in the axial direction. The effects of heat transfer between all the pipelines will be accounted
for.
A LINE is a FLOWPATH for which simplified one-phase calculations are performed. It is activated by
choosing LINE=YES as a parameter for a FLOWPATH. FLOWPATHS must be connected to nodes
when the sub key LINE=YES. The CROSSOVER functionality must be set up explicitly with nodes of
type CROSSOVER with a specified reference pressure and boost pressure.
The outer heat transfer coefficients and the ambient temperatures used by the Fluid Bundle are the
values given for the outermost pipeline.
The outer surface heat transfer coefficient for each OLGA FLOWPATH can 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 the sub key
OUTERHVALUE.
278
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
FLOWPATH Symbol Label of a FLOWPATH that resides inside the BUNDLE.
FLUIDBUNDLE Symbol Label of a bundle that resides inside the BUNDLE.
Label of the POSITION on the FLOWPATH where it
FROM Symbol
enters the BUNDLE.
Label of a line (FLOWPATH) that resides inside the
LINE Symbol
BUNDLE.
Real Heat transfer coefficient at the wall surface of a branch to
OUTERHVALUE (W/m2- the bulk fluid in the carrier line. Forced/free convection
C) will be applied if this key is not defined.
Label of the POSITION on the FLOWPATH where it exits
TO Symbol
the BUNDLE.
The component's displacement along the x-axis relative
XOFFSET Real (m) [0.0]
to the center of the bundle.
The component's displacement along the y-axis relative
YOFFSET Real (m) [0.0]
to the center of the bundle.
279
GEOMETRY OLGA 6.3 USER MANUAL
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 for each pipe.
280
OLGA 6.3 USER MANUAL
HEATEXCHANGER
This statement describes the effects of a heat exchanger. There are two types of heat exchangers;
setpoint and controlled.
The setpoint 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.
The controlled heat exchanger does not know the outlet temperature and does not calculate the heat
exchanged. Instead it uses a controller to specify the effect to be used. The controller signal (which
should be between 0 and 1) is the fraction of the heat exchangers maximum capacity. A controller
signal of 1 implies that the heat exchanger uses its maximum capacity.
Note that a heat exchanger cannot be defined at the first or last section boundary of the pipeline.
281
HEATTRANSFER OLGA 6.3 USER MANUAL
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:
For options 2 and 3, the overall heat transfer coefficient is calculated and the keyword WALL has to
be specified. If option 3 is used, the ambient heat transfer coefficient is a function of the pipe
diameter, the fluid velocity, and fluid properties such as density and viscosity. Velocity and fluid
properties have to be given only if a user specified fluid is used (HOUTEROPTION=OTHER). The
VELOCITY can be specified for HOUTEROPTION=AIR or WATER, otherwise the default values
4 m/s and 1 m/s, respectively, will be used. Default values are applied for all other properties when
HOUTEROPTION=AIR or WATER.
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, SECTIONWISE, the ambient temperature is given by the user for the midpoint of the first
and last section. The interpolation is performed between these points using the distance between
section midpoints to achieve a linear temperature profile with respect to the distance along the
pipeline. For the options HORIZONTAL, LENGTH, and VERTICAL, the ambient temperature is
specified at the inlet and outlet boundaries (INTAMBIENT and OUTTAMBIENT). The interpolation is
then based on either horizontal length, actual length or vertical depth.
Type Parameter
Key Unit:( set Description
) Default:[ ]
Heat capacity of ambient fluid. If
HOUTEROPTION is AIR, 1000 J/KG-K is
used. If HOUTEROPTION is WATER,
RealList
CAPACITY 4186 J/KG-K is used. Input can either be a
(J/kg-C)
single value (constant along range of
sections), two values (length-interpolated)
or given explicitly for each section.
Thermal conductivity of ambient fluid. If
HOUTEROPTION is AIR, 0.023 W/mK is
used. If HOUTEROPTION is WATER,
RealList
CONDUCTIVITY 0.56 W/mK is used. Input can either be a
(W/m-C)
single value (constant along range of
sections), two values (length-interpolated)
or given explicitly for each section.
282
OLGA 6.3 USER MANUAL
283
OLGA 6.3 USER MANUAL
284
OLGA 6.3 USER MANUAL
HYDRATECHECK
This keyword can be used to specify a set of hydrate formation curves and how these should be treated
in the flowpath.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Constant in Hammerschmidt equation. Note that
HAMCONST Real (C) [1297]
unit is delta temperature.
Switch for activating the Hammerschmidt formula
for computing hydrate temperature curves for
HAMMERSCHMID
Symbol ON | [OFF] different inhibitor concentrations. Can only be used
T
with a single hydrate curve without any specified
inhibitor concentration (i.e. INHIBITORCONC=0).
SymbolLis Labels of the HYDRATECURVEs (from Library)
HYDRATECURVE
t that shall be used in this flowpath.
Name of file with inhibitor corrections to hydrate
INHIBITORFILE String
equilibrium.
With PRESSOVERRIDE the limit for the difference
between hydrate and section pressure, DPHYD
PRESSOVERRIDE Real (Pa) [-5000000] (default -50 bar), can be changed. Such sections
are not used when calculating the maximum
DPHYD in a branch.
With TEMPOVERRIDE the limit for the difference
between hydrate and section temperature, DTHYD
TEMPOVERRIDE Real (C) [-50] (default -50 C), can be changed. Such sections are
not used when calculating the maximum DTHYD in
a branch.
Label of tracer feed. Requires TRACERTRACKING
= ON under the OPTIONS keyword. If given the
TRACERFEED Symbol
hydrate temperature will be corrected according to
INHIBITORFILE.
Hydrates will not form in sections with less water
WATERLIMIT Real [0]
than the waterlimit (default = 0).
285
HYDRATEKINETICS OLGA 6.3 USER MANUAL
HYDRATEKINETICS
The hydrate kinetics module combines the hydrate kinetics and rheological model developed by
Colorado School of Mines with the flow equations of the OLGA model. The hydrate kinetics model
determines the amount of gas and water consumed by hydrate formation and the effective viscosity of
the hydrate particle laden oil phase. The flow model integrates the mass consumption rate to obtain the
amount of hydrate phase and uses the effective viscosity for the flow calculations.
The model is still in the research phase, and the initial emphasis has been on flowing liquid dominated
systems with excess of water and gas for hydrate formation. Future versions will likely also address gas
dominated systems and include deposition mechanisms. Special care should be taken when using the
model since the model has only been validated against limited data sets. Further, it is not designed for
shut-in and depressurization studies.
Type Parameter
Key Unit:( set Description
) Default:[ ]
Weighting factor for hydrate velocity related to oil
COIL Real [1.0]
velocity
Weighting factor for hydrate velocity related to water
CWATER Real [0.0]
velocity
NO: Use OLGA flow model. YES: Forces the gas
velocity to be proportional to the liquid velocity, and
DRIFTFLUX Symbol YES | [NO]
the keys VELOCITYRATIO and DRIFTVELOCITY
become active.
DRIFTVELOCITY is a constant slip velocity of the
Real gas. Used when DRIFTFLUX = YES. gas velocity =
DRIFTVELOCITY [0]
(m/s) VELOCITYRATIO times liquid velocity +
DRIFTVELOCITY
FOGEXPONENT is used to adjust the gas-liquid
interface friction. The scaling factor for the
FOGEXPONENT Real [0]
interfacial friction is equal to the viscosity ratio of the
oil phase raised to the power of FOGEXPONENT.
NO: Use OLGA oil/water dispersion model. YES:
Force all of oil or water to be dispersed in water or
FULLDISPERSION Symbol YES | [NO] oil depending on inversion point. The inversion point
can be adjusted through the WATEROPTIONS
keyword.
METHANECONCFIL
String File containing methane concentration in oil.
E
286
OLGA 6.3 USER MANUAL
Type Parameter
Key Unit:( set Description
) Default:[ ]
Type of hydrate model. KINETIC should be used in
most cases. Two prototype models are available
from Colerado School of Mines: TRANSPORT and
TRANSPOR COLDFLOW. KINETIC calculate the rate of hydrate
T| formation using a chemical kinetics equation based
MODEL Symbol
COLDFLOW on the temperature driving force. TRANSPORT
| [KINETIC] accounts for mass and heat transfer resistances in
the calculation of the hydrate formation rate.
COLDFLOW adapted transport model for simulation
of the stabilized flow concept.
Type of hydrate structure. Structure I tends to
enclathrate smaller natural gas molecules such as
STRUCTURE Symbol SI | [SII] methane, whereas structure II tends to enclathrate
larger natural gas molecules such as propane
(Sloan and Koh, 2008)
Real Subcooling (given as temperature difference) from
SUBCOOLING [3.611111]
(C) hydrate equilibrium before nucleation. Default 6.5 F.
Distribution coefficient for gas velocity. Used when
VELOCITYRATIO Real [1]
DRIFTFLUX = YES
287
HYDRATECURVE OLGA 6.3 USER MANUAL
HYDRATECURVE
This keyword defines a hydrate formation curve to be used with the HYDRATECHECK keyword.
288
OLGA 6.3 USER MANUAL
INITIALCONDITIONS
This statement defines initial conditions for the dynamic calculation. The initial conditions are given flow
path-, pipe- or section-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:
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 pre-processor.
In order to simplify the input for certain initial condition variables, OLGA can perform interpolation along
pre-defined flow path 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.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Mass fraction of each feed given in
FEEDMASSFRACTION RealList
FEEDNAME.
Mole fraction of each feed given in
FEEDMOLEFRACTION RealList FEEDNAME. Can not be used with
Drilling.
Label(s) of initial feed(s) to be used for
calculating the local fluid compositions in
the pipe(s)/section(s). A list means mixing
FEED-1 |
FEEDNAME SymbolList of feeds. Requires
BOFEED-1
COMPOSITIONAL=ON/BLACKOIL or
DRILLING=ON under the OPTIONS
keyword.
Volume fraction of each feed given in
FEEDVOLFRACTION RealList
FEEDNAME (only for blackoil model).
Mass fraction of inhibitor in water phase
INHIBFRACTION RealList [0.0]
in each section.
Mass fraction of inhibitor in water phase
ININHIBFRACTION Real [0.0] at the inlet to the first pipe in a pipeline
section where interpolation is used.
Pressure at the inlet to the first pipe in a
INPRESSURE Real (Pa)
branch where interpolation is used.
289
INITIALCONDITIONS OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Fraction of total mass of H2O component
in the gas phase inlet to the first pipe in a
INSTEAMFRACTION Real [0] pipeline section where interpolation is
used. The default is zero mass of H2O
component is in the gas phase.
Temperature at the inlet to the first pipe in
INTEMPERATURE Real (C)
a branch where interpolation is used.
HORIZONTA
Type of interpolation used to calculate the
INTERPOLATION Symbol L | VERTICAL
initial conditions.
| [LENGTH]
Void fraction at the inlet to the first pipe in
INVOIDFRACTION Real
a branch where interpolation is used.
Watercut at the inlet to the first pipe in a
INWATERCUT Real
branch where interpolation is used.
Total mass flow at each section
MASSFLOW RealList (kg/s) [0.0]
boundaries.
Mass fraction of inhibitor in water phase
OUTINHIBFRACTION Real [0.0] at the outlet of the last pipe in a pipeline
section where interpolation is used.
Pressure at the outlet of the last pipe in a
OUTPRESSURE Real (Pa)
branch where interpolation is used
Fraction of total mass of H2O component
in the gas phase outlet to the last pipe in
OUTSTEAMFRACTION Real [0] a pipeline section where interpolation is
used. The default is zero mass of H2O
component is in the gas phase.
Temperature at the outlet of the last pipe
OUTTEMPERATURE Real (C)
in a branch where interpolation is used.
Void fraction at the outlet of the last pipe
OUTVOIDFRACTION Real in a branch section where interpolation is
used.
Watercut at the outlet of the last pipe in a
OUTWATERCUT Real branch section where interpolation is
used.
Pipe label or pipe number (single or
continuous range in the form x-y).
PIPE SymbolList [ALL]
290
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Fraction of total mass of H2O component
in the gas phase. The default is zero
STEAMFRACTION RealList [0]
mass of H2O component is in the gas
phase.
TEMPERATURE RealList (C) Initial temperature in each section.
VOIDFRACTION RealList Initial void fraction in each section.
WATERCUT RealList [0.0] Initial watercut in each section.
291
INTEGRATION OLGA 6.3 USER MANUAL
INTEGRATION
This statement defines the start and end times of the simulation. It also defines the start value, the
maximum value and the minimum value of the time step.
A controller can be used to setup a conditional stop of the simulation before the specified end time. The
simulation stops when the signal from the controller is zero.
292
OLGA 6.3 USER MANUAL
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.
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.
Backflow is not allowed for the LEAK, that is, there will be no backflow if section pressure is lower than
the backpressure.
The LEAK has one optional input terminal, INPSIG. INPSIG scales the LEAK flow area.
Type Parameter set
Key Description
Unit:( ) Default:[ ]
Absolute position. Distance from branch
ABSPOSITION Real (m)
inlet.
For TEMPDEPENDENCY=ON. Constant
used for a temperature dependent GLV. 0
means that the bellows temperature
ALFA Real
equals the injection temperature, 1
means the production temperature, and
interpolation for <0,1>.
RealList
BACKPRESSURE Leak back pressure
(Pa)
For TEMPDEPENDENCY=ON. Pressure
in GLV bellows (dome) at
BELLOWSPRESSURE Real (Pa)
REFTEMPERATURE, used for a
temperature dependent GLV.
Leak discharge coefficient. Used only in
CD Real [0.84]
pressure driven source.
Ratio between gas and liquid sizing
CF Real
coefficient.
Check valve active on the leak valve: NO:
CHECKVALVE Symbol YES | [NO] No check valve, YES: Check valve
present to stop backflow
Choice of critical flow model to be used.
HENRYFAUSKE |
CRITFLOWMODEL Symbol Homogenous frozen critical flow model or
[FROZEN]
Henry-Fauske model.
Maximum equivalent diameter of leak
DIAMETER Real (m)
area
Names of tables (defined in keyword
GASLIFTTABLES SymbolList
TABLE) that define the curves of a GLV.
For TEMPDEPENDENCY=ON. Specify
PRODOPERATED | whether a GLV is operated by injection
GLVOPERATION Symbol
[INJOPERATED] pressure or production pressure. Used for
a temperature dependent GLV.
293
LEAK OLGA 6.3 USER MANUAL
294
OLGA 6.3 USER MANUAL
LOSS
This statement defines pressure loss due to valves, bends, contractions, expansions or other obstructions
in or between pipes.
A⎛ A⎞
Δp = - ⎜ 1- ⎟ ρ U
2
A′⎝ A′⎠
1⎛ ⎛ A ⎞ ⎞
2
ΔP = ⎜1 - ⎜ ⎟ ⎟ ρ U 2
2 ⎝ ⎝ A′ ⎠ ⎠
The additional loss specified by the user for positive flow is:
1
ΔP = POSC(J)ρ U 2
2
The additional loss specified by the user for negative flow is:
1
ΔP = NEGC(J)ρ U 2
2
J-1 J J+ 1
CONTRACTION
A', U' A, U
J-1 J J+ 1
EXPANSION
A, U A', U'
Figure A An illustration of the use of loss coefficients for contraction and expansion.
295
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Real Absolute position where the pressure loss is
ABSPOSITION
(m) located. Distance from branch inlet.
LABEL String [LOSS-1] Loss label.
Loss coefficient when the flow is in negative
NEGCOEFF Real
direction.
PIPE Symbol Pipe label with pressure loss.
Loss coefficient when the flow is in positive
POSCOEFF Real
direction.
POSITION Symbol Position where the pressure loss is located.
SECTIONBOUNDARY Integer 1 Section boundary where pressure loss is located.
296
OLGA 6.3 USER MANUAL
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 negligible if one or both of the
emissivities are small.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Real
CAPACITY Thermal capacity of the material.
(J/kg-C)
Conductivity multiplier below PHCHMIN. Between
CONDMULT Real PHCMIN and PHCMAX, the multiplier is linearly
interpolated from CONDMULT to 1.
Real
CONDUCTIVITY Thermal conductivity of the material.
(W/m-C)
Real
DENSITY Material density.
(kg/m3)
Young's modulus of elasticity. Used to compute the
Real
EMOD radial flexibility of the pipe (typical value for steel:
(Pa)
2.1e11 Pa).
Real
EXPANSION Expansion coefficient of fluid layer.
(1/C)
Heat capacity multiplier between PHCHMIN and
PHCHMAX used to model latent heat of fusion. If
FUSIONMULT Real FUSIONMULT is 0, the heat capacity multiplier is
linearly interpolated from HCAPMULT to 1 between
PHCMIN and PHCMAX.
HCAPMULT Real Heat capacity multiplier below PHCHMIN
INNEREMISSIVITY Real [0] Emissivity of inner surface of fluid layer.
LABEL String [MAT-1] Material label.
OUTEREMISSIVITY Real [0] Emissivity of outer surface of fluid layer.
PHCHMAX Real (C) Upper temperature limit for phase change region
PHCHMIN Real (C) Lower temperature limit for phase change region
NO: No radiation across fluid layer. Yes: Radiation
RADIATION Symbol YES | [NO]
across fluid layer.
Type of wall material. SOLID: Normal wall layer
FLUID | PCM
TYPE Symbol material. FLUID: Stagnant fluid material. PCM: Phase
| [SOLID]
changing material
Real (N-
VISCOSITY Dynamic viscosity of fluid material
s/m2)
297
NEARWELLSOURCE OLGA 6.3 USER MANUAL
NEARWELLSOURCE
This input definition specifies the data for a ”NEARWELLSOURCE” which links OLGA TO the near-
wellbore reservoir simulator Rocx developed by IFE. OLGA delivers boundary conditions to Rocx, and
the production from (or injection into) the reservoir is received by OLGA from Rocx as mass rate for
each phase.
Input
The position of the NEARWELLSOURCE is given by referring to the distance from the inlet of the
branch (ABSPOSITION), a pipe and a section number, or by reference to a defined POSITION.
RESBOUNDNAME must refer to a boundary label defined in the Rocx input file. Each Rocx boundary
label can only be refereed once, which means it is not allowed to split the flow from one Rocx boundary
into two or more OLGA sections. But for one OLGA section, there can be several
NEARWELLSOUCES.
Rocx reads a separate input file describing the reservoir properties, boundary conditions and initial
conditions. The file name should be given under the key ROCX under FILES. This input file is edited
with the ROCX GUI. Rocx writes both formatted and binary industry standard Eclipse output files for
post processing (3D visualization). Please refer to the ”r;Rocx User Manual” for how to define a proper
input file for the Rocx simulator.
There is no automatic check of the correspondence in positioning and size between numerical sections
in OLGA and boundary grid blocks in Rocx. The user must therefore discretize both grids in such a
way that this is satisfied. The flow area at the wellbore and near-wellbore interface is calculated based
on the Rocx grid block rather than the corresponding OLGA numerical section.
Rocx may be run with the RESTART option. Definition of the file with restart data for Rocx should be
given in the Rocx input file. Rocx may be set up to read the same PVT data file as OLGA.
Rocx can be run as a standalone tool. This is a useful way to obtain a suitable condition for the
reservoir before initiating a coupled (and more time consuming) simulation.
Limitations
OLGA Rocx is not compatible with these fluid property models
• Compositional option
• Black oil option
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
LABEL String [NWSOUR-1] NearWellSOURCE label.
PIPE Symbol Pipe number for well.
POSITION Symbol Position label for where the well is located.
RESBOUNDNAME String Name of boundary in OLGA Rocx.
ROCX String Name of input filename for boundary in Rocx.
SECTION Integer 0 Section number for well.
298
OLGA 6.3 USER MANUAL
NODE
This statement defines the nodes in the flow network system. All nodes except CLOSED nodes need a
fluid for fluid properties calculations.
CLOSED: The node represents a closed boundary (zero flow). This can be combined with a
source or a well definition in the flow path.
PRESSURE: The node represents a pressure boundary. Values for pressure, temperature and
fluid must be given.
The model for internal nodes (merge/split nodes) uses more or less the same physics and the
numerical methods as the sections in the pipes. Pressure, temperature and masses are calculated.
Interphasial mass transfer is included in the node, but entrainment/deposition of liquid droplets are
ignored.
The current implementation of internal nodes requires a finite volume in the node. If no volume is
specified (or given as less than or equal to zero), a default volume is calculated by OLGA based on
the sizes of incoming and outgoing sections:
100 ,
where i is taken over all incoming/outgoing sections. It should be noted that the node does not
account for heat lost to the surroundings.
MASSFLOW: The node represents a mass flow boundary. Values for pressure, temperature, fluid
and mass flow or standard mass flow must be given. The behaviour of the MASSFLOW node is
very similar to a mass source. The main exception is that the MASSFLOW node has an internal
pressure calculation for obtaining the correct pressure that will set up the user given mass flow rate
into the connected pipe.
299
NODE OLGA 6.3 USER MANUAL
300
OLGA 6.3 USER MANUAL
301
NODE OLGA 6.3 USER MANUAL
302
OLGA 6.3 USER MANUAL
303
NODE OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
SymbolList List of variables to be printed. Units may be
VARIABLE
(ValueUnitPair) specified.
304
OLGA 6.3 USER MANUAL
OPTIONS
This statement specifies the different calculating options to be applied in the simulation.
OPTIONS is a required keyword.
Type
Parameter set
Key Unit: Description
Default:[ ]
()
OFF: No compositional tracking, just use the
ON | MEG |
fluid table. ON: Enable compositional
MEOH | ETOH |
tracking. MEG/MEOH/ETOH: Use Inhibitor
BLACKOIL |
COMPOSITIONAL Symbol tracking with the given component.
STEAMWATER-
BLACKOIL: Use Black oil model.
HC | SINGLE |
STEAMWATER-HC: Use steam model.
[OFF]
SINGLE: Use single-component model
Turn on or off printing of time step
information to standard output. DEBUG =
OFF reports only essential warnings.
DEBUG = ON will report all informative
ON | LIMITED |
DEBUG Symbol messages and can slow down simulation
[OFF]
significantly. DEBUG = LIMITED will be
more silent about fluid table warnings and
some informative messages, but otherwise
report the same as DEBUG = ON.
DRILLING Symbol ON | [OFF] Set it to ON for simulation drilling process
Turn on or off the use of the effect of
ELASTICWALLS Symbol ON | [OFF]
expanding/contracting walls
Mass transfer model. WATER: Mass
HYDROCARBON transfer between gas-oil and gas-water.
FLASHMODEL Symbol
| [WATER] HYDROCARBON: Only mass transfer
between gas-oil.
This key (HYDSLUG) makes it possible to
turn off the distributed flow regimes
(hydrodynamic slug flow and dispersed
HYDSLUG Symbol OFF | [ON]
bubble flow). HYDSLUG OFF will enforce
stratified or annular flow (both including
liquid droplets).
Discretization scheme used for solving the
2NDORDER |
MASSEQSCHEME Symbol mass equations. For further details, see
[1STORDER]
User's manual.
OFF: Slip between phases is calculated
(recommended). ON: Should only be used
for sensitivity simulations. The gas and liquid
(oil and water) is treated as one single
homogenized phase in the pressure drop
NOSLIP Symbol ON | [OFF] and momentum calculations. The other
calculations, mass conservation, mass
transfer, etc, will be as for a normal
simulation with slip. The no-slip option is
implemented in both the steady state pre-
processor and the dynamic code.
305
OPTIONS OLGA 6.3 USER MANUAL
306
OLGA 6.3 USER MANUAL
OUTPUT
This statement defines the time intervals for when the variables defined in OUTPUTDATA is reported.
The information is saved as an output file (*.out) which can be opened in a text editor.
It is possible to specify either time points for output (TIME) or a time interval for output (DTOUT). It is
also possible to specify different time intervals for output using a combination of TIME and DTOUT.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Number of variable columns per page. Must not be greater
COLUMNS Integer [4]
than 6.
Time interval(s) between subsequent printings of output. The
time interval is changed at the times specified in TIME. If TIME
RealList
DTOUT is not specified or only contains one value, only one value must
(s)
be given for DTOUT. This value is used throughout the entire
simulation.
RealList
TIME [0.0] Instants in time when the plot interval is changed.
(s)
WRITEFILE Symbol OFF | [ON] Enable plotting to file
307
OUTPUTDATA (on flowpath level) OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Age group for plotting inhibitors variables with
AGEGROUPID IntegerList aging effect, e.g. Kinetic hydrate inhibitor
(KHI).
Component names. Using the Inhibitor tracking
module, available components are HC, H2O
and MEG/MEOH/ETOH. Using DRILLING=ON
under OPTIONS, available components are
COMPONENT SymbolList BOCOMP-1
HC, H2O, MEG/MEOH/ETOH, CUTTING and
MUD components. For compositional models
the names of the available components are
given in the feed file.
Wall layer numbers for plotting of wall
LAYER IntegerList temperatures. Layer no. 1 is the innermost
one.
Pipe numbers or labels where the variables will
PIPE SymbolList
be plotted.
Section numbers where the variables will be
SECTION IntegerList 0
plotted.
Tracer label that the tracer type variables are
TRACERFEED SymbolList
plotted for.
SymbolList List of variables to be printed. Units may be
VARIABLE
(ValueUnitPair) specified.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
SymbolList List of variable names to be printed. Units
VARIABLE
(ValueUnitPair) may be specified.
308
OLGA 6.3 USER MANUAL
PHASESPLITNODE
The phase split node behaves as something in-between the internal network node and the network
separator. There are no level controls and separator efficiencies included, but the phase distributions for
the outgoing branches can be specified.
The phase split node has an arbitrary number of inlets/outlets. It has six different types of terminals:
GAS, OIL, WATER, LIQUID, DRYGAS and MIXTURE.
309
PHASESPLITNODE OLGA 6.3 USER MANUAL
310
OLGA 6.3 USER MANUAL
PIG
This statement defines the pig option.
The pig keyword should be used when the user wants to simulate a pig or plug in the pipeline. The pig
is inserted at LAUNCHPOSITION and taken out when it reaches either the TRAPPOSITION or a
boundary NODE. TRAPPOSITION can be in the same flowpath as LAUNCHPOSITION or in a different
flowpath. When the pig comes to an internal NODE or SEPARATOR it will take the path with the
highest volume flow. The path the pig takes in a network can be overridden by the ROUTING key. If the
TRAPPOSITION is specified in a different flowpath than LAUNCHPOSITION and the pig does not
reach the TRAPPOSITION (because highest volume flow or ROUTING does not take it there) the pig is
taken out when it reaches a boundary node.
The keys LINEARFRIC, QUADRATICFRIC and STATICFORCE are the usual way to define the friction
of the pig.
The keys LEAKAGEFACTOR, LEAKDPCOEF or LEAKOPENING are used to specify the leakage in
the propagation direction of the pig.
The key DIAMETER is used to calculate the liquid backflow around the pig.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Pig diameter NOTE! If no diameter is given, the
diameter of the pig is set to the inner pipe
DIAMETER Real (m) diameter minus 4 times the wall roughness. This
implies that leakage between the pig and the wall
will occur.
INSERTTIME Real (s) Pig launch time.
LABEL String [PIG-1] Pig label.
Position for pig launch. The pig is launched
LAUNCHPOSITIO
Symbol downstream of the section boundary closest to
N
the launch position.
Pig leakage factor. Leakage factor at 0
corresponds to no fluid leaking past pig, and 1.0
corresponds to all fluid leaking past pig. When
LEAKAGEFACTOR Real
not given for the hydrate model, the program will
calculate the leakage factor from the cross
sectional area.
Pressure loss coefficient measured by letting the
LEAKDPCOEF Real [1E199]
fluid flow past a pig that is fixed to the pipe wall.
Leakage opening relative to pipe cross section
LEAKOPENING Real [0.0]
area.
Linear friction factor coefficient for fluid friction of
LINEARFRIC Real (Ns/m) [10]
fluid film between pig and pipe wall.
MASS Real (kg) [140] Pig mass.
Wax cutting efficiency. Only available with the
PGWXFORMFAC Real [0.0]
wax module.
Real Quadratic friction factor coefficient for fluid
QUADRATICFRIC [0.0]
(Ns2/m2) friction of fluid film between pig and pipe wall.
311
PIG OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Name of branches a pig passes from the launch
position to trap position. This key is optional. If
not given, a pig goes to the branch that has the
ROUTING SymbolList
highest volumetric flowrate out of the node the
pig enters. When given, the launch branch name
must be the first in the list.
STATICFORCE Real (N) [1000.0] Force necessary to tear pig loose from the wall.
When turned on the slug in front of the pig is
generated and tracked, else no slug is set up in
TRACKSLUG Symbol ON | [OFF]
front of the pig. Activating this key requires
access to the slugtracking module.
Position for pig trap. The pig is trapped at the
boundary closest to the trap position. Trap
TRAPPOSITION Symbol
position is optional and if not given, the pig is
removed when it exits through a terminal node.
WALLFRICTION Real (Ns/m) [1000.0] Factor for wall friction between pig and pipe.
Plastic viscosity of wax plug in front of pig. The
wax plug is assumed to exhibit Bingham fluid
Real (N-
WPPLASTVISC [-1] behavior. –1 implies using internal model for
s/m2)
estimating the plastic viscosity. Only available
with the wax module.
Porosity of wax plug in front of pig. Used for wax
plug friction calculation. Default value –1 implies
WPPOROSITY Real [-1] that the porosity of the wax wall layer is used for
the wax plug. A value = 1 implies that no wax
plug friction will be applied.
Yield stress of wax plug in front of pig. The wax
plug is assumed to exhibit Bingham fluid
WPYIELDSTRESS Real (Pa) [-1] behavior. –1 implies using internal model for
estimating the yield stress. Only available with
the wax module.
Coefficient C in wax breaking force equation.
WXBRFCOEF Real [0.0]
Only available with the wax module.
Wax removal efficiency. Only available with the
WXRMEFF Real [1.0]
wax module.
Yield stress of wax layer on the wall. –1 imples
WXYIELDSTR Real (Pa) [-1] that the internal yieldstress correlation is used.
Only available with the wax module.
312
OLGA 6.3 USER MANUAL
PIPE
This statement defines the pipe elements in a geometry. A pipe is one straight part of a pipeline. Pipe
data such as geometrical data: elevation, diameter, roughness, number and length of sections for
discretization are specified.
If the temperature option is WALL or FASTWALL in OPTIONS, a WALL for the pipe must be specified.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Total cross-sectional flow area in case of equivalent pipes.
Real
AREA Equivalent pipe means one single pipe representing a
(m2)
number of equal parallel pipes with a correct total flow area.
Hydraulic diameter of the pipe. Equivalent to the pipe's
DIAMETER Real (m)
inner diameter for normal pipe flow.
ELEVATION Real (m) End point elevation relative to starting point of the pipe.
IDIAMETER Real (m) Inner diameter of external pipe for annulus flow.
LABEL String [PIPE-1] Pipe label.
LENGTH Real (m) Length of the pipe.
RealList
LSEGMENT Section lengths.
(m)
Total number of pipes represented in the equivalent pipe.
NEQUIPIPE Real The total flow area in the equivalent pipe will correspond to
this number of original parallel pipes.
NSEGMENT Integer Number of sections in the pipe.
Outer diameter for internal pipe for annulus flow. Zero for
ODIAMETER Real (m)
internal flow.
ROUGHNESS Real (m) Absolute roughness of the pipe wall.
WALL Symbol Label of the wall used.
XEND Real (m) x-coordinate of the pipe end.
YEND Real (m) y-coordinate of the pipe end.
ZEND Real (m) [0] z-coordinate of the pipe end.
313
PLOT OLGA 6.3 USER MANUAL
PLOT
This statement defines the plot variables.
Plot files:
The graphical presentation of results should be considered the primary source to an understanding of
the calculated state in the pipeline. A graphical package is supplied as part of the OLGA GUI. The
trend plot file and the profile plot file are in ASCII format. The ASCII format files can be used to
interface the results from OLGA with any graphical package the user might have access to.
Both the trend plot file and the profile plot file consist of a heading and the time and variables specified
with the keyword statement TREND and PROFILE in the input file (extension inp).
In addition to the OLGA GUI graphical package, the stand-alone tools OLGA Viewer (.plt files) and
FEMTherm Viewer (.osi) are available for visualisation of results. The .plt and .osi files are in binary
format.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Time interval between subsequent printouts of the
DTPLOT RealList (s)
plot variables.
TIME RealList (s) [0.0] Instants in time when the plot interval is changed.
List of variable names to be plotted. Units may be
SymbolList
VARIABLE included in the list. N.b., variables from different
(ValueUnitPair)
groups can be defined on the same line.
WRITEFILE Symbol OFF | [ON] Enable plotting to file
314
OLGA 6.3 USER MANUAL
POSITION
This statement specifies a position along the pipeline. It may either specify a distance from flow path
inlet (ABSPOSITION), or a reference to a pipe and a section-volume/-boundary number.
315
PROFILE OLGA 6.3 USER MANUAL
PROFILE
This statement defines either time points (TIME) or a time interval (DTPLOT) for the profile plot
variables.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
RealList Time interval between subsequent printouts to the profile
DTPLOT
(s) plot file.
RealList
DTTIME [0.0] Points in time when the plot interval is changed.
(s)
RealList
TIME Instants in time when data is written to the profile plot file.
(s)
WRITEFILE Symbol OFF | [ON] Enable plotting to file
316
OLGA 6.3 USER MANUAL
PROFILEDATA
This statement defines profile plot variables along the pipeline at specified time points.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
AGEGROUPI Age group for plotting inhibitors variables with aging
IntegerList
D effect, e.g. Kinetic hydrate inhibitor (KHI).
Component names. Using the Inhibitor tracking
module, available components are HC, H2O and
MEG/MEOH/ETOH. Using DRILLING=ON under
BOCOMP-
COMPONENT SymbolList OPTIONS, available components are HC, H2O,
1
MEG/MEOH/ETOH, CUTTING and MUD
components. For compositional models the names of
the available components are given in the feed file.
HYKPID IntegerList Array element index of HYKPLIST.
Wall layer number for plotting of wall temperatures.
LAYER IntegerList
Layer no. 1 is the innermost one.
TRACERFEE Tracer label that the tracer type variables are plotted
SymbolList
D for.
SymbolList Variables to be written to the profile plot file. Units
VARIABLE
(ValueUnitPair) should not be used.
317
PUMP OLGA 6.3 USER MANUAL
PUMP
OLGA contains four pump models: the centrifugal pump, the displacement pump, the simplified
centrifugal pump and the pump battery model. The desired pump model is selected by setting the
PUMPTYPE subkey of the PUMP keyword..
Centrifugal pump
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.
A valve can be located at the centrifugal pump section boundary for controlling flow through the pump.
The transient pump characteristics for a centrifugal pump 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. If other curves shall be used they must
be given with the TABLE keyword.
Displacement 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 is tabulated as a function of pump speed, pressure increase across the
pump, void fraction at pump inlet, liquid kinetic viscosity and pressure at pump inlet. A default table is
included in the code. If other table values shall be used they must be given with the TABLE keyword.
The following options are available for controlling the pump speed:
(1). Controlled manually by specifying time and speed series in the controller definition. The setpoint
specifies the required N (MAXSPEED > N > MINSPEED)
(2). Regulated by a physical parameter. The speed is calculated by N = MINSPEED + u (MAXSPEED -
MINSPEED)
Here MAXSPEED is the maximum pump speed (defined by user), MINSPEED is the minimum pump
speed (defined by user) and u the signal from the controller.
Pump battery
The pump battery is used for pumping drilling fluid, 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 iby the pump is proportional to the rate of pump strokes.
(a)
where
318
OLGA 6.3 USER MANUAL
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.
Note that a pump cannot be defined at the first or last section boundary of a pipeline.
319
PUMP OLGA 6.3 USER MANUAL
320
OLGA 6.3 USER MANUAL
321
RESTART OLGA 6.3 USER MANUAL
RESTART
The restart statement defines a restart of the program from a previous run. The restart file contains
data necessary to restore the state of the simulation engine from a previous run. OLGA will not contain
a complete snapshot of the in-memory data structures. This means in particular that the original input
file has to be read to get information about e.g. the pipe line, sources, walls, time integration, and
output information. The content of the restart file can be thought of as specialized initial conditions, but
with more information than the standard user specified initial conditions.
Please note that it is not allowed to change any geometry data in a restart run. E.g all pipes must have
the same number of sections, section lengths, elevations and diameters. Nodes must have the same
connections. Walls and materials must be the same. The setting for component tracking (keyword
OPTIONS, key COMPOSITIONAL) cannot be changed.
By default, without using the RESTART keyword, a restart file is written at the end of the simulation.
To save restart files generated at other times, either of the keys DTWRITE or WRITETIME can be
used.
Discrepancies between the original and the restart case will be reported as info messages when the
restart case is started. Watch out for these to catch any unintended effects in the restart run (e.g. a
missing source or something else that will influence results).
322
OLGA 6.3 USER MANUAL
SEPARATOR
The network separator model in OLGA is not intended to accurately model separation phenomena, but
is meant to include the influence of a separator on transient pipeline dynamics.
The network separators have arbitrary number of outlets. Two phase separators must have connected
at least one gas-outlet and one oil-outlet to pipes. Three phase separators must have connected at least
one gas-outlet, one oil-outlet and one water-outlet to pipes.
The user can define the separation efficiency (gas/liquid and oil/water), and set critical levels for oil and
water drainage.
3. Valves. The network separators have no internal valves. All valves must be defined on the
outgoing branches, using the VALVE keyword.
4. Levels used by a network separator. The separator levels are controlled by the valves and
controllers in the outlet branches. Moreover, the water level limit for when the water will be
drained together with the oil can be specified by the keys: HHWATHOLDUP or HHWATLEVEL
323
SEPARATOR OLGA 6.3 USER MANUAL
324
OLGA 6.3 USER MANUAL
325
SERVERDATA OLGA 6.3 USER MANUAL
SERVERDATA
This statement defines the SERVERDATA. Server data is available both on flowpath level and on case
level. On the case level it is only the keys DTPLOT and VARIABLE that are available.
If the position is given either through pipe/section or through a reference to an equipment label e.g.
VALVE-1, the variables are trend variables. However, if the position is not specified, the variables are
treated as profile variables.
More than one server data statement can be specified for each flowpath. The DTPLOT can differ from
statement to statement, meaning that the plotting frequency can vary between different variables.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Pipeline position where the variable will be
ABSPOSITION RealList (m) plotted. Absolute position. Distance from
branch inlet.
Age group for plotting inhibitors variables with
AGEGROUPID IntegerList aging effect, e.g. Kinetic hydrate inhibitor
(KHI).
Checkvalve for which the variable is to be
CHECKVALVE SymbolList
plotted.
Component names. Using the Inhibitor
tracking module, available components are
HC, H2O and MEG/MEOH/ETOH. Using
DRILLING=ON under OPTIONS, available
BOCOMP-
COMPONENT SymbolList components are HC, H2O,
1
MEG/MEOH/ETOH, CUTTING and MUD
components. For compositional models the
names of the available components are given
in the feed file.
Compressor for which the variable is to be
COMPRESSOR SymbolList
plotted.
Interval for update of server data when value
DTPLOT Real (s) [0] > 0. Value 0 means that the variables are
updated after each time step.
HeatExchanger for which the variable is to be
HEATEXCHANGER SymbolList
plotted.
HYKPID IntegerList Array element index of HYKPLIST.
Wall layer number for plotting of wall
LAYER IntegerList temperatures. Layer no. 1 is the innermost
one.
LEAK SymbolList Leak for which the variable is to be plotted.
NearWellSource for which the variable is to be
NEARWELLSOURCE SymbolList
plotted.
PIG SymbolList Pig for which the variable is to be plotted.
Pipe numbers or labels where the variables
PIPE SymbolList
will be plotted.
326
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Labels of specified positions where the
POSITION SymbolList
variables will be plotted.
PUMP SymbolList Pump for which the variable is to be plotted.
Section numbers where the variables will be
SECTION IntegerList 0
plotted.
SLUGID IntegerList [0] Unique identity defining a slug or a pig.
SOURCE SymbolList Source for which the variable is to be plotted.
Tracer label that the tracer type variables are
TRACERFEED SymbolList
plotted for.
VALVE SymbolList Valve for which the variable is to be plotted.
SymbolList List of variables to be plotted. Units should not
VARIABLE
(ValueUnitPair) be used.
WELL SymbolList Well for which the variable is to be plotted.
327
SERVEROPTIONS OLGA 6.3 USER MANUAL
SERVEROPTIONS
See OLGA OPC Server Guide for more information on how to use the OPC server in OLGA. This
document is included in the OLGA installation.
328
OLGA 6.3 USER MANUAL
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 for solid bundles.
329
SINGLEOPTIONS OLGA 6.3 USER MANUAL
SINGLEOPTIONS
This statement defines options for simulation of single component systems in OLGA, turned on by
specifying COMPOSITIONAL=SINGLE in keyword OPTIONS.
There are three single component systems that can be specified. These are H2O, CO2 and OTHER,
and are specified by key COMPONENT in SINGLEOPTIONS. For COMPONENT equal H2O and CO2
most physical parameters are implemented in OLGA, while for COMPONENT=OTHER the user needs
to specify these parameters in SINGLEOPTIONS.
Note: The availability of the single component module depends on the User's licensing agreement with
SPT Group.
330
OLGA 6.3 USER MANUAL
SLUGTRACKING
This statement defines the slug tracking option. This statement has two main sub-options 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 slug tracking module, and the interactions between terrain and hydrodynamic
slugging can be investigated using the key HYDRODYNAMIC. The level slug option is mostly used for
startup-slugs.
If HYDRODYNAMIC = ON, the code will set up a new slug in a section whenever the set-up criteria are
fulfilled. These are:
(1) Flow regime at the section boundary changes from separated to slug flow.
(2) Other slug fronts are the required distance away.
(3) The time elapsed since the previous slug was generated in or passed this section is
higher than a specified minimum time.
If HYDRODYNAMIC = MANUAL, the user can specify a fixed number of slugs to be set up at predefined
positions and times. Using this option, liquid will be injected into the pipeline to generate slugs of
required size.
Slugs are not allowed to be generated at the inlet and outlet sections by default. That is, the boundary
sections are automatically set to illegal for slugs by the program itself. However, the slug front is allowed
to move into the outlet section, and the slug tail into the inlet section. Users can specify the sections
where slugs are not allowed to be generated by using SLUGILLEGAL keyword.
Remark: The availability of the slug tracking option depends on the user’s licensing agreement with
SPT Group.
To turn off slug-tracking in a restart there are two possibilities:
(1) Set both LEVEL and HYDRODYNAMIC to OFF. Then the only slugs in the system will be
the ones read from restart.
(2) Remove SLUGTRACKING keyword. Average values will be used in the sections. No
slugs in the simulation.
More details can be found in the description of the slug tracking module.
331
SLUGTRACKING OLGA 6.3 USER MANUAL
332
OLGA 6.3 USER MANUAL
TABLE
This statement defines a function in tabular form either valve sizing coefficient or well flow parameters.
333
TIMESERIES OLGA 6.3 USER MANUAL
TIMESERIES
The TIMESERIES keyword is a generic function of time. This means that it can be used for different p
properties. There is a built in sine function, normal point series can be used, and in addition a combin
are possible. The time series functionality is implemented for ambient temperature, soil temperature a
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
AMPLITUDE Real Amplitude of the sine function
This key determines how the time series
in SERIESREF are combined. When
using SEQUENTIAL, the time series are
combined in sequence according to the
SEQUENTIAL
COMBINETYPE Symbol order in which they are defined. The
| [ADDITIVE]
transition from one to the next is defined
in the keys TRANSITIONTIME and
TRANSITION. If ADDITIVE is used, the
values are simply added.
Scaling factor for each time series in
FACTOR RealList [1] SERIESREF. If this key is not given, a
factor of 1 is used.
STEP | Type of interpolation between each point
INTERPOLATION Symbol
[LINEAR] in time.
[TIMESERIES
LABEL String Label of timeseries
-1]
The time it takes for the sine function to
PERIOD Real (s)
start repeating itself.
If this key is set to ON, the function will be
repeated. If the first and last value of the
function are equal, the function will be
PERIODIC Symbol ON | [OFF] smooth. If PERIODIC = OFF, the last
value will be used for the remainder of the
simulation when the time exceeds the
defined range.
Series of function values at corresponding
SERIES RealList
times defined in key TIME
List of TIMESERIES labels to be used.
SERIESREF SymbolList Note that circular references are not
allowed.
Points in time for every given value in the
TIME RealList (s)
key SERIES
This key is used to define the phase shift
TIME0 Real (s) [0] of the sine function. If it is set to a quarter
period, a cosine function is created.
STEP | Type of transition from one time series in
TRANSITION Symbol
[LINEAR] SERIESREF to the next.
334
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
This key is used to determine the points in time
when the transition from one time series in
TRANSITIONTIM SERIESREF to the next occurs. If PERIODIC =
RealList (s)
E ON, the difference between the first and last
point is used to determine the period of the
function.
POINTS |
TYPE Symbol COMBINE | Option for type of time series.
[SINE]
335
TOOLJOINT OLGA 6.3 USER MANUAL
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.
DD2
DD1
D2INUP
D1EXUP
Figure A Side view and cross section of flow path with upsets
336
OLGA 6.3 USER MANUAL
TRANSMITTER
This keyword defines output-signals sent from the flowpath. The signals can be received by a
signalcomponent (typicallly a controller). The signals can be measured values in the branch, e.g.
pressure, massflow etc. Controllers that receive these measured values use them to calculate new
signal which in turn is used to regulate e.g. a valve opening (see Controllers).
337
TRACERFEED OLGA 6.3 USER MANUAL
TRACERFEED
This statement defines a feed of tracer, for instance a feed of kinetic hydrate inhibitor or corrosion
inhibitor. When used for tracking a tracer with aging effect, a distribution in age groups may be chosen,
otherwise the key AGING should be set to OFF. The tracer mass, residence time and age are tracked
through the pipeline system. Tracers are, however, assumed to be present in such small concentrations
that they do not influence the hydraulics. TRACERFEEDs may be referenced in a SOURCE or
MASSFLOW node. To use TRACERFEED, the key TRACERTRACKING must be set to ON under the
OPTIONS keyword.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Boundaries of age groups [s]. N AGEBOUNDARIES
RealList give N+1 age groups, one below the lowest boundary,
AGEBOUNDARIES
(s) one above the highest boundary, and N-1 groups
bounded by the N boundaries.
AGING Symbol ON | [OFF] Switch for activating aging effect on.
Carrying phase of the inhibitor. KHI will not follow any
GAS | OIL | vaporization to the gas phase. Gas/liquid phase
CARRIERPHASE Symbol
[WATER] transfer will not affect the KHI amounts in the carrying
phase, only the concentrations.
Age output variables are set to zero if (tracer
mass)/(tracer mass + carrier phase mass) of the
HIGHLOWBOUND Real [0.0] requested feed/age group is lower than this value and
the ratio hasn't been above HIGHLOWBOUND since
it was lower than LOWLOWBOUND.
LABEL String [TFEED-1] Tracer feed label.
Age output variables are set to zero if (tracer
LOWLOWBOUND Real [0.0] mass)/(tracer mass + carrier phase mass) of the
requested feed/age group is lower than this value.
338
OLGA 6.3 USER MANUAL
TREND
This statement defines the time interval for trend plotting. The time intervals may be given as single
time interval (DTPLOT), directly as a set of time points (TIME) or as a set of time intervals changing at
specified time points (combination of DTPLOT and TIME).
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Time interval between subsequent trend variable printouts.
RealList
DTPLOT DTPLOT should only be given once in the input file, if given
(s)
more than once, OLGA will use the last value given.
Number of data points. A list of NPLOT values refers to the
NPLOT IntegerList time points given in TIME, i.e., the sample period will be
DTIME/NPLOT.
RealList
TIME [0.0] Instants in time when the plot interval is changed.
(s)
WRITEFILE Symbol OFF | [ON] Enable plotting to file
339
TRENDDATA OLGA 6.3 USER MANUAL
TRENDDATA
This statement defines the trend data to be plotted. A trend plot is a time series plot for a specified
variable. Global variables are not available on this level.
Paramete
Type
Key r set Description
Unit:( )
Default:[ ]
Pipeline position where the variable will be
ABSPOSITION RealList (m) plotted. Absolute position. Distance from
branch inlet.
Age group for plotting inhibitors variables with
AGEGROUPID IntegerList aging effect, e.g. Kinetic hydrate inhibitor
(KHI).
Checkvalve for which the variable is to be
CHECKVALVE SymbolList
plotted.
Component names. Using the Inhibitor tracking
module, available components are HC, H2O
and MEG/MEOH/ETOH. Using DRILLING=ON
BOCOMP- under OPTIONS, available components are
COMPONENT SymbolList
1 HC, H2O, MEG/MEOH/ETOH, CUTTING and
MUD components. For compositional models
the names of the available components are
given in the feed file.
Compressor for which the variable is to be
COMPRESSOR SymbolList
plotted.
HeatExchanger for which the variable is to be
HEATEXCHANGER SymbolList
plotted.
HYKPID IntegerList Array element index of HYKPLIST.
Wall layer number for plotting of wall
LAYER IntegerList temperatures. Layer no. 1 is the innermost
one.
LEAK SymbolList Leak for which the variable is to be plotted.
NearWellSource for which the variable is to be
NEARWELLSOURCE SymbolList
plotted.
PIG SymbolList Pig for which the variable is to be plotted.
Pipe numbers or labels where the variables will
PIPE SymbolList
be plotted.
Labels of specified positions where the
POSITION SymbolList
variables will be plotted.
PUMP SymbolList Pump for which the variable is to be plotted.
Section numbers where the variables will be
SECTION IntegerList
plotted.
SLUGID IntegerList [0] Unique identity defining a slug or a pig.
SOURCE SymbolList Source for which the variable is to be plotted.
340
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Position where the variable will be plotted.
ABSPOSITION RealList (m) Absolute position. Distance from bundle
start position
Section numbers in bundle definition where
SECTIONNUMBER IntegerList
the variables will be plotted.
SymbolList
VARIABLE [TBUNXY] List of variables to be plotted.
(ValueUnitPair)
List of X coordinates where the variables
XPOS RealList (m)
are plotted
List of Y coordinates where the variables
YPOS RealList (m)
are plotted
341
TUNING OLGA 6.3 USER MANUAL
TUNING
This statement defines the tuning option, witch makes it possible to tune certain parameters in the
model. The parameters available for tuning are at the moment very limited.
Remark: The availability of the tuning option depends on the user’s licensing agreement with SPT
Group.
The TUNING keyword may be used for adjusting the OLGA model to specific sets of measured data or
for sensitivity studies. TUNING should be applied with great care, as the validation and verification of
the OLGA model may not be valid for such cases.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Tuning coefficient for AREA in PIPE (used for
AREA RealList [1.0] equivalent pipes). NOTE: Cannot be applied on
individual sections. Pipe level and higher is allowed.
Tuning coefficient for diameter. NOTE: Cannot be
DIAMETER RealList [1.0] applied on individual sections. Pipe level and higher
is allowed.
Tuning coefficient for entrainment rate of liquid
ENTRAINMENT RealList [1.0]
droplets in gas
GROUGHNESS Real [1.0] Tuning coefficient for roughness from droplets.
Tuning coefficient for interfacial friction factor
LAM_LGI RealList [1.0]
between liquid and gas
Tuning coefficient for interfacial friction factor
LAM_WOI RealList [1.0]
between oil and water
Tuning coefficient for mass transfer between gas
MASSTRANSFER RealList [1.0]
and oil.
OILDENSITY RealList [1.0] Tuning coefficient for oil density
OILVISC RealList [1.0] Tuning coefficient for oil viscosity
Pipe numbers or labels where the tuning
PIPE SymbolList [ALL]
parameters will be applied.
Positions where the tuning parameters will be
POSITION SymbolList applied. If this key is defined, PIPE and SECTION
can not be used in the same keyword statement.
Maximum of laminar and turbulent friction factor will
be used for Reynold's number higher than REHIGH,
REHIGH RealList [3000] and an interpolated value will be used for Re
between RELOW and REHIGH. Can be applied on
individual sections, pipes and branches.
Laminar friction factor will be used for Reynold's
number lower than RELOW, and an interpolated
RELOW RealList [2300] value will be used for Re between RELOW and
REHIGH. Can be applied on individual sections,
pipes and branches.
342
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
Tuning coefficient for inner wall roughness. NOTE:
ROUGHNESS RealList [1.0] Cannot be applied on individual sections. Pipe level
and higher is allowed.
Section or section boundary numbers where the
SECTION RealList
tuning parameters will be applied.
TAMBIENT RealList [1.0] Tuning coefficient for ambient temperature.
WATERDENSITY RealList [1.0] Tuning coefficient for water density
WATERVISC RealList [1.0] Tuning coefficient for water viscosity
343
VALVE OLGA 6.3 USER MANUAL
VALVE
Here data for valves and chokes are defined.
The valve performance is either obtained from a discharge coefficient and the maximum choke
diameter, or from a table with valve characteristics. The relative opening of the valve can be prescribed
as a function of time, or it can be driven by a controller.
There are two valve models (GASSIZING and HYDROVALVE). Model selection is done with the
MODEL key. GASSIZING is an implementation of the gas sizing equation given in Valve - Methods and
assumptions. The GASSIZING option requires gas valve characteristics given by the TABLE key.
HYDROVALVE can be used to simulate chokes, liquid valves and gas valves.
344
OLGA 6.3 USER MANUAL
345
ZONE OLGA 6.3 USER MANUAL
ZONE
The ZONE keyword defines an area between two positions in the PIPELINE (STARTPOSITION AND
ENDPOSITION).
If INTERPOLATION=OFF, PRESSURE and TEMPERATURE must be given. These will be used for the
whole zone.
The ZONE keyword refers to a RESERVOIRINFLOW keyword in which reservoir inflow data must be
given. This means that reservoir inflow points will be created in all pipeline sections in the ZONE. A
ZONE with reference to a RESERVOIRINFLOW is equivalent to specification of one WELL keyword for
each section between the start- and endposition of the ZONE.
All plot variables for WELL are also be available for ZONE.
On global level:
TRENDDATA VARIABLE=GGWELL (will plot GGWELL for all ZONES)
On flowpath level:
TRENDDATA ZONE=ALL, VARIABLE=GTWELL, ZONEDETAILS=YES (will plot GTWELL for all
ZONES and for all inflow points in the ZONE)
346
OLGA 6.3 USER MANUAL
347
WALL OLGA 6.3 USER MANUAL
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. These data are required if the TEMPERATURE option is "WALL" or
"FASTWALL" in OPTIONS. The user also specifies the required data if the walls are to be heated.
Heated walls can only be used together with TEMPERATURE = WALL.
The pipe wall may consist of different material layers, specified by the keys "MATERIAL" and
"THICKNESS". Each material layer can be divided into sub layers either by specifying each sub layer 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 or heat varying with time.
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 and no
power supplied at all can be specified in the same OLGA case.
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
348
OLGA 6.3 USER MANUAL
Parameter
Type
Key set Description
Unit:( )
Default:[ ]
RealList Power per unit length for the electric heating time
POWER
(W/m) series.
ON |
POWERCONTROL Symbol Switch power control on or off.
[OFF]
Max. power per unit length for electric heating if it is
POWERMAX Real (W/m)
restricted by a control system.
RealList
THICKNESS Thickness of each wall layer.
(m)
TIME RealList (s) [0.0] Time series when POWER is to be modified.
WALLAYER Integer Wall layer for electric heating.
349
WATEROPTIONS OLGA 6.3 USER MANUAL
WATEROPTIONS
In WATEROPTIONS several options are available for modeling the dispersion viscosity
(DISPERSIONVISC) and the slip between the water and oil phases (WATERSLIP).
If WATERSLIP = CONSTANT, the slip between the oil and water phases must be specified with
VELOCITYDIFFERENCE.
If WATERSLIP = ON, the velocities of liquid hydrocarbon and water is calculated by separate
momentum balance equations.
DISPERSIONVISC specifies which model is used to calculate the dispersion phase viscosity.
If DISPERSIONVISC= OFF, a continuous phase is assumed (no dispersion).
If DISPERSIONVISC = PALRHODES, PHI100 - value of the dispersed phase volume fraction when the
relative viscosity = 100% - must be specified. The relative viscosity is the viscosity of the dispersed
phase divided by the viscosity of the continuous phase.
If DISPERSIONVISC = EXPERIMENT, values for the dispersed phase volume fraction (PHIREL) for
each given value of the relative viscosity (VISCREL) must be specified.
If DISPERSIONVISC = VOLUMEAVERAGE, the user may specify values for the viscosity tuning factor
(VISCMOD) corresponding to given WATERCUT (volume fraction of water in the liquid phase) values.
If DISPERSIONVISC = WOELFLIN, the user may specify the two parameters a (AWOELFLIN) and b
(BWOELFLIN) of this relative viscosity model:
exp
No parameters are needed for the option DISPERSIONVISC = BARNEA, for which the Barnea &
Mizrahi model is used:
exp / 1
where
5
2
Here μc and μd are the viscosities for the continuous and dispersed phases, respectively.
The flowing water volume fraction inversion point (INVERSIONWATERFRAC) can be specified for any
Dispersion Viscosity model.
An intermediate dispersion range is introduced. Between the lower critical water cut (FWLOW, default
value 0.0) and the inversion point (given by INVERSIONWATERFRAC) the flow is assumed to be a
water-in-oil dispersion flowing above a free water layer.
The degree of mixing of water into oil is predicted by the standard OLGA model, but the maximum
350
OLGA 6.3 USER MANUAL
fraction of the total water stream that can be mixed into the oil is given by EMAX (default value 1.0):
351
WATEROPTIONS OLGA 6.3 USER MANUAL
352
OLGA 6.3 USER MANUAL
WAXDEPOSITION
This group is used to define input parameters for the wax deposition module. Wax deposition is defined
for all flow paths, that is, all flow paths 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.
(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
SPT Group.
The wax deposition module cannot be applied together with the slug tracking or corrosion modules. The
wax file is generated in PVTsim.
353
OLGA 6.3 USER MANUAL
354
OLGA 6.3 USER MANUAL
355
OLGA 6.3 USER MANUAL
356
OLGA 6.3 USER MANUAL
WELL
The well statement is used to define required data for calculating the flow performance of wells.
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. This option is only available
with the Wells Module.
Observe that the linear coefficient BPROD can not be zero if the well is located in the first (inlet) section
of a flow path.
Type
Parameter set
Key Unit:( Description
Default:[ ]
)
Absolute position. Distance from
ABSPOSITION Real (m)
branch inlet.
Negative 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-
AINJ RealList
linear formula. Given at in situ
conditions - uses gas mass
fraction from the PVT table to
calculate the split between the
phases.
357
OLGA 6.3 USER MANUAL
358
OLGA 6.3 USER MANUAL
359
OLGA 6.3 USER MANUAL
360
OLGA 6.3 USER MANUAL
361
OLGA 6.3 USER MANUAL
362
OLGA 6.3 USER MANUAL
363
OLGA 6.3 USER MANUAL
364
OLGA 6.3 USER MANUAL
either
BRANCH = 1
PIPE = 1
SECTION = 1
or
POSITION = POSITION-1
end
If you want to use the coefficients directly for standard inflow types:
either
WATERFRACTION = [0.0]
or
TOTALWATERFRACTION = [0.0]
end
365
OLGA 6.3 USER MANUAL
end if
GASFRACTION = -1
If you want to use the coefficients directly for Advanced Well inflow types:
366
OLGA 6.3 USER MANUAL
367
OLGA 6.3 USER MANUAL
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if INJOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if INJOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
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
368
OLGA 6.3 USER MANUAL
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
else if PRODOPTION = FORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = SINGLEFORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if PRODOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
369
OLGA 6.3 USER MANUAL
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
370
OLGA 6.3 USER MANUAL
Chapter 5
Data Files
371
Compressor data file OLGA 6.3 USER MANUAL
Data Files
In addition to the main file describing the simulation model, OLGA also requires a description of the fluid
properties as a unique function of temperature and pressure. These can be given either as a fluid file,
through specific component data given in a feed file (Compositional Tracking) or defined in the main file
(Blackoil), or computed internally (STEAMWATER-HC)
A previous simulation run can be continued through the use of a restart file, as described with the
RESTART keyword.
If a compressor is present in the pipeline, a file specifying the compressor characteristics is also
required.
If pumps are used in the simulation, the pump characteristics are specified through a pump file. A
complete set of pump characteristics is given in the code. This set can be used if no pump
characteristics are available.
If wax deposition is simulated, the wax data are specified through a wax file.
If the possible formation of hydrate is simulated, a hydrate curve file might be required.
If the OLGA Rocx module is used for simulating near wellbore, a Rocx input file is required.
These files have to be written in certain formats that are described in the following sections.
Variables
The definitions of reduced mass flows and reduced RPM are as follows:
372
OLGA 6.3 USER MANUAL
IDENTF
NCOMTA
COMPID(I)
NTABWG(I) NTABOM(I)
RPMRED(1,I). . . . . . . RPMRED(NTABOM(I),I)
MASSRE(1,I). . . . . . . MASSRE(NTABWG(I),I)
COTEXT(1,I)
PRATIO(1,1,I). . . . . . PRATIO(1,NTABOM(I),I)
.
.
.
.
PRATIO(NTABWG(I),1,I). . PRATIO(NTABWG(I),NTABOM(I),I)
COTEXT(2,I)
TRATIO(1,1,I). . . . . . TRATIO(1,NTABOM(I),I)
.
.
.
.
TRATIO(NTABWG(I),1,I). . TRATIO(NTABWG(I),NTABOM(I),I)
COTEXT(3,I)
MREDSU(1,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.
373
Wax table file OLGA 6.3 USER MANUAL
1. Name of table.
No more than 20 characters and no blanks.
2. Number of wax components.
3. 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'
4. Molecular weights (g/mol) of wax components.
5. Liquid densities of wax components (kg/m3).
6. Heat of melting (J/kg) of wax components.
7. Concentration (mol/mol) of wax components in HC mixture.
8. Number of pressure points, number of temperature points.
9. Pressure points (Pa).
10. Cloud point temperatures (C) for each pressure point.
11. First pressure point.
12. 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)
13. Second pressure point
14. etc.
15 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 following keyword may be placed on a separate line anyplace within the lines described in point 1-
14 in the list above:
• OIL_WAX_VISCOSITY_MULTIPLIERS D=1.01, E=1.002, F=1.0003
• The values for D, E, F are the multipliers as calculated in PVTSim
Note: If VISCMULTD, VISCMULTE or VISCMULTF are given in the GUI/input file, these values will
override the values from the wax property file.
NOTE! The following requirements need to be fulfilled when using multiple fluids in networks:
374
OLGA 6.3 USER MANUAL
OLGA Rocx
Rocx reads a separate input file describing the reservoir properties, boundary conditions and initial
conditions. The file name should be given in the NEARWELLSOURCE keyword. This input file is edited
with the Rocx GUI. Please refer to the OLGA Rocx User Manual for how to define a proper input file for
use with OLGA Rocx.
Note that the fluid label cannot start with a number. This is a general limitation for labels.
The syntax of the file is complex, and is not explained here. There should be no need to view the
contents of the file, as the feed and component names can be chosen directly from the OLGA GUI when
a feed file has been specified.
375
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
at the pressure and temperature in question. OLGA does in certain cases use the numbers in the TAB
file for the non-existent phase, so these should generally be sensible numbers rather than for instance a
zero. How this can be done is briefly described below. Some examples of when the non-existent phase
is used are:
1. The user specifies a well or source with non-equilibrium inflow. That is, the user can for instance
specify that there is gas present at conditions where according to the fluid file there is single
phase liquid. This is typically done to adjust the GOR of the fluid or for simulation of gas lift.
2. During a shut-in the liquid in the pipeline redistributes. The gas and liquid volumes in a section
are then no longer well represented by the TAB file. Subsequent pressure and temperature
changes can result in a phase being present outside the region where it should be according to
the TAB file.
3. During the numerical solving process OLGA may stray outside of the 2-phase region as part of
its iteration sequence before converging to a point which is inside the 2-phase region.
There are no specific requirements on how the properties of the non-existent phase should be
generated. However, the numbers should be reasonable, since they in many cases in reality are used to
represent fluids with slightly different composition than what the TAB file was made with. However, two
main approaches have been used:
Extrapolation: The value and its derivative with respect to pressure at the phase boundary are used to
extrapolate into the region where the property does not exist.
Compositional: By addition of gas or condensate the phase envelope is expanded so that it passes
through the P and T for which a property is to be calculated.
The experience is that the extrapolation method is preferable, but unreasonable values are often seen
when extrapolation is performed far into the non-existing region. It is further important that the there are
no abrupt changes in property values with changing pressure and temperature. Step changes in
property values will generally create numerical instabilities when a simulation is performed in that
pressure and temperature region.
The extrapolation of enthalpy and entropy should be consistent with thermal capacity. Extrapolation of
density should be consistent with the derivative of density with regard to pressure.
Note that going vertically up from the critical point, OLGA considers the phase to the left (lower T) to be
dense oil, and the phase to the right to be dense gas. The properties set for the non-existing phase
must ensure that properties are continuous at the critical line so that this is a virtual transition with no
actual effect.
Keyword based
This format has all the possibilities as the standard format, and some additional ones. The intension of
introducing a table based format is to:
376
OLGA 6.3 USER MANUAL
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:
( ... )
Table Structure
A table is defined through the keyword:
PVTTABLE
End of tables
The values of all parameters except POINT must be written in a single line. Fluid properties for each
pressure/temperature point must subsequently be specified through the PVTTABLE POINT structure,
repeated for each pressure/temperature point.
377
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
Keyword PVTTABLE
378
OLGA 6.3 USER MANUAL
379
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
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.
380
OLGA 6.3 USER MANUAL
Examples
381
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
382
OLGA 6.3 USER MANUAL
!
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,..)
MESHTYP = FREETEMP, \
PRESSURE =(1.0,2.0,3.0,4.0,5.0) BARA,\
NOTEMP =(5,5,5,5,6),\
COLUMNS =(PT BARA, TM C, ROG KG/M3, ROHL KG/M3, DROGDP, \
DROHLDP,DROGDT,DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG, \
HHL,TCG,TCHL,SIGGHL,SEG,SEHL)
! First pressure point contains five temperature points
! Temperature ranging from 1 to 20 C
PVTTABLE POINT = (1.0, 1.0, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, \
-3.557E-03,-5.931E-01, 4.617E-01, 1.054E-05, 1.299E-03, \
1.805E+03, 1.963E+03, 4.841E+02,-3.884E+05, 2.738E-02, \
383
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
384
OLGA 6.3 USER MANUAL
!
TOTWATERFRACTION = 0.112, \
WC=.489380E-02,\
TEMPERATURE =(1,2,3,4,5) C,\
PRESSURE = (1,2,3,4,5) BARA, \
COLUMNS = (PT,TM,ROG,ROHL,ROWT,DROGDP,DROHLDP,DROWTDP,DROGDT,DROHLDT, \
DROWTDT,RS,RSW,VISG,VISHL,VISWT,CPG,CPHL,CPWT,HG,HHL,HWT,TCG, \
TCHL,TCWT,SIGGHL,SIGGWT,SIGHLWT,SEG,SEHL,SEWT)
!
PVTTABLE POINT = (1,1,.112510E+01,.708593E+03,.677649E+03,.113188E-04, \
.520848E-06,.156303E-06,-.418187E-02,-.332632E+00,.535346E+00, \
.372160E-01,.182867E-02,.979882E-05,.591224E-02,.263150E-02, \
.176425E+04,.202253E+04,.449390E+04,.731026E+02,-.345943E+06, \
-.196628E+07,.248102E-01,.148744E+00,.570657E+00,.118942E-01, \
.755188E-01,.544038E-01,.435748E+03,-.631419E+03,-.537537E+04)
PVTTABLE POINT = (1,2,…)
…
PVTTABLE POINT = (1,5,..)
… )
PVTTABLE POINT = (5,1,..)
…
)
PVTTABLE POINT = (5,5,…)
This will give more precise results in simulations where e.g. GORST in WELL is used and the table is
coarse around the standard conditions (e.g. if the two lowest pressure is 0.1 and 10 bara) since the gas
mass fraction is not linear with pressure for such low pressures.
A new key STDLIQDENSITY will be introduced in the next PVTsim version. This gives the standard
density of liquid water and hydrocarbons (HC) in the case where a two phase PVT file is generated from
a composition with water. STDOILDENSITY is the density for HC only and thus does not contain the
necessary information.
If the keys are not present (removed manually since always written), linear interpolation between the
pressure and temperature points will be used as before. Note that the given STDPRESSURE and
STDTEMPERATURE will be used for both input and output instead of the default values of 1 atm and
15.56 °C/60 F.
Standard format
The fluid properties are given as functions of pressure and temperature. This table of properties can be
equidistant or non-equidistant in pressure and temperature. A more refined interpolation in the fluid
property tables close to the two-phase envelope is performed only for the gas mass fraction utilising the
bubble point pressure given in the file. The dew point pressures are not used in the present OLGA
version. Figure A shows the above mentioned two-phase envelope as a function of pressure and
temperature.
If OLGA is used with the water option, water properties are also needed. These properties may be given
as tables in the fluid properties file, or may be calculated by the code itself. This is determined by the
text, in the fluid identifier, FLUIDF, given in the fluid properties file.
385
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
If the fluid contains water and it is decided to use the two phase option in OLGA, only two-phase tables
for fluid properties must be used. Liquid properties must be for the mixture of oil and water.
The partial derivatives of gas and liquid densities with respect to pressure and temperature are required
as separate tables. The reason is that the partial derivatives should be those of the isolated phase, gas
or liquid, at the actual thermodynamic conditions. These cannot be obtained from the densities by
interpolation in the tables since the partial derivatives in that case would also include phase mass
transfer/changes in phase compositions.
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.
If the sub-string "WATER-OPTION" is present, three phase tables are expected in the file.
If the sub-string "NONEQ" is present, non-equidistant spacing in the tables are expected.
If the sub-string "ENTROPY" is present, entropy tables for gas, oil and eventually water are
expected.
The input variables FILEID, NCOMP and LC can be collectively omitted for single branch cases.
386
OLGA 6.3 USER MANUAL
387
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
Figure A 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.
388
OLGA 6.3 USER MANUAL
The data enclosed in brackets can collectively be omitted for single branch cases.
[FILEID]
[NCOMP]
The file heading for equidistant tables. Note that RSWTOTB is set to zero by OLGA if omitted:
FLUIDF
[LC]
NTABP NTABT RSWTOTB
DP DT
PP(1) TT(1)
The file heading for non-equidistant tables. Note that RSWTOTB is set to zero by OLGA if omitted:
FLUIDF
[LC]
NTABP NTABT RSWTOTB
PP(1) . . . . . . . . PP(NTABP)
TT(1) . . . . . . . . TT(NTABT)
PBB(1) . . . . . . . . PBB(NTABT)
PDEW(1) . . . . . . . . PDEW(NTABT)
TABTEX(1)
ROGTB(1,1) . . . . . . . ROGTB(NTABT,1)
.
.
ROGTB(1,NTABP) . . . . . ROGTB(NTABT,NTABP)
TABTEX(2)
ROOTB(1,1) . . . . . . . ROOTB(NTABT,1)
.
.
ROOTB(1,NTABP) . . . . . ROOTB(NTABT,NTABP)
TABTEX(4)
DRGPTB(1,1). . . . . . . DRGPTB(NTABT,1)
.
.
DRGPTB(1,NTABP). . . . . DRGPTB(NTABT,NTABP)
TABTEX(5)
389
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
DROPTB(1,1). . . . . . . DROPTB(NTABT,1)
.
.
DROPTB(1,NTABP). . . . . DROPTB(NTABT,NTABP)
TABTEX(8)
DROTTB(1,1). . . . . . . DROTTB(NTABT,1)
.
.
DROTTB(1,NTABP). . . . . DROTTB(NTABT,NTABP)
TABTEX(10)
RSGTB(1,1). . . . . . . RSGTB(NTABT,1)
.
.
RSGTB(1,NTABP). . . . . RSGTB(NTABT,NTABP)
TABTEX(12)
VSGTB(1,1) . . . . . . . VSGTB(NTABT,1)
.
.
VSGTB(1,NTABP) . . . . . VSGTB(NTABT,NTABP)
TABTEX(13)
VSOTB(1,1) . . . . . . . VSOTB(NTABT,1)
.
.
390
OLGA 6.3 USER MANUAL
VSOTB(1,NTABP) . . . . . VSOTB(NTABT,NTABP)
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)
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)
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)
.
391
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
.
TKGTB(1,NTABP) . . . . . TKGTB(NTABT,NTABP)
TABTEX(22)
TKOTB(1,1) . . . . . . . TKOTB(NTABT,1)
.
.
TKOTB(1,NTABP) . . . . . TKOTB(NTABT,NTABP)
TABTEX(24)
SIGOGT(1,1). . . . . . . SIGOGT(NTABT,1)
.
.
SIGOGT(1,NTABP). . . . . SIGOGT(NTABT,NTABP)
TABTEX(26)
SIGWOT(1,1) . . . . . . . SIGWOT(NTABT,1)
.
.
SIGWOT(1,NTABP) . . . . . SIGWOT(NTABT,NTABP)
end WATER-OPTION
TABTEX(28)
SOTB(1,1) . . . . . . . SOTB(NTABT,1)
.
.
SOTB(1,NTABP). . . . . . SOTB(NTABT,NTABP)
392
OLGA 6.3 USER MANUAL
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. 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.
Complex fluid module
The liquid viscosity table in the fluid properties file plays different, but related, roles in the three different
rheology models in the complex fluid module.
If simplified input is used (FULL=NO in the FLUID keyword), the non-Newtonian parameters are used at
the in situ shear stress to calculate the effective viscosity of the fluid at standard conditions. In order to
obtain the effective viscosity of the fluid at pipeline conditions, the effective viscosity at standard
conditions have to be multiplied by the ratio of the viscosity (as given in the viscosity table in the fluid
data file) at pipeline conditions and standard conditions.
The fluid identifier FLUIDF, see Standard format for fluid properties, have to include certain text
strings in order to enable OLGA to interpret the fluid property file correctly. The strings required are
explained below.
• POWEXPL: The fluid property file contains a table of the power law exponent for
the oil phase.
• POWEXPW: The fluid property file contains a table of the power law exponent for the
water phase.
• YIELDSTRL: The fluid property file contains a table of yield stress for the oil phase.
• YIELDSTRW: The fluid property file contains a table of yield stress for the water
phase.
The text string that identifies the different properties TABTEX(), see Standard format for fluid
properties, also have to include the same text strings as described above.
393
PVT properties for non-existing phase OLGA 6.3 USER MANUAL
Example:
TABTEX(:)
.
VSOTB(1,1) VSOTB(NTABT,1)
..
: :
VSOTB(1,NTA . VSOTB(NTABT,NTA
BP) . . BP)
394
OLGA 6.3 USER MANUAL
..
: :
TAUIWTB(1,NTA . TAUIWTB(NTABT,NTA
BP) . . BP)
end
TABTEX(:)
.
CPGTB(1,1) CPGTB(NTABT,1)
..
: :
CPGTB(1,NTA . CPGTB(NTABT,NTA
BP) . . BP)
395
Pump Data Files OLGA 6.3 USER MANUAL
H Q
h= - head ratio q= - flow ratio
HR QR
N TH
ω= - speed ratio β= - torque ratio
NR TH R
where subscript R means rated value. Four sets of homologous curves are tabulated:
Each set of homologous curves consists of four curves, comprised of two dependent variables each as
function of two independent variables. A more detailed description is given under Pumps .
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 or model-specific 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, the keyword QOMEG is used for q/ and the keyword OMEGQ is used for /q. For each
table, the number of dependent and independent variable entries must be the same.
396
OLGA 6.3 USER MANUAL
!*************************************************************************************************
! 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)
397
Pump Data Files OLGA 6.3 USER MANUAL
! THT3
OMEGQ = (x1, x2, … , xTHT3)
TORQS3 = (y1, y2, … , YTHT3)
! THT4
QOMEG = (x1, x2, … , xTHT4)
TORQS4 = (y1, y2, … , YTHT4)
!
!*************************************************************************************************
! 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 , α I , PI , ν I )
In order to define Qb a complete table with 5 independent variables and one dependent variable should
be defined. Linear interpolation is used to calculate the Qb-value and its partial derivatives at the
operating point.
The default units of the variables in the table:
PI, - Pa; Pump inlet pressure
ΔP - Pa; Pump pressure increase
Qb - m3 / s; Volumetric back flow
νl - m2 / s; Liquid kinematic viscosity
αI - (-); Gas volume fraction
N - rpm. Pump speed
398
OLGA 6.3 USER MANUAL
399
Pump Data Files OLGA 6.3 USER MANUAL
!-------------------------------------------------------------------------------------
PUMPSPEED = N2
!
:
:
!*************************************************************************
! End of the table
!-------------------------------------------------------------------------------------
ENDTABLE
!
NOTE! The number of pump speeds and suction pressures is limited to 5, while the number of
voidfraction, deltap and viscosity entries is limited to 10.
400
OLGA 6.3 USER MANUAL
Chapter 6
References
401
Referenced papers OLGA 6.3 USER MANUAL
Referenced papers
1. H.B. Bradley:
Petroleum Engineering Handbook.
Society of Petroleum Engineers, 1987
11. A. H. P. Skelland:
Non-Newtonian Flow and Heat Transfer.
John Wiley & Sons, New York, 1967
402
OLGA 6.3 USER MANUAL
403
Referenced papers OLGA 6.3 USER MANUAL
31. Katz D. L.
Handbook of natural gas engineering.
McGRAW-Hill 1959
32. Campbell J. M.
Gas conditioning and processing, vol 1.
John M. Campbell and Company, 1966-1998
34. Selmer-Olsen, S., Holm, H., Haugen, K., Nilsen, P. J. and Sandberg, R.,
Subsea Chokes as Multiphase Flowmeters. Production Control at Troll Olje.
Proc. 7th Int. Conf. on Multiphase Production, BHR Group, Wilson, A. (ed.)
Cannes 7-9 June 1995, pp. 441-446
35. The Properties of Gases & Liquids Fourth Edition, Reid, R.C., Prausnitz, J.M. and Poling, B.E.
36. Juan Carlos Mantecon, SPT Group: SPE 109829: The Virtual Well: Guidelines for the Application of
Dynamic Simulation to Optimise Well Operations, Life Cycle Design and Production
37. Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of
Water and Steam, The International Association for the Properties of Water and Steam, Lucerne,
Switzerland, August 2007
38. Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of
Water and Steam, The International Association for the Properties of Water and Steam, Lucerne,
Switzerland, August 2007
39. K. S. Pedersen et al. Properties of Oils and Natural gases. Gulf Publishing Company, 1989,
Houston, Texas.
40. B.E.Poling, J.M.Prausnitz, J.P.O’Connell: The properties of gases and liquids. 5th Edition. McGRAW-
HILL 2000.
41. R. Span and W. Wagner: A New Equation of State for Carbon Dioxide Covering the Fluid Region
from the Triple-Point Temperature to 1100 K at Pressures up to 800 MPa. J. Phys. Chem. Ref. Data,
Vol. 25, No. 6, 1996
404
OLGA 6.3 USER MANUAL
Non-referenced papers
Bendiksen, K.H., Malnes, D., Moe, R. and Nuland, S.: The Dynamic Two-Fluid Model OLGA: Theory
and Application. SPE Production Engineering, May 1991, pp. 171-180
Rygg, O.B. and Ellul, I.R.: The Dynamic Two-Phase Modeling of Offshore Live Crude Lines Under
Rupture Conditions. OTC 6747, presented at the 23rd annual Offshore Technology Conference,
Houston, U.S.A (May 16-9, 1991)
Shea, R.H., Rasmussen, J., Hedne, P. and Malnes, D.: Holdup predictions for wet-gas pipelines
compared. Oil & Gas Journal, May 19, 1997
Burke, N.E. and Kashou, S.F.: Slug Sizing/Slug Volume Prediction, State of the Art Review and
Simulation, OTC 7744, presented at the 27th annual Offshore Technology Conference, Houston, U.S.A
(May 1-4, 1995)
Burke, N.E., Kashou, S.F. and Hawker, P.C.: History Matching of a North Sea Flowline Startup. Journal
of Petroleum Technology, May 1993, pp. 470-476
Courbot, A.: Prevention of Severe Slugging in the Dunbar 16" Multiphase Pipeline. OTC 8196,
presented at the 28th annual Offshore Technology Conference, Houston, U.S.A (May 6-9, 1996)
Erickson, D.D. and Mai, M.C.: A Transient Multiphase Temperature Prediction Program. SPE 24790,
1992, Presented at the 6th Annual Technical Conference and Exhibition of the SPE, Washington, D.C.,
October 4-7, 1992
Flaten, G., Nunes, G.C. and Assayaga, S.: Evaluation of the dynamic flow behavior for the Petroboost
system. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group
Conference Series No. 24, pp. 185-198
Hustvedt, E.: Determination of Slug Length Distribution by the Use of the OLGA Slug Tracking Model.
Presented at the 6th Int. Conf. on Multi-Phase Production, Cannes, 1993, BHR Group Conference
Series No. 4, pp 147-163
Hærdig, A. and Moe, R.: Dynamic simulations of multiphase flow in flowline bundles on Åsgård.
Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference
Series No. 24, pp. 275-289
Klemp, S., Meland, B., and Hustvedt, E.: Operational experiences from multiphase transfer at Troll.
Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference
Series No. 24, pp. 477-496
Lingelem, M.N.: TOGI Multiphase Flow From Troll to Oseberg. OTC 6670, presented at the 23rd annual
Offshore Technology Conference, Houston, U.S.A (May 16-9, 1991)
Mazzoni, A., Villa, M., Bonuccelli, M., De Toma, G., Mazzei, D., and Crescezi, T.: 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 Multi-Phase Production, Cannes, 1997,
BHR Group Conference Series No. 24, pp. 257-274
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
405
Non-referenced papers OLGA 6.3 USER MANUAL
Straume, T., Nordsveen, M. and Bendiksen, K.: Numerical Simulation of Slugging in Pipelines, ASME
Int. Symp. On Multiphase Flow in Wells and Pipelines, Anaheim, 8-13 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
406
OLGA 6.3 USER MANUAL
Appendix A
Complete list of
output variables
407
Output variables OLGA 6.3 USER MANUAL
Output variables
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.
All variables listed can be written to the trend plot data file. 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:
GTP: Global trend plot variable (to be specified with keyword TRENDDATA on case level)
GPP: Global profile plot variable (to be specified with keyword PROFILEDATA on case level)
GO: Global output variable (to be specified with keyword OUTPUTDATA on case level)
N: Node trend plot variable
SEP: Seperator trend plot variable
Variables belonging to different groups cannot be specified together in the input for trend plotting (except
the boundary and volume variable groups). A new TRENDDATA entry has to be specified for each
variable group.
408
OLGA 6.3 USER MANUAL
Boundary Variables
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.
409
Boundary Variables OLGA 6.3 USER MANUAL
410
OLGA 6.3 USER MANUAL
411
Boundary Variables OLGA 6.3 USER MANUAL
412
OLGA 6.3 USER MANUAL
Branch Variables
413
OLGA 6.3 USER MANUAL
414
OLGA 6.3 USER MANUAL
Bundle Variables
Bundle variables can only be used for a SOLIDBUNDLE, a FLUIDBUNDLE or an ANNULUS.
Use as Name Units Definition
Boundary Variables
TP/PP/C LINEGT KG/S Total mass flow of line
Volume Variables
TP/PP/C HHIN W/M2-C Bundles: line inner wall heat transfer coefficient
TP/PP/C HHOUT W/M2-C Bundles: line outer wall heat transfer coefficient
TP/PP/C QMO W/M Bundles: line heat flux
TP/PP/C TBUN C Bundles: line temperature
TP/PP/C ULINE M/S Line fluid velocity
TP/PP/C UVALUE W/M2-C Bundles: line overall heat transfer coefficient
415
Compositional Variables OLGA 6.3 USER MANUAL
Compositional Variables
Compositional variables can only be used when compositional mass equations are used. This means
when the COMPOSITIONAL key in the OPTIONS keyword is either ON, MEG, MEOH, ETOH,
BLACKOIL or STEAMWATER-HC
GLTWTLEAK, GLTWTSOUR, GLTWTWELL are only available when using inhibitor tracking (MEG,
MEOH or ETOH)
Boundary Variables
TP/PP CGDH KG/S Component mass rate in oil droplets
TP/PP CGDW KG/S Component mass rate in water droplets
TP/PP CGG KG/S Component mass rate in gas phase
TP/PP CGHT KG/S Component mass rate in oil phase
TP/PP CGLH KG/S Component mass rate in oil film
TP/PP CGLW KG/S Component mass rate in water film
TP/PP CGWT KG/S Component mass rate in water phase
TP/PP PTG Pa Partial pressure in gas phase
Volume Variables
TP/PP CGPSI KG/M3-S Mass rate of flashing to gas phase
TP/PP CHPSI KG/M3-S Mass rate of flashing to oil phase
TP/PP CMG KG/M3 Mass in gas phase
TP/PP CMHD KG/M3 Mass in oil droplets
TP/PP CMHL KG/M3 Mass in oil film
TP/PP CMWD KG/M3 Mass in water droplets
TP/PP CMWL KG/M3 Mass in water film
TP/PP CWPSI KG/M3-S Mass rate of flashing to water phase
TP/PP DMGE KG/M3 (Equilibrium mass - mass) in gas phase
TP/PP DMHE KG/M3 (Equilibrium mass - mass) in oil phase
TP/PP DMWE KG/M3 (Equilibrium mass - mass) in water phase
416
OLGA 6.3 USER MANUAL
Leak Variables
TP/GTP CGGLEAK KG/S Leak mass rate in gas phase
TP/GTP CGHLEAK KG/S Leak mass rate in oil phase
TP/GTP CGTLEAK KG/S Leak mass rate in all phases
TP/GTP CGWLEAK KG/S Leak mass rate in water phase
TP/GTP GLTWTLEAK KG/S Leak mass rate in water phase
TP/GTP XGLEAK - Leak mole fraction in gas phase
TP/GTP XGMLEAK - Leak mass fraction in gas phase
TP/GTP XHLEAK - Leak mole fraction in oil phase
TP/GTP XHMLEAK - Leak mass fraction in oil phase
TP/GTP XWLEAK - Leak mole fraction in water phase
TP/GTP XWMLEAK - Leak mass fraction in water phase
TP/GTP ZLEAK - Leak mole fraction in all phases
TP/GTP ZMLEAK - Leak mass fraction in all phases
Separator Variables
ACCUMULATED EMERGENCY DRAIN LIQUID MASS
SEP CAEDLM KG
FLOW
SEP CAEDOM KG ACCUMULATED EMERGENCY DRAIN OIL MASS FLOW
ACCUMULATED EMERGENCY DRAIN WATER MASS
SEP CAEDWM KG
FLOW
SEP CAGOGM KG ACCUMULATED GAS OUTLET GAS MASS FLOW
417
Compositional Variables OLGA 6.3 USER MANUAL
Well Variables
TP/GTP CGGWELL KG/S Well mass rate in gas phase
TP/GTP CGHWELL KG/S Well mass rate in oil phase
TP/GTP CGTWELL KG/S Well mass rate in all phases
TP/GTP CGWWELL KG/S Well mass rate in water phase
418
OLGA 6.3 USER MANUAL
Source Variables
TP/GTP CGGSOUR KG/S Source mass rate in gas phase
TP/GTP CGHSOUR KG/S Source mass rate in oil phase
TP/GTP CGTSOUR KG/S Source mass rate in all phases
TP/GTP CGWSOUR KG/S Source mass rate in water phase
TP/GTP GLTWTSOUR Source mass rate in water phase
TP/GTP XGMSOUR - Source mass fraction in gas phase
TP/GTP XGSOUR - Source mole fraction in gas phase
TP/GTP XHMSOUR - Source mass fraction in oil phase
TP/GTP XHSOUR - Source mole fraction in oil phase
TP/GTP XWMSOUR - Source mass fraction in water phase
TP/GTP XWSOUR - Source mole fraction in water phase
TP/GTP ZMSOUR - Source mass fraction in all phases
TP/GTP ZSOUR - Source mole fraction in all phases
419
Compositional slugtracking Variables OLGA 6.3 USER MANUAL
420
OLGA 6.3 USER MANUAL
Compressor Variables
Use as Name Units Definition
Compressor Variables
TP/C/GTP DHRCOO W Compressor recycle heat exchanger Enthalpy
TP/C/GTP GCOMP KG/S Compressor mass flow rate
TP/C/GTP GREC KG/S Compressor recycle mass flow rate
TP/C/GTP HCOMP W Compressor enthalpy
TP/C/GTP HREC W Compressor recycle enthalpy
TP/C/GTP QGSURGE M3/S Corrected compressor surge flow
TP/C/GTP RPM RPM Compressor speed
Controller Variables
Use as Name Units Definition
Controller Variables
GTP/C ACTIVATED Controller activate signal
GTP/C CONTR Controller output
GTP/C ERRVAR Controller error signal
GTP/C INTGVAR Controller integral signal
GTP/C MEASVAR Controller measured variable
Controller mode: 1=Automatic, 2=Manual, 3=External signal,
GTP/C MODE
4=External setpoint, 5=Freeze
GTP/C PMCAS Moving averaged of primary controller variable
GTP/C RATELIMITED Controller rate limited signal
GTP/C SATURATED Controller saturated signal
GTP/C SETPOINT Setpoint of extended cascade controller
GTP/C SETPVAR Controller setpoint variable
421
Corrosion Variables OLGA 6.3 USER MANUAL
Corrosion Variables
Corrosion variables can only be used when the CORROSION keyword is given.
422
OLGA 6.3 USER MANUAL
Drilling Variables
Drilling variables can only be used when DRILLING=ON in the OPTIONS keyword.
423
OLGA 6.3 USER MANUAL
Volume Variables
TP/PP/ KG/M
MDOMUD Specific mass of oil-based mud in droplet
C 3
TP/PP/ KG/M
MDPH2O Specific mass of produced water in droplet
C 3
TP/PP/ KG/M
MDPHC Specific mass of produced hc in droplet
C 3
TP/PP/ KG/M
MDWMUD Specific mass of water-based mud in droplet
C 3
TP/PP/
MFAMUD - Mass fraction of all muds in total mass
C
TP/PP/
MFGMUD - Mass fraction of gas-based mud in total mass
C
TP/PP/
MFOMUD - Mass fraction of oil-based mud in total mass
C
TP/PP/
MFPH2O - Mass fraction of produced water in total mass
C
TP/PP/ KG/M
MFPHC Mass fraction of produced hc in total mass
C 3
TP/PP/
MFWMUD - Mass fraction of water-based mud in total mass
C
TP/PP/ KG/M
MGGMUD Specific mass of gas-based mud
C 3
TP/PP/ KG/M
MGOMUD Specific mass of oil-based mud in gas phase
C 3
TP/PP/ KG/M
MGPH2O Specific mass of produced water in gas phase
C 3
TP/PP/ KG/M
MGPHC Specific mass of produced hc in gas phase
C 3
Use as Name Units Definition
Volume Variables
TP/PP/C MGWMUD KG/M3 Specific mass of water-based mud in gas phase
TP/PP/C MLOMUD KG/M3 Specific mass of oil-based mud in film
TP/PP/C MLPH2O KG/M3 Specific mass of produced water in film
TP/PP/C MLPHC KG/M3 Specific mass of produced hc in film
TP/PP/C MLWMUD KG/M3 Specific mass of water-based mud in film
TP/PP/C MTAMUD KG/M3 Specific mass of all muds
TP/PP/C MTOMUD KG/M3 Specific mass of oil-based mud
TP/PP/C MTPH2O KG/M3 Specific mass of produced water
TP/PP/C MTPHC KG/M3 Specific mass of produced hc
TP/PP/C MTWMUD KG/M3 Specific mass of water-based mud
424
OLGA 6.3 USER MANUAL
Global Variables
Use as Name Units Definition
Global Variables
425
Heat exchanger Variables OLGA 6.3 USER MANUAL
426
OLGA 6.3 USER MANUAL
Boundary Variables
TP/PP/C GLHYD KG/S Hydrate mass flow
SRATEHY
TP/PP/C 1/S Shear rate used for hydrate kinetic model
D
TP/PP/C UHYD M/S Hydrate slurry velocity
KG/S-
TP/PP/C WLHYD Hydrate mass flux
M2
Branch Variables
TP/C/GT
MASSHYD KG Hydrate mass in branch
P
TP/C/GT Current maximum difference between section and hydrate
MDPHYDC PA
P pressure
TP/C/GT Current distance where section and hydrate pressure differs
MDPPOSC M
P most
TP/C/GT Current maximum difference between hydrate and section
MDTHYDC C
P temperature
TP/C/GT Current distance where section and hydrate temperature differs
MDTPOSC M
P most
TP/C/GT
VOLHYD M3 Hydrate volume in branch
P
427
Pig Variables OLGA 6.3 USER MANUAL
Pig Variables
All the variables that are available for Slug tracking can be used with Pig. However, not all of the
variables are relevant. The pig variables with their equivalent slugtracking variables are listed below.
When the key TRACKSLUG=ON, the PIG may be without slug, be a slug tail (pig to the left of the slug)
or be a slug front (pig to the right of the slug)
428
OLGA 6.3 USER MANUAL
Pump Variables
Use as Name Units Definition
Pump Variables
TP/C/GTP PUBYGG KG/S Gas mass flow through bypass line
TP/C/GTP PUBYGL KG/S Liquid mass flow through bypass line
TP/C/GTP PUBYGT KG/S Total mass flow through bypass line
TP/C/GTP PUMPDP PA Pressure difference between pump outlet and inlet
TP/C/GTP PUMPGG KG/S Gas mass flow through the pump
TP/C/GTP PUMPGL KG/S Liquid mass flow through the pump
TP/C/GTP PUMPGT KG/S Total mass flow through the pump
TP/C/GTP PUMPHEAT W Heat added to fluid in pump
TP/C/GTP PUMPHP W Hydraulic horsepower
TP/C/GTP PUMPQB M3/S Pump back flow (volume)
TP/C/GTP PUMPQG M3/S Gas volume flow through the pump
TP/C/GTP PUMPQL M3/S Liquid volume flow through the pump
TP/C/GTP PUMPQT M3/S Total volume flow through the pump
TP/C/GTP PUMPSPEED RPM Pump speed
TP/C/GTP PUMPTH NM Pump hydraulic torque
TP/C/GTP PUMPTT W Total pump power
TP/C/GTP PUREGG KG/S Recycle gas mass flow
TP/C/GTP PUREGL KG/S Recycle liquid mass flow
TP/C/GTP PUREGT KG/S Total recycle mass flow
TP/C/GTP PUREGW KG/S Recycle water mass flow
429
Separator Variables OLGA 6.3 USER MANUAL
Separator Variables
QGSTxD, QLSTxD, QOSTxD and QWSTxD (x = E, D, O and W) are given at standard conditions (60
o
F, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is, mass
transfer between the phases from in-situ to standard conditions is taken into account. The gas is not
dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass
fractions and densities from the fluid property file to perform the conversion. It should be noted that for
simulations using PVT tables (not CompTrack), the variables for each drain is not accurate since the
flashing is performed using the PVT tables for the total composition.
Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must
be performed for each section and time they are plotted, and should be used with care.
In addition to the SEPARATOR variables are many VOLUME variables available for the separator
430
OLGA 6.3 USER MANUAL
431
SlugTracking Variables OLGA 6.3 USER MANUAL
SlugTracking Variables
There are four main groups of slug tracking variables:
1. Global variables:
NSLUG, SLUPRO
ALFSB, ALFSL, ALTSB, ALTSL, BEFSB, BEFSL, BETSB, BETSL, BEHLFSB, BEHLFSL,
BEHLTSB, BEHLTSL, BEWTFSB, BEWTFSL, BEWTTSB, BEWTTSL, GAFSB, GAFSL,
GATSB, GATSL, GAHLFSB, GAHLFSL, GAHLTSB, GAHLTSL, GAWTFSB, GAWTFSL,
GAWTTSB, GAWTTSL, DPSB, DPSBF, DPSL, DPSLF, DPSLG, JSLT, JSLF, LSL, LSB,
PTJF, PTJT, SLUQT, SLUQF, SLTYPT, SLTYPF, UGFSB, UGFSL, UGTSB, UGTSL,
ULFSB, ULFSL, ULTSB, ULTSL, USF, UST, ZTSL, ZFSL, ULHLFSB, ULHLFSL,
ULHLTSB, ULHLTSL, ULWTFSB, ULWTFSL, ULWTTSB, ULWTTSL
These variables show the development of unique slugs as they pass through the pipeline.
These variables are nonzero only when the specified integer pipeline position is within a
liquid slug.
Note: A table containing slug statistics will be written to the .out file for positions where
LSLEXP has been defined in TREND, see Chapter 2.3.1.1.
4. Modified "standard" OLGA variables accounting for the effects of the slug tracking option at a
specified section boundary:
JT JF
JT JF
LSB LSL
ZTSL
ZFSL
Fig. 1 Definition sketch of position and length plot variables for the slug tracking option
432
OLGA 6.3 USER MANUAL
ALTSL ALFSL
JT JF
JT JF
ALTSB ALFSB
Fig. 2 Definition sketch of void plot variables for the slug tracking option
UST USF
JT JF
JT JF
Fig. 3 Definition sketch of velocity plot variables for the slug tracking option
433
SlugTracking Variables OLGA 6.3 USER MANUAL
Slug Variables
TP ALFSB - Void fraction ahead of slug front
TP ALFSL - Void fraction behind slug front
TP ALTSB - Void fraction behind slug tail
TP ALTSL - Void fraction ahead of slug tail
TP BEFSB - Liquid film fraction ahead of slug front
TP BEFSL - Liquid film fraction behind slug front
TP BEHLFSB - Oil film fraction ahead of slug front
TP BEHLFSL - Oil film fraction behind slug front
TP BEHLTSB - Oil film fraction behind slug tail
TP BEHLTSL - Oil film fraction ahead of slug tail
TP BETSB - Liquid film fraction behind slug tail
TP BETSL - Liquid film fraction ahead of slug tail
TP BEWTFSB - Water film fraction ahead of slug front
TP BEWTFSL - Water film fraction behind slug front
TP BEWTTSB - Water film fraction behind slug tail
TP BEWTTSL - Water film fraction ahead of slug tail
TP DPSB PA/M Total pressure gradient in slug bubble
TP DPSBF PA/M Frictional pressure gradient in slug bubble
TP DPSL PA/M Total pressure gradient in liquid slug
TP DPSLF PA/M Frictional pressure gradient in liquid slug
TP DPSLG PA/M Gravitational pressure gradient in liquid slug
TP GAFSB - Droplet fraction ahead of slug front
TP GAFSL - Droplet fraction behind of slug front
TP GAHLFSB - Oil droplet fraction ahead of slug front
TP GAHLFSL - Oil droplet fraction behind of slug front
TP GAHLTSB - Oil droplet fraction behind slug tail
TP GAHLTSL - Oil droplet fraction ahead slug tail
TP GATSB - Droplet fraction behind slug tail
TP GATSL - Droplet fraction ahead slug tail
434
OLGA 6.3 USER MANUAL
435
SlugTracking Variables OLGA 6.3 USER MANUAL
Global Variables
GTP/GO NSLUG Total number of slugs in the pipeline
GTP/GO SLUPRO Number of slugs initiated
436
OLGA 6.3 USER MANUAL
Source Variables
QGSTSOUR, QLSTSOUR, QOSTSOUR and QWSTSOUR are given at standard conditions (60 oF, 1
atm). A single stage flash from in-situ to standard conditions has been performed, that is, mass transfer
between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated
unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass fractions and
densities from the fluid property file to perform the conversion.
Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must
be performed for each section and time they are plotted, and should be used with care.
PTSOUR is the pressure specified in a pressure driven source. If the pressure is not given as input to
the source this variable will return the pressure of the section where the source is located.
437
SteamAndSingle Variables OLGA 6.3 USER MANUAL
SteamAndSingle Variables
Steam and single component variables can only be used when COMPOSITIONAL=STEAMWATER-HC
or COMPOSITIONAL=SINGLE in the OPTIONS keyword.
438
OLGA 6.3 USER MANUAL
TracerTracking Variables
Tracer tracking variables can only be used when TRACERTRACKING=ON in the OPTIONS keyword.
Use as Name Units Definition
TracerFeed Variables
TP/PP/C CONCTOTTRACEROIL - Conc. wrt. oil carrier phase of tracer feed
CONCTOTTRACERWATE
TP/PP/C - Conc. wrt. water carrier phase of tracer feed
R
TP/PP/C GTOTTRACER KG/S Total mass flow rate of tracer feed
TP/PP/C MTOTTRACER KG Mass of tracer feed
TP/PP/C RESTIMED S Droplet residence time of tracer feed
TP/PP/C RESTIMEL S Film residence time of tracer feed
TP/PP/C RESTIMET S Residence time of tracer feed
KG/M
TP/PP/C SMDTOTTRACER Specific droplet mass of tracer feed
3
KG/M
TP/PP/C SMLTOTTRACER Specific film mass of tracer feed
3
KG/M
TP/PP/C SMTOTTRACER Specific mass of tracer feed
3
TP/PP/C TOTAGETRACER S Average age of tracer feed
TP/PP/C XTOTTRACEROIL - Mass fraction wrt. oil carrier phase of tracer feed
Mass fraction wrt. water carrier phase of tracer
TP/PP/C XTOTTRACERWATER -
feed
FeedAge Variables
TP/PP/C AGEDTRACER S Droplet age of tracer age group
TP/PP/C AGEFTRACER S Film age of tracer age group
TP/PP/C AGETRACER S Age of tracer age group
TP/PP/C CONCTRACEROIL - Conc.wrt. oil carrier phase of tracer age group
TP/PP/C CONCTRACERWATER - Conc. wrt. water carrier phase of tracer age group
Mass flow rate of oil in droplet field of tracer age
TP/PP/C GDHLTRACER KG/S
group
TP/PP/C GDTRACER KG/S Droplet mass flow of tracer age group
Mass flow rate of water in droplet field of tracer
TP/PP/C GDWTTRACER KG/S
age group
TP/PP/C GGTRACER KG/S Gas mass flow of tracer age group
TP/PP/C GLHLTRACER KG/S Mass flow rate of oil in film of tracer age group
TP/PP/C GLTHLTRACER KG/S Mass flow rate of oil of tracer age group
TP/PP/C GLTRACER KG/S Liquid bulk mass flow of tracer age group
TP/PP/C GLTTRACER KG/S Total liquid mass flow of tracer age group
Mass flow rate of water excluding vapour of tracer
TP/PP/C GLTWTTRACER KG/S
age group
439
TracerTracking Variables OLGA 6.3 USER MANUAL
Source Variables
TP/GTP GSTRACER KG/S Tracer source mass flow rate
440
OLGA 6.3 USER MANUAL
Valve Variables
Use as Name Units Definition
Valve Variables
TP/C/GTP ARCH M2 Choke area
TP/C/GTP CV Valve CV (0 for chokes)
TP/C/GTP GCRIT KG/S Critical mass flow rate
TP/C/GTP GVALVE KG/S Valve mass flow
TP/C/GTP ICRIT Valve critical flow: 0=subcrit, 1=crit
TP/C/GTP PVALVE PA Valve pressure
TP/C/GTP TTHRC C Critical temperature at throat
TP/C/GTP TVALVE C Valve temperature
TP/C/GTP UCRIT M/S Critical velocity at throat
TP/C/GTP UVALVE M/S Valve velocity
TP/C/GTP VALSCC Valve sub-critical coefficient
TP/C/GTP VALVAR M2 Valve flow area
TP/C/GTP VALVDP PA Subcritical pressure drop across valve
TP/C/GTP VALVOP Relative valve opening
TP/C/GTP WCRIT KG/S-M2 Critical mass flux at throat
441
Volume Variables OLGA 6.3 USER MANUAL
Volume Variables
SSP gives an average speed of sound in fluid. However, it is only calculated if SOUND_CFL = ON in
keyword DTCONTROL. Else, the value is 0.
442
OLGA 6.3 USER MANUAL
443
Volume Variables OLGA 6.3 USER MANUAL
444
OLGA 6.3 USER MANUAL
445
Waxdeposition Variables OLGA 6.3 USER MANUAL
Waxdeposition Variables
Wax deposition variables can only be used when WAXDEPOSITION=ON in the OPTIONS keyword.
Branch Variables
TP/C/GTP MLTWLBR KG Mass of dissolved wax in branch
TP/C/GTP MLTWSBR KG Mass of suspended wax in branch
TP/C/GTP MTWXBR KG Total mass of wax in branch
TP/C/GTP WAXMASBR KG Wax deposit mass in branch
TP/C/GTP WAXVOLBR M3 Wax deposit volume in branch
Boundary Variables
TP/PP/C ACCGLTWL KG Accumulated dissolved wax mass flow
TP/PP/C ACCGLTWS KG Accumulated suspended wax mass flow
TP/PP/C GWXDIP KG/S Mass flow rate of wax dispersed in oil
TP/PP/C GWXDIS KG/S Mass flow rate of wax dissolved in oil
Volume Variables
TP/PP/C BEWX - Volume fraction of wax dispersed in oil film
TP/PP/C DXWX M Thickness of wax layer deposited at wall
TP/PP/C GAWX - Volume fraction of wax dispersed in oil droplet field
TP/PP/C LEWIS Lewis number
TP/PP/C MWXDIP KG/M3 Mass of wax dispersed in oil
TP/PP/C MWXDIS KG/M3 Mass of wax dissolved in oil
TP/PP/C MWXWAL KG/M3 Specific wax mass at wall
TP/PP/C SCHMIDT Schmidt number
TP/PP/C TWSWX C Inner wall surface temperature adjusted for wax layer
TP/PP/C WAX_TCOND W/M-K Thermal conductivity of wax film, porosity included
TP/PP/C WAXAP C Wax appearance temperature
TP/PP/C WAXPOROSITY - Wax porosity (oil volume fraction in wax film)
TP/PP/C WXAVDC M2/S Molar average wax diffusion coefficient
TP/PP/C WXCDCDR 1/M Concentration gradient of dissolved wax near wall
TP/PP/C WXCDIFFC M2/S Wax component diffusion coefficient
TP/PP/C WXCMCDB Molar concentration of dissolved wax components in bulk
TP/PP/C WXCMCDW Molar concentration of dissolved wax near wall
TP/PP/C WXDIFFC M2/S Apparent wax diffusion coefficient
TP/PP/C WXDR M Laminar boundary layer thickness
TP/PP/C WXMPREC KG/S Wax mass precipitation rate
TP/PP/C WXMTRW KG/S Net wax mass transport rate to wall (diffusi+ shear)
TP/PP/C WXMTRWD KG/S Wax mass transport rate to wall due to diffusion
TP/PP/C WXMTRWS KG/S Wax mass transport rate to wall due to shear
446
OLGA 6.3 USER MANUAL
447
Well Variables OLGA 6.3 USER MANUAL
Well Variables
QGSTWELL, QLSTWELL, QOSTWELL and QWSTWELL are given at standard conditions. A single stage
flash from in-situ to standard conditions has been performed. For table-based simulations, OLGA uses the
gas mass fractions and densities from the fluid property file to perform the conversion. The gas is not
dehydrated unless WATERFLASH = OFF.
Note: The standard gas density can be given in the well input as ROGST, but this is not used when
calculating QGSTWELL. This means that there will be a difference between the given QGSTWELL and
the standard gas flowrate given by the well equations, since ROGST is used to convert to gas mass rate
and the value in the fluid property file is used to convert back to QGSTWELL (correspondingly for ROLST
and QOSTWELL/QLSTWELL).
Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must
be performed for each section and time they are plotted, and should be used with care.
448
OLGA 6.3 USER MANUAL
Appendix B
449
OLGA 6.3 USER MANUAL
450
OLGA 6.3 USER MANUAL
451
OLGA 6.3 USER MANUAL
452
OLGA 6.3 USER MANUAL
453
OLGA 6.3 USER MANUAL
454
OLGA 6.3 USER MANUAL
455
OLGA 6.3 USER MANUAL
456
OLGA 6.3 USER MANUAL
457
OLGA 6.3 USER MANUAL
458
OLGA 6.3 USER MANUAL
459
www.sptgroup.com
A product by