You are on page 1of 286

Welcome to OLGA 7 User Manual

This is the OLGA 7 User Manual. The user manual includes both information about the OLGA 7 engine and the OLGA 7 graphical user interface
(GUI).

The complete program documentation includes


- Release Notes for OLGA 7
- OLGA 7 User Manual (this document)
- Wells GUI User Manual
- FEMTherm GUI Manual
- OLGA OPCServer Guide
- Installation Guide

All documents listed above are available from the Start Menu (Start - All Programs - SPT Group - OLGA 7 - Documentation).
The OLGA User Manual is also available from the Help menu in the GUI).

OLGA is equipped with a context sensitive help document which can be opened directly from the user interface. The help can be reached in
several ways:

• Click the Properties view and press F1 -> leads to the information on the relevant model
• Select Help from the File menu

User Manuals for other tools included with the OLGA 7 installation (e.g. FEMTherm, Rocx, etc) are available from the Help menus in the tools.

Release Information
Please refer to the Release Notes for detailed release information for OLGA 7.

The Release Notes describes changes in OLGA 7 relative to OLGA 6.3, and should be read by all users of the program.

The complete program documentation consists of the OLGA User Manual, Wells GUI User Manual, FEMTherm GUI Manual, OLGA OPCServer
Guide, Installation Guide, and the Release Notes.

The program is available on PC’s with Microsoft Windows operating systems (Windows XP, Windows Vista and Windows 7). Several versions of
OLGA may be installed in parallel. Note that you may also run several versions of the engine from one version of the GUI - please refer to the
Installation Guide to learn how to configure the GUI for several engines.

The support center provides useful information about frequently asked questions and known issues. The support centre is available from the
SPT Group Support Centre

Please contact SPT Group if problems or missing functionality are encountered when using OLGA or any of the related tools included in the
OLGA software package.

E-mail: olgasupport@sptgroup.com
Telephone: +47 6484 4550
Fax: +47 6484 4500
Address: SPT Group AS, P.O. Box 113, N-2027 Kjeller

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

In this manual you can find

 a general introduction to OLGA


 an overview of the required and the optional input to OLGA. It also describes in some detail different simulation options such as wax deposition, corrosion etc.
 a detailed description of all input data and the required fluid property tables
 a description of the output

The sample cases presented with the installation of OLGA are intended to illustrate important program options and typical simulation output. A description of the sample cases are
also included in this manual.

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

See also:

Background
OLGA as a strategic tool
OLGA Model Basics
How to use in general
Graphical User Interface
Simulation model
Input files
Applications
Threaded Execution

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

OLGA as a strategic tool


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 can dynamically interface with all major dynamic process simulators, such as Hysys, DynSim, UniSim, D-SPICE, INDISS and ASSETT. 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.

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 contains a list of papers describing the OLGA model and its applications.

Design and Engineering


OLGA is a powerful instrument for the design engineer when considering different concepts for hydrocarbon production and transport - whether it is new developments or
modifications of existing installations.

OLGA should be used in the various design phases i.e. Conceptual, FEED [2] and detailed design and the following issues should be addressed:

• Design
 Sizes of tubing and pipes
 Insulation and coverage
 Inhibitors for hydrate / wax
 Liquid inventory management / pigging
 Slug mitigation
 Processing capacity (Integrated simulation)

• Focus on maximizing the production window during field life


 Initial
 Mid-life
 Tail

• Accuracy / Uncertainty management


 Input accuracy
 Parameter sensitivity

• Risk and Safety

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.

Operation
 OLGA should be used to establish
 Operational procedures and limitations
 Emergency procedures
 Contingency plans

 OLGA is also a very useful tool for operator training


 Training in flow assurance in general
 Practicing operational procedures
 Initial start up preparations

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 are important cases to be simulated. Of particular interest is the dynamics of network interactions e.g. how
the transport line operation is affected by flow rate changes in one of several merging 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.

Pipeline pigging
OLGA can simulate the pigging of a pipeline. A user specified pig may be inserted in the pipeline in OLGA at any time and place. Any liquid slugs that are created by the pig along the
pipeline can be followed in time. Of special interest is the determination of the size and velocity of a liquid slug leaving the system ahead of a pig that has been inserted into a shut-
down flow line.

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

[2] Front End Engineering and Design

OLGA Model Basics


OLGA is a three-fluid model, i.e. separate continuity equations are applied for the gas, for the oil (or condensate) and water liquids and also for oil (or condensate) and water
droplets. Gas is always assumed to be lighter than oil and water in OLGA, but oil may be both lighter or heavier than water[1].

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 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.
Figure A Flow patterns in horizontal flow

Transition between the regime classes is determined by the program on the basis of a minimum slip concept combined with additional criteria.

To close the system of equations, 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.

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.

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.

Controlling the degree of parallelism


The Windows operating system decides how many threads will be used. If your PC is equipped with a quad-core CPU, typically four threads will be simultaneously running to update
four sections in parallel. Is your CPU a single-core Intel Xeon processor with "hyper-threading" (HT), probably two engine threads will be used. It is possible to overrule the choice of
the operating system by setting the environment variable OMP_NUM_THREADS; use Windows' Control Panel to do this. However, the preferred way to change the degree of
parallelisation is do so from the OLGA menu system. Setting the value here takes precedence over the OMP_NUM_THREADS environment variable.

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.

Monitoring the OLGA process


The Task Manager can be used to check how OLGA loads your CPU. When the number of engine threads equals the number of cores (or equals two on a single core HT-CPU) you
should see the CPU usage being clearly over fifty percent when OLGA is simulating.

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.

Files and file extensions


When using the OLGA GUI understanding the different files used by the GUI and the simulator are not required. A basic understanding of the different file types is still useful when
backing up files in Windows Explorer or running simulations from the command line. The figure below illustrates some of the files used by OLGA.

Project File (*.opp)


The project file is a file with references to other files (e.g. case files)

Case File (*.opi)


The case file contains all user input in addition to graphical layout of the model, parametric study input and more.

Generated input files (*.genkey)


The genkey file is generated when starting an OLGA simulation from the graphical user interface (GUI).

Output files
During the simulation, the simulator will produce several types of output files. The most common are trend plots (*.tpl), profile plots (*.ppl), general output information (*.out) and
restart files (*.rsw).

The files with a ~ prefix e.g. ~Case-0.opi is the case file from the last save. With auto-save turned on for all case files in a project, files are saved at user-specified intervals.

Input files
The OLGA simulator uses text files for describing the simulation model:

 .opi; generated and used by the OLGA GUI


 .inp; input format used by OLGA 5 and earlier versions
 .key; input format used by OLGA

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.

The following keywords must or can be defined at Case level:

 CaseDefinition; Case, Files, Integration, Options, Dtcontrol, Restart, Serveroptions, Udoptions


 Library; Material, Wall, Shape, Table, Drillingfluid, Hydratecurve, Timeseries, Tracerfeed, Udphase, Uddispersion, Udpdf, CentPumpCurve, Reservoirinflow
 Compositional; Compoptions, Feed, Udfeed, Blackoiloptions, Blackoilcomponent, Blackoilfeed, Singleoptions
 FA-models; Wateroptions, Fluid, Slugtuning
 Output; Animate, Output, Trend, Profile, Outputdata, Trenddata, Profiledata, Serverdata, Plot, Xyt
 Drilling; Tooljoint

CASE PROJECT="OLGA Manual", TITLE="Example case", AUTHOR="SPT Group AS"


INTEGRATION STARTTIME=0, ENDTIME=7200, DTSTART=0.1, MINDT=0.1, MAXDT=5
FILES PVTFILE=fluid.tab

MATERIAL LABEL=MAT-1, DENSITY=0.785E+04, CAPACITY=0.5E+03, CONDUCTIVITY=0.5E+02


WALL LABEL=WALL-1, THICKNESS=(0.9000E-02, 0.2E-01), MATERIAL=(MAT-1, MAT-1)

Network components
The network components are the major building blocks in the simulation network.
Each network component is enclosed within start (NETWORKCOMPONENT) and end (ENDNETWORKCOMPONENT) tags as shown below. Each data group belonging to this
network component will be written within these tags.

NETWORKCOMPONENT TYPE=FlowPath, TAG=FP_BRAN


...
ENDNETWORKCOMPONENT

The following network component keywords can be specified (see links for further details on each component):

 FlowComponent;FLOWPATH, NODE
 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.

The following keywords are used for Piping:

 BRANCH; Defines geometry and fluid labels.


 GEOMETRY; Defines starting point for flowpath.
 PIPE; Specifies end point or length and elevation of a pipe. Further discretization, diameter, inner surface roughness, and wall name are specified.
 POSITION; Defines a named position for reference in other keywords.

BRANCH LABEL=BRAN-1, GEOMETRY=GEOM-1, FLUID=1


GEOMETRY LABEL=GEOM-1
PIPE LABEL=PIPE-1, DIAMETER=0.12, ROUGHNESS=0.28E-04, NSEGMENT=4, LENGTH=0.4E+03, ELEVATION=0, WALL=WALL-1

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:

 HEATTRANSFER; Definition of the heat transfer parameters.


 INITIALCONDITION; Defines initial values for flow, pressure, temperature and holdup. INITIALCONDITIONS is not required when a steady state calculation is performed.
 NEARWELLSOURCE; Defines a near-wellbore source used together with OLGA Rocx.
 SOURCE; Defines a mass source with name, position, and data necessary for calculating the mass flow into or out of the system. The source flow can be given by a time
series or determined by a controller.
 WELL; Defines a well with name, position and flow characteristics.

HEATTRANSFER PIPE=ALL, HAMBIENT=6.5, TAMBIENT=6, HMININNERWALL=0.5E+03


SOURCE LABEL=SOUR-1-1, PIPE=1, SECTION=1, TIME=0, TEMPERATURE=62, GASFRACTION=-1, TOTALWATERFRACTION=-1, PRESSURE=70 bara, DIAMETER=0.12,
SOURCETYPE=PRESSUREDRIVEN

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

The following keywords are used for Process equipment:

 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 and the variable to be transmitted.
 VALVE; Defines name, position and characteristic data for a choke or a valve.

VALVE LABEL=CHOKE-1-1, PIPE=PIPE-1, SECTIONBOUNDARY=4, DIAMETER=0.12, CD=0.7, TIME=0, OPENING=1.0

Output
OLGA provides several output methods for plotting simulation results.

The following keywords are used for Output:

 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.

TRENDDATA PIPE=1, SECTION=1, VARIABLE=(PT bara, TM, HOLHL, HOLWT)


PROFILEDATA VARIABLE=(GT, GG, GL)

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.

The following keywords are used for Output:

 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.

NETWORKCOMPONENT TYPE=Node, TAG=NODE_INLET


PARAMETERS LABEL=INLET, TYPE=CLOSED
ENDNETWORKCOMPONENT

NETWORKCOMPONENT TYPE=Node, TAG=NODE_OUTLET


PARAMETERS LABEL=OUTLET, GASFRACTION=-1, PRESSURE=50 bara, TEMPERATURE=32, TIME=0, TOTALWATERFRACTION=-1, TYPE=PRESSURE, FLUID=1
ENDNETWORKCOMPONENT
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.

The following keywords are used for Output:

 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.

The following keywords are used for Output:

 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.

The following keywords are used for Output:

 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.

NETWORKCOMPONENT TYPE=ManualController, TAG=SetPoint-1


PARAMETERS SETPOINT=(2:0.1,2:0.2,0.3), TIME=(0,2000,2010,4000,4010) s, STROKETIME=0.0, MAXCHANGE=1.0
ENDNETWORKCOMPONENT

ANNULUS
Initialconditions
 PARAMETERS; A collection keyword for all annulus keys. This keyword is hidden in the GUI.

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.

CONNECTION TERMINALS = (FP_BRAN INLET,NODE_INLET FLOWTERM_1)


CONNECTION TERMINALS = (FP_BRAN OUTLET,NODE_OUTLET FLOWTERM_1)

Separator and PhaseSplitNode have special handling of terminals.


The CONNECTION keyword is also used for coupling signal components.

CONNECTION TERMINALS = (FP_BRAN Transmitter-1@INPSIG, SETPOINT-1 OUTSIG_1)

See also connecting the controllers for more information.

Example file
The keyword examples shown above can be combined to an OLGA .key file.

CASE PROJECT="OLGA Manual", TITLE="Example case", AUTHOR="SPT Group AS"


INTEGRATION STARTTIME=0, ENDTIME=7200, DTSTART=0.1, MINDT=0.1, MAXDT=5
FILES PVTFILE=fluid.tab

MATERIAL LABEL=MAT-1, DENSITY=0.785E+04, CAPACITY=0.5E+03, CONDUCTIVITY=0.5E+02


WALL LABEL=WALL-1, THICKNESS=(0.9000E-02, 0.2E-01), MATERIAL=(MAT-1, MAT-1)

NETWORKCOMPONENT TYPE=FlowPath, TAG=FP_BRAN


BRANCH LABEL=BRAN-1, GEOMETRY=GEOM-1, FLUID=1
GEOMETRY LABEL=GEOM-1
PIPE LABEL=PIPE-1, DIAMETER=0.12, ROUGHNESS=0.28E-04, NSEGMENT=4, LENGTH=0.4E+03, ELEVATION=0, WALL=WALL-1
HEATTRANSFER PIPE=ALL, HAMBIENT=6.5, TAMBIENT=6, HMININNERWALL=0.5E+03
SOURCE LABEL=SOUR-1-1, PIPE=1, SECTION=1, TIME=0, TEMPERATURE=62, GASFRACTION=-1, TOTALWATERFRACTION=-1, PRESSURE=70 bara, DIAMETER=0.12,
SOURCETYPE=PRESSUREDRIVEN
VALVE LABEL=CHOKE-1-1, PIPE=PIPE-1, SECTIONBOUNDARY=4, DIAMETER=0.12, CD=0.7, TIME=0, OPENING=1.0
TRENDDATA PIPE=1, SECTION=1, VARIABLE=(PT bara, TM, HOLHL, HOLWT)
PROFILEDATA VARIABLE=(GT, GG, GL)
ENDNETWORKCOMPONENT

NETWORKCOMPONENT TYPE=Node, TAG=NODE_INLET


PARAMETERS LABEL=INLET, TYPE=CLOSED
ENDNETWORKCOMPONENT

NETWORKCOMPONENT TYPE=Node, TAG=NODE_OUTLET


PARAMETERS LABEL=OUTLET, GASFRACTION=-1, PRESSURE=50 bara, TEMPERATURE=32, TIME=0, TOTALWATERFRACTION=-1, TYPE=PRESSURE, FLUID=1
ENDNETWORKCOMPONENT

NETWORKCOMPONENT TYPE=ManualController, TAG=SetPoint-1


PARAMETERS SETPOINT=(2:0.1,2:0.2,0.3), TIME=(0,2000,2010,4000,4010) s, STROKETIME=0.0, MAXCHANGE=1.0
ENDNETWORKCOMPONENT

CONNECTION TERMINALS = (FP_BRAN INLET,NODE_INLET FLOWTERM_1)


CONNECTION TERMINALS = (FP_BRAN OUTLET,NODE_OUTLET FLOWTERM_1)

CONNECTION TERMINALS = (FP_BRAN Transmitter-1@INPSIG, SETPOINT-1 OUTSIG_1)

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.

Logical sections

The different keywords are divided into logical sections:


· CaseDefinition; administration objects for simulation control
· Library; information objects referenced in one or more simulation objects
· Controller; controller simulation objects
· FlowComponent; network simulation objects
· Boundary&InitialConditions; simulation objects for flow in and out of flowpath
· ProcessEquipment; simulation objects for flow manipulation
· ThermalComponent; thermal simulation objects
· FA-models; administration objects for flow assurance models
· Compositional; administration and information objects for component tracking
· Output; administration objects for output generation
· Drilling; drilling simulation object
· OLGA Well; OLGA Well simulation object

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 network objects can be of the following types:


· Flowpath; the pipeline which the fluid mix flows through
· Node; a boundary condition or connection point for 2 or more flowpaths
· Separator; a special node model that can separate the fluid into single phases
· Controller; objects that perform supervision and automatic adjustments of other parts of the simulation network
· Thermal; objects for ambient heat conditions

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.

The figure below shows a flow path divided into 5 sections.


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.

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.

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 OLGA 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 have 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 keys in the keywords NODE, SOURCE, VALVE, WELL, and controllers; these keys 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 is run on the same computer, by the same user, and both server and
client is run as administrator.
See the document OLGA OPC Server User Guide, found with the OLGA documentation, for further reference.

Graphical User Interface


Relationship between GUI and Simulation engine
When starting OLGA there are two major components that come into play:

OLGA GUI
The OLGA GUI (GUI) is the graphical user interface which allows for the creation of new OLGA cases, editing input, starting simulations, viewing results and much more. This is what
is described in detail in this document.

OLGA Simulator
The OLGA simulator is the component that performs the simulation. The simulation is usually started from the GUI but it can also be started independently (using a command line
interface. The results from the simulation are stored in plot-files which can be displayed in the GUI.

Introduction to projects and cases


An OLGA case (model) is the collection of all the input data that is sent to the simulator when clicking ‘run simulation’. It normally consists of pipelines, process equipment and more
to simulate the real world objects. In addition it contains information about simulation options, boundary conditions, etc. that influence the simulation. A case may also consist of
references to other files like tab-files for fluid definitions, files with compressor characteristics etc.

An OLGA project is a container for one or more OLGA cases and is a way of organizing relevant files. A project can contain other information like Word documents, reports, Excel
calculations and more. The fluid files referred to in a case are automatically included in the project.

When working in the OLGA GUI, work is always performed within the context of a project and will create a project when one doesn’t exist. When a case is opened, the GUI will create
a project for it and when closing the GUI it will prompt to save the project and the case(s).

Case toolbar

Toolbar icon Tooltip Shortcut key Description

A new identical case will be created and added


Duplicate case
to the project
Gives three options; remove from project delete
Remove case
or delete all output files as well

Save Ctrl+S Saves the case

Opens a dialogue with the option to save the


Save as
case with a new name

Copy Ctrl+C Copies the selection

Paste Ctrl+V Pastes the copied object(s)

Delete Delete button Deletes the selection

Double click on Opens custom input dialogue if available or sets


Properties
object focus in the properties editor

Show Grid Μακεσ τηε γριδ ον τηε διαγραµ ϖιεω ϖισιβλε

Σναπσ ιτεµσ το τηε γριδ ωηεν µοϖινγ τηεµ; ωιλλ


Snap to Grid
ωορκ εϖεν ωηεν τηε γριδ ισ νοτ ϖισιβλε
Arrange Horizontal
Rearranges the graphical layout with mainly
horizontal flow lines

Ρεαρρανγε τηε γραπηιχαλ λαψουτ ωιτη µαινλψ


Arrange Vertically
ϖερτιχαλ φλοω λινεσ
Ζοοµ ιν ορ ουτ το χαπτυρε τηε ωηολε
Fit to page Ctrl+Q γραπηιχαλ νετωορκ ιν τηε ϖισιβλε παρτ οφ τηε
διαγραµ ϖιεω
Shows all local instances of the selected object
Local instances
in an editor table; all valves on one flowpath
Shows all instances in a case of the selected
Global instances
object in an editor table

Unlock Unlocks keywords generated in Well GUI

Distributes the inline equipment on a flowpath


Distribute Inline Equipment
equally

Duplicate to all Flowpaths Duplicates the selected object to all flowpaths

Οπενσ τηε νετωορκ οϖερϖιεω/χοννεχτιον


Network connections
ωινδοω
Add to User’s Library Adds selected object to the User's Library

Opens the User's Library with a list of objects


Import from User’s Library
that can be imported

Parametric Studies Opens the parametric studies


Χοπιεσ τηε διαγραµ ϖιεω ορ πλοτ το τηε
Copy as Image χλιπβοαρδ δεπενδινγ ον ωηατ ισ ιν φοχυσ ιν τηε
χεντρε αρεα
Opens a dialogue with easy configuration of
Add FEMTherm
bundles/annulus and burial of flowpaths
Adds a OLGA well to the case, the Well GUI will
Add OLGA Well
be opened for configuration of the well
Runs the simulation from a command shell
Run Batch F4
window, independent of GUI

Run Interactive F5 Runs the simulation well integrated with GUI

Pause F9 Pauses the simulation if run interactively

Step Ctrl+F5 Runs one step (only interactively)

Step length Option to configure the length of the step

Stop Shift+F5 Stops the simulation

Checks input file and reports errors and missing


Verify F7
information in the output view
Adds a plot tab to the case with the option to
Multiple Plots
select and configure multiple plots
Adds a trend plot to the case if trend variable(s)
Trend Plot
are selected
Adds a profile plot to the case if profile variables
Profile Plot
(s) are selected

3D Plot Adds a 3D holdup profile plot

Gives the option to plot the fluid properties


Fluid Plot
defined in a tab file

Report Opens an input report of the case

Saves a restart file (only available for interactive


Save Restart F3
simulation and when the simulation is paused)

Output File Opens the out file in a text editor

Moving windows
Windows may be hidden and re-opened through the view menu. They may be detached from the frame (floating) and may be docked again by moving the window to the border of the
frame. Double click on a floating window to move it back to the last docked position.

In the picture below the blue area indicates where the window will end up if dropped at the current location. When the cursor is moved over one of the arrows towards the edge of the
screen the window will dock on the corresponding border of the frame. When dropped on one of the four arrows in the centre of the screen the window will dock towards the
corresponding side of the frame of the pipeline schematic window.

Double clicking on the top bar of a docked window makes it float and double clicking on the top bar of a floating window makes it dock.
File view
The File view shows the files associated with the project. This will typically be the input file as well as pvt-files and other files used in the case. However, any type of file can be added
to the project (word-files, Excel-files etc.).

By right clicking on a file the file can be removed or the input file can be opened in a text editor. The text file may be edited and reload it into the GUI by right-clicking the opi-file and
selecting Reload from text file. Note that the graphical layout will be recreated on reload from a text file as the text file doesn’t contain any information about the layout. This
information is stored in the *.opi file.

Components view
The Components view contains a library of objects that can be used to build the case. Simulation objects may be dragged from the Components window and dropped onto the
Diagram view.
The view is divided into several groups:

Flow Component covering nodes and flowpath


Process equipment covering all equipment
covering only boundary conditions keywords
Boundary and Initial Conditions
FA models covering pigs
Controller covering all types of controllers
Results covering interactive plots and values

Connections view
The connections view gives information about the signal connections between transmitters, controllers, process equipment and boundary conditions.

There are two modes: Display case and Display current object.

Display case will show all signal connections for the entire case. Display current object will only show the signal connections for the selected object on the diagram view.

The sample below shows that a PID controller’s output signal (CONTR) is connected to VALVE-1’s input signal (INPSIG). The INPSIG for a valve is the same as the valve opening.
The transmitter’s (TM-1) output signal (which depends on the variable specified for the transmitter e.g. pressure) is connected to the PID controller’s measured input signal
(MEASRD).

Model view
The Model view is used for navigating between the objects of the system. The objects are ordered hierarchically with a project on top comprising one or more cases. A case contains
Case Definitions, Libraries, Output and Network Components.

Note that the model view lists all objects in the case whereas the diagram view only shows the visual objects. Nonvisual objects (for instance case options) are not shown in the
diagram view but are listed in the model view.

· Case Definitions describe information common to the whole system being simulated.
· Network Components describe the properties of the flow network (currently either a node or a flow path).
· Libraries contain keywords that can be accessed globally (for instance Material and Wall).
· Output contains global output definitions, such as plotting intervals for trend, profile and output.
· FA-models contain input to flow assurance models.
· Compositional has input to the compositional model.
· Thermal Components contains input to the FEMTherm and bundle models and input to annulus calculations.

When selecting an object in the model view, the object is made active and its properties may be edited in the Properties view.

The model view contains input for all cases in the project. Switching between the different cases is done by clicking on the file name in model view.

Right-click while pointing to an object in the Model view brings up various menus depending on the object:

Add -> Add items to the network object.


Exchange Geometry -> Only for flowpaths; updates the geometry with the geometry available from the geometry editor
Verify Checks input file and reports errors and missing input in the output view..
Copy Copies selected item.
Paste Pastes the copied item onto the currently selected item.
Delete Deletes selected object.
Unlock Unlocks keywords created in the Well GUI.
Local instances Shows all local instances of the selected object in an editor table; all valves on one flowpath.
Global instances Shows all instances within the case of the selected object in an editor table.
Add to user’s library Adds selected keyword(s) to the user’s library.
Import from user’s library Imports from the available keywords/components from the user’s library.
Starts the property editor for the selected object. For a flowpath this would be the geometry
Properties
editor.

Case Overview
The case Overview window is used for helping with orientation in the diagram view for larger network cases. The white frame shows what is visible in the diagram view; the size of the
frame is dependent on the zoom level. The visible area can be moved by clicking and dragging (left mouse button) the white area.

If the case overview window is not visible it can be opened from the View menu, in the upper right corner.

Output view
The Output view (not to be confused with the OUTPUT keyword/OUTPUT file) gives information about the state of the cases, modelling and simulations. The information is divided
into three categories: Errors, Warnings and Info.
· Error messages (and task list) - : Cannot simulate
o Errors in input
o Errors from initialization phase
o Errors during simulation
o List of incomplete keywords.
o Click on the symbol to go to the incomplete keyword

· Warnings - : The simulation may still be performed [1]

· Information -
o Simulator state changes
o Progress during simulation
o Any messages during simulation (info previously directed to the DOS window)

The windows can be cleared from the context menu (right click).

Text can be copied:


· Mark text
· Right click and copy

Active Output categories, located in the top left of the output window, are indicated by an “orange” background colour.. A left mouse click on the text will activate or deactivate the
category.

By default the output from the active case is shown. Output from other cases can be selected from the pull-down menu at the top of the output window.

Navigator view
The navigator view is only used when the Well GUI is active. The navigator then hosts the workflow of creating a well case.

To find out more about the Well GUI please read the User Manual for Well GUI, a link is available from the Help page from the File menu.

Diagram view
When a case is opened or created the central window of the GUI displays a graphical view of the case. Below is a snapshot from the GUI with the template basic case, Case-1,
loaded. The diagram view displays pipelines, nodes, process equipment and more. All visible objects are listed in the components view.

In the diagram view, nodes and flow lines are drawn schematically, not reflecting the real geometry of the case. Sources, pressure boundaries and process equipment are also
visible.

See also
Editing a case using the Diagram view
Context menus
Network connection overview
Configuration of separator/phase split nodes
Configuration of controller connections
Short-cut keys

Editing a case using the Diagram view

Flowlines
Nodes and flowlines are drawn schematically. All objects shown in the component list can be dragged onto the diagram view. The process equipment needs to be dropped on a
flowline to be added to the diagram view. By default the position of the equipment will be where it is dropped on the flowline. If the inline equipment is given a position (e.g. pipe and
section) the position will be adjusted to reflect the real location along the flowline.

Flowlines can be created either by dragging the Flowpath component from the component list or by dragging from the middle of a node or from a separator’s inlet and outlets.

To disconnect a flowline from a node, select the flowline, left click and hold one of the green ends while dragging it away from the node/separator.

Fixed points on a flowline can be added by selecting the flow line, click and hold the left mouse button and drag to where the fixed point should be added. A fixed point, indicated by a
small square, will appear on the flowline. Fixed points can be moved to shape the flowline to improve the layout in the diagram view. This does not change the actual geometry of the
flowline.

Fixed points can be removed from the flowline by right clicking on the point and selecting Delete segment.

Signal connections
Signal connections are also based on dragging from one object to the connecting object. To disconnect a signal from an object, select the signal line, left click and hold one of the
green ends while dragging it away.

Fixed points on a signal line can be added by selecting the signal line, clicking and holding the left mouse button and drag to where the fixed point should be added. A fixed point,
indicated by a small square, appears on the signal line. The fixed points can be moved to shape the signal line to improve the layout in the diagram view.
Context menus for diagram view
Right-click in the Diagram view activates a menu with the following items:

Arrange diagram horizontally Rearrange the graphical layout with mainly horizontal flow lines
Arrange diagram vertically Rearrange the graphical layout with mainly vertical flow lines
Zoom in or out to capture the whole graphical network in the visible part of
Fit to page
the diagram view
Σηοω γριδ Μακεσ τηε γριδ ον τηε διαγραµ ϖιεω ϖισιβλε
Snaps items to the grid when moving them; will work even when the grid is
Snap to grid
not visible
Νετωορκ Χοννεχτιονσ Οπενσ τηε νετωορκ οϖερϖιεω/χοννεχτιον ωινδοω
Παστε Παστεσ οβϕεχτ τηατ αρε χοπιεδ
Copies the diagram view or plot to the clipboard depending on what is in
Copy as image
focus in the centre area

Right click in the diagram view on an object activates a menu with the following items:

Χοπψ Χοπιεσ σελεχτεδ ιτεµ.


Paste Pastes the copied item onto the currently selected item.
∆ελετε ∆ελετεσ σελεχτεδ οβϕεχτ.
Bring forward Brings the selected object forward.
Bring to front Brings the selected object to the front.
Σενδ βαχκωαρδ Sends the selected object backward.
Send to back Sends the selected object to the back.
Opens a dialogue for selection of which controller signals should be shown graphically.(only
Edit visible signals...
available for controllers)
Local instances Shows all local instances of the selected object in an editor table; all valves on one flowpath.
Global instances Shows all instances within the case of the selected object in an editor table.
Αδδ το υσερ σ λιβραρψ Αδδσ σελεχτεδ κεψωορδ(σ) το τηε υσερ σ λιβραρψ.
Import from user’s library Imports from the available keywords/components from the user’s library.
Υνλοχκ Υνλοχκσ κεψωορδσ χρεατεδ ιν τηε Ωελλ ΓΥΙ.
Starts the property editor for the selected object. For a flowpath this would be the geometry
Properties
editor.

Network connection overview


Connection of flowlines and nodes can also be done through the Network Connection dialogue. The Network Connection dialogue can be access through the case toolbar or by right
clicking on the diagram view and selecting Network Connection. Select the "from-to" nodes for each Flowpath and click OK. The network should appear as specified.

Configuration of separator/phase split nodes


The multi-phase coupling of a separator is performed in a similar manner as the coupling between a node and a flowpath. The coupling of a phase split node works again in a similar
way as the separator.

First, add a node and a separator to the case from the component view.

Then connect the flowline from the node to the separator as follows:
1. Select the node and drag to the separator
2. Release on the separator’s inlet terminal
3. Click on the outlet terminals of the separator one at the time (gas, water and oil) and drag

Configuration of controller connections


All out signals need to be transmitted through a transmitter in OLGA. This means that if e.g. the liquid level from a separator is required as input to a controller, a transmitter needs to
be added to the separator first. The only exception here is the controllers which also can operate as transmitters.

The variable required from the separator must be specified as a property (key) on the transmitter.

Coupling of signal components is possible with two different techniques in the graphical user interface;

i) Coupling with drag and drop - or -


ii) Coupling through the connection view (see connection view)

Drag and drop coupling

The drag and drop coupling between two signal components is done in the same manner as between two multiphase network components:

1. Hover over the component which the output signal is taken from. Click the component's blue dot (available out signal(s)) and drag towards another component in the network.
Blue dots that appear when dragging towards a component are available input signals.

2. Release on the second component’s wanted input signal. A signal connection is made betweenthe two components. In the figures shown the out signal (equal to the variable
listed for the transmitter at it's position) from a transmitter is connected to a PID controller's measrd input signal.

All available output and input signals are shown for all components except for the controllers. The controllers have many input and output signals. All controllers have a context menu
item called Edit visible signals… . This option will bring up the dialogue presented below. In this dialogue one can configure which signal that should be accessible/visible on the
diagram view. for each type of controllers. The configuration will be saved with the case. Both the input signals and the output signals can be configured.
By default only the required input signals are shown and the controller output signal, contr.

Select which signals to configure, in or out. Then, select the type of controller if the selected one is not the correct one. check mark means that the signal will be visible on the
diagram view. Note that all connected signals will be visible in the diagram view independently of the check marks.
Short-cut keys
Given below is a list of some short cut keys. for more information regarding short cut keys, see Case toolbar.

Mouse wheel Zoom in or out in diagram view


Ctrl+/Ctrl- Zoom in or out in diagram view
Ctrl+0 Return to un-zoomed view
Ctrl+A Selects all items in diagram view
Delete Deletes selected object(s)
Shift+left drag Pans
Ctrl+left click/drag Multi- select

Property editor
The Property editor displays the properties of the selected object. The objects can be altered by modifying the values of the different properties/keys. The left column is the property
name, while the right is its value.

Units may be altered. By default the value will update when the unit is changed. To keep the value, press the Shift key while changing the unit.

When a property is selected, a description is shown in a region at the bottom of the Property Editor.

Values may be inserted by typing them in one at a time or by selecting one or more values presented by the interface. The notation “:” can be used as multiplier, e.g.
GASFRACTION=2:0,0.1 is the same as GASFRACTION=0,0,0.1.

The colours of the property have the following meaning:

Black : Property can be given but not required.


Red : Property required.
Grey : Property will not be used.

Note that the colours of the properties will change as input is given. As an example: Two properties are mutually exclusive and one of them must be provided. Both will then initially
be red (required). When a value is entered for one of the properties its colour will change to black (property is given and no more input required for that property) while the other
property will change to grey (cannot be given).

There are three options for sorting of data:

Alphabetic: the keys are listed in an alphabetic order

Original: the keys are sorted by key groups

State: the keys are sorted based on selection (required keys and optional keys with value) and not used keys (optional keys without value and n/a keys)

Some keywords have a special property page to make the process of entering data easier. These property pages can be accessed through the property editor button located in the
top bar of the property editor window.

See also
Adding variables
Time series editor
Custom dialogues
Centrifugal pump

Adding variables

Click in the VARIABLE field in the Properties window and then the - box.

Select variables from the window shown. The variables may be sorted:

· Alphabetically (by name or description)


· Categorized (as seen below)
· Those already selected (click the check box)

The units for plotting variables can be changed when actually plotting.

There is also an option to specify a label for the variable selection and save it. These variables can then easily be re-used at several positions.
By clicking OK in the relevant variable selection window, all selected variables will appear in the Properties window:

By clicking OK, the dialogue window will close and focus will return to the properties window. Enter the pipe selection again and complete the specification by giving the section(s).

Time series editor


Input keys with time series can be edited in a time series editor. The time series editor is accessed through the Property editor for the relevant keyword.

If there are several independent time-varying parameters within one keyword the graph of these can be displayed by checking them in the graph legend (which shows the minimum
necessary input parameters).

Custom dialogues
Special editors are available for editing initial conditions and heat transfer statements. The input is graphically displayed together with the data. An example of an initial condition is
shown in some detail below. An example of a heat transfer specification is also given.

Initial conditions
One can access the custom dialogue for initial conditions through the property editor button on the INITIALCONDITION statement. Note that this custom dialogue can only be
accessed if only one initial conditions statement (keyword) exists.

This custom dialogue can only be used when entering data section-wise. However, by selecting cells in a spread sheet and right clicking, a number of interpolation options are
available. These will help input the desired data. Also, if incomplete data is given it will automatically be completed when exiting the editor.

To activate the custom dialogue click the property button on top of the properties page, see below:

Heat transfer
One can access the custom dialogue for heat transfer through the property editor button on the HEATTRANSFER statement. Note that this custom dialogue can only be access if only
one heat transfer statement (keyword) exists.

This custom dialogue can only be used when entering data section-wise. However, by selecting cells in the spread sheet and right clicking, a number of interpolation options are
available. These will help input the desired data. Also, if incomplete data is given it will automatically be completed when exiting the editor.

The heat transfer properties could be as shown below:


By clicking the properties icon of this window, the heat transfer’s custom dialogue is presented.

Centrifugal pump
Pump curves are required input for the centrifugal pump. To help the user with the input, the pump curves together with some key parameters can be specified in a custom dialog.
This can be accessed in one of the following ways:

· Double click on the centrifugal pump in the diagram view

· Select the centrifugal pump and press the Properties button in the case toolbar
· Select the centrifugal pump and press the property page button in the Properties editor

The following dialogue will then appear.

First, choose the centrifugal pump phase mode.

· If phase mode = liquid (single phase), the option “One speed per curve” is given. This means that the only single phase curve will be used in the simulation. The
multiplier for two phase will be ignored.

There are two scenarios for curve input:

This scenario is straight forward. The best efficiency point


Single curve
is used as rated values for the centrifugal pump.

This scenario is straight forward if the input data follow


the pump laws. If the data deviate from the pump laws,
Multiple speeds and one speed
the generated pump curves will become “bumpy”, and
per curve
might be difficult to use in simulation. An option to
generate multiple homologous curves, which will be
interpolated in speed, will therefore be added

· If phase mode = two (two phase), the input data will be one curve per GVF (gas volume fraction), the options to choose between are:

o Calc multipliers - generates single phase curves from input with GVF=0. Generate two phase multipliers

o Calc multipliers and degraded head - generates single phase curves from input with GVF=0. Generate degraded head curves from maximum GVF given in. Generate
two phase multipliers

o Interpolation in gas volume fraction - generates one “single phase” curve per GVF, and interpolate the curves using actual GVF

Secondly, decide to specify the rated values or chose the option to auto generate them. The auto generate option can be used if rated data is not available.

Next, click on Add in the Pump curve frame to enter the pump curve data. First, enter the gas volume fraction and density. Note that the gas volume fraction needs to be 0 if phase
mode = liquid (single phase – no gas present).

Further, choose which type of input data the pump curves should be specified in (head/delta pressure, and efficiency/head/torque), and then enter the data. At least three data sets
need to be entered. When this is done, more pump curves can be added. Note that only the pump curves with a check mark will be used for the selected centrifugal pump.

The centrifugal pump curve is a keyword named CENTPUMPCURVE, located on the library level. Several pump curves can exist. One pump curve can be used by several
centrifugal pumps or not used at all.

The Update plots button in the Normalized pump curves frame to the right will be enabled when enough information is given. The conversion of centrifugal pump curves to
homologous curves will be then be performed. These curves are only for information; this is the input that will be used for the OLGA simulation. Several plots are shown:

· Single phase Head - two or more static curves


· Single phase Torque - two or more static curves
· Two Phase Head - two or more static curves
· Two Phase Multipliers - two or more static curves
· Head vs Volume flow - one static curve per centrifugal pump curve
· Torque vs Volume flow - one static curve per centrifugal pump curve

Note that the pump curves data can contain large errors that may give the curves a strange form. I order to avoid bad data, plot the input curves and the generated homologous
curves to adjust the input data.

Navigating in the pump curve grid

In the pump curve grid, use the tab button to move from left to right and use enter to move from top to bottom.

Simulation
There are some alternative ways to run a simulation, Run interactive and Run batch case by case or the entire project.

Run interactive
Run interactive makes it possible to open and view output results while running. An interactive simulation may be paused and continued.

Run in batch
Press Run Batch to start the simulation in the background. This will open a command prompt Showing output and progress. A batch simulation is running in a separate process than
the GUI which means that it is possible to close down the GUI without disrupting the simulation.

Run Project and Run Project Batch

If the project contains more than one case there are two alternative options, ‘Run Project’ and ‘Run Project Batch’. These options are available in the project menu located in the
upper right corner, and will run all cases in the current project in sequence. The sequence can be specified by setting the project dependencies.

‘Project Dependencies…’ can be access either from the


i) Project menu or
ii) By Right clicking the project in the Model View

Set dependencies in the dialog to obtain the wanted simulation order.

Reports
A case report is generated and viewed in the default web browser from Report on the case toolbar. The menu system in the report uses JavaScript which may trigger a security
warning from the web browser. Allow the blocked content to activate the menus in the report.

Use the buttons on the top to jump to specific sections in the report or check "Printer Friendly version” to remove the menu system.
Plots
There are several types of plots that can be activated in OLGA.

Trend plots
Profile plots
Fluid plots
3D plots
Interactive plots
OLGA viewer

See also Common behaviour in trend, profile and fluid plots

Common behaviour in trend, profile and fluid plots


Adding notes on the plot
Add a descriptive note to the plot by selecting Edit àAdd Note from the context menu. The dialog allows text to be entered and attached to the case to one of the series in the graph.

Change or delete the note by right clicking it and select Edit à Edit Note from the context menu. The notes can be toggle on and off by the notes button on the toolbar.

Use of the plotting context menu


The plotting tool is a sophisticated program and provides access to several functions for modifying graphs. Most functionality is accessed through the context menu (right click on the
plot to bring up the context menu)
File-menu
Save As Image
Displays a dialog for saving current plot to an image file

Print Setup
Displays a dialog for modifying print settings like portrait/landscape, margins etc.

Edit menu
Select
This option is used to add and remove plot variables. This dialog can also be brought up using the Select button in the toolbar.

Copy
There are two options: copy the underlying data for the plot (to clipboard) or copy the current graph as an image (to clipboard). The size of the plot can be adjusted so that all copied
images will get the same size (this can be useful when copying several plots into a report).

Note(s)
A descriptive note may be added to the plot by selecting Edit àAdd Note from the context menu. The dialog allows text to be entered and attached to the case to one of the series in
the graph.

Min/max values
The minimum and maximum values can be adjusted on the axis to zoom in on a subset of the graph. By default the minimum and maximum values are reset when the plot file is
reloaded. This can however, be turned off.

Series...
This option brings up the dialog below which enables changes to the title used for the series and change the colour and linestyle for the series.

Legend...
This option brings up the dialog below which enables setting the font, font-size and position of the legends.

Axis...
This option brings up the dialog below which enables editing the name of the axis, the format on the numbering, the position (top/bottom or left/right) and the colour of the axis. Note
that for collapsed axis, only the position can be edited (the other options will be disabled for collapsed axis).

Titles...
This option brings up the dialog below which enables editing of the header and footer. The visibility of the header and/or footer can also be set.
Slug statistics

It is possible to plot slug statistics using the plot module. This is done by adding the plot variables LSLEXP (slug length) and LSBEXP (bubble length) to the trend data. Based on
these plot variables two synthetic variables are calculated; LSLEXP_STAT and LSBEXP_STAT. By plotting these variables, a bar-chart will be created that shows the distribution of
slugs/bubbles that have a duration which is a multiplicity of the given slug duration interval.

The slug duration interval and calculation time span can be changed using the dialog below.

Surge Volume
The plot module will calculate and plot the surge volume if the plot variable ACCLIQ is included (accumulated liquid volume flow) as a plot variable in the trend data. The surge
volume variables can be plotted as surge liquid volume (SURGELIQ), surge oil volume (SURGEOIQ) and surge water volume (SURGEWAQ).
The default calculation interval is from the simulation start to the end time. Default Qmax is given as:

(ACCLIQ@endtime - ACCLIQ@starttime)/(Endtime-starttime)

Start time, end time and Qdrain can be changed in the Surge Volume Options dialog (see below). Setting empty values in an option field causes default values to be used for this
field, i.e. an empty value in end time cause last simulation time step to be used as end time.

View menu
Black/White

Collapse Axes
If two variables use the same unit the axes for these variables will by default be collapsed. This option is used to switch between collapsed axes and individual axes for each variable.

Legend
This option is used to hide/show the plot legends

Track Values
This option is used to see the numerical values used as basis for the plot.

Notes
This option is used to hide/show notes added to the plot (see Edit-Notes above).

Plot templates
If the same plot is to be generated several times, the plot configuration may be saved as a plot template. A plot template includes information about the selected variables, sequence
of selected variables, colours, units and more. Plot templates are convenient when running the same case several times or when several nearly identical cases exist (e.g. restart
cases).

To create a plot template the plot must first be configure, and then select FileàSave As Template… The template is stored as a .tpl.tz/.ppl.tz file in the location specified.

To use a plot template click on the arrow on the right side of the profile/trend plotting buttons.
Select template from the drop down with recent templates or select ‘Browse’ to locate a template not in the list.

A plot template can also be opened from within the plot (FileàOpen Template). Note that a plot template will overwrite the current plot when opened this way.

Export/import data to/from MS Excel


· Export data: In the Select variable… dialog, mark the variables to export and then press the Export button. If desired, select export data to clipboard or to file. If exporting
to file, a location and filename will need to be specified. The file can be opened in any text editor. If exporting to clipboard, the marked variable data is now copied to the
clipboard and can easily be pasted into MS Excel. Some examples are shown below.
· Paste from Excel: Select data columns in and select copy. In Plot window right click and select Dataset->Paste.

Multi-case plotting
It is possible to plot results from several cases/projects simultaneously. For example data from all the cases in a project can be plotted (use the Plot Project button in the select
variables… dialog). Several results files can also be opened via the Toolsà Plot menu, select several files, either trend (.tlp) or profile (.plt) or within the plot tool itself by adding files,
see below.

Note that for profile plots where different plotting intervals have been used in the different files the profile closest to the selected time will be used and no interpolation is currently
applied.

3D Plots
The 3D plot shows the holdup for liquid along a single flowpath (pipeline length) in a three dimensional view. The plot is activated by defining the keyword ANIMATE at the case level:

Only the plotting frequency needs to be specified.

After the case is run, click on the 3D plot button in the case toolbar to open a separate tab with the holdup view. This tab can be undocked and docked.

Note if slugging appears in the simulation and slugtracking is turned on, the slugs will be identified in red.

3D plot toolbar:
Reset window resets the zoom level
Point view toggle point view
Pan view toggle pan view (Shift+drag)
Rotate view toggle rotate view (Ctrl+drag)
Zoom view toggle zoom view (Mouse wheel)

Context menu:

Select
Branch -> Πρεσεντσ α δροπδοων οφ αλλ βρανχηεσ
Animation Τογγλεσ τηε Τιτλε/Τοολβαρ/Ανιµατιον
settings -
> ανδ ανιµατιον σπεεδ
Οπενσ α διαλογυε το σπεχιφψ α σαϖεδ
Λοαδ Λαψουτ φροµ Φιλε
λαψουτ
Σαϖε Λαψουτ το Φιλε Οπενσ α διαλογυε το σαϖε τηε λα ψουτ
Οπτιον το αδδ α πλοτ
Αδδ Πλοτ αβοϖε/βελοω /ριγητ/λεφτ οφ τηε σελεχτεδ
πλοτ
Ρεµοϖε Πλοτ Τηε σελεχτεδ πλοτ ωιλλ βε δελετεδ
Αλλ πλοτσ ιν τηε πλοτ ταβ ωιλλ βε
Ρεµοϖε Αλλ Πλοτσ
δελετεδ
Χοπψ −> Οπτιονσ το χοπψ ιµαγε/δατα
Layout-> Οπτιονσ το µαξιµιζε, µινιµιζε ανδ φλιπ
Σελεχτ τψπε οφ πλοτ − ποστ προχεσσεδ
ςιεω−>
ορ νοτ

Fluid plots
The plot-tool can be used to plot fluid-properties. Select Fluid Plot from the case toolbar and then open a fluid-properties file (.tab). Select the variables to plot and press ok.

The freeze-function as for profile plots can be used. Click the nail and then the play button. Clicking the nail multiple times allows for the freezing of more curves.

The default x-axis is temperature. It can be changed by moving the column header fields in the right-hand side window to locate the "X-Axis" field (which is in the far right position by
default) and select Pressure instead of Temperature (see figure below).

Interactive trend and profile plots


Interactive plots means that one can view a parameter while simulating and the data in the plot will automatically be updated.

One has to define trend and profile variables through the SERVERDATA statement to be able to view these variables in interactive plots. The SERVERDATA keyword can be added
through the model view on flow component level.

Server data statements with only the variable given are treated as profile variables. If the position is specified the variables listed in the variable field are trend variables. All process
equipment variables are trend variables and require that a position is given e.g. VALVE = valve label.

Note: Server data given for a controller or specified with absolute position do not work for interactive plotting. Server data keyword placed on case level, will only work for global
variables in interactive plots.

After the plot variables are defined, interactive plots can either be added to the diagram view by dragging from the component list or opened as separate plot tabs. Plot tabs are
created by pressing the Interactive plot button on the case toolbar or pressing the + on the right most side of the tabs.

Note. For profile plots one can only see the last available profile, no history is saved.

In the plot tabs within the case, one can add several plots to one frame. An example is shown below. Each individual plot can be configured through the context menu.

Context menu:

Edit/select Variables… Opens the variable selection dialogue


Remove All Variables Removes all variables in selected plot
Toggle automatic pop-up of the variable selection dialogue (only used for
Show variable selector
the plot and value on diagram view)
Max/Min Settings… Open a dialogue to set the max and min values of the axis
Edit X-axis Unit… Makes it possible to change the unit of the x-axis
Show border Toggles the border around the plot
Load Layout from
Opens a dialogue to specify a saved layout
File…
Save Layout to File… Opens a dialogue to save the layout
Add Plot Option to add a plot above/below /right/left of the selected plot
Remove Plot The selected plot will be deleted
Remove All Plots All plots in the plot tab will be deleted
Edit Title… Opens a dialogue to edit the plot title
Layout-> Options to change the plots position and size
Copy -> Options to copy image/data
Configuration… Opens a configuration dialogue to edit the selected plot
View-> Select type of plot - post processed or not
The context menu for the plots added to the diagram view contains a subset of the above menu. Single values added to the diagram view have the following context menu:

Edit/select Variables... Opens the variable selection dialogue


Show variable selector
Toggle automatic pop-up of the variable selection dialogue (only used for the
plot and value on diagram view)
Show boarder Toggle the boarder around the value and name of the variable
Show Name Toggle the variable name
Profile plots
Profile plots are variables plotted along a distance (flowpath). There are many different profile variables. A list of the different profile variables are given in the variable section.

A profile variable needs to be added to the case before the simulation is started to be able to plot it afterwards. Profile variables can be added on case level and on flow component
level through the keyword PROFILEDATA. In the profile data statement the user has to select a variable e.g. VARIABLE = PT (pressure). One can read more about the
PROFILEDATA in the Keywords section.

The plotting frequency is given through the keyword PROFILE on case level. All profile variables use the same plotting frequency. Note that the plotting frequency can never be lower
than the time step of the OLGA simulation.

To view the profile plot, select the profile button on the case toolbar and then select the variable(s) to plot:

It is possible to "play-back" the profile plot, either by dragging the slide or by clicking play. The keyboard arrows can also be used to navigate; in the profile plot integrated in the case
tabs use the key ctrl in combination with the right and left arrows.

One can also freeze a curve by clicking the nail button. Each time the button is clicked, a curve is stored. To "un-freeze" a curve, disable the nail . Play-back is stopped by
clicking stop. Several profiles can be played back simultaneously; however, the speed will depend on the capabilities of the PC.

Trend plots
Trend plots are variables varying with time e.g. how the pressure varies with time at a given location. There are many different trend variables. A list of the different trend variables are
given in the variable section.

A trend variable needs to be added to the case before the simulation is started to be able to plot it afterwards. Trend variables can be added at the case level and at the flow
component level through the keyword TRENDDATA. In the trend data statement the user has to select a variable and then a position e.g. VARIABLE = PT (pressure) and position
given e.g. by ABPSPOSITION = 100 m. One can read more about the TRENDDATA in the Keywords section.

The plotting frequency is given through the keyword TREND on case level. All trend variables use the same plotting frequency. Note that the plotting frequency can never be lower than
the time step of the OLGA simulation.

After the simulation is run, select trend plot from the button in the case toolbar. This gives the Select variable dialogue below. Select the variables to plot. Double click on the selection
or right click and choose one of the options displayed. Click OK to see the graph.
There are many ways to filter the content of the dialogue above. Note that filtering is a tool for locating the variables. The selected variables are plotted even if they are ‘filtered away’.

File menu
When starting OLGA the File menu will appear with New in focus. From the New page, a case can be created by selecting an empty case or a Template. The templates are complete
cases that are ready to simulate.

The File menu can be accessed by clicking on File at any point in time. To exit the File menu click either on the File tab again or on a case tab.

The File menu covers the following:

Saves the
Save project and
Project all open
cases
Saves the
project and
Save
all open
Project (Ctrl+Shift+S)
cases with
as…
a new
name
Opens a
case of file
Open
(Ctrl+O) type *.opi,
Case…
*.inp
or*.key
Opens a
Open project of
(Ctrl+Shift+O)
Project… file type
*.opp
Opens a
case of file
Import… type
*.geninp or
*.genkey
Closes the
project
Close
with option
Project
to save
project
New case
or project
New can be
created in
this page
Recent
projects
and cases
Recent
are listed
in this
page
Internal
and
external
tools can
Tools
be
accessed
in this
page
Information
about
manuals,
Help
sample
cases and
support
Opens the
Options… options
dialogue
Closes
OLGA with
Exit the option
to save
project

New
New cases or projects are created from the New page.

A new project is created by clicking on the Empty project icon. This opens a file dialoueg to specify the location and name of the project.

A new case is created either by selecting Empty case or by choosing an appropriate template. An empty Well case is created from the New →Well icon.

There are two ways to select a template for a new case: From the carousel view or from the icon view. The template view is selected with the two toggle buttons in the top right.

In carousel view, the templates can be navigated sequentially and shows a preview of the network and a description of the template. The selected template is the front most template
highlighted in the orange selection colour. Navigation is done by clicking to the right or left of the selected template which will scroll the new selected template to the front. This can
also be done using the left and right arrow keys on the keyboard.
In icon view the template categories are shown on the left side of the window and the templates in each category are shown on the right.

The name and location of the new case can be set at the bottom of the window. Use the Browse button to bring up a file dialogue to choose a different location of the case. The
default location of new cases can be changed in the Option dialogue. When selecting a template OLGA suggests a default case name based on the template selected and a number
if a case with that name already exists. The new case is created by clicking the Create button or double-clicking on the template.

The new case will be added to the currently open project. If no project is open, a new project with the same name as the case will be created.

Recent
Previously opened projects and cases can be accessed from the Recent page.

Selecting a recent project will open all cases from that project in separate tabs. Selecting a recent case will open it and add it to the currently open project or create a default project if
no project is open.

Tools
The Tools page is accessed through the File menu.
This page gives access to useful utilities which are installed with OLGA. These tools are documented separately. Other external tools may be added to this page via the Options
dialogue.

See also Tools available with OLGA

Help
The Help page is accessed through the File menu.

OLGA Help Opens the general user documentation

Wells Help Opens the well GUI documentation

Getting started with OLGA 7 Opens a video showing some of the steps to build a
case in OLGA 7

Samples Open the folder where the sample cases are stored

Support Centre Link to the SPT Group's support centre on the internet, requires
internet access

Send to support Zips the projects with all cases and data files and
attaches it to an e-mail template

About OLGA List the version information

Options
The overall simulator settings are specified under Options. The Options dialogue is located under the File menu

Settings under the General tab are:

o My Project Location: Location where file dialogs will open.


o Specify if the program shall execute auto-save at specified intervals.
o Delete .bat file after batch simulation
o Simulation threads – number of treads to run simultaneously. By default the number of treads available will be used in an optimal way.
o Write default values – this option will print the default values to the opi file. However, this option should not be used when running the case. There are some
limitations and a runnable case will not always be runnable if this option is used. It is useful to use for quality assurance as it shows all inputs used.
o Restore to Factory Settings: The layout of the GUI windows, default unit set and similar will be restored.

External programs that should be available from the Tools page can be specified under the External Tools tab. Some programs are set by default during installation and additional
programs like Excel, a text-editor etc. can be specified. Select Add… to browse for an external tool to include in this list.
The Default Units tab is used to select the preferred set of units. Units can select from three predefined sets (SI, Metric and Oilfield) or a customized set may be specified. The default
units affects the none given properties and the default values in the property editor and also which units the plotting variables are shown in.

2nd order scheme

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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

Methods and assumptions

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
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.
Figure 5 The above 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.

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

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
Due to the limited amount of input, the blackoil module can be a good choice when little is known 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


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.

Blackoil Correlations
Το χαλχυλατε τηε σολυτιον γασ−οιλ ρατιο RSGO ανδ τηε βυββλε ποιντ πρεσσυρε Πβ, φουρ διφφερεντ χορρελατιονσ αρε αϖαιλαβλε ιν ΟΛΓΑ. Τηεψ αρε βασεδ ον φλυιδσ φροµ
διφφερεντ αρεασ, ανδ ηαϖε ρεχοµµενδατιον φορ υσε ασ µεντιονεδ ιν Table 1. Τηε δεφαυλτ χορρελατιον ισ Λασατερ.

Table 1: Blackoil correlations and their recommended usage.


Στανδινγ /28/ API < 15 Based on fluids from California
Based on fluids from Canada, U.S. and South
Lasater /27/ API > 15
America
ςαζθυεζ & Βεγγσ /29/ API > 15 Similar as Lasater
Γλασ /30/ API > 15 Based on fluids from the North Sea

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)

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

. (d)

Please note that if P > Pb, then RSGO = GOR.

In these equations we have that


API = 141.5 / γo - 131.5
yg = mole fraction of gas
γg = specific gravity of gas
γo = specific gravity of oil
Mo = effective molecular weight of tank oil
GOR = gas-oil ratio
f1(yg) = tabulated function of yg
f2(API) = tabulated function of API
CPb = tuning coefficient (default = 1)
CRSGO = tuning coefficient (default = 1)
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

(e)

where

(f)

Symbols have the same meanings as for the Lasater correlation.

To calculate RSGO, replace Pb with the actual pressure P, and replace GOR with RSGO, and invert Equation (f) to obtain

. (g)

If the pressure is above the bubble-point pressure, then RSGO = GOR.

With the Standing correlation, pressure is measured in psia, and temperature is measured in 0F.

Vazques & Beggs Correlation

For API < 30:

, and (h)

. (i)

For API > 30:

, and (j)

. (k)

If P > Pb, then RSGO = GOR.

Symbols have the same meanings as for the Lasater correlation. Units for pressure and temperature are psia and 0R, respectively.

Glasø Correlations
For known GOR, the bubble-point pressure is given implicitly by

, and (l)

. (m)

Substitute RSGO for GOR and P for Pb to obtain

. (n)

If P > Pb, then RSGO = GOR.

Symbols have the same meanings as for the Lasater correlation. Units for pressure and temperature are psia and 0F, respectively.

Oil and Gas Density

The oil density depends on pressure, temperature and the amount of gas dissolved in oil. At pressures below the bubble-point the procedure is as follows.

First, the oil volume formation factor BO is calculated, see /28/,

, (o)

where

. (p)

Now, the oil density is calculated as

. (q)

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

. (r)

co is the isothermal compressibility of undersaturated oil.

. (s)

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

. (u)

The gas density is obtained from


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

Ppr = P/Ppc and Tpr = T/Tpc. (w)

Empirical equations exist for Ppc and Tpc, /28/, and we use them:

, and (x)

. (y)

As already mentioned, the units are psia and 0R.

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

Tpc’ = Tpc - ε, and (z)

Ppc’ = Ppc Tpc’ / (Tpc + B(1-B) ε), (aa)

where

A = yCO2 + yH2S, B = yH2S (yCO2 and yH2S are mole-fractions), (ab)

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

Oil and Gas Viscosity


Dead oil viscosity is calculated using the following equation:

(ad)

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

, and . (af)

Note that Covisc is a tuning coefficient; its default value is 1.

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

, with . (ag)

Units: Pressures are measured in psia, temperatures in 0F, viscosities in cp and RSGO in scf/STB.

The gas viscosity is calculated, according to /27/, from the correlation

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

Units: ρg given in g/cm3; T in 0R; µg in cp.

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

(am)

for dead oil, and then correct the value for saturated oil at saturation pressure:

. (an)

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

The expression used for the gas-water surface tension is

. (ao)

For oil-water surface tension empirical data are scarce, and a preliminary relation is used:

, (ap)
with default coefficients A1 = 30.0, A2 = 0.0 and A3 = 0.0.

The above correlations are based on data from /31/ and /33/.

Thermodynamic Properties of Blackoil


Specific Heat of Gas

The specific heat or heat capacity of gas cpg will be tabulated as a function of temperature and specific gravity of gas. The data are 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.

Specific Heat of Oil

The specific heat of oil, cpl, can be calculated using the following equation, cf. /32/:

, (aq)

where

γo = specific gravity of oil


T = temperature in 0C

The unit of cpl is kJ/kg0C.

Enthalpy of Gas

The enthalpy of gas, Hg is calculated from the equation

(ar)

The term (dH/dP)T can be expressed as -(RT2/P) *(dz/dT)P .

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.

Enthalpy of Gas Dissolved in Oil

The latent heat for gas dissolved in oil ∆Hgo will be used to calculate the enthalpy of liquefied gas Hgo. We have

Hgo = Hg - ∆Hgo (at)

The term ∆Hgo can be approximated by a simple correlation from /32/. First, the latent heat is estimated at 1 bara.

∆Hgosc = 4.19 Tabp (8.75 + 4.57 log(Tabp)) / M, (au)

where Tabp is the atmospheric boiling point measured in K. The unit of the latent heat thus becomes kJ/kg.

Second, the latent heat is extrapolated for pressures above 1 bara, according to

∆Hgo = ∆Hgosc - 1.7 (P - 1) (av)

Tabp is tabulated as a function of oil specific gravity and molecular weight, cf. /32/, see Table 2 below.

Table 2: Tabp as a function of specific gravity of oil and molecular weight.


Atmospheric boiling
point, Tabp (0C)
M 70 80 90 100 120 140 160 180 200 220
Spec
Tabp
grav.
0.6 27 42 60 79 104 128 146 165 190 205
0.9 66 93 116 132 165 202 222 252 274 294

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)

The default values for the coefficients are:

, and . (ax)

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.

Tuning is specified through the BLACKOILOPTIONS keyword.


Converting to mass flow rate
When converting the volume flow rate at the standard conditions to the mass flow rate, the densities of gas, oil, and water that are used are taken from the corresponding blackoil
components as given in BLACKOILCOMPONENT. When converting the in-situ mass flow rates to the volumetric flow rate at the standard conditions, the densities at the standard
conditions are calculated from the blackoil correlations. The density from the blackoil correlations does not give the same density as the input. Therefore, the standard volumetric flow
rates that are calculated by flashing the in-situ mass flow rate to the standard conditions differ from the standard volumetric flow rates given in the input. The difference is however
within the uncertainty of the blackoil correlations.

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

 OPTIONS to set COMPOSITIONAL = BLACKOIL


 BLACKOILOPTIONS to set GORMODEL (optional)
 BLACKOILCOMPONENT to set the properties of the gas, oil and/or water components
 BLACKOILFEED to combine the gas/oil/water blackoil components into feeds, and specify GOR and WATERCUT.
 NODE/SOURCE/WELL to set flow rates or volume fractions of the feeds to enter the pipeline system
 The steady state pre-processor may be used with the blackoil module. If one chooses to start from INITIALCONDITIONS, the initial volume fractions for the feeds must be
given.

See also:

Sample case for Blackoil

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.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The complex fluid model utilizes the Bingham model for fluids exhibiting yield stress, while the Power law is used for shear thinning fluids. As opposed to the complex viscosity model,
the complex fluid model includes numerous modifications to the physical models for both separated and distributed flow taking into account the non-Newtonian behavior of the fluids.
Non-Newtonian behavior can be modeled for the liquid hydrocarbon phase, the water phase or both. The Newtonian option is included to capture the peculiarities of higher viscosity
liquids.

Bingham plastic model

(a)

where

Power law model

(b)

where

K = consistency factor

Newtonian fluid

(c)

where

&mu; = 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.

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Typical cases where compositional effects may have influence are:

 Networks with different fluids


 Changes in composition at boundaries
 Blowdown
 Gas injection / gas lift
 Start-up
 Shut-in and restart

License requirements
The Compositional Tracking Module requires a separate license.

Methods and assumptions


The standard OLGA model uses a fluid table with material properties calculated for a predefined composition, and this composition is assumed to be constant throughout the whole
simulation. Different compositions can be used for each branch in a system, but with compositions that are constant with time.

In reality the composition may vary along the pipeline due to slip effects (velocity differences between phases), interphasial mass transfer, merging network with different fluids,
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.

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, apart from those
described in Limitations in the use of fluid properties..

However, as described, be aware of the additional CPU-intensive calculations that are performed.

Other considerations
Steady state pre-processor
A compositional steady state pre-processor is implemented in OLGA.

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.

Combination with other models


The Compositional Tracking model can not be combined with other compositional models such as inhibitor tracking, blackoil or wax.

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.

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;

 OPTIONS; COMPOSITIONAL set to ON.


 FILE; FEEDFILE to specify the feed file name.
 FEED; to define additional feeds and their composition (use components from the feed file)
 COMPOPTIONS; to define calculation options to be used by the PVT routines.
 INITIALCONDITIONS; to specify initial feeds.
 SOURCE; to specify feeds and feed flows in the mass source.
 WELL; to specify feeds in the well stream.
 NODE; to specify feeds and feed flows in mass flow and pressure nodes.

Step 3:
Specify output variables for detailed plotting of simulation information.

 OUTPUTDATA to print compositional information to output file (*.out).


 TRENDDATA to print compositional variables to trend file (*.tpl).
 PROFILEDATA to print compositional variables to profile file (*.ppl).
 PLOTDATA to print compositional variables to OLGA Viewer file (*.plt).

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.

Flash algorithms (key FLASHTYPE)


The FLASHTYPE key specifies the flash algorithm to be used.

 FLASHTYPE = TWOPHASEFLASH treats water as an inert component. Hydrate inhibitors such as MeOH and glycols in the water phase will also be inert. A two-phase flash
is carried out for the hydrocarbon components. There will not be any aqueous components in the hydrocarbon phases and no hydrocarbon components in the water phase.
Classical mixing rule is used for all component pairs for the two-phase flash calculation.

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.

 FLASHTYPE = SIMPLETHREEPHASE means that the water components are treated as an inert phase initially. A two-phase flash is performed for the hydrocarbon
components. Then aqueous components are added to the hydrocarbon phases, and hydrocarbon components and inorganic gasses are added to the aqueous phase until the
fugacity is the same for all the phases. Classical mixing rule is used for all component pairs throughout the calculation. This approach involves two simplifications relative to full
three phase flash

 The change in phase equilibrium due to dissolution of components in a phase is not taken into account, i.e. the result is not rigorous equilibrium but approximated
equilibrium.
 A simplified model for the solubility of hydrocarbon components and inorganic gasses in the aqueous phase and vice versa is used.

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

Viscosity correlations (key VISCOSITYCORR)


The VISCOSITYCORR key can be used to specify the viscosity calculations.

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:

 Tune LBC to experimental or simulated CSP viscosity data in PVTSim.


 Check if tuned oil viscosity data match reasonably well with the experimental data. If a good match cannot be obtained, use the CSP viscosity model in OLGA Compositional
Tracking module (a mismatch is more likely for heavy oils).
 Substantial tuning of the a-coefficients in the LBC-model can affect the gas viscosity. Evaluate gas viscosity before and after tuning if the a-coefficients are changed
considerably.

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.

Dense phase specification (key DENSITYLIMIT)


The DENSITYLIMIT key specifies the limit for the dense phase region density.

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.

Figure A. Dense phase region.

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.

Delay constants (keys TCONDENSATE/TVAPORIZATION)


The keys TCONDENSATE and TVAPORIZATION 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, and the equilibrium state reached in the flash calculations will be delayed. The default is no delay.

In the non-equilibrium model the convective mass transfer terms are calculated according to:

(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.
Controller introduction:
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.
There are 13 different types of controllers:
Algebraic Controller
ASC Controller
Cascade Controller
ESD Controller
Manual Controller
Override Controller
PID Controller
PSV Controller
Scaler Controller
Selector Controller
STD Controller
Switch Controller
Table 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.

Analog vs. digital controllers


For all the controller types, the digital controller option can be selected by using the key SAMPLETIME. The difference between analogue and digital sampling in an OLGA simulation
is as follows:
The analogue controller collects input and gives a corresponding output at each 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.

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.
External setpoint
The controller MODE = EXTERNALSETPOINT is similar to MODE = AUTOMATIC except that the setpoint is taken the controller connected to the SETPOINT 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
A.MODE < 1.5 gives AUTOMATIC
1.5 <= A.MODE < 2.5 gives MANUAL
2.5 <= A.MODE < 3.5 gives EXTERNALSIGNAL
3.5 <= A.MODE < 4.5 gives EXTERNALSETPOINT
4.5 <= A.MODE gives FREEZE
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.
A controller A might be deactivated and activated by connecting an external controller A.ACTIVATE to the ACTIVATE terminal of controller A. Then controller A is active if the output
of A.ACTIVATE is greater or equal to 0.5. When a controller is “deactivated” (A.ACTIVATE < 0.5) the controller function is bypassed and the controller output is kept constant (equal
to the previous output value). When a 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.

Constraining the controller output


The controller output is constrained in two steps. First controller output is checked against signal constrains; secondly the controller output is checked against rate of change
constraints.
The signal constraints are specified in the keys MAXSIGNAL and MINSIGNAL. If the controller output is greater or equal to MAXSIGNAL then the output signal is set equal to
MAXSIGNAL and the SAUTRATED output is set equal to 1.0 to signal “high saturation”. If the controller output is less or equal to MINSIGNAL then the output is set equal to
MINSIGNAL and the SATURATED output is set equal to -1.0 to signal “low saturation”.
If the rate of change in the controller output violates the OPENINGTIME (or STROKETIME) the controller output is set equal to the maximum allowed output satisfying the rate of
change constraint and the RATELIMITED variable is set equal 1.0 to signal a “high rate of change saturation”. If the rate of change in the controller output violates the CLOSINGTIME
(or STROKETIME) the controller output is set equal to the minimum allowed output satisfying the rate of change constraint and the RATELIMITED variable is set equal -1.0 to signal
a “low rate of change saturation”.

Controller details
Figure A below shows a block diagram of how different inputs and outputs relate to different part of the controller implementation.

Figure A: Overall block diagram for controller implementation.


In Figure A above and Figure B below:
inputs in terms of sub-keys are given in boxes framed by an orange line,
inputs given through terminals are given in boxes framed by a green line and
internal calculation boxes are framed by a black line and gray background color.
The larger block “Controller function + Controller mode” in Figure A, implements
the controller functionality given by the controller type,
the controller modes and
the controller activation deactivation.
Output A from the “Controller function + Controller mode” block represents the unconstrained output. The unconstrained output is checked against sub-keys MAX/MINSIGNAL and
forms the constrained output B. Finally, output B is checked against rate of change constrains (OPENINGTIME and CLOSINGTIME) to form the final constrained output CONTR.
Note, the additional outputs SATURATED and RATELIMITED. These are used to signal saturation and rate of change limitation to other controllers.

Figure A: Implementation of controller modes and activation/deactivation mechanisms.


Figure B shows the implementation of modes and activation/deactivation mechanisms. Depending on the controller type the controller function block may or may not need the
setpoint sub-key. Controller type PID is an example of a controller type that makes use of the setpoint sub-key, whereas controller type OVERRIDE does not use the setpoint sub-
key. The controller function block may also use additional terminals and sub-keys not shown in Figure B. If mode is AUTOMATIC (mode value one) the setpoint is taken from the sub-
keys and if mode is EXTERNALSETPOINT (mode value four) the setpoint is connected to the setpoint terminal. This is illustrated by the upper left switch in Figure B.
The lower left switch in the figure determines how MODE is set. This switch cannot be changed during runtime. If a controller is connected to the MODE terminal, it is value obtained
through the terminal that determines the mode of the controller irrespective of what is set in the MODE sub-key. If no controller is connected to the MODE terminal then it is MODE
sub-key that determines the mode of the controller.
- If MODE is AUTOMATIC or EXTERNALSETPOINT then the output of the controller function (CF) block is routed through the larger switch in the figure (position one or
four at the input of the switch) and the corresponding setpoint is connected to the controller function.
- If MODE is MANUAL the manual output signal is routed through the switch (position two at the input of the switch).
- When the MODE is EXTERNALSIGNAL the SIGNAL TERMINAL is connected to the output of the switch (position three at the input of the switch).
- When MODE is FREEZE the lower memory block is connected to the output of the switch (position five at the input of the switch). The memory blocks hold the previous
output value. Thus the output is frozen (kept constant).
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
All controllers will have the following output terminal:
OUTSIG_1..N – Used to connect the controller output to another input signal terminal.
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.

Actuator time of controlled device


There are no restrictions on the rate of change of the output from the controller algorithms. The output from the controller frequently changes faster than the device is capable of
following. This situation is taken care of by passing all output from the controllers through an actuator filter that computes a 'real' output (as observed by the devices) according to the
rule:

(d)
or

(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
U - is output signal from the controller
Umax - is the maximum output signal from the controller
Umin - is the minimum output signal from the controller

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.

Connecting the controllers


All the controllers have a set of input and output signal terminals. The output terminals (OUTSIG) can be distributed to several receiving terminals. When connecting output signals
the first available terminal will be named OUTSIG_1. The next terminal will be named OUTSIG_2 etc. In general it is written OUTSIG_1..N, to show that the terminal OUTSIG can be
connected an arbitrary number of times.

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 or a transmitter.

Example: PID pressure control

The PID controller has the following terminals:


MEASRD (Required input)
SETPOINT (Optional input)
OUTSIG_1..N (Optional output)

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.

Figure A: Pressure control example

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 in the transmitter keyword.
Ex. ”PT bara”

Connection (2):
CONTROLLER OUTSIG_1 → VALVE INPSIG

Controller Setpoint
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:

SETPOINT = (0, 1, 0.5)


TIME = (0, 1, 2)

Note that the setpoint change in a step wise manner.


Figure B: Setpoint vs. time

Controller measured variable


Most controllers take an input signal in terms of a measured variable, see terminal MEASRD and/or terminal INPSIG. The measured variable can be delayed by specifying the DELAY key
on the controllers (avaiable on most controllers). If the DELAY key is set to 10 seconds, the measured variable is delayed 10 seconds before it is taken into account in the control algorithm.

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.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The algebraic controller takes a number of input signals and combine these according to the specified VARIABLEFUNCTION key.

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.

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.

See also:

When to use
Methods and assumptions
How to use

When to use
Use to control the recycle flow for compressors, and to avoid compressor surge.

Methods and assumptions


An ASC should be able to open the recirculation valve very fast to prevent a dangerous surge condition. This can be achieved by choosing a high amplification factor for the ASC and
selecting a recycle valve with a short stroke time. But the ASC must also be capable of managing a situation where the compressor inlet or discharge is closed. The high amplification
factor could give excessive compensation, which would cause the recirculation valve to hunt between open and closed position and aggravate the surge due to pressure and flow
pulsation. Therefore it is necessary to have a controller that can operate on a non-linear control algorithm. In essence, the controller shall apply one level of amplification and integral
action to a positive error input signal and a different level of amplification and integral action to a negative error input signal. In this way the recycle valve can be opened rapidly while
an inertia is imposed when it is closed again.
The ASC unit uses a standard PID controller formula except that it allows for two different controller amplifications (AMP1 and AMP2) that are necessary when operating on a non-
linear control algorithm. AMP1 is used when the deviation parameter (e) is negative (left of anti surge control-line in the compressor performance map) and AMP2 when it is positive.
The anti surge control-line is the 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.

Figure A: Anti Surge Controller

The cascade controller uses the PID algorithm, see Proportional Integral Derivative (PID) Algorithm. The ASC controller have 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
See Connecting the controllers for an example on how to connect a controller.

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.

Figure B shows the connection possibilities of the ASC controller.

Figure B: ASC controller connection terminals

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.

To achieve this cascade control utilize multiple feedback loops.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Examples of use is:


Level control in a separator. The separator holdup changes are slow compared to flow dynamics. See Figure A: Cascade control.

Temperature control when two fluid flows are heat exchanged. The temperature dynamics are slow compared to the flow dynamics.

Methods and assumptions


As illustrated below in Figure A a cascade control uses two (or more) controllers with the output of the primary controller changing the setpoint of the secondary controller. The output
of the secondary controller regulates the control device, here the drain valve.

Figure A: Cascade control

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 have 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
Smin minimum setpoint
Smax maximum setpoint
Cp output from the primary controller

For the extended cascade controller, the setpoint is calculated differently:

(β)
Where

(χ)

C = C1 if |PM - Ps| > Cswitch (δ)

C = C2 if |PM - Ps| £ Cswitch (ε)

Sn setpoint of the secondary controller at the current time point


Sn-1 setpoint of the secondary controller at the previous time point
Cp output from primary controller
Cp,min minimum of output from primary controller
Cp,max maximum of controller output from primary controller
Ps setpoint of the primary controller
Dt numerical time step (tn - tn-1)
PM moving averaged of the primary controller variable P
Tav user defined (moving) averaging time period
C constant that can take two different values
C1 user defined constant
C2 user defined constant
Cswitch user defined constant

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 Χοννεχτινγ τηε χοντρολλερσ φορ α εξαµπλε ον ηοω το χοννεχτ α χοντρολλερ. Τηε χασχαδε χοντρολ λοοπ ισ βυιλτ ασ τωο σεπαρατε ΠΙ∆ χοντρολλερσ, ωηερε τηε ουτπυτ φροµ
τηε πριµαρψ χοντρολλερ ισ υσεδ ασ α σετποιντ οφ τηε σεχονδαρψ χοντρολλερ.

Τηε χασχαδε χοντρολλερ ρεθυιρε τηατ τηε µεασυρεµεντ τερµιναλ (ΜΕΑΣΡ∆) ανδ τηε σετποιντ τερµιναλ (ΣΕΤΠΟΙΝΤ) αρε χοννεχτεδ.

Figure B show the connection possibilities of the Cascade controller.

Φιγυρε Β: Χασχαδε χοντρολλερ χοννεχτιον τερµιναλσ

ESD Controller
Emergency-Shut-Down (ESD) logics are used to avoid damage on the process equipment and the pipeline. A ESD controller closes, output goes from 1 to 0, when a measured
process variable rises above (or fall below) a safety limit.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


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

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.

Figure A show the connection possibilities of the ESD controller.

Figure A: ESD controller connection terminals

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

See also:

When to use
Methods and assumptions
How to use

When to use
Use to change the process unit (e.g. Valve, Pump) inputs manually.

Ex. Simulate a manual change in valve opening.


Ex. Simulate a manual ramp-up of a choke.
Ex. Simulate a starting leak from the pipeline.

Methods and assumptions


The manual controller take a setpoint as an internally defined time series, or as a input signal. The changes in setpoint will be applied immediately, that is; the setpoint will change in
a step wise manner.

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 don’t require any of the signal terminals to be connect. Figure A shows the connection possibilities of the manual controller.

Figure A: Manual controller connection terminals

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.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The override controller can be a low select or high select operator. The override controller requires one or more input signals. The input signals can come from any other output
terminal. In low select mode the minimum input signal is selected as the final output signal from the unit. A typical application of the controller unit in a process module is shown in
Figure A.
Figure A: Double PID controller used as a turbine speed controller

Here the output signal from two pressure controllers (PC) are 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.

Figure B: Triple PID controller used as flow regulator

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.

Figure C shows the connection possibilities of the Override controller.

Figure C: Override controller connection terminals

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.

See also:

When to use
Methods and assumptions
How to use

When to use
To stabilize a process variable, or to stabilize an entire pipeline.

To model actual control functionality used to stabilize pipe flow.

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.
Figure A: PID controller used as a level controller

Methods and assumptions


The PID controller uses the Proportional-Integral-Derivative (PID) Algorithm, see below.

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

Actions taken when the controller becomes inactive (keyword INACTIVEMODESUBC):

 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
Compute output signal based on default input, given in key DEFAULTINPUT.
 NORMAL
No action for normal mode.

Proportional Integral Derivative (PID) Algorithm

A PID algorithm may be mathematically formulated as:

(a)

(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, i, d 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, i and d 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.

Table 1: Time constants for P, PI and PD controllers


Time constants d i
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.

How to use
See Connecting the controllers for an example on how to connect the PID controller.

The PID controller require 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.

Figure B shows the connection possibilities of the PID controller.


Figure B: PID controller connection terminals

PID controller example

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

(a)

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

(b)

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

(c)

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

(d)

we get the time constant of the control loop

(e)

and the damping coefficient

(f)

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.

Figure C: Response of level control to step disturbance.

From this figure, one can see that a damping coefficient from 0.5-0.7 will give satisfactory results for level control. Therefore, one may use the following procedure to select the
parameters for level control:
1. Size the drain valve so that it can deliver Qmax = two times the normal drain rate for the pressure difference between separator pressure and backpressure of the drain valve.
2. Set Kc < 2 and choose 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:

(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

(h)
or

(i)

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

(j)

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

Figure D: Response of flow control to step disturbance.

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

1. Estimate the upstream and downstream pressure over the control valve at the design flow rate. If the pressure difference is less than e.g. 0.2 bar, adjust the upstream or
downstream pressure so that the difference is at least 0.2 bar. This is considered a convenient pressure drop over a valve being used for flow control.
2. Size the valve so that it can deliver maximum flow rate = 2 times the designed value for the same pressure drop over the valve.

3. Set with A ranging from 1 to 10.


4. tp 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 tp has been chosen ti is found from the
definition of tp.
5. By choosing a different A, the same tp can be obtained for a different ti.

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.

See also:

When to use
Methods and assumptions
How to use

When to use
Use to model pressure safety valves. Use together with a valve or pressure driven source.

Methods and assumptions


The controller will compare one or more input variables (normally pressure) with a setpoint. If any one of the variable values becomes higher than or less than the setpoint, the
controller will open a selected PSV-valve. This could be the valve defined as a source valve. If all of the variables become greater or lower than the reset value, this valve is closed
again.

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

Figure A shows the connection possibilities of the PSV controller.

Figure A: PSV controller connection terminals

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.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The scaler controller scales the input signal linearly from the input range (LOWLIMIT to HIGHLIMIT) to the ouput range (MINSIGNAL to MAXSIGNAL).

u = (MAXSIGNAL-MINSIGNAL) / (HIGHLIMIT - LOWLIMIT) * (y - LOWLIMIT) + MINSIGNAL


where
y - measured variable
u - unconstrained output

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

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The controller algorithm is best described by an example:

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.

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.

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 Χοννεχτινγ τηε χοντρολλερσ φορ αν εξαµπλε ον ηοω το χοννεχτ α χοντρολλερ.

Connect one or more limit signals (HIGHLIMITSIG/LOWLIMITSIG).

Define the controller used at start of simulation (keyword INITIALCONTROLLER).

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

Figure B show the connection possibilities of the Selector controller.


Φιγυρε Β: Σελεχτορ χοντρολλερ χοννεχτιον τερµιναλσ

STD Controller
The controller converts mass flow rate to volumetric flow rate at standard conditions.

See also:
When to use
Methods and assumptions
Limitations
How to use

When to use
Use to control a volumetric flow rate at standard conditions.

Methods and assumptions


The controller converts mass flow rate to volumetric flow rate at standard conditions.
Fluid properties are calculated from the given fluid table (FLUID), or composition (FEEDNAME) at standard conditions. Standard conditions;
pressure = 1 atm and temperature = 60 °F (~15.5 °C) .
If neither of GOR/CGR/WGR/WATERCUT/MOLWEIGHT are given, the fluid table/composition phase distribution at standard conditions will be
used to calculate the overall mass flow rate.

Limitations
Standard conditions, pressure = 1 atm and temperature = 60 °F (~15.5 °C), must be included in the flui d table.

How to use
To convert from mass flow at to volumetric flow rate at standard conditions:
Σετ χορρεχτ πηασε ιν ΠΗΑΣΕ κεψ. Σπεχιφψ τηε φλυιδ ιν τηε ΦΛΥΙ∆ ορ ΦΕΕ∆ΝΑΜΕ κεψσ. Σπεχιφψ τηε ωαντεδ ΓΟΡ/ΧΓΡ/ΩΓΡ/ΩΑΤΕΡΧΥΤ/ΜΟΛΩΕΙΓΗΤ, ανδ τηε
ϖολυµετριχ φλοω ρατε ατ στανδαρδ χονδιτιονσ ωιλλ βε χαλχυλατεδ.
Χοννεχτ τηε ΣΤ∆Χοντρολλερ ουτπυτ τερµιναλ ΟΥΤΣΙΓ το αν ΠΙ∆ χοντρολλερ ΜΕΑΣΡ∆ τερµιναλ.

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.

See also:

When to use
Methods and assumptions
How to use

When to use
Use to select between alternative inputs to controllers or valves.

Ex. Alternative inputs to valves.


Ex. Alternative measured signals to controllers.

Methods and assumptions


The output of the switch controller is selected based on the setpoint in MODE = AUTOMATIC or SETPOINT terminal if MODE = EXTERNALSETPOINT.

SP < 1.5 unconstrained output A is set equal to controller at terminal INPSIG_1

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

....

(N-0.5) <= SP unconstrained output A is set equal to controller at terminal INPSIG_N

Where N is the number of connected input terminals INPSIG_1..N


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.

The figure below shows how INPSIG_1..4 is connected to OUTSIG.

Table Controller
The table controller make it possible to tabulate a relation between the controller input and the controller output.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
Use to define a non-linear relation for a process variable.

Methods and assumptions


A table controller uses the input variables as lookup variable, x, in a table, u = f(x). The controller output is u.

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 tables. 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 a transmitter with the correct units, and connect to the controller. The table controller require that the input signal (INPSIG) terminal is connected.

Figure B shows the connection possibilities of the table controller.

Figure B: Table controller connection terminals

When to use
The transmitters are used together with the controllers. The transmitters are used together with the controllers to provide measured values from flowpaths, process equipment, nodes,
separators and phase split nodes. All output signals need to be defined by transmitter, the only exception is an output signal going from a controller.

Methods and assumptions


The transmitter creates a trend object and update the signal terminal every time step. That implies that every variable available for trending is available from a transmitter.

The signal is converted to user specified units. If no unit is given, the default unit is used.
One transmitter can only measure one variable. However, it can transmit to an arbitrary number of controllers (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 flowpath, using pipe and section/section boundary or absolute position flowpath, using process equipment as position node (type pressure or
massflow)separator phase split node
Make the connection between the transmitter, and the receiving signal terminal, the variable and unit as defined in the transmitter keyword.
After making a connection from the transmitter (ex. OUTSIG_1), a new terminal will be made available (ex. OUTSIG_2). One transmitter can transmit an arbitrary number of variables
(from a single position).

Corrosion
The purpose is to calculate standard uniform CO2 corrosion and Top Of Line (TOL) CO2 corrosion.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
CO2 corrosion should be expected whenever CO2 and water is present.

License requirements
The Corrosion Module requires a separate license.

Methods and assumptions

The basic chemical reactions in CO2 corrosion are:

(a)

which dissociates in two steps:

(b)

(c)

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:

(d)

These films can be more or less protective for further corrosion.

Currently, three CO2 corrosion models; the NORSOK model , the de Waard 95 model and the IFE top-of-line corrosion model have been implemented in the OLGA three-phase flow
model /5/, /8/, /18/. The de Waard 93 corrosion model was included in earlier versions, but has now been replaced with the top-of-line corrosion model. Corrosion dominated by H2S
is at present not covered by the corrosion module.

The NORSOK and de Waard 95 models are both regarded as conservative models as they include only limited effects of protective corrosion films. Protective corrosion films can
form especially at high temperature (above 60 °C) a nd 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:

CR = f(pH, T) * g(T) * h(PCO2, τ) (e)

The de Waard 95 model gives the corrosion rate according to the following formula:

CR = (1 / (1 / Vr + 1 / Vm)) * Fscale (f)

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

Vr = f(T, pH, PCO2), (g)

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:

Vm = C * PCO2 * UL0.8 * DH0.2, (h)

and the scale protection factor Fscale is a function of temperature and CO2 partial pressure:

Fscale = g(T, PCO2) (i)

In the IFE top-of-line corrosion model the top-of-line corrosion rate is limited by the amount of iron that can be dissolved in the condensed water:

CR = a * Rcond * CFe * (b - T) (j)

where Rcond is the water condensation rate calculated by OLGA and the solubility of iron in the condensing water CFe is a function of CO2 partial pressure and temperature:

CFe = f(T, PCO2) (k)

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:

 FLASHMODEL = WATER in OPTIONS.

When using compositional tracking (COMPOSITIONAL=ON IN OPTIONS). TOL can only be used when specifying:

 FLASHTYPE= FULLTHREEPHASE or SIMPLETHREEPHASE in COMPOPTIONS.

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:

 CO2 mole % in the gas (key: CO2FRACTION)


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

Currently, the bicarbonate, glycol concentrations, ionic strength and water wetting limit are given as constants for a given branch. The glycol concentration can either be set manually
or be determined by the 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.

The water wetting conditions are determined as follows:

First, the water-oil flow regime is determined by the flow model. There are mainly two flow regime conditions of concern for the corrosion model:

1. A continuous water film exists (WCWALL = 1.0). A continuous water film may be a result of stratification, or due to a 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 1 will always give water wetting of the wall.

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.

See also:

CORROSION Keys
Corrosion Output Variables
Sample case for Corrosion

Limitations
The corrosion models are not valid if pH > 6.5 or if T > 150° C. In cases where corrosion control by p H 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 lim its 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.
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.

See also:

When to use
Methods and assumptions
How to use
Limitations

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 fluid is dependent on option drilling which is part of the Wells module. The Wells module requires a separate license.

Methods and assumptions


There are two methods for determining the physical properties of the drilling fluids: Interpolation in PVT tables or use of built-in correlations. Only one method can be used in a single
case.
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 does not affect the phase behavior/envelope of
the process fluids.

Interpolation in the PVT tables


When using the PVT tables, the drilling fluid properties like densities and viscosity are tabulated as a function of pressure and temperature. The non-Newtonian behavior is accounted
for through the apparent viscosity for flow calculations.

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:
Component Component Description
ID name
Hydrocarbon
1 HC
mixture
2 H2O Aqueous mixture
3 MEG Hydrate inhibitor
Min gas density
4 GDENMIN tracer for drilling
fluid (WATER/OIL)
Max gas density
5 GDENMAX tracer for drilling
fluid (WATER/OIL)
Min gas viscosity
6 GVISMIN tracer for drilling
fluid (WATER/OIL)
Max gas viscosity
7 GVISMAX tracer for drilling
fluid (WATER/OIL)
Min oil density
8 ODENMIN tracer for drilling
fluid (WATER/OIL)
Max oil density
9 ODENMAX tracer for drilling
fluid (WATER/OIL)
Min oil viscosity
10 OVISMIN tracer for drilling
fluid (WATER/OIL)
Max oil viscosity
11 OVISMAX tracer for drilling
fluid (WATER/OIL)
Min water density
12 WDENMIN tracer for drilling
fluid (WATER/OIL)
Max water density
13 WDENMAX tracer for drilling
fluid (WATER/OIL)
Min water viscosity
14 WVISMIN tracer for drilling
fluid (WATER/OIL)
Max water
viscosity tracer for
15 WVISMAX
drilling fluid
(WATER/OIL)
16 CUTTING Cuttings

Limitations
A fluid definition used to specify a drilling fluid cannot be reused as a fluid in a branch or a node. If the same fluid table is to be used in both places, the fluid file needs to be copied
and added twice, using one fluid definition to create the drilling fluid and the other as process fluid.

How to use
In order to invoke the Drilling Fluids, the key DRILLING in the OPTIONS keyword must be set to ON, 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, TYPE = GASMUD, OILMUD or WATERMUD. The drilling fluid type determines which phase the drilling fluid enters.

Interpolation in the PVT tables


The drilling fluid properties can be identified through a fluid property table in the fluid properties file, use the FLUIDTABLE key to refer to the 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 Fluid Definition Tool in the Wells GUI or the Mud Property Table application available in
the Tools menu.

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.

Boundary conditions using drilling fluid


Drilling fluids can be injected into the models using either sources or boundary specifications in the SOURCE and NODE keywords. In sources drilling fluid inflow must be specified in
mass units, generally kg/s. Time series of mass inflow rates are allowed. Normally GASFRACTION and TOTALWATERFRACTION must be set to zero so the MASSFLOW specified
refers to drilling fluid mass 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 inject drilling fluid into the model through a pressure boundary (NODE). The drilling fluid used must be identified by label in the NODE keyword. The drilling fluid
label, density and viscosity in the NODE must be consistent with the label and density and 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
In addition the keywords below provide useful information:
· ANNULUS to specify the annulus configuration (thermal interactions)
· POSITION to specify initial bit position and leak-to positions
· LEAK to specify TOPOSITION (useful for simulating well unloading valves)

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/decrease, commonly known as water hammer, can be significantly reduced if the pipe is allowed to expand/contract. The expansion/contraction 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 (see Methods and assumptions). 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) .

Figure A: Pressure in section upstream of a near instantaneously closing valve.

The effect of the flexible pipe is most pronounced in the instantaneous change in pressure that occur 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 pressure increase due to packing is actually higher in the case with flexible walls.

Theoretical comparisons
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)
where ∆P is the change in pressure and ρ is the fluid density
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.

Figure B: Water hammer calculation in OLGA vs. theoretical equations (rigid walls).

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 (see Figure B). 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).

Section length considerations


The deflection of the section wall is assumed to be uniform (uniform expansion/contraction) and the deflection of the pipe wall in one section is assumed to have no influence on the
deflection in neighboring sections. This is a simplifying assumption that is based the fact that pipes walls are normally relatively thin, and that section lengths are larger than the pipe
diameter. In order to argue the validity of this approximation, we can look at the case presented in Figure C. This illustrates a longitudinal slice of a pipe with a pressurized section of
length L, the rest of the pipe is in equilibrium with the ambient pressure Pa. The pipe is assumed to be relatively long compared with L, the radius R and the wall thickness e.

Figure C: Single section with pressure not equal to ambient pressure.

The solution to this problem can be expressed in terms of the solution of the uniformly loaded and uniformly expanding pipe and a scaling a function, w (reported by e.g. Timoshenko
and Woinowsky-Krieger). The function w has a natural length scale kL = L ( R e )-1/2, where all problems with equal kL will have identical scaling functions. The average value of w
over the length L is presented in Figure D as a function of kL. In this graph, a value of 1 represents the solution given by OLGA and a value less than 1 represents a smaller change in
volume. Although OLGA will over estimate the change in volume inside the section, it is apparent that the OLGA solution give a reasonable approximation for kL >= 10, which will give
a deviation of less than 2%. Similarly, one can argue that the change in volume outside the loaded section, not accounted for by OLGA, will rapidly diminish for increasing section
lengths. We therefore recommend using section lengths larger than 10 ( R e )1/2 when the elastic wall option is used. In normal circumstances this will not constitute a limitation as the
thickness is generally smaller than the radius; given a case with the e = R, the section length will then have to be 5 times the pipe diameter.
Figure D: Average deflection of section wall in Figure C scaled with deflection of pipe with uniform internal pressure.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The solution of the full fluid-structure interaction would entail solving an additional elliptic partial differential equation on a far smaller time scale than required by the isolated fluid flow
problem. However, by introducing some assumptions, the equations can be decoupled and significantly simplified. In the derivation of the equations used by OLGA we will make the
following assumptions:
1. Linear elastic materials
2. Small deformations of pipe wall (change in diameter << diameter)
3. Uniform radial expansion (neglecting section end effects and interaction)
4. No dynamic effects of pipe wall (no wall inertia)
It is up to the User's discretion to verify that these assumptions are valid when using the elastic wall option in OLGA.
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)

where κfluid is the compressibility integrated over all phases:

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

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

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

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

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.

Elastic wall properties may be changed in restart runs.

Figure A: Insulated pipe. If the stiffness of the steel protective casing is included, the wall flexibility will be very conservative.

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

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
HydrateCheck should be used when there is a risk of reaching the temperature/pressure region where water can form hydrates.

Methods and assumptions

The program does the following:


1. For a given pressure and inhibitor concentration in a section, the temperature below where hydrate may form is determined from the hydrate formation curve. The
difference between the hydrate formation temperature and the fluid temperature is then calculated, i.e. the volume variable DTHYD is updated.
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.

Interpolation and extrapolation of the hydrate curves:


An imaginary square is formed to define the limits of the hydrate curve(s).

When hydrate curves for different 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).
Figure 1 Hydrate 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 the Hammerschmidt equation is used (HAMMERSCHMIDT = ON), the hydrate temperature is calculated based on the actual inhibitor concentration.

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 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 1 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 OPTIONSOPTIONS, 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) does not affect the hydrate curve calculations.

This effect can be calculated in two ways:

1. HAMMERSCHMIDT = OFF: One hydrate curve per inhibitor concentration (INHIBCONC) must be given. OLGA will then interpolate between the curves defined in
the HYDRATECHECK. One HYDRATECURVE keyword must be defined for each curve and concentration.
2. HAMMERSCHMIDT = ON: The Hammerschmidt equation (see ”The Inhibitor tracking module” ) will be used based on the hydrate curve for no inhibitor. The
equation is valid for inhibitor concentrations between 0% and 70%.

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, and the transport properties of cold
flow hydrate slurries. The current version of CSMHYK model (version 2) incorporates three distinct models for hydrate formation, growth and transport. The KINETIC model is suitable
for systems with small mass and heat transfer resistances inside of the pipeline. The TRANSPORT model includes mass and heat diffusion through the particle boundary layer and
hydrate shell so that both heat and mass transport limitation will be taken into account. The COLDFLOW model is intended to simulate a fully formed cold hydrate slurry system in
which only growth and possible agglomeration of already formed hydrate particles is considered.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


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 KINETIC model only considers the hydrate reaction
kinetics themselves, and so assumes that heat and mass transfer resistances are low. The TRANSPORT model takes heat and mass transport into account in addition to the reaction
kinetics. This model assumes that the water phase is fully dispersed in the oil phase. The COLDFLOW model assumes that the hydrate nucleation is fully formed in the cold fluid and
that only hydrate particle growth and agglomeration is taking place.

Hydrate reaction
The model assumes that hydrate formation will commence after sufficient sub-cooling (SUBCOOLING). The default sub-cooling is 6.5°F. Whether the nucleatio n is assumed
independent of other thermodynamic properties than the hydrate equilibrium temperature at the given system pressure depends on the choice of model.

Whether hydrates with properties of SI or SII structure are formed depends on the key STRUCTURE.

The hydrate formation reaction will by default react gas (methane) hydrocarbons with liquid water to form hydrate particles (OILGUESTFRACTION=0 and GASGUESTFRACTION=1).

The HYDRATEOPTIONS key GASGUESTFRACTION is the mass fraction of gas available for hydrate formation to all the gas in a section, mg, i.e.,

(a)

The HYDRATEOPTIONS 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.
The hydrate reaction rate is limited to the mass available to react. First the gas mass will react, then the oil mass will react. TRANSPORT and COLDFLOW model use a file
(METHANECONCFILE) containing concentration data for methane in bulk, and in equilibrium with hydrate to calculate mass diffusion. It is assumed that enough free gas is present
so that the bulk concentration of methane in the oil does not change.

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, &gamma;hos, is calculated by the Colorado School of Mines code:

(c)

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. For TRANSPORT
and COLDFLOW data for methane is used for diffusion mass transfer.

No deposition on wall is activated.

Immediate nucleation of the hydrate particles (no induction time).

How to use
The hydrate kinetics model is activated through the HYDRATEKINETICS keyword. HYDRATEKINETICS keyword is a FlowPath FA-Model (Flow Assurance Model). The tuning keys
for thermodynamic, intrinsic, transport and slurry behaviour is located in the keyword HYDRATEOPTIONS, which is added to the FlowPath along with the HYDRATEKINETICS
keyword if these tuning keys are to be adjusted.

The HYDRATEKINETICS references a HYDRATECHECK that describe the hydrate equilibrium temperature, and which must be present on the same FlowPath.

Inhibitor Tracking Module


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

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


The following assumptions are made for inhibitor tracking:

 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.
 The mole fraction of inhibitor in gas is equal to the vapor pressure divided by the system pressure.
 There is no diffusion of MEG in the aqueous phase.
 The inhibitors do 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 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.
 The active coefficients of inhibitor and H2O from UNIFAC correlations are used to calculate the chemical potentials of MEOH/ETOH and H2O in the aqueous phase.

The Inhibitor tracking module uses a fluid of three components, namely

1. HC Hydrocarbon in oil and gas phase


2. H2O Water, which can be in the gas and the aqueous phase.
3. Inhibitor (MEG, MEOH or ETOH).

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

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

Specify the following keywords to use the Inhibitor tracking module:

 OPTIONS to set COMPOSITIONAL = MEG/MEOH/ETOH


 SOURCE to specify INHIBFRACTION in the mass source
 INITIALCONDITIONS to specify INHIBFRACTION at initial time (if STEADYSTATE = OFF in OPTIONS)
 NODE to specify INHIBFRACTION at the boundary
 TRENDDATA/PROFILEDATA/OUTPUTDATA to print compositional variables for given components
 HYDRATECURVE and HYDRATECHECK to calculate the effect on the hydrate formation temperature

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.

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
Use to simulate leaks and pipe ruptures. It is also used for gas lift valve (GLV) modeling.

Methods and assumptions


A leak or a pipe rupture is described as a negative mass source (mass out of the pipeline). The leak area can be controlled by the control
system. Both sub-critical and critical flow is supported in OLGA. For sub-critical leak flow, the flow rate is governed by the difference between the
internal and the external pressures, the conditions in the pipe and the leak area. For critical leak flow, the flow rate is governed by the conditions
in the pipe and the leak area only. The leak flow is always limited to critical flow.

The leakage flow area is calculated from:

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.

A leak can also be used to simulate a gas lift valve (GLV).

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.

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

Near-Wellbore Module
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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


The reservoir model is considered as a plug-in to the OLGA model, and the integrated simulation is fully controlled by OLGA. During the simulation, OLGA provides the wellbore
pressure to the reservoir model and the reservoir model calculates the flow rate of each phase at the interface. The flow rates can be positive or negative depending on the flow
directions corresponding to production and injection respectively. In case of injection or back seepage, the phase mass fractions in the wellbore section that the reservoir model
interfaces to are converted to saturations in order to calculate the fractional injection rate for each phase.

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.

Rocx is also equipped with blackoil simulation functionality. In this case the flow rate of each blackoil component is computed in addition to the phase rates.

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.

The principle of the implicit coupling can be summarized as follows:

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

The sensitivity coefficient is calculated by

(b)

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

For three-phase simulations 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 preprocessor in OLGA can not be applied for OLGA Rocx blackoil simulations. 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”.

OLGA HD
OLGA HD is a flow model applied for stratified and large wave flow. The model is developed to provide more consistent, scalable and accurate predictions of pressure drop and holdup
for systems dominated by these flow regimes.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
The OLGA HD stratified flow model can be used for all simulations.

License requirements
The OLGA HD Module requires a separate license.

Methods and assumptions


The OLGA HD model is a friction model used for stratified and large wave flow. It applies a parameterized 2-D velocity distribution to obtain frictions and velocity shape factors in the
cross section. Combining the 2-D velocity distribution with the 1-D conservation equations yields a 3-D representation of a slowly evolving flow. The model handles 1-3 layers, and
uses a generic layer model as shown below.

This model is used for all three layers. Coupling the layers yields a full three-phase model. We have an analytic expression for the velocity distribution in the generic layer.
Dispersions are assumed to travel with the same velocity as the continuous phase. i.e. we assume local no-slip. Non-uniform distributions yield a profile slip (bulk slip).
Pre-integration yields a generic wall friction law formulated as a generalized friction factor relation. It reduces to the well known Colebrook formula in the case of single phase flow.
Continuity in forces and velocities across the interfaces is used to find a generic expression for the interface friction. Altogether this yields a consistent set of expressions for wall and
interface frictions and velocity shape factors comprising a 3-D flow description at 1-D evaluation speed.

Limitations

The Slug Tracking Module applies the standard flow model for stratified flow in the numerical segments containing slug fronts or slug tails.
The OLGA HD stratified flow model is not compatible with the Complex Fluid module(FLUID TYPE = COMPLEXFLUID).

How to use

The OLGA HD flow model is activated by setting OPTIONS FLOWMODEL = OLGAHD.

Phase split node


The phase split node is based upon the functionality of an INTERNAL NODE, but the phase fractions can be specified in the outgoing branches. For a normal internal node the
composition flowing out of each terminal connected is equal to the total composition in the node itself, but for a phase split node there will be different distributed phase flows through
each of the outgoing branches according to the actual type of terminal chosen. In a way the behaviour of the phase split node might be seen as a simple type of network SEPARATOR
where there are no level controls and no internal separator efficiencies included.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


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.

Terminal = GAS - gas +droplets


Terminal = OIL - oil bulk
Terminal = WATER - water bulk
Terminal = LIQUID - oil and water bulk
Terminal = DRYGAS - gas only
Terminal = MIXTURE - all phases within the node itself(default)

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
How to use
Input

Connections to external pipelines


The following connections are defined:
· MIXTURE_1, … MIXTURE _N inlets and outlets
· GAS_1, … GAS_N outlets
· OIL_1, …OIL_N outlets
· WATER_1, …WATER_N outlets
· LIQUID_1, ... LIQUID_N outlets
· DRYGAS _1, … DRYGAS _N outlets

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.

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.

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, e.g.,

1. the pressure drop over a pig.


2. the rate and total volume of liquid pushed out of a pipeline ahead of a pig.
3. the liquid content of a pipeline before and after pigging.
4. the flow restriction caused by a pig.
5. the velocity of a pig.
6. the time for a pig to traverse a pipeline.
7. amount of wax dislodged from the wall.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Any wax related features are part of the Wax Deposition Module that requires a separate license.

Methods and assumptions


General
When running a pigging operation, it is optional whether or not the slug-tracking framework is to be engaged in order to track the liquid slug in front of the pig. Cf. pig-tracking and
plug in OLGA 5, respectively. Contrary to OLGA 5, these two options use a unified scheme. This implies that differences between two such simulations should only be attributed to
effects associated with the differences between explicitly treating liquid slugs or treating them in an average manner.

Explicit tracking of the liquid slug in front of the pig yields a more stable and accurate simulation that properly accounts for the liquid build-up downstream of the pig. If the liquid slug
is not explicitly tracked, the liquid pushed through the pipe by a pig is only treated in an average fashion and no distinct build-up of liquid is seen. When running such a simulation in
OLGA 5, the interfacial friction boundary downstream of the pig is infinite, resulting in equal gas and liquid velocities on the downstream section boundary. This implies that the liquid
film ahead of the pig is pushed through to the next control volume with no possibility of liquid build-up. In the present model, this restriction has been eliminated, resulting in a more
physical description of the flow downstream from a pig. The improved physical model comes at the price of a slightly less stable numerical scheme. As the model allows for liquid
build-up in front of the pig, it also runs at the risk of a hold-up approaching 1.0 as the pig approaches a section boundary. Since the hold-up in front of the pig is an average hold-up
between the pig and the downstream boundary, this output variable will show large swings in connection to pigs crossing section boundaries. This is not a physical result, but merely
an artifact of averaged hold-ups not being able to capture the actual build-up of liquid. Furthermore, as a consequence of the hold-up reaching 1.0 downstream the pig, there will be a
larger leakage due to the numerical scheme, which in turn results in a seemingly less efficient pig as compared to the OLGA 5 plug model. It should be noted that in order to properly
capture the physics, it is necessary to explicitly track the liquid slug forming in front of the pig.

Friction forces and pigs


The friction forces acting on a pig are described in the following sections. For effects related to wax, please refer to separate section below.

Static friction force


The static force between the pig and the pipe wall is denoted F0. For a static pig, this is the force that needs to be overcome in order for the pig to start moving. Thus, a pig only starts
moving if the pressure difference over the pig yields a large enough force.

Wall friction force


The wall friction force due to contact between the pig and the pipe wall is given by

(a)

where
F0 = static friction force [N]
fw = wall friction factor [Ns/m]
Up = pig velocity [m/s]

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.

Viscous friction force — the frictional pig model


When a pig is moving, the flow of the fluid film around the pig results in a viscous friction force. This force is calculated through

(b)

where
f1 = linear friction factor [Ns/m]
f2 = quadratic friction factor [Ns2/m2]
Up = pig velocity [m/s]

Leakage
There are two different types of leakage.

Pressure drop induced leakage


Due to the pressure drop over the pig, liquid can be pushed from behind the pig to in front of it. The pressure drop induced volumetric flux is given by

(f)

where
cpl = leakage factor [-]
&Delta;Ppig = pressure drop over the pig [Ns2/m2]
&rho; = density [kg/m3]

Slip induced leakage (back leakage)


Due to slip between the pig and the fluid surrounding it, some fluid ahead of the pig will not be carried along by it but rather leaks between the pig and the pipe wall. When the gap
between the pig and pipe wall is very narrow, the effects of gravity and the pressure gradient can be neglected when calculating the flow of the fluid film that passes around the pig.
Assuming laminar flow, the average film velocity becomes

(g)

where
Up = pig velocity [m/s]

Using this, the volumetric flow rate is then given by

(h)

where
D = inner pipe diameter [m]
Dp = outer diameter of pig [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.
Pig and Wax
Wax related friction forces
When there is a wax layer on the pipe walls, an additional friction, Fwbf, will occur due to the forces required to break the wax layer off the wall. The wax layer breaking force is
modeled as

(c)

where
C = wax breaking force coefficient [-]
&tau;y = wax layer yield stress [Pa]
&phi; = wax porosity [-]
L = wax layer thickness [m]
d = inner pipe diameter [m]
&eta; = pig wax removal efficiency [-]
&Phi; = pig form factor [-]

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=&radic;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.

If the wax layer yield stress is determined internally, it is given by:

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

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

(e)

where
&mu;liq = oil viscosity with no consideration to the precipitated wax [Pa s]
&Phi;wax = volume fraction of precipitated wax [-]
d&nu;x/dy = shear rate [1/s]
D = 18.12
E = 405.1
F = 7.876 &sdot; 106

The plastic viscosity is found by setting the shear rate, d&nu;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."

N.B., 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 by the "virtual" wax plug. Furthermore, the gravitational effects of a wax plug are assumed to be taken into account by the standard scheme.

Wax mass transfer from wall due to pigging


When performing a pigging operation to remove wax from the pipe wall, an additional term is added to the standard shear related wax transport term (solid wax mass transport
between bulk and wall) for the section where a pig is located. This mass transfer rate is given by

(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 &eta; is the pig wax removal
efficiency [-]. The mass removed from the wall is added to the fluid downstream the pig.

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

Launch and trap position of the pig


A pig is launched and trapped at the boundaries closest to the positions given by the keys LAUNCHPOSITION and TRAPPOSITION, respectively. The trap position is optional, and if
not specified, the pig traverses through the flow-paths until it exits through a terminal node and is removed.

Routing — Pig in network


In a network with bifurcations, the pig will enter the flow-path having the largest volumetric flow unless its routing is specified by the key ROUTING. N.B., when routing is given, the
flow-path where the pig is launched has to be included in the routing.
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:
1. Specify the leakage factor directly through the key LEAKAGEFACTOR.
2. Specify the relative leakage opening Aleak/Apipe through the key LEAKOPENING and evaluate the leakage factor according to

3. Using the pressure loss coefficient, Fpig, specified through the LEAKDPCOEFF key, the leakage factor is given by

The pressure loss coefficient can calibrated by letting fluid flow past a stationary pig.

Tracking the liquid slug


In order to track the liquid slug in front of a pig, set TRACKSLUG=ON.

Pig and Wax


When using the Wax Deposition Module (requires separate license), a number of input keys become available when simulating a pigging operation.
 PGWXFORMFAC: wax cutting efficiency.
 WPPLASETVISC: plastic viscocity of wax plug. Set this parameter to -1 in order to use internal model.
 WPPOROSITY: porosity of wax plug.
 WPYIELDSTRESS: yield stress of wax plug. Set this parameter to -1 in order to use internal model.
 WXBRFCOEF: wax breaking force coefficent. Can, e.g., be used to account for effective shear surface orientation.
 WXRMEFF: wax removal efficiency.
 WXBRFCOEF: yield stress of wax layer on wall. Set this parameter to -1 in order to use internal model.

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.

Check valve
A check valve prevents the total flow from flowing in the wrong direction.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
Use to model check valves, and to prevent the flow from flowing in an undesirable direction.

Methods and assumptions


The check valve closes if the total volume flow is in the wrong direction, e.g., there can be a negative flow of liquid and positive flow of gas through the check valve. They remain closed
until the pressure difference across them is sufficiently large to give flow in the desired direction.

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.

Set the allowed flow direction in the DIRECTION key.

Centrifugal Pump
The CENTRIFUGALPUMP keyword is used to model rotodynamic pumps.
See also:
When to use
Methods and assumptions
Limitations
How to use

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.

Use the Centrifugal pump to 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.

License requirements

The centrifugal pump are part of the Multiphase Pump Module that requires a separate license.

Methods and assumptions


Theory and multiphase dynamics
For a generalized multiphase centrifugal pump, the pressure increase over the pump, ∆P, is dependent on the flow rate Q, pump speed N, inlet gas volume fraction aI, and the pump
inlet pressure PI:
(a)

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

(b)

where PO is the pump outlet pressure, PI the pump inlet pressure and rl the liquid density. For a compressible gas, and assuming a polytropic process, the work done by the pump is:

(c)

Where n is the polytropic constant and ρg,I the gas density at pump inlet.

The work input to the gas is equal to the increase in the gas enthalpy. When the gas is assumed to be ideal Win can be written as:

(d)

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:

(e)

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:

(f)

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

Figure A: Example of a Centrifugal Pump Characteristic at GVF=0%


Figure B: Example of a Centrifugal Pump Characteristic at GVF=70%

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:

- head ratio - flow ratio

- speed ratio - torque ratio (g)

where subscript R means rated value.

OLGA interpolates over four quadrants of homologous curve sets, all defined in terms of the above non-dimensional variables. Each quadrant curve set includes:

 Single phase head HS


 Two phase head HT
 Single phase torque THS
 Two phase torque THT

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)

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

(i)

Table 1: Dependence of Pump Head on Pump Speed and Flow Rate

Curves Independent
Range Dependent variables
variables

1 w > 0, q/w h/w2

2
q > 0,
w/q h/q2

3 q < 0, w/q h/q2

4 w < 0, q/w h/w2

Table 2: Dependence of Pump Torque on Pump Speed and Flow Rate

Curves Independent
Range Dependent variables
variables
1 w > 0, q/w b/w2

2 q > 0, w/q b/q2

3 q < 0, w/q b/q2

4 w < 0, q/w b/w2

Figure C: Single Phase Homologous head curves


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 Pump Bypass And Recycle.

Energy balance

The total power input to the fluid from the OLGA centrifugal pump is:

(j)

where TH is the pump hydraulic torque, ω the pump speed and ηM the pump mechanical efficiency.

Limitations
The recycle flow and bypass flows around the OLGA centrifugal 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
Add the CENTRIFUGALPUMP keyword to the desired flowpath.
Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or POSITION (an alias)
Χηοοσε ανψ αππλιχαβλε µεανσ οφ χοντρολλινγ τηε πυµπ σπεεδ.
σπεεδ

Pump setup

The OLGA Centrifugal Pump requires DENSITYR (same 900 kg/m3 default, or specified), FLOWRATED, SPEEDR, 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.

Ψου µαψ οπτιοναλλψ εντερ χυστοµ τρανσιεντ χεντριφυγαλ πυµπ περφορµανχε χυρϖεσ το πρεχισελψ ρεπρεσεντ τηε εξαχτ τρανσιεντ ρεσπονσε
συρφαχε φορ ψουρ αχτυαλ πυµπ. Ηοωεϖερ, νοτε τηατ µοστ µανυφαχτυρερσ δο νοτ πυβλιση πυµπ χυρϖεσ διρεχτλψ ιν τηισ φορµατ, ανδ ιτ µαψ
αλσο βε διφφιχυλτ το οβταιν δεγραδεδ µυλτιπηασε περφορµανχε χυρϖεσ υπ το τηε µαξιµυµ δεγραδεδ Γασ ςολυµε Φραχτιον (ΓςΦ) φορ ψουρ
παρτιχυλαρ ηαρδωαρε ανδ αππλιχατιον (οφτεν σοµεωηερε ιν τηε ρανγε οφ 30 − 70% ϖαπορ ϖολυµε).Φορ µορε σπεχιφιχ ινφορµατιον αβουτ τηε
τηεορετιχαλ βασισ οφ τηεσε σπεχιαλ ΟΛΓΑ ινπυτ ρεθυιρεµεντσ, χονσυλτ Ταβλε 1, Ταβλε 2, ανδ Φιγυρε Α οφ τηε Πυµπ − Μετηοδσ ανδ
Ασσυµπτιονσ τοπιχ.
τοπιχ
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.
This pump 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 in Pump Bypass And Recycle.

Controlling the pump speed


The following options are available for controlling the pump speed:

1. Pump speed regulated by controller (All pump models(*) except PressureBoost):

a. Controlled manually by specifying time and speed series in the controller definition.
b. Regulated by a physical parameter. The speed is calculated by:
(a)

where Nmax is the maximum pump speed (defined by user), Nmin is the minimum pump speed (defined by user) and u the signal from the controller.

2. Controlled by an override controller (Only for centrifugal and displacement pumps):

To adapt the pump to the production change (because the recycle flow is at upper or lower limits), the pump speed will be changed automatically according to the required
speed variation (speed acceleration). The speed variation may be given in form of:

(b)

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 :

(c)

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.

(*) The Framo pump model has buildt in speed control, and input speed changes will be restricted by a speed rate change.

Optional Built-In Bypass and Recycle


The bypass and recycle line is included for the

 Centrifugal pump
 Displacement pump
 Framo pump

To activate OLGA's simplified Bypass feature specify BYDIAMETER or BYCVTABLE and connect a bypass controller of your choice. Use BYCHECK to enable/disable a check valve
in bypass line. BYSTROKETIME sets the valve opening/closing time. (Only the Framo pump supplies - BYCVTABLE, BYCHECK and BYSTROKETIME.)

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. The Framo recycle is required, and is specified with RECV or RECVTABLE.

Further details about the internal workings of these simplified Bypass and Recycle features are provided in the following text, equations, and block flow diagrams.

A common multiphase transportation system with pump is shown in Figure A.

Figure A: Multiphase Transportation System with Pump

Within OLGA, this system will be simplified as shown in Figure B. 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 = Ud = Ul = U (a)

OLGA also permits the user to add a separate VALVE keyword at the same section boundary where a centrifugal pump or Framo 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).

Figure B: Multiphase Transportation System modelled in OLGA

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.
Recycle and bypass flow
Recycle and bypass flows are only defined for centrifugal (not simplified) and displacement pumps. The recycle flow, GR, is considered as the flow through a controlled choke. The
flow is calculated with a given pressure difference between the two sides of the choke, ∆Pch, and the choke upstream conditions. The choke upstream condition is taken from the
pump downstream section (pump pressure side). The choke flow can be regulated by a controller.

If the recycle flow is in subcritical condition, GR is calculated by:

(b)

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.

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.

See also:

Methods and assumptions


Limitations
How to use

Methods and assumptions


The compressor is modelled as a flow-dependent and rotational-speed-dependent pressure jump and energy source. Any recirculation around
the compressor is treated by a source into the section upstream of the compressor, and a sink out of the section downstream of the compressor,
as OLGA cannot handle recirculation directly.

The compressor characteristics and the surge volume flow are given in the form of tables. The compressor surge volume flow is the lowest
volume flow the compressor can operate on without 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.

Compressor pressure step evaluation


The compressor pressure characteristics give compressor pressure ratio as a function of reduced rotational speed and reduced mass flow,
Equation (a) below.

(a)

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

Figure A shows a typical compressor characteristic diagram.


Figure A: Compressor characteristic diagram

The pressure increase over the compressor is calculated from the compressor pressure characteristics.

For calculation of the operating point, the compressor speed is necessary. The speed is governed by the control system and is limited by a user-
specified range. The range is normally determined by the speed range in the compressor tables.

r = (rmax - rmin) u + rmin (b)

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.

Compressor temperature calculation


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

Polytropic compression is assumed. The enthalpy source due to the compressor is:

(c)

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:

(d)

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

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

(f)

Calculation of surge volume flow


The surge flow is in the form of tables, with reduced surge mass flow as a function of reduced compressor speed, see Figure A. The surge
volume flow is used together with an optional security factor to establish a set point for the anti-surge controller (ASC) that controls the
recirculation around the compressor, preventing unstable compressor operation. Reduced surge mass flow as a function of compressor speed is
found by linear interpolation.

For a compressor located at boundary j the surge volume flow is calculated as follows:

(g)

Recirculation flow modelling


Recirculation flow around a compressor is modelled as a set of negative and positive sources, since OLGA cannot handle recirculation directly. The flow is controlled by a choke with
the choke opening governed by the control system.

The recirculation is between two neighbouring sections with a compressor on the common boundary, see 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.

Figure B: Recirculation loop

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.
The pressure drop over the restriction is:

(h)
Solving for W:

(i)

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.

(j)

(k)

where

g is specific heat ratio


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.

(l)

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:

(m)

is specific gas enthalpy based on the desired heat exchanger outlet temperature and pressure in the section where the source is entering.

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:

(n)

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.

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.

Controlling rotational speed


Compressor minimum rpm, MINRPM, and maximum rpm, MAXRPM, are specified by the user. These two parameters determine the operating range of the compressor and they
must be within the rpm range of the compressor tables. A controller can be used to regulate the speed within the operating range. The speed is calculated by Equation (b) above. If
the speed controller is omitted the controller signal will be zero and the compressor will use its minimum speed.

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.

Displacement Pump
The DISPLACEMENTPUMP keyword is used to model positive displacement (volume) pumps.
See also:
When to use
Methods and assumptions
Limitations
How to use

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.

Use the displacement pump to rigorously model the real nonlinear transient operation of a particular multiphase positive displacement pump (including recycle and bypass). OLGA
calculations are based on either built-in nonlinear curves for a "typical" pump, or detailed manufacturer's curves expressing that multiphase displacement pump's internal backflow
rate as a 5-dimensional tabular function of speed, dP, multiphase void fraction, inlet pressure, and liquid-phase viscosity.

License requirements
The displacement pumps are part of the Multiphase Pump Module that requires a separate license.

Methods and assumptions


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:

(a)

where

Q0 theoretical flow rate


Qb back flow rate
Qspc pump specific flow rate
N pump speed
∆P pressure increase across the pump
aI void fraction at the pump inlet
νI liquid kinetic viscosity
PI pressure at the pump inlet

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, ∆P, 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 Pump Bypass And Recycle below.

Energy balance

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 the isentropic compression work from inlet pressure, PI, to outlet pressure PI + ∆P.

Mechanical friction loss:

(b)

Viscous friction loss:

(c)

where

experiment coefficient for mechanical friction loss


a
b experiment coefficient for viscous friction loss
Nref pump reference speed
QPmf,ref mechanical friction loss at the pump reference speed
QPvis,ref viscous loss at the pump reference speed
Then, the total power input to the fluid is calculated as:

(d)

Limitations
The recycle flow and bypass flows around the OLGA 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
Add the DISPLACEMENTPUMP keyword to the desired flowpath
Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or POSITION (an alias)
NOTE: See Displacement Pump - When to use for OLGA module license requirements
Choose any applicable means of controlling the pump speed.

Pump setup
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 are used.
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).

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.

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 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
Displacement Pump - Methods and Assumptions section.

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 Pump Bypass And
Recycle.

Gas Lift Valve


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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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:
 Dimension and space the unloading valves along the wellbore.
 Calculate compressor discharge pressure required to unload the well.
 Check the possibility of flow instability such as casing heading, density wave instability. The GLV dynamics have major impact on the flow stability of gas lift systems.
 Trouble shoot problems such as interference of unloading valves during normal operation (simultaneous gas injections through more than one GLV).
 Find various remedies to flow instability.

Methods and assumptions

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.

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.
Figure A: Example of GLV Response Curves

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.

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:

(a)

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

Calculation of flow from curves


The standard volume gas rate through the GLV is found by linear interpolation in the response curves using the calculated injection pressure (upstream the GLV) and production
pressure (downstream). The response curves can be user-given (defined in LEAK/GASLIFTTABLES).

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:

(b)

where WG is the gas mass flux derived from the response curves, rG is the gas density and rmix 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:
(d)

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
a where the bellows temperature is a linear interpolation between the injection and production temperature:

(e)

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

(f)

where DPB 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 + DPPROD > PINJ.

In OLGA this effect is included with a right-shift of all the response curves associated with the GLV. The point with maximum gas rate (for each of the curves) is identified, and the
points to the left of this maximum point are shifted with the calculated DPPROD. 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.

Use ANNULUS keyword to configure the injection and production strings.

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


The setpoint heat exchanger is an idealised heat source/sink, and no description of the real heat transfer process is included. It simply provides a way of specifying a temperature at
the heat exchanger outlet, consistent with the energy equation in OLGA. In the setpoint heat exchanger, a heat source/sink is estimated that will give the specified fluid temperature
for a particular section. More specifically, the heat exchanged is equal to the enthalpy difference corresponding to the difference between the inlet temperature and the specified
outlet temperature of the 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.

Pressure boost
Give an pressure increase in the pipe without knowing the details of the pressure boosting equipment.

When to use
Methods and assumptions
Limitations
How to use

When to use
The PressureBoost pump is used to model a pressure increase in the design phase. Use before the actual pump is choosen to include a pressure increase in the pipeline.

Methods and assumptions


The PressureBoost pump increase the pressure between two sections in Olga. The maximum pressure increase of the pump is set in the
DELTAPRESSURE key (∆ΠΜαξ). The actual pressure increase (∆Π) is calculated from ∆ΠΜαξ and the pump input signal INPSIG:

∆Π = INPSIG · ∆ΠΜαξ

INPSIG is limited upwards and downwards:

0 < INPSIG < 1

The heat added to the fluid (ΩΦλυιδ) is calculated from the heat of an isentropic compression (ΩΙσεντροπιχ) from upstream pressure (PUp) to PUp +
∆Π:

Where ?Ισεντροπιχ is an user given isentropic efficiency.

Limitations
The defined pressure increase is independent of the flow.

No bypass or recycle line is available for this pump module.

How to use
Add a PressureBoost pump the pipeline, and define the pressure increase in the DELTAPRESSURE key.

Combine the PressureBoost pump and a flow controller to achieve the desired flow through the pipeline.

Pump Battery
The PUMPBATTERY keyword is used to model a special case of positive displacement liquid-phase drilling mud pump.

See also:
When to use
Methods and assumptions
Limitations
How to use

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.

The Pump Battery is used to simulate the special case of positive displacement liquid-phase drilling mud pumps. By specifying a proportionality
constant relating operating speed to total volumetric flow rate, subject to specified control limits for minimum and maximum flow rate, as well as
maximum hydraulic horsepower and outlet pressure.

License requirements
The pump battery model is used for drilling applications, and is only available with the Wells Module.

Methods and assumptions

Theory and multiphase dynamics


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:

(a)
where

QP Volume delivered by the pump battery


PFAC Pumping factor
SPES Strokes per time unit

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

 Controller on the maximum hydraulic horsepower allowed


 Controller on the maximum pump rate
 Controller on the minimum pump rate
 Controller on the maximum pump pressure allowed
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:

(b)
where

Qinj Pump injection rate of mud or water (bbl/min)


WHP Pump injection pressure (bara)

Energy balance
The total power input to the fluid, QPt, is calculated as the isentropic compression work from inlet pressure, PI, to outlet pressure PI + ∆P.

Limitations
Pumps can not be positioned at the first or last section boundary of a flow path.

How to use
General setup
Add the PUMPBATTERY keyword to the desired flowpath

Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or POSITION (an alias)

NOTE: See Pump Battery - When to use for OLGA module license requirements.

Choose any applicable means of controlling the pump speed.

Pump Battery setup


Setup of and use of the special Pump Battery model (for a battery of dtilling mud pumps) is primarily described within the Pump Battery topic of the Pump Battery - Methods and
Assumptions section.

Required inputs include MAXSPEED, MINCAPACITY, MAXCAPACITY, MAXPRESSURE, and HPMAX. MINSPEED is optional.

These inputs are used to simulate simple limit controls on horsepower, flowrate, and pressure.

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


Separator type
The separator may be two-phase or three-phase and the geometry orientation is horizontal, vertical or table specified.

Connections to external pipelines


The separator has an arbitrary number of inlets/outlets. Two phase separators must have connected at least one inlet, one gas-outlet and one oil-outlet to pipes. Three phase
separators must in addition also have one water-outlet connected.

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

a) Liquid carryover in gas outlet.


The gas-liquid separation efficiency is defined as one minus the volume fraction of the liquid droplets in the gas outlet stream. By default, the gas-liquid separation
efficiency is equal to one, that is, no liquid carryover in the gas outlet. The user can, however, specify a constant gas-liquid separation efficiency, effg by the key
EFFICIENCY in the keyword SEPARATOR. The liquid droplet volume fraction in the gas stream is then equal to one minus the value assigned to EFFICIENCY.

For three phase flow the liquid droplet volume fraction is distributed to water and oil droplet volume fractions according to the water and oil volume fractions in the
settled liquid in the separator.
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:

The liquid volume fraction, αl ≤ EFFLOW:

(α)

αl > EFFLOW and αl < EFFHIGH:

(β)

αl ≥ EFFLOW:

(χ)

b) Oil in water drain.


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

(δ)

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.

The oil volume fraction in the water drain is then 1 - eff0.

c) Water in oil drains.


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

(ε)

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:

(φ)

where Hof is the ratio of the water layer height above the limit to the liquid height above the same limit.

The water volume fraction in the oil stream is then 1effw.

Heat transfer
The heat transfer, qtr into the separator or out from the separator is given by:

(γ)

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
Φιγυρε Α Αν ιλλυστρατιον οφ α τηρεε−πηασε σεπαρατορ

Input

Connections to external flow paths


For a two phase separator, the following connections are defined:
 INLET_1, …INLET_N inlets
 GAS_1, … GAS_N outlets (Use GAS_2 to model flare outlet)
 OIL_1, …OIL_N outlets(Use OIL_2 to model emergency outlet)

For a three phase separator, the following connections are defined:


 INLET_1, …INLET_N inlets
 GAS_1, … GAS_N outlets (Use GAS_2 to model flare outlet)
 OIL_1, …OIL_N outlets(Use OIL_2 to model emergency outlet)
 WATER_1, …WATER_N outlets(Use WATER_2 to model emergency outlet)

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

Simplified Pump
The SIMPLIFIEDPUMP keyword is used to model simplified centrifugal pump.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Use the Simplified pump to roughly simulate multiphase transient ∆P and efficiency with only three algebraic coefficients, as either constant or linearly sensitive to transient
fluctuations in speed, flowrate, and void fraction.

Methods and assumptions


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

These simple algebraic expressions are used to calculate the pressure increase over this simplified pump, as well as its pump efficiency:

∆Po = ∆Pr ( 1 + D1 ( N - Nr ) + D2 ( Q - Qr ) ) ( 1 - D3 a ) (α)

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

∆P = ∆Po ρ / ρr (χ)

where:
∆Po Pump pressure increase at rated density ( bar )
∆P Pump pressure increase ( bar )
N Pump speed ( rpm )
Q Flow rate ( m3/s )
a Gas volume fraction
η Pump efficiency ( adiabatic )
ρ Specific density ( kg/m3 )
D1,2,3 Input coefficients for pressure increase
E1,2,3 Input coefficients for efficiency

Subscripts: r = rated

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

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

(δ)

2. Outlet enthalpy is calculated from:

Hd = Hs + ∆H (e)

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

Wfluid = GT × ∆H (f)

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

Total shaft power:

Wtot = Wfluid / η M (g)

Pump torque:

Γ = Wtot / ω (h)
Pump hydraulic torque:

TH = Γ ηM (i)

where

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

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
The total power input to the fluid is:

(ϕ)

where TH is the pump hydraulic torque, w the pump speed and ηM the pump mechanical efficiency.

Limitations
Pumps can not be positioned at the first or last section boundary of a flow path.

How to use
General setup
Add the SIMPLIFIEDPUMP keyword to the desired flowpath.

Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or POSITION (an alias)

Choose any applicable means of controlling the pump speed.

Simplified Centrifugal setup


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

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 Simplified Pump - Methods and assumptions.

If more accurate estimation of Total Shaft Power is also required, you may also override the default (0.7) EFFIMECH.

Valve
The valve models the pressure drop for flow through chokes and valves.

See also:

When to use
Choke — Methods and assumptions
Valve — Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


The choke model uses mixture balance equations for mass, momentum and energy. Compression of gas into the narrow throat is accounted for in the model. A circular-symmetric
flow geometry and steady-state over the choke is assumed. See Selmer-Olsen et al. for the full model description [34].

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.

Figure A: An illustration of a choke. Fluid is flowing from position 1 to position 2.

Choke model
The flow through the choke is assumed frictionless and adiabatic. The default choke model assumes no slip between the gas and the liquid, but it is possible to enable slip using the
SLIPMODEL key.
The flowing phase fractions can be frozen at inlet conditions (EQUILIBRIUMMODEL = FROZEN/HENRYFAUSKE). The then phase change occur after the throat, and the fluid
reaches equilibrium in position 2.It is possible to enable full mass equilibrium in the choke by setting EQUILIBRIUMMODEL = EQUILIBRIUM.
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.The pressure recovery can be
disabled by the user. Default is to enable pressure recovery (RECOVERY=YES).

The pressure drop to throat — Bernoulli and continuity equation

Bernoulli Equation:

(a)

where

υµ mixture velocity (m/s)


?µ momentum density (kg/m3)
Π pressure (Pa)

Momentum density:

(b)

where κ is the slip ratio, ξ is the flowing gas fraction, ?γ is the gas density and ?λ is the liquid density.
Flowing gas mass fraction:

(c)

where M is the overall mass flow through the choke and Mg is the gas flow through the choke.

Slip ratio:

(d)
where υγ is the gas velocit and υλ is the liquid velocity.

Continuity equation:

(e)

where A is the cross sectional area.

Recovery after throat — Momentum and continuity equation

Momentum equation:

(f)

The overall pressure drop over the choke is found by combining equations (a) through (f).If RECOVERY is set to NO equation (f) is not used.

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 (e) yields the following relation for
the critical flow, MC,
(g)

The throat area, At, is corrected with the choke discharge coefficient, Cd, to find the minimum flow area.

Phase and thermal equilibrium


Three main options are available when calculating the phase fractions in the choke (EQUILIBRIUMMODEL):
1. FROZEN: No mass transfer, isentropic expansion of gas. The phase properties are calculated using the simplified fluid properties described below. By default the liquid
expansion is assumed isothermal, and no heat transfer between the gas and the liquid is assumed. By setting THERMALPHASEEQ to YES thermal equilibrium between gas
and liquid are assumed. It is possible to enable slip between the phases by setting the SLIPMODEL ket to CHISHOLM.
2. HENRYFAUSKE: Same model as FROZEN, but the critical flow is corrected for mass transfer in the throat [3].
3. EQUILIBRIUM: Full mass and thermal equilibrium is assumed through the choke. The phase properties are calculated using the same PVT properties. The flow is
homogeneous, no slip is allowed. The flow in the choke must follwo an isentropic path.

If the HENRYFAUSKE 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):

(h)

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

If the EQUILIBRIUMmodel is used the entropy values have to be given in the fluid property table file (with the word ENTROPY in the heading of the fluid file).

Simplified fluid property calculations

The liquid properties are calculated in position 1 and treated as constant, while the gas is compressed/expanded isentropically.

Gas density:

(i)

where γ is the isentropic gas expansion coefficient,

(j)
If thermal phase equilibrium is used (THERMALPHASEEQ=YES) the isentropic expansion coeffiicient is form all phases (ι ? {γασ, οιλ, ωατερ}):

(k)
The reported throat temperature (TVALVE) is the gas temperature

(l)

Gas liquid slip calculations


By default there is no slip between the gas and the liquid flowing through the choke. If slip is activated, it is calculated from an modified Chisholm slip equation (m).

(m)

Controlled choke
In the case of a controlled choke, the choke area, Ao, is varied according to the controller signal us :

(n)

where

(o)

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,

(p)

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

(q)

Note that it is possible to simulate a choke without a controller; the choke area is then given by a time series.

Methods and assumptions


In the valve model the pressure drop and critical flow are calculated according to a valve sizing equation. The valve model uses a table (keyword
TABLE) that contains the valve sizing coefficients, Cv or Cg, versus valve opening.

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.

A valve can be located anywhere in a pipeline.

Liquid Valve sizing equation

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.

The pressure drop through a valve is calculated as follows:

Liquid sizing equation:

(o)

where

Q Flow rate (gallons/min.)


Cv Valve sizing coefficient (gal/min / psi 1/2)
G Specific gravity (-). Water = 1.
∆P Pressure difference across the valve (psi)

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:

(p)

where

Cd Discharge coefficient
A Pipe flow area
Ao Choke (orifice) flow area
Wtot Total mass flux
Ui Velocity of flow field i, (film velocity, droplet velocity etc.)
αi The volume fractions of flow field i
∆Porf Pressure drop over the orifice

See Cv to area conversion for the details of the conversion from Cv to orifice area.

Gas valve sizing equation

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.

Gas sizing equation:

(q)

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

The orifice equation for an incompressible fluid:

(a)

ρFluid Is the fluid density


Q Is the volumetric flow rate
αi Volumetric fraction of mass field i
Ui Velocity of mass field i
A Pipeline area
AOrifice Orifice area
Cd Orifice discharge coefficient
∆POrifice Orifice pressure drop

The valve sizing equation:

(b)

Cv Valve sizing coefficient (gal/min/psi1/2)


Q Is the volumetric flow rate (gal)
∆PSizing Sizing pressure drop (psi)
G Specific gravity (-)
ρRef Water density at 39ºF/4ºC and 1 atmosphere (998.840 kg/m3)
ρFluid Fluid density at reference conditions

Setting ∆POrifice = ∆PSizing and solving for Cv or orifice area (AOrifice):

(c)

Above we have assumed that the orifice equation is given with the same units as the sizing equation.

Converting to SI units: CvSI = Cv · (m3/s/Pa1/2) (d)

Using SI units for the area, m, and inserting the reference water density we get the following equation:

(e)

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 Equilibrium or Henry-Fauske equilibrium model (EQUILIBRIUMMODEL = HENRYFAUSKE or EQUILIBRIUM) make sure the entropy is given in the thermo tables.
For HENRYFAUSKE the entropy will be integrated from the enthalpy and density data in the thermo tables, but 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. 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 EQUILIBRIUMMODEL option HENRYFAUSKE or EQUILIBRIUM for two/three-phase simulations with flashing fluids. Otherwise use EQUILIBRIUMMODEL =
FROZEN. The EQUILIBRIUM option might slow down the simulation.

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.

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.

Framo pump
The FRAMOPUMP keyword is used to model a Framo helicoaxial pump, which can operate from 0-100% gas volume fractions.
See also:
When to use
Methods and assumptions
Limitations
How to use

When to use
When the design contains a Framo helicoaxial pump or when such a pump is considered.

License requirements
The Framo pump is part of the Multiphase Pump Module that requires a separate license.

Methods and assumptions


Pump model
The Framo multiphase pump is a Helico-axial design that can operate from 0-100% gas volume fractions. The Framo flow mixer (patented) in which the fluid is mixed into a
homogeneous mixture, provides stable operating conditions for the pump independent on upstream flow conditions, eliminating transients from slug flow and hence minimise the
dynamic loading effects.
The Framo pump module includes all the elements given in the figure below integrated with Framo standard control system.
Figure A: The Framo multiphase pump layout
The LIMDP key sets user defined limit on differential pressure for the pump. The LIMPOW key sets a user defined limit on shaft power.
Parallel operation of multiple pumps is possible through an integer input, NPARA. The NPARA key will not affect the inlet valve or bypass line.

Pump internal control


The pump control system consists of two independent control loops, choke control and a speed control. When using inlet pressure control, the speed is manipulated to meet the inlet
pressure setpoint.
Recycle choke control

Figure B: Recycle choke ramp and dead band example (CHOKERATE=0.01 1/s and CDEADBAND=10 s)
The recycle choke is controlled to keep the pump above the minimum flow limit of the pump. To avoid too frequent changes in the choke opening, a dead band (CDEADBAND) is
used. After the dead band, the choke movement is restricted to a user given rate of change (CHOKERATE). In order to improve controllabillity of the choke flow, the minimum
position of the choke can be set (CMINOPENING).
The RELDPCONTR key is for advanced users. This key can be used to control the pump to operate at at best efficiency point.
Pump speed control

Figure C: Speed control ramp example (SPEEDRATE=25 rpm/s)


The change in pump speed is limited to a change rate (SPEEDRATE). The speed of the pump can be controlled setting SPEEDSETPOINT or the SPEEDSIG signal.

Inlet pressure control


The pump speed is manipulated to meet the specified inlet pressure setpoint. The inlet pressure setpoint is given by the PRESSURESETPOINT key or the PRESSURESIG key.
Pump trip
A trip can be caused by an internal violation in the model or by an user defined trip.
The model will trip if:
Minimum flow
Maximum thrust load
 TRIPTIME is set.
 TRIPSIG is set to 1.
The default behaviour, TRIPHOLD=0, is to ignore the trip signal. If TRIPHOLD>0 the trip signal, and trip actions will be enforced for TRIPHOLD seconds.
When we have a trip situation the following will happen:
 The pump will be spun down lineary to zero rpm using the SPINDOWNRATE. (SPEEDSETPOINT/SPEEDSIG and PRESSURESETPOINT/PRESSURESIG is
overridden.)
 The bypass line will be opened. (BYSIG will be overridden.)
 When the pump speed is zero, the inlet valve will be closed. (VALSIG will be overridden.)
TRIPHOLD seconds after the trip the trip actions (model overrides) will be removed, and the user given control signals will be used. In order to get a proper startup of the pump after
a trip, the user need to reset the control signals during the trip.

Bypass and inlet valve


The inlet valve and bypass valve, uses a simplified choke flow calculation. The flow is calculated with a given pressure difference between the two sides of the choke, DPch, and the
choke upstream conditions. The flow, GR, can be regulated by a controller.

(a)

where Cd is the choke discharge coefficient and Ach the choke opening area. If a CV vs. opening table is given insead of the choke are, the CV is converted to area and used in the
equation a.

Limitations
The recycle flow and bypass flows around the FRAMO pump 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
Add the FRAMOPUMP keyword to the desired flowpath
Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or POSITION (an alias)

Framo multiphase pump setup


The pump is either configured by an input file (PUMPFILE) or by a reference to a library characteristics file (PUMPCHAR). See Figure A.

Figure A: Library of Framo pump characteristics


The inlet mixer is either configured by an input file (MIXERFILE) or by a reference to a generic FRAMO mixer for initial simulations. The volume
of the mixer, given by the characteristics file, can be overridden using the MIXERVOLUME key.
Initial conditions
The initial speed of the pump is set using the INITIALSPEED key. This key is used when both the steady state preprocessor is active, and when
inital conditions are used.

Start up procedures
Start up with producing well
Normal start up procedure: Produce through the bypass line, Open inlet valve, Ramp up pump untill all flow is going through the pump, Close bypass valve. Ramp up
pump to required speed, Set pump in suction pressure control

Trip
By default pump will not trip. In order to enaple pump tripping, the TRIPHOLD key must be set greater than zero. See FramoPump - Methods and assumptions for
details on pump trip.

Bypass
The bypass line is defined by BYDIAMETER and BYCD or BYCVTABLE. It is possible to connect a bypass controller using the BYSIG signal. By default the bypass line is closed. To
add a check valve in the bypass line set BYCHECK to YES. The opening/closing time of the bypass choke is set by the BYSTROKETIME key.
Inlet valve
The inlet valve is defined by DIAMETER and CD or CVTABLE. The opening/closing time of the inlet valve is set by the STROKETIME key.

Recycle
The recycle choke is defined by RECV or a CV-opening curve, RECVTABLE. When using the RECV, a default CV-opening curve will be used,
see Figure C.

Figure C: Default CV for recycle valve

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.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The following assumptions are made in the single component model:
 the gas and liquid phases have the same temperature.
 the pressure of the gas and liquid phases is the same.
 if the fluid temperature is higher than the saturation temperature, flashing or boiling of liquid will take place.
 if the fluid temperature is lower than the saturation temperature, condensation of vapor takes place.

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.

Generation of gas and liquid properties


The equations used to calculate the H2O properties are taken from ref. 1. For CO2, the thermodynamic equations are taken from ref. 4. The transport properties are calculated
through the equations given in ref. 2. For other components, the Soave–Redlich–Kwong (SRK) cubic equation of state (Appendix 1) is used to calculate the saturation line and the
physical properties of the vapor and liquid phases. Temperature dependent volume translation is applied to improve the accuracy of phase density. The transport properties are
determined by the corresponding state method by Pedersen (ref. 2).

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.

Saturation line for a single component


The saturation line is determined by solving the equal fugacity of gas and liquid from the equation of state (EOS). Below the critical point, determined by the critical pressure, PC and
the critical temperature, TC, the saturation pressure, Psat(T), and saturation temperature, Tsat(P), at a given grid point (P,T) are determined from the saturation line. Above the critical
point, the saturation line is extrapolated with the slope of the saturation line at the critical point.

Liquid properties for a single component


For pressures below the critical pressure liquid properties are determined by the EOS in the liquid region. In the gas region, the liquid properties are extrapolated from the saturation
point — the enthalpy equals the gas enthalpy minus the latent heat at the saturation temperature and the density is integrated from the vapor saturation pressure to actual pressure
using the compressibility at the saturation temperature. All the other properties are from the saturation temperature.

For pressures above the critical pressure, liquid properties are calculated from the EOS.

Gas properties for a single component


For pressures below the critical pressure, the gas properties in the gas region are acquired 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.

The buffer zone is bounded by the coordinates [Tlow, Psat(Tlow)], [Tlow, Pc], [Thigh, Pc], [Thigh, Psat(Thigh)].

Saturation line for H2O


Below the critical point, (PC,TC), the saturation pressure, Psat(T), and saturation temperature, Tsat(P), at a given grid point (P,T), are determined from the saturation line. Above the
critical point, PC=221.2 bar and TC=647.3 K, and up to T=676 K and P=250 bar, a straight line is used to divide the single-phase or dense-phase region into gas and liquid. Above
676 K and 250 bar, the boundary line between region 2 and region 3 is used as the division between gas and liquid. The definition of the regions is found in ref. 1.

Liquid properties for H2O


For pressures below 225 bar in region 1, the water properties equations found in ref. 1 are used for water in the water region.

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

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

Gas properties for H2O


For pressures below 225 bar, steam property equations for region 2 are used for gas in the gas region.

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:

(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&psi;. 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.

References
1. 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
2. K. S. Pedersen et al. Properties of Oils and Natural gases. Gulf Publishing Company, 1989, Houston, Texas.
3. B.E.Poling, J.M.Prausnitz, J.P.O’Connell: The properties of gases and liquids. 5th Edition. McGRAW-HILL 2000.
4. 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

Appendix 1
The Soave–Redlich–Kwong (SRK) equation of state:

(A.1)

where

The SRK equation of state can be written on the form:

(A.2)

where

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

The solution for Z can be adjusted by a volume tuning factor


(A.3)

according to

(A.4)

where XV1 and XV2 are given through the keys VOLX(1) and VOLX(2), respectively, and Pr = P/Pc.

The specific heat, CP, is calculated through the equation

(A.5)

where the coefficients, CPi, are given through the input by CPIC(i+1).

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.

The keyword SINGLEOPTIONS specifies options for COMPOSITIONAL=SINGLE. COMPONENT can have the values H2O, CO2, or OTHER. H2O is set by default.

Note that if you use COMPONENT=OTHER, it is required to specify additional fluid properties. These are:
 viscosity tuning factor, VISX
 critical temperature, TC [C]
 critical pressure, PC [bara]
 acentric factor, OMEGA
 molecular weight, MW
 volume tuning factors, VOLX(2)
 coefficients in equation for specific heat, CPIC(5)

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 found in ref. 3.

The keys MINPRESSURE, MAXPRESSURE, MINTEMPERATURE and MAXTEMPERATURE in SINGLEOPTIONS are used to generate a PVT tables for the single component
properties, i.e., no external PVT file is needed. The properties are evaluated on 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. The griding is adjusted so
that a grid point is close to the critical point. During the simulation, linear interpolation between the grid points (P,T) is applied.

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.

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
The slug tracking model have 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.

Methods and assumptions


Initiation of level slugs
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.

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

Figure B Schematic visualization of the initiation of a hydrodynamic slug.

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. The idle time is calculated according to

(a)

where
D = pipe diameter [m]
Ul = average liquid velocity [m/s]

The default value for the delay constant is 150.

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

 Pig. The combination is not allowed.

 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.
3. Add global trend to get overview of the simulation.
TRENDDATA VARIABLE=(LIQC, OILC, WATC)
TRENDDATA VARIABLE=(RMERR, VOLGBL, HT, NSLUG)

Slug identification number


When initiated, each slug is assigned a unique identification number. The first slug initiated gets identification number, and then 1 is added for each new slug initiated. This unique
number enables the possibility to follow the development of individual slugs as they move through the pipeline. It is possible to plot, e.g., slug length, front and tail velocities, etc.
Plotting individual slug data is useful mainly when there are few slugs is the system. When hydrodynamic slugging generates lots of slugs, it is difficult to identify which slug to
consider.
Illegal slug section
An illegal section is a section where no slugs are initialized and through which no slugs are allowed to pass (keyword SLUGILLEGAL). A slug front may enter into the illegal section,
but it will be trapped inside it until the slug tail reaches the section and the slug is removed. The first section in a flow-path is by default an illegal section and so is the last one. This
implies that slugs cannot propagate through networks.

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.

Vertical riser at the end of a pipeline


Problems might be encountered when slug tracking is activated and the pipeline has a vertical riser at the end. The problems are usually caused by back-flow in the riser. If such
problems are encountered, the following actions might reduce them:
 Set the gas fraction on the outlet node equal to one. Now, if back-flow occurs at the outlet, only gas will enter the pipeline.
 Unless the flow in the riser is expected to influence slug patterns significantly, set the riser pipeline sections to illegal (SLUGILLEGAL).
 If possible, add a couple of horizontal sections at the top of the riser.

Startup slugs not detected


If all start-up slugs are not detected, it is possible to specify the void limits used for initializing start-up slugs. This is done by modifying the void limits given by the keys BUBBLEVOID
and SLUGVOID.

Hydrodynamic slug initiation


The slug model might initiate slugs too often or too seldom as compared to the expected slug pattern. In order to tune the model to mimic the expected pattern, it is recommended
that only the DELAYCONSTANT key is varied first. If it is not possible to achieve the slug pattern sought by varying DELAYCONSTANT alone, INITFREQUENCY can be modified as
well.

Hydrodynamic slug initiation: the delay constant


The delay constant, DC, is the number of pipe diameters a slug must travel before the slug model tries to initiate a new slug at the same boundary. Thus, the time between two
consecutive slug initiations on any given boundary or the time between a slug passes a boundary and a new slug can be set up is given by

(a)

where
D = pipe diameter [m]
Ul = average liquid velocity [m/s]

Using the Shea correlation for the slug frequency

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

Profile plots, trend plots, and slug statistics


When specifying, e.g., the hold-up (HOL) in TRENDDATA or PROFILEDATA, it is important to note that the hold-up plotted is the section average. It is not possible to resolve the
hold-up of individual slug and bubble regions inside sections, but these are used to calculate the section average. In order to visualize the hold-up of individual slugs/bubbles, specify
HOLEXP under TRENDDATA. This will show the instantaneous hold-up at the boundary specified.

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
There are usually two choices to assess slug statistics in OLGA. First of all 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.

Also for positions, where plotting of LSLEXP is defined, a summary of the slug statistics is written to the output file (.out file) for each DTOUT. Slug statistics is written together with
some other slug information.

Slugs are counted for each section, and sorted by slug length interval using number of pipe diameters as measure (in order to be applicable for all pipe diameters). The table contains
number of slugs per section and per slug length interval. An additional table listing positions with LSLEXP containing position, diameter, branch, pipe and section is also written.

The slug statistics information is reset in a restart.

Slug tuning
The SLUGTUNING keyword makes it possible to tune parameters in the slug model.

See also:

When to use
Methods and assumptions
Limitations
How to use
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.

Methods and assumptions


The slug tuning coefficients are multiplied by the related values calculated by OLGA. The exception is slug length which is interpreted directly as slug length in number of diameters.

The Taylor bubble velocity is calculated as

(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

The slug front pressure drop is given by

(b)

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(&alpha;,&rho;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 are global.

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.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


Two types of sources can be specified; the mass source and the pressure driven source, which is also known as a controlled mass source or source controlled by valve (SOVA).
Each type of source can be either positive (flow into the pipeline) or negative (flow out of the pipeline).

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.

Pressure driven source (SOVA)


The flow for a SOVA will be calculated from a flow equation for mass flow through an orifice, where the orifice area can be governed by a controller.

The figure below illustrates this.


Figure A. Illustration of a pressure driven source

Controlling the flow


The flow area of the SOVA is governed by the control system, where the valve has finite opening and closing time (stroke time) specified by the user.

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.

The orifice area is calculated from:

(a)

where us = controller signal

Valve functionality
The valve-specific functionality is further described in the Valve section.

Calculating mass flow at standard conditions


The following equations show how the total mass flow is calculated from volumetric flow given at standard conditions. Symbols used in the equations are given in the list below:

wc Water cut, volume of water divided by volume of liquid at standard condition


GOR Gas oil ratio, volume of gas divided by volume of oil at standard condition
Gas liquid ratio, volume of gas divided by volume of liquid at standard
GLR
condition
Q Volume flow
Mass flow
ρ Density

Indexes:
tot Total
ST At standard condition
g Gas phase
o Oil phase
liq Liquid phase (water + oil)
w Water phase
* Equivalent phase

The density in the equations below is taken from the PVT table. It is necessary that the properties at standard condition are included in the PVT table.

If WATERCUT, GOR and volume flow of gas at standard condition ( ) are known, use:

PHASE = GAS and STDFLOWRATE =

(b)

If WATERCUT, GOR and volume flow of liquid at standard condition ( ) are known, use:

PHASE = LIQUID and STDFLOWRATE =

(c)

If WATERCUT, GOR and volume flow of oil at standard condition ( ) are known, use:

PHASE = OIL and STDFLOWRATE =

(d)

If WATERCUT, GOR and volume flow of water at standard condition ( ) are known, use:

PHASE = WATER and STDFLOWRATE =

(e)

If WATERCUT, GLR and volume flow of gas at standard condition ( ) are known, use:

PHASE = GAS and STDFLOWRATE =

(f)

If WATERCUT, GLR and volume flow of liquid at standard condition ( ) are known, use:

PHASE = LIQUID and STDFLOWRATE =


(g)

If WATERCUT, GLR and volume flow of oil at standard condition ( ) are known, use:

PHASE = OIL and STDFLOWRATE =

(h)

If WATERCUT, GLR and volume flow of water at standard condition ( ) are known, use:

PHASE = WATER and STDFLOWRATE =

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

(j)

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

(k)

If the equivalent gas volumetric flow rate at standard condition ( ) and the mol weight of the total flow, , are known, use:

PHASE = GAS, STDFLOWRATE = and MOLWEIGHT =

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)

(l)

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

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.

Steady state pre-processor


Both source types can be used with the steady state pre-processor.

However, there are certain limitations:


 With a closed node, the sum of all flows into the adjacent section (including contributions from all sources, wells, and nearwells) can not be 0

How to use
To define a SOURCE, follow the steps described below.

 Each SOURCE must have a unique LABEL.


 The position along the branch must be given; either by use of the POSITION key, ABSPOSITION key, or a combination of the PIPE and SECTION keys.
 Phase fractions can be given either directly with the GASFRACTION and WATERFRACTION/TOTALWATERFRACTION keys or at standard conditions with the
GLR/GOR/WATERCUT keys.
 The upstream/downstream PRESSURE and TEMPERATURE can be specified. See Capabilities for further description.
 Each source type is also available for use with the compositional models (i.e. Compositional Tracking, Blackoil, MEG, Wax).
 All input variables can be defined as time series with the TIME key.

See keyword SOURCE for more details.

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.

With compositional models the keys FEEDMASSFLOW, FEEDMOLEFLOW or FEEDSTDFLOW may be used.

When the volumetric flow rate at the standard conditions is given, the key STDFLOWRATE should be used.

See keyword SOURCE for more details.

Pressure driven source (SOVA)


The SOVA massflow is defined by the valve specific input data. For further descriptions, see the Valve section.

See keyword SOURCE for more details.


Steady State Processor
The steady state pre-processor in OLGA computes a steady state solution for a pipeline or an entire flow network. Steady state pressures, temperatures, mass flows, liquid hold-ups
and flow regimes are calculated along the pipelines. The steady state pre-processor is primarily intended for generation of initial values for dynamic computations, but may also be
used as a standalone steady state tool.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


The steady state pre-processor finds a consistent solution for flow networks by iteration. Networks where all inlet flows and outlet pressures are known are solved by the following
sequence of computations:
1. Phase transitions are computed using old values of pressures and temperatures. The combination of phase transition and inlet flows gives consistent flow rates along all the
pipelines in the entire network.
2. Using the newly computed flows, old temperatures, and the pressure boundary conditions at the outlet, new pressures are computed along all the pipelines in the network. The
point model OLGAS THREE-PHASE is used in this step.
3. The temperatures along all the network components are computed.

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.

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:

In the property window for OPTIONS.

 Choose STEADYSTATE=ON to get a full steady state computation including calculations of temperatures.
 Choose STEADYSTATE=NOTEMP to avoid the temperature calculation. In this case initial temperature profiles must be given for all the flow components in the network.

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.

SteamWater-HC
The availability of the steam module depends on the User's licensing agreement with SPT Group.

The SteamWater-HC module 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:

1. Τηε στανδαρδ ταβλε βασεδ ϖερσιον οφ τηε χοδε ασσυµεσ τηατ τηε γασ πηασε ισ αλωαψσ σατυρατεδ ωιτη στεαµ (νο µασσ βαλανχε φορ στεαµ). ∆οεσ νοτ
αππλψ φορ ΜΕΓ/ΜεΟΗ/ΕτΟΗ Τραχκινγ ανδ Χοµποσιτιοναλ Τραχκινγ ασ τηεψ ηαϖε α στεαµ µασσ βαλανχε.
2. Τηερε µυστ βε α γασ πηασε οτηερωισε ωατερ χαν νοτ βε εϖαπορατεδ.
3. ΟΛΓΑ χαν νοτ δεαλ ωιτη α σινγλε χοµπονεντ σψστεµ ιφ τηε σατυρατιον λινε ισ χροσσεδ. Τηισ ισ δυε το τηε εξπλιχιτ χουπλινγ οφ ϖολυµε βαλανχε ανδ ενεργψ
βαλανχε εθυατιονσ ανδ τηε λαχκ οφ α τωο πηασε ρεγιον (τωο πηασε ενϖελοπε) φορ α σινγλε χοµπονεντ σψστεµ.

Τηε σεχονδ λιµιτατιον ισ νοτ α ρεαλ λιµιτατιον ασ τηερε ωιλλ υσυαλλψ βε σοµε ΗΧ γασ ιν σιτυατιονσ ωηερε ωατερ ισ εϖαπορατινγ. Τηε ονλψ σιτυατιον ωηερε τηισ λιµιτατιον ισ
ρεαλ ισ ιφ ονλψ ωατερ ισ πρεσεντ ιν τηε φλυιδ ανδ τεµπερατυρε ανδ πρεσσυρε χονδιτιονσ αρε συχη τηατ τηε σατυρατιον λινε ισ χροσσεδ.

Τηε τηιρδ λιµιτατιον ισ ρελατεδ το τηε ωαψ τηε χονσερϖατιον εθυατιονσ αρε σολϖεδ ωιτη αν εξπλιχιτ χουπλινγ βετωεεν ϖολυµε (πρεσσυρε) βαλανχε ανδ ενεργψ (τεµπερατυρε)
βαλανχε.

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.

See also:

When to use
Methods and assumptions
How to use

When to use
The SteamWater–HC module 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.

Methods and assumptions


Τηε φολλοωινγ ασσυµπτιονσ αρε µοδε ιν τηε µοδελ:

 Οιλ, γασ, ωατερ ανδ ϖαπορ (στεαµ) ωιλλ αλλ ηαϖε τηε σαµε τεµπερατυρε, ΤΜ.
 Τηε πρεσσυρε οφ τηε ωατερ πηασε ωιλλ βε εθυαλ το τηε τοταλ πρεσσυρε.
 Τηε πρεσσυρε οφ ϖαπορ ωιλλ βε εθυαλ το τηε παρτιαλ πρεσσυρε οφ ϖαπορ ιν τηε γασ πηασε ανδ ωιλλ βε χαλχυλατεδ ασσυµινγ αν ιδεαλ µιξ οφ ϖαπορ ανδ
ηψδροχαρβον γασ.
 Ωατερ σατυρατιον τεµπερατυρε, ΤΣΑΤΩ, ωιλλ βε χαλχυλατεδ φροµ τηε τοταλ πρεσσυρε.
 ςαπορ σατυρατιον τεµπερατυρε, ΤΣΑΤς, ωιλλ βε χαλχυλατεδ φροµ τηε παρτιαλ πρεσσυρε οφ ϖαπορ.
 Ιφ τηε φλυιδ τεµπερατυρε, ΤΜ, ισ ηιγηερ τηαν ΤΣΑΤΩ, φλασηινγ ορ βοιλινγ οφ ωατερ ωιλλ τακε πλαχε.
 Ιφ ΤΜ ισ ηιγηερ τηαν ΤΣΑΤς βυτ λοωερ τηαν ΤΣΑΤΩ, εϖαπορατιον οφ ωατερ ωιλλ τακε πλαχε.
 Ιφ ΤΜ ισ λοωερ τηαν ΤΣΑΤς, χονδενσατιον οφ ϖαπορ ωιλλ τακε πλαχε. Νοτε τηατ ΤΣΑΤς ωιλλ αλωαψσ βε λεσσ ορ εθυαλ το ΤΣΑΤΩ.

Τηε ιννερ πιπε ωαλλ συρφαχε µαψ βε συπερηεατεδ ορ συβχοολεδ χοµπαρεδ το ΤΣΑΤΩ ορ ΤΣΑΤς. Συχη α σιτυατιον µαψ λεαδ το συρφαχε βοιλινγ ορ συρφαχε χονδενσατιον ιν
χασεσ ωηερε ωατερ ορ ϖαπορ ισ ιν διρεχτ χονταχτ ωιτη τηε πιπε ωαλλ. Τηισ αδδιτιοναλ µασσ τρανσφερ τερµ ωιλλ νοτ βε διρεχτλψ ινχλυδεδ βυτ χαν βε αχχουντεδ φορ βψ αν
ενηανχεδ ηεατ τρανσφερ δυε το συρφαχε βοιλινγ/χονδενσατιον.

Generation of steam and water properties.


Τηε εθυατιονσ υσεδ το χαλχυλατε τηε στεαµ ανδ ωατερ προπερτιεσ αρε τακεν φροµ ρεφ. 1.
1
Τηεσε εθυατιονσ αρε τιµε χονσυµινγ το σολϖε ανδ ωιλλ τηερεφορε βε υσεδ ονλψ ατ τηε σταρτ οφ α σιµυλατιον. Τηε προπερτιεσ ωιλλ βε χαλχυλατεδ ατ πρεσσυρε/τεµπερατυρε
ϖαλυεσ χορρεσπονδινγ το τηε πρεσσυρε/τεµπερατυρε γριδ ποιντσ σπεχιφιεδ ιν τηε ΠςΤ ταβλε πρεπαρεδ φορ τηε σιµυλατιον.

Αφτερ τηε σατυρατιον ποιντσ ανδ τηε πηψσιχαλ προπερτιεσ αρε χαλχυλατεδ φορ αλλ τηε Π/Τ γριδ ποιντσ τηατ χορρεσπονδ το τηε ΠςΤ ταβλε φορ τηε ΗΧ µιξτυρε, λινεαρ
ιντερπολατιον βετωεεν τηε γριδ ποιντσ ισ αππλιεδ δυρινγ τηε σιµυλατιονσ. Φορ σιµυλατιον χασεσ ωηερε τηε πρεσσυρε µαψ χροσσ τηε χριτιχαλ πρεσσυρε, ιτ ισ ιµπορταντ τηατ τηε
ΗΧ ΠςΤ ταβλε χονταινσ α γριδ ποιντ τηατ ισ χλοσε το τηε χριτιχαλ ποιντ ιν ορδερ το οβταιν αχχυρατε χροσσινγ οφ τηε σατυρατιον λινε.

Φορ αλλ τηε χασεσ, α πρεσσυρε ιντερϖαλ λεσσ τηαν10 βαρ ανδ α τεµπερατυρε ιντερϖαλ λεσσ τηαν 10 Κ αρε ρεχοµµενδεδ ιν ορδερ το µαινταιν αχχεπταβλε αχχυραχψ οφ τηε
λινεαρ ιντερπολατιον.

Saturation line

Βελοω τηε χριτιχαλ ποιντ, ΠΧ ανδ ΤΧ, (πρεσσυρε ανδ τεµπερατυρε), τηε σατυρατιον πρεσσυρε, Πσατ (Τ), ανδ σατυρατιον τεµπερατυρε, Τσατ (Π), ατ α γιϖεν γριδ ποιντ, Π,Τ, ισ
δετερµινεδ φροµ τηε σατυρατιον λινε.

Αβοϖε τηε χριτιχαλ ποιντ, ΠΧ = 221.2 βαρ ανδ ΤΧ = 647.3 Κ, ανδ το 676 Κ ανδ 250 βαρ, α στραιγητ λινε ισ υσεδ το διϖιδε τηε σινγλε−πηασε ορ δενσε−πηασε ρεγιον ιντο ϖαπορ ανδ
λιθυιδ. Αβοϖε 676 Κ ανδ 250 βαρ, τηε βουνδαρψ λινε βετωεεν ρεγιον 2 ανδ ρεγιον 3 ισ υσεδ ασ τηε διϖισιον βετωεεν ϖαπορ ανδ λιθυιδ. Τηε δεφινιτιον οφ τηε ρεγιονσ ισ δεσχριβεδ ιν
ρεφ. 1.
1

Physical properties.
Ωατερ προπερτιεσ:

Φορ πρεσσυρεσ βελοω 225 βαρ, ωατερ προπερτψ εθυατιονσ φορ ρεγιον 1 (σεε ρεφ. 1)
1 αρε υσεδ φορ ωατερ ιν τηε ωατερ ρεγιον.

Ιν τηε ϖαπορ ρεγιον, τηε προπερτιεσ φορ ωατερ αρε εξτραπολατεδ φροµ τηε σατυρατιον ποιντ: Εντηαλπψ ισ βασεδ ον τηερµαλ χαπαχιτψ ατ σατυρατιον τεµπερατυρε
χορρεσπονδινγ το α γιϖεν πρεσσυρε ανδ τηε δενσιτψ αχχορδινγ το τηε δενσιτψ δεριϖατιϖε το πρεσσυρε ατ τηε σατυρατιον πρεσσυρε χορρεσπονδινγ το α γιϖεν τεµπερατυρε. Αλλ
τηε οτηερ προπερτιεσ αρε φροµ τηε σατυρατιον τεµπερατυρε.

Φορ πρεσσυρεσ αβοϖε 225 βαρ, ωατερ προπερτιεσ αρε χαλχυλατεδ βασεδ ον εθυατιονσ φορ τηε διφφερεντ ρεγιονσ σπεχιφιεδ ιν ρεφ. 1.
1

Τηερµαλ χαπαχιτψ ανδ εντηαλπψ φορ ωατερ ισ σινγυλαρ νεαρ τηε χριτιχαλ ποιντ. Το αϖοιδ νυµεριχαλ προβλεµσ ιν ρεγιον 3 τηε ωατερ προπερτιεσ φροµ ρεγιον 1 ινστεαδ οφ τηοσε
φορ ρεγιον 3 ωηεν τηε πρεσσυρε ισ βελοω 225 βαρ (τηε εθυατιονσ αρε ϖερψ σιµιλαρ εξχεπτ ωηεν ψου αρε χλοσερ τηαν <1Χ ανδ 0.1 βαρ). Τηε σαµε ισ δονε φορ στεαµ.

ςαπορ προπερτιεσ:

Φορ πρεσσυρεσ βελοω 225 βαρ, ϖαπορ προπερτψ εθυατιονσ φορ ρεγιον 2 αρε υσεδ φορ ϖαπορ ιν τηε ϖαπορ ρεγιον.

Ιν τηε ωατερ ρεγιον, τηε ϖαπορ προπερτιεσ αρε εξτραπολατεδ φροµ τηε σατυρατιον ποιντ. Εντηαλπψ ισ βασεδ ον τηερµαλ χαπαχιτψ ατ σατυρατιον τεµπερατυρε χορρεσπονδινγ το
τηε γιϖεν ϖαπορ πρεσσυρε ανδ τηε δενσιτψ αχχορδινγ το τηε δενσιτψ δεριϖατιϖε το πρεσσυρε ατ τηε σατυρατιον πρεσσυρε χορρεσπονδινγ το τηε γιϖεν τεµπερατυρε. Αλλ τηε οτηερ
προπερτιεσ αρε φροµ τηε σατυρατιον τεµπερατυρε χορρεσπονδινγ το τηε ϖαπορ πρεσσυρε.

Φορ πρεσσυρεσ αβοϖε 225 βαρ, ϖαπορ προπερτιεσ αρε χαλχυλατεδ βασεδ ον εθυατιονσ φορ τηε διφφερεντ ρεγιονσ.

Ωιτη τηισ προχεδυρε, τηε ϖαπορ ανδ ωατερ προπερτιεσ αρε χοντινυουσ αχροσσ τηε ϖαπορ−λιθυιδ (ς−Λ) διϖισιον λινε ωηεν πρεσσυρε ισ αβοϖε 225 βαρ.

ςαπορ πρεσσυρε:
πρεσσυρε

ΠςΑΠ = Π∗Μϖαπ/(Μϖαπ + Μηχ)


ωηερε
Μϖαπ = ΜΓςΑΠ/ΜΩΗ2Ο, κµολεσ οφ ϖαπορ/υνιτ ϖολυµε(µ3)
Μηχ = ΜΓΗΧ/ΜΩηχ, κµολεσ οφ ΗΧ γασ/υνιτ ϖολυµε(µ3)
ΜΓςΑΠ = Μασσ οφ ϖαπορ/υνιτ ϖολυµε
ΜΓΗΧ = Μασσ οφ ΗΧγασ/υνιτ ϖολυµε
ΜΩΗ2Ο = Μολωειγητ οφ ϖαπορ = 18 κγ/κµολ
ΜΩηχ = Μολωειγητ οφ ΗΧ γασ

Flashing/Condensation

Τηε δριϖινγ φορχε φορ φλασηινγ οφ ωατερ ορ χονδενσατιον οφ ϖαπορ ωιλλ βε τηε διφφερενχε βετωεεν τηε σατυρατιον τεµπερατυρεσ ανδ τηε φλυιδ τεµπερατυρε. Τηε ϖαπορ
σατυρατιον τεµπερατυρε ωιλλ βε διρεχτλψ ρελατεδ το τηε παρτιαλ πρεσσυρε οφ ϖαπορ ασσυµινγ αν ιδεαλ µιξινγ οφ ΗΧ−γασ ανδ ϖαπορ. Ωιτη τηε πρεσενχε οφ ΗΧ−γασ ιν τηε φλυιδ,
α γραδυαλ τρανσφερ οφ µασσ οφ Η2Ο ωιλλ τακε πλαχε ασ τηε παρτιαλ πρεσσυρε οφ ϖαπορ χηανγεσ. Ωιτη νο ΗΧ−γασ ιν τηε φλυιδ τηε παρτιαλ πρεσσυρε οφ ϖαπορ ωιλλ βε εθυαλ
το τηε τοταλ πρεσσυρε ανδ νο βυλκ µασσ τρανσφερ τακεσ πλαχε υντιλ ειτηερ συβ−χοολεδ ωατερ ρεαχηεσ σατυρατιον τεµπερατυρε ορ συπερηεατεδ στεαµ χοολσ δοων βελοω
σατυρατιον τεµπερατυρε.

Τηε εφφεχτ οφ λοχαλ βοιλινγ ον α ηοτ ωαλλ συρφαχε ορ χονδενσατιον ον α χολδ ωαλλ συρφαχε ωιλλ νοτ βε ινχλυδεδ διρεχτλψ ιν τηε µασσ βαλανχε οφ ωατερ ανδ ϖαπορ βυτ χαν
βε αχχουντεδ φορ τηρουγη αν ενηανχεδ ηεατ τρανσφερ ατ τηε πιπε ωαλλ.

Τηε τοταλ ενεργψ αϖαιλαβλε φορ γενερατινγ ϖαπορ ορ χονδενσινγ ϖαπορ το οβταιν σατυρατεδ χονδιτιονσ ισ ΗΤΟΤς.

ΗΤΟΤς = (µγηχ∗χπγη + µληχ∗χπλη +µλωτ∗χπωτ + µγϖ∗χπϖ) ∗(ΤΜ−ΤΣΑΤς)

ωηερε
µγηχ = σπεχιφιχ µασσ οφ ΗΧ−γασ (κγ/µ3)
µληχ = σπεχιφιχ µασσ οφ ΗΧ−λιθ (κγ/µ3)
µλωτ = σπεχιφιχ µασσ οφ ωατερ (κγ/µ3)
µγϖ = σπεχιφιχ µασσ οφ ϖαπορ (κγ/µ3)
χπγη = σπεχιφιχ ηεατ οφ ΗΧ−γασ (Κϑ/κγΧ)
χπλη = σπεχιφιχ ηεατ οφ ΗΧ−λιθ (Κϑ/κγΧ)
χπωτ = σπεχιφιχ ηεατ οφ ωατερ (Κϑ/κγΧ)
χπϖ = σπεχιφιχ ηεατ οφ ϖαπορ (Κϑ/κγΧ)

Τηε τοταλ µασσ τρανσφερ το οβταιν σατυρατεδ χονδιτιονσ ισ:

ΠΣΙςΤΟΤ = ΗΤΟΤς / ( ΗΣΑΤς − ΗΣΑΤΩ )

Ιν ορδερ το ρεδυχε νυµεριχαλ προβλεµσ ιτ ωιλλ βε ασσυµεδ τηατ τηισ µασσ τρανσφερ ωιλλ τακε α χερταιν τιµε ΤΠΣΙ. Τηε µασσ τρανσφερ ρατε ωιλλ τηεν βε:

ΠΣΙς = ΠΣΙςΤΟΤ / ΤΠΣΙ ( κγ/ µ3σεχ )

Τηε µασσ τρανσφερ περ τιµε στεπ µυστ νοτ βε λαργερ τηαν τηε αϖαιλαβλε µασσ οφ τηε διµινισηινγ πηασε χοµπονεντ.
References

1. Ρεϖισεδ Ρελεασε ον τηε ΙΑΠΩΣ Ινδυστριαλ Φορµυλατιον 1997 φορ τηε Τηερµοδψναµιχ Προπερτιεσ οφ Ωατερ ανδ Στεαµ, Τηε Ιντερνατιοναλ Ασσοχιατιον φορ τηε Προπερτιεσ οφ
Ωατερ ανδ Στεαµ, Λυχερνε, Σωιτζερλανδ, Αυγυστ 2007

How to use
In order to activate the SteamWater-HC model, the input key COMPOSITIONAL under keyword OPTIONS must be set to STEAMWATER-HC.

TCONDENSATION, TVAPORIZATION and TBOILING in keyword COMPOPTIONS can be used to specify the time constants for condensation, evaporation and boiling, respectively.
They are available as time series if desired by using the subkey TIME (but not for Compositional Tracking). Large values will slow down the mass transfer leading to fairly large non-
equilibrium. Small values will speed up the mass transfer thereby reducing the thermal non-equilibrium. Too small values may however cause instabilities and probably nonphysical
results.

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

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.

Figure 1 Example of an annulus configuration.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Figure 1 Example of an annulus configuration.

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.

License requirements
Annulus is part of the Wells Module that requires a separate license.

Methods and assumptions


The annulus model computes temperatures in annular pipeline configurations by coupling the basic temperature computation in the axial direction to a temperature computation in the
cross sectional direction. This is achieved by the following two-step procedure:
1. In each cross section of the annulus, the fluid temperature and wall layer temperatures of all the enclosed pipelines are solved simultaneously.
2. A regular one-dimensional temperature calculation is performed for each pipeline, in which the fluid temperatures and wall layer temperatures in the whole pipeline are solved
simultaneously.
The combination of 1-dimensional fluid and wall layer temperature calculations in the axial direction and the 2-dimensional calculation in each bundle cross section results in a 3-
dimensional temperature field.

The annulus model is based on the following assumptions:


 The heat transfer from an outer wall surface of one pipeline to the surrounding fluid in a carrier line is based on free/forced convection unless a user given heat transfer
coefficient is given.
 No additional girding is used in the annulus model as compared to solving each pipeline thermally decoupled from each other.

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.

The annulus must cover entire pipes.

How to use
To use the Annulus model, in the OLGA GUI do the following:

From the Case level, right click and choose:


Add→ThermalComponent→ANNULUS

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:

From the newly created annulus, right click and choose:


Add→AnnulusComponents→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.

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.

FEMTherm
FEMTherm may be used to calculate the thermal performance of the following systems:
 Bundled pipelines
 Buried pipelines
 Complex risers

Figure A A hot water insulated and buried bundle

FEMTherm covers the functionality of the Soil module implemented in earlier versions of OLGA, with several differences:
 Easier input:
 Discretization: just one value is required (MESHFINENESS)
 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

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


FEMTherm consists of a grid generator and a Finite Element Method (FEM) equation solver. The grid generator makes a 2D finite element mesh in accordance with the Delaunay
criterion. The finite element equation solver determines the transient 2D temperature distribution of any user defined cross section, which can have several shapes, i.e. CIRCLES,
ELLIPSES, RECTANGLES and POLYGONS. Figure A illustrates the grid system used for solving the 2-dimensional heat transfer equation in a rectangular cross section with two
interior pipelines. The simulation model consists of stacks of such cross sections along the pipeline.

Figure A: Cross section grid

In a FemTherm calculation, OLGA solves the following equations in two steps:


1. Energy equation for the fluid in the pipe and the heat transfer equation for the layers of the pipe WALL. These equations are solved for each of the pipe sections along the
pipelines, giving the profiles of the fluid temperature along the pipeline and in the pipe WALL.
2. FEMTherm establishes the thermal coupling of the pipelines and solves the 2-dimensional heat transfer equation in the solid medium surrounding the pipe WALL, giving the
temperature distribution over the cross sections as well as the interaction between fluid temperatures in embedded pipes.

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.

Consider the pipe cross section in Figure B.

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:

(a)

(b)

(c)
,
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, = ( , , , ), is the central variable in FEMTherm and the parameters in the model are:

Af Area of the pipe cross section

Tf Temperature of the fluid

rf Density of the fluid

Heat capacity of the fluid

Tw Temperature of the first wall layer

rw Density of the first wall layer

Heat capacity of the first wall layer

Aw Cross sectional area of first wall layer

Flow rate of fluid

Heat transfer between fluid and first layer

Heat transfer between first layer and FEM domain boundary

Heat flux across FEM domain boundary


Conductivity of the solid interior of the bundle

Density of the solid interior of the bundle

Heat capacity of bundle

Heat flux at the FEM domain boundary

Unit outward normal at the FEM domain boundary


The weak form of Equation (c) according to classical functional analysis is:

(d)

where is the interior of the FEM domain, is the boundary subject to non-essential boundary conditions and 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:

(e)

where the heat transfer coefficient, , and the ambient temperature, , are user-defined constants.
The finite element domain is discretized using linear triangular elements, while the evolution in time is modeled using a backward Euler scheme. By factoring out the ambient
temperature, , and the temperature in the last wall layer, , the following system of discrete equations is obtained.

(f)

This can now be used to solve the vector of nodal temperatures, , as a function of the ambient temperature, the last wall layer temperatures of each component and the
temperature at previous time step, . 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, , 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, . This average temperature of discrete nodal temperatures is defined by the function

(g)

where is the length of boundary i and the function is evaluated element by element along the boundary. By the linearity of the solution, using superposition this
can be written as:

(h)

where is a vector of nodal temperatures resulting from the boundary condition at perimeterj, and is a scaling of the nodal
temperatures at timen. Given that the temperature, ,within the FEM domain is a linear function of the nodal temperatures, the constantsaijcan easily be obtained from:

With the exception of the term, , these integrals are evaluated once. This is possible because FEMTherm operates with a fixed time step, decoupled from the temperature
calculations in the pipes. The inertial term, however, must be evaluated for each section and each FEMTherm time step.

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.

Figure C: Two OLGA pipes in a cross section

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

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:

(a)

where , and are the density, specific heat capacity and thermal conductivity of a pipe layer thickness . 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.

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

Figure A Illustration of allowable FEMTherm/SOLIDBUNDLE configurations in OLGA.

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 Case level, right click and choose:


Add →ThermalComponent → SOLIDBUNDLE.

A SOLIDBUNDLE consists of a collection of SHAPES, FLOWPATHS, LINES and/or FLUIDBUNDLES. In the following these are referred to as bundle components. For each bundle
component do the following:
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.

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.

A SOLIDBUNDLE/FEMTherm simulation requires that the WALL or FASTWALL temperature calculation option is selected

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.

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

Figure 1 Example of a fluid bundle configuration.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
The bundle model should be used for pipeline configurations like the one seen in Figure 1 below when accuracy in temperature is important.

Figure 1 Example of a fluid bundle configuration.

License requirements
Fluid bundle is part of the FEMTherm Module that requires a separate license.

Methods and assumptions


The bundle model computes temperatures in bundled pipelines by coupling the basic temperature computation in the axial direction to a temperature computation in the cross
sectional direction. This is achieved by the following two-step procedure:
1. In each cross section of the bundle, the fluid temperature and wall layer temperatures of all the enclosed pipelines are solved simultaneously.
2. The combination of 1-dimensional fluid and wall layer temperature calculations in the axial direction and the 2-dimensional calculation in each bundle cross section results in a
3-dimensional temperature field.

The Bundle model is based on the following assumptions:


 The heat transfer from an outer wall surface of one pipeline to the surrounding fluid in a carrier line is based on free/forced convection unless a user given heat transfer
coefficient is given.
 No additional griding is used in the bundle model as compared to solving each pipeline thermally decoupled from each other.
Limitations
The diameters of the carrier line and all the interior pipelines have to be constant in the axial direction.

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.

The bundle must cover entire pipes

How to use
To use the Bundle model, in the OLGA GUI do the following:

From the Case level, right click and choose:


Add→ThermalComponent→FLUIDBUNDLE

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)
have to be specified. N.B., no new flow component is created by this procedure, and, thus, the component 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 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.

LINE
A LINE is a type of FLOWPATH for which simplified one-phase calculations are performed.

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. The former way of giving constant fluid properties with MATERIAL=FLUID is only supported in versions
prior to OLGA 6.

Note that this also applies when running component tracking (e.g. CompTrack, Blackoil). Example 1-phase fluid files are provided with the Sample cases.

See also:

When to use
Limitations
How to use

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:

From the Case level right click and choose


Add → FlowComponent → FLOWPATH.

In the property window for the FLOWPATH choose LINE=YES.

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.

Thermal computations
Temperature is an important parameter in flow assurance analyses and is a key prediction in the analysis of phenomena such as hydrate 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.

See also:

Methods and assumptions


Limitations
How to use

Methods and assumptions


Thermal calculations for the wall rest on the assumption that radial heat conduction through the concentric walls is the dominating phenomenon. The heat flux may be calculated in
two ways:
 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 heat flux is determined by a user-defined overall heat transfer coefficient.

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.

Figure A: Illustration of a buried pipe

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:

(α)

where:
D = outer diameter of buried pipe
H = distance from centre of pipe to top of soil
lsoil = soil heat conductivity
hsoil = overall heat transfer coefficient for soil

The term cosh-1 (x) can be expressed mathematically as follows:

cosh-1 (x) = ln ( x + ( x2 - 1 ) 0.5 ) for x ³ 1

The thickness of the composite soil layer can be determined using the expression below for a known value of the soil thermal conductivity:

(β)

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:

(χ)

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.

Phase changing materials


The model for simulating phase changing materials accounts for latent heat of fusion and the difference in thermal properties for unfrozen and frozen materials. Thermal conductivity
and heat capacity are given for three ranges, above the melting point, below the melting point and in the transition zone.

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:
HCAPMULT = 876/1067 = 0.82
FUSIONMULT = (30270+1067)/1067 = 29.4

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
Wall Layer Thickness
The numerical solution for the temperatures in the wall layer depends on the discretisation of the layer. It is sufficient to undiscretize the wall layer for steady-state calculations.

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's neighbours.
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:

OFF No temperature calculation – initial temperatures must be specified with


the INITIAL keyword statement
ADIABATIC No heat transfer to surroundings
UGIVEN A user-defined overall heat transfer coefficient is used for the entire wall
The heat flux through the pipe wall layers is calculated by the code with
WALL user-defined thermal conductivities, specific heat capacities and densities
for each wall layer
FASTWALL Similar as WALL but heat storage is neglected in the wall

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.

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and Assumptions


The Tracer Tracking model in OLGA computes a distribution in space and time of tracer mass, residence time and age (if the key AGING=ON). If aging is on, ages are divided into age
groups (defined by the key AGEBOUNDARIES), and the average age within each group is computed.
The computation of all these variables is based on simple conservation equations, here represented by the equation for mass:

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:
Τηε πρεσενχε οφ τραχερσ ισ ασσυµεδ το ηαϖε νο εφφεχτ ον τηε φλοω, ι.ε. τραχερσ υσυαλλψ εξιστ ιν αµουντσ σο σµαλλ τηατ τηε εφφεχτ ον τηε φλοω οφ τηε προδυχτιον φλυιδσ ισ
νεγλιγιβλε.
Τηε τραχερσ/ινηιβιτορσ αρε ασσυµεδ το βε χαρριεδ ιν α χαρρψινγ πηασε (χονδενσατε, ωατερ ορ γασ). Παρτιτιονινγ οφ τραχερσ/ινηιβιτορσ το οτηερ πηασεσ τηαν τηε χαρρψινγ
πηασε ισ νοτ ινχλυδεδ ιν τηε χυρρεντ ϖερσιον οφ τηε µοδελ.

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).
• 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:
• ΤΡΑΧΕΡΤΡΑΧΚΙΝΓ=ΟΝ

Specify one TRACERFEED for each tracer:


• Ιν τηε ΟΛΓΑ ΓΥΙ, ατ τηε λιβραρψ λεϖελ ριγητ χλιχκ ανδ χηοοσε Αδδ−>ΤΡΑΧΕΡΦΕΕ∆.

In the property window for each TRACERFEED set the following keys:
• ΛΑΒΕΛ χηοοσε α λαβελ
• ΑΓΙΝΓ µυστ βε σετ το ΟΝ το τραχκ αγε διστριβυτιον οφ τηε τραχερ
• ΧΑΡΡΙΕΡΠΗΑΣΕ σπεχιφψ τηε φλυιδ πηασε ον ωηιχη τηε τραχερ ισ βασεδ
• ΑΓΕΒΟΥΝ∆ΑΡΙΕΣ µαψ βε σπεχιφιεδ ωηεν ΑΓΙΝΓ=ΟΝ (νυµβερσ σεπαρατεδ βψ χοµµα)
• ΛΟΩΛΟΩΒΟΥΝ∆ αγε βελοω ΛΟΩΛΟΩΒΟΥΝ∆ ισ νοτ πλοττεδ
• ΗΙΓΗΛΟΩΒΟΥΝ∆ αγε βελοω ΗΙΓΗΛΟΩΒΟΥΝ∆ ισ νοτ πλοττεδ
υνδερ χερταιν χονδιτιονσ

Τραχερσ µαψ βε φεδ ιντο πιπελινεσ ειτηερ ϖια α ΣΟΥΡΧΕ ορ ϖια α ΜΑΣΣΦΛΟΩ νοδε.
Ιν τηε προπερτψ ωινδοω φορ α ΣΟΥΡΧΕ ορ α νοδε οφ τψπε ΜΑΣΣΦΛΟΩ σετ τηε φολλοωινγ κεψσ:
• ΣΟΥΡΧΕΤΨΠΕ σελεχτ ΤΡΑΧΕΡ
• ΤΡΑΧΕΡΦΕΕ∆ σετ τηε ναµε οφ τηε τραχερ φεεδ ιν τηισ σουρχε/νοδε
• ΤΡΑΧΕΡΜΑΣΣΦΛΟΩ σπεχιφψ τηε τραχερ µασσ φλοω
• ΤΡΑΧΕΡΑΓΕ σπεχιφψ τηε αγε οφ τηε τραχερ
• ΤΡΑΧΕΡΡΕΣΙ∆ΕΝΧΕΤΙΜΕ σπεχιφψ τηε ρεσιδενχε τιµε οφ τηε τραχερ

Το χοµπυτε αγινγ οφ α κινετιχ ηψδρατε ινηιβιτορ, σπεχιφψ τηε ΗΨ∆ΡΑΤΕΧΗΕΧΚ κεψωορδ.


Some output variables are available for plotting per tracer feed and per age group.

Transmitter
Transmitters are used to measure flow path variables and transmit them to controllers etc. through an output signal terminal.

See also:
When to use
Methods and assumptions
Limitations
How to use

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.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


The tuning coefficients are multiplied by the related values which are either calculated by OLGA or set in the input file depending on whether the tuned parameter is dynamically
calculated by OLGA or case invariant, e.g., geometry information.

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.

User defined dispersions and plug-in framework


This framework is designed as a flexible flow assurance framework for tracking user defined dispersions and utilizing external physical models provided by the user through a DLL.
The user may through the input define new User Defined dispersed phases (“UD phases”) inside each layer and phase in the OLGA model as depicted above.
Physical models can then be provided in a user made DLL for
1. mass transfer between phases (e.g. a hydrate formation model)
2. mass transfer between layers (e.g. sand deposition to a bed or wax deposition to a wall layer)
3. modification of apparent viscosity due to the presence of the dispersion
4. PVT properties of the new phase and optionally modification of the gas/oil/water properties
5. modifications of the heat transfer coefficient between the fluid and the pipe wall
6. compositional calculations
A sample DLL with some simple physical models is provided with the installation. The sample cases utilize the models in this DLL.
Please refer to the "Model, Numerics and Programmer’s Guide for the OLGA Plug-In" for a detailed description of the use of this system.

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
The plug-in framework for user defined phases is designed for simulation of e.g. sand transport, hydrate formation, wax deposition or other phenomena involving solid particle type
dispersions, and where the user wants to utilize in house physical models coupled to OLGA.

Methods and assumptions


User Defined phases (UD phases) are assumed to be either transported in one of the built-in carrying flow layers (gas, oil and water) or being
part of the stationary bed or wall layers. The formation of the UD phases, transport between layers, models for properties of the UD phases etc.
are to be given in the user provided plug-in DLL.
The "Model, Numerics and Programmer’s Guide for the OLGA Plug-In" describes the methods applied in the sample plug-in DLL provided with
the installation.

Limitations

Some default sample physical models are included in the plug-in DLL provided with the installation. These are available for test purposes only in
order to illustrate the use of the framework for User Defined phases (UD phases).

Compatibility
The plug-in framework with tracking of User Defined phases is compatible with the following models or modules:
Source, Valve, Loss, HeatExchanger, CheckValve, Slug Tracking
The system cannot be used in connection with the following models or modules:
Separator, Phase split node, Leak, Pump, Well, NearWellSource, Compressor, FLUID keyword, COMPOSITIONAL=ON/MEG/… , OPTIONS
DRILLING=ON, OPTIONS WAXDEPOSITION=ON, OPTIONS TRACERTRACKING=ON
Some of these limitations may be lifted in future versions.
For further limitations, please refer to the "Model, Numerics and Programmer’s Guide for the OLGA Plug-In".

How to use

Please refer to the "Model, Numerics and Programmer’s Guide for the OLGA Plug-In" for a detailed description of how to program a DLL with
physical models to be used by OLGA.
User defined dispersed phases are defined through the input groups UDPHASE, UDDISPERSION and UDPDF (in the Library section),
UDOPTIONS (CaseDefinition section) and UDGROUP (UDData section).
UDPHASE defines the dispersions to be tracked, referring to a phase recognized by the models in the DLL
UDDISPERSION defined a set of UDPHASEs, i.e. for defining a “dispersion in dispersion”, as e.g. a combination of hydrates and water
UDPDF is used to specify size distribution functions
UDOPTIONS is used for overall simulation parameters (In order to use UDOPTIONS, OPTIONS UDPLUGIN must be set to YES.)
UDGROUP is used to define combinations of UD phases. These are then referred to by SOURCE and NODE (for boundary conditions) or
INITIALCONDITIONS (for specifying the amount of UD phases at the start of the simulation)

Plug-in DLL:
Through UDOPTIONS PLUGINDLL the user may refer to a DLL to be used by the program for handling of dispersions. The available interfaces
and functionality is presented in the Plug-in Guide.

PVT Properties:
PVT properties for a UD phase may be given as input to a user defined plug-in. The file to be used is defined under FILES UDFILE. It may be
referenced by the FLOWPATH BRANCH and NODE.

Compositional UD option:
The composition of a dispersed UD phase may be tracked. The option is activated through the UDOPTIONS COMPOSITIONAL key. A separate
file defining the feeds and their properties must be given under FILES UDFEEDFILE. This file is to be used by the user defined plug-in. The
feeds may then be referenced by nodes, sources and for giving initial conditions. NOTE: This option cannot be run simultaneously with the
OLGA Compositional Tracking Module.
Inflow:
The inflow of UD phases is defined for each SOURCE, by reference either to a UDGROUP or a UDFEED. The latter refers to a UD phase
composition that must be defined in a plug-in.

Pressure boundary:
The mass fractions of UD phases at a pressure boundary are defined for each relevant NODE by reference either to a UDGROUP or a
UDFEED. The latter refers to a UD phase composition that must be defined in a plug-in.

Initial conditions:
The initial fraction of each UDGROUP in the pipeline is given by the reference to UDFEED (for composition tracking) or UDGROUP under
INITIALCONDITIONS. The values for each UDFRACTION in the UDGROUP are used as follows:
1. If INMASSFRACTION and OUTMASSFRACTION are specified, these are used with linear interpolation
2. Otherwise the value in MASSFRACTION corresponding to the start time is used

Plotting of output
Specific output variables are available for plotting of dispersed phases. The variables are grouped under “ParticleField” in the output variable list
and cover this information for each dispersed phase:

P-ACCG : Accumulated mass flow [kg/s]


P-ACCQ : Accumulated volume flow [kg/s]
P-G: mass flow rate [kg/s]
P-HOL: volume fraction [-]
P-M: specific mass [kg/m3]
P-Q: volumetric flow rate [m3/s]
P-U: velocity [m/s]
P-US: superficial velocity [m/s]
P-E0: statistical moment [kg/m6]
P-E1: statistical moment [kg/m5]
P-E2: statistical moment [kg/m4]
P-EU0: statistical moment velocity [m/s]
P-EU1: statistical moment velocity [m/s]
P-EU2: statistical moment velocity [m/s]
P-E0-FLOW: flowing statistical moment [kg/m6]
P-E1-FLOW: flowing statistical moment [kg/m5]
P-E2-FLOW: flowing statistical moment [kg/m4]
P-H: Enthalpy of UD Phase [J/kg]
P-CP: Specific heat of UD Phase [J/kg/K]
P-RO: Density of UD Phase [kg/m3]
P-DRDP: Pressure differential of UD Phase [kg/m-N]

For particle size distributions the output variables below are available. The option for using distribution functions (UDOPTIONS SIZEDIST = ON)
must be selected. OLGA supports Log Normal, while other distributions can be given in the UD plug-in.

P-SAUTER: Sauter mean for r


P-NUMMOM1: Number based statistical moment for r
P-NUMMOM2: Number based statistical moment for r2
P-NUMMOM3: Number based statistical moment for r3
P-BOUNUMMOM1: Flowing number based statistical moment for r
P-BOUNUMMOM2: Flowing number based statistical moment for r2
P-BOUNUMMOM3: flowing number based statistical moment for r3
P-MASSMOM1: Mass based statistical moment for r
P-MASSMOM2: Mass based statistical moment for r2
P-MASSMOM3: Mass based statistical moment for r3
P-STATP1: Statistical parameter – mean value
P-STATP2: Statistical parameter – standard deviation
P-STATP3: Statistical parameter – skewness

These variables are available for regular trend and profile plots and text output.

To enable these plot variables, one or all of PHASE, DISPERSION, and FLOWLAYER must be given.

PHASE = <UD-PHASE>

DISPERSION = <UD-DISPERSION>

FLOWLAYER = ALL, GAS, OIL, WATER, BED, WALL

At least one of these options must be given if a UD phase variable shall be plotted.

All three options can be combined.

The pre-defined phases (gas, oil, and water) are not available for plotting of UD phase variables, but will be added to FLOWLAYER when
plotting without any specified PHASE or DISPERSION.

Furthermore, cross sectional plots of particle concentration and dispersion velocity are available through the CROSSDATA definition under
OUTPUT for each FLOWPATH:
Concentration of dispersion (particles) from bottom to top of line along vertical diameter: P-CON
Volume velocity profile from bottom to top of line along vertical diameter: U-PROFILE
These data files have extension “csp” and can be plotted in the GUI. The concentration profile will be plotted for each UD phase and the plot
variables will automatically be labeled accordingly in the csp file. The plot interval is the same as for the TREND plots.

Size distributions may be plotted using the XYTDATA definition under OUTPUT for each FLOWPATH. Selecting the variable P-SD in this
statement generates a plot file with extension “xyt”.
Time points for plotting are specified with the Output group XYT.
Distributions are then plotted for all vertical positions at the given point in the pipe. A relative range 0-19 is used, starting from the bottom of the
pipe. The statistical distribution defined on UDPHASE/UDDISPERSION is used.

Example plot: Different Log Normal distributions.


Examples

Given a case with the following UD phase definitions:

UDPHASE LABEL = "Hydrate", …


UDDISPERSION LABEL = "HydrateWater", …

Ex 1 – Plot for whole phase/dispersion

To plot for the total phase Hydrate from all layers (including bed and wall):
TRENDDATA PHASE=”Hydrate”, VARIABLE=(P_M)

To plot for the total dispersion HydrateWater from all layers (including bed and wall):
TRENDDATA DISPERSION=”HydrateWater”, VARIABLE=(P-M)

Ex 2 – Plot for phase/dispersion in layer

To plot for the phase Hydrate in the gas layer:


TRENDDATA PHASE=”Hydrate”, FLOWLAYER=GAS, VARIABLE=(P-M)

To plot for the phase Hydrate in the gas layer and in the bed layer (2 plots):
TRENDDATA DISPERSION=”HydrateWater”, FLOWLAYER=(GAS, BED), VARIABLE=(P-M)

To plot for all phases in all layers (5 plots):


TRENDDATA PHASE=”Hydrate”, FLOWLAYER=ALL, VARIABLE=(P-M)

Ex 3 – Plot for layers

To plot for the gas layer:


TRENDDATA FLOWLAYER=GAS, VARIABLE=(P-M)

To plot for all layers (5 plots):


TRENDDATA FLOWLAYER=ALL, VARIABLE=(P-M)

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.

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


Calculation of velocity difference between water and liquid hydrocarbon ("slip velocity")
Two different options can normally be used for calculating the velocity difference between liquid water and hydrocarbon liquid (we term the latter "oil" for simplicity). This velocity
difference is termed the "slip velocity" or just "slip". The liquid droplets flowing in the gas phase are not included in this context.

By turning the water slip option off (WATERSLIP = OFF), the user assumes that there is no velocity difference between the oil and water flow fields. In this case oil and water are
always assumed to flow as a homogeneous mixture with average properties. The fluid mechanical model reduces to a two-phase gas-liquid model. However, water enthalpies are
accounted for in the temperature calculations.

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:

(Volume flow of water in oil)/(Total volume flow of water) ≤ 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 (mηω) and water continuous dispersions (mωη) are expressed as:
(a)

(b)

where mη [cP] is oil viscosity, mω [cP] is water viscosity and mρελ [-] 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 (mρελ,η) and a water continuous dispersion (mρελ,ω):

(c)

(d)

where is the concentration of water droplets in the oil continuous dispersion, and is the concentration of oil droplets in the water
continuous dispersion. mρελ is limited upwards to 10000.

The parameter is the dispersed phase volume fraction for which the relative viscosity mρελ equals 100. Based on pipe flow experiments on stable oil continuous emulsions

for different crude oils and formation waters, the parameter 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, Frel (Fh or Fw depending on the inversion point) and mρελ (mρελ,ω or mρελ,η) specified, the Pal & Rhodes method in Equations (c) and Equation (d) is
rearranged to calculate the value:

(e)

Equation (c) will then be used to calculate the water in oil dispersion viscosity. For oil in water dispersion, Equation (d) is used. Frel is defined with the key PHIREL, mrel 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/:

(f)

where
mρελ,η = Relative viscosity (dispersion/oil)
T = Temperature (deg C)
Fw = 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.

mmix = (moil*(1-WATERCUT) + mwater* WATERCUT)*VISCMOD (g)

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

Defined by WATEROPTIONS DISPMODEL = WOELFLIN. Two parameters can be set with this model: AWOELFLIN (default value 4.2) and BWOELFLIN (default value 2.5).

Barnea & Mizrahi:


For the Barnea & Mizrahi correlation, the relative viscosity is given by

where

Here µc and µd are the viscosities for the continuous and dispersed phases, respectively. The model is activated with WATEROPTIONS DISPMODEL = BARNEA.

Table based model:


The final way of giving a dispersion viscosity correlation is to use the bable based model. This can be defined by WATEROPTIONS DISPMODEL = INPUTVISC. The input is used as
in this example:
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.

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.

Calculation of velocity difference between water and liquid hydrocarbon


By default OLGA calculates the velocities of the oil and water fields separately (WATERSLIP = ON). If WATERSLIP = OFF, oil and water are always assumed to flow as a
homogeneous mixture with average properties. Finally, the user may specify a constant velocity difference between oil and water with WATERSLIP = CONSTANT. The velocity
difference is the specified by the key VELOCITYDIFFERENCE. This is a special option that should only be used with great care in special cases for tuning purposes.

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.

Hints and tips


Water fractions in sources, wells and at boundaries (when using PVT tables) are specified either as the mass fraction of liquid water relative to the total mass (flow) with the keyword
WATERFRACTION or as mass fraction of total water (liquid water plus the water vapour in the gas phase) with the keyword TOTALWATERFRACTION. The water vapour fraction of
the gas phase is taken from the fluid properties table.

If TOTALWATERFRACTION is set to -1, its actual value is taken from the fluid properties table. With 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
Rs - gas mass fraction
Rswt - total water mass fraction (TOTALWATERFRACTION)
Rswv - water vapor mass fraction (always from fluid table)
Rsw - liquid water mass fraction (WATERFRACTION)
Gtot - source total mass flow rate
Ghc - source total mass flow rate exclusive of liquid water
Gw - mass flow rate of total water (vapor + liquid)
GwL - mass flow rate of liquid water
Ggas - mass flow rate of total gas (including any water vapor)
Gwv - mass flow rate of water vapor in the gas phase

Example: Assume a flowing mixture consisting of 50 kg/s gas (saturated with water), 30 kg/s of oil and 20 kg/s of aqueous phase. Furthermore, let the saturated gas flow include 1
kg/s of water. The various mass fractions then become:

Rs = 50/(50+30) = 0.625
Rswt = (20+1)/(50+30+20) = 0.21
Rswv = 1/50 = 0.02
Rsw = 20/(50+30+20) = 0.20

Please observe that either TOTALWATERFRACTION (Rswt) or WATERFRACTION (Rsw) can be specified for the same e.g. source. If WATERFRACTION is specified all the water
in the e.g. source is considered to be liquid water.

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

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

See also:

When to use
Methods and assumptions
Limitations
How to use

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.

Methods and assumptions


The model takes into account the thermal-hydraulic effects of the wax in the following way:

1. Mass conservation equations are solved for


a. Wax dissolved in oil
b. Wax precipitated and dispersed in oil
c. Wax deposited at wall
2. Pipe diameter and roughness for each section is adjusted depending on the thickness of wax deposited on the wall.
3. Heat balance for precipitation, deposition and melting of wax.
4. Volume change due to precipitation, deposition and melting of wax.
5. Wall heat transfer is adjusted to take the wax layer into account
6. Oil viscosity is adjusted to take into account any suspended (dispersed) wax

Wax precipitation and dissolution in bulk


Precipitation and dissolution/melting of dispersed wax are calculated from variations of the wax component solubility with pressure and temperature. The solubility variations are
taken from the wax property tables.

Transport mechanisms from bulk to wall


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

The wax deposition rate due to molecular diffusion may be described by:

(a)

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)

where C2 and C3 are the constants given in /12/. Values: C2 = 0.055 and C3 = 1.4. is the change rate due to diffusion, and porosity effects. The constant C1 = 15.0 from /12/

is included in for the MATZAIN model only. NSR is a flow regime dependent Reynolds number /12/:

Where is the oil density [kg/m3], is the oil velocity [m/s], is the wax layer thickness [m], is the oil viscosity kg/(m s), is the average density of the gas-oil mixture
and 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.

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

Where Cwall is the volume fraction of precipitated wax in the oil at the inner wall temperature, is the shear rate at the wall [1/s], A is the surface area available for deposition [m2]
and is the average density of the wax [kg/m3].

Transport mechanisms from wall to bulk (dissolution of wax layer)


Dissolution/melting of wax deposited on the wall may be activated separately through the keys DISSOLUTION, DISSOLPRESS, DISSOLTDIFF and DISSOLRATE for the RRR
model. The melting process is calculated by the following method:

1. The dissolved wax concentration derivative with respect to temperature is found at the cloud point for the pressure in the section.

2. The dissolved wax concentration at the wall is adjusted when the wall surface temperature is above the dissolution temperature (found by applying DISSOLTDIFF). The
adjustment is as follows:

where Cwax is the concentration of wax, TWS is wall surface temperature, is the 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).

3. The adjusted Cwax,wall is used in the normal diffusion equations where


Cwax,bulk- Cwax,wall is the driving potential of the diffusion process. When
Cwax,wall > Cwax,bulk , melting will occur.

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

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

Viscosity of wax/oil dispersions:


Calculation of the viscosity of the wax/oil dispersion is done by using a model supplied by Calsep A/S, when using the key VISCOPTION = CALSEP. The current model is the same
as used in PVTSIM 16. The apparent viscosity of oil with suspended wax particles is calculated as follows:

(d)

where is the viscosity of the oil not considering solid wax and the volume fraction of precipitated wax in the oil-wax suspension. is the shear rate. The parameters D,
E and F have the 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.

Wax layer properties:


One may also give information about the porosity (oil volume fraction) of the wax layer, the roughness due to deposited wax (keys: WAXROUGHNESS and MAXROUGHNESS) and
the thermal conductivity of pure wax. The conductivity may be set manually in the input file by using CONDUCTOPT = MANUAL and set CONDUCTIVITY, or it may be taken from the
wax tables (CONDUCTOPT = TABLE).

The instantaneous porosity of wax added to the wax layer may be set as a constant (INSTPOROSITYOPT = MANUAL, WAXPOROSITY between 0.0 and 1.0), or be calculated by
the code (INSTPOROSITYOPT = AUTOMATIC, minimum and maximum limit given by MINPOROSITY and MAXPOROSITY). The instantaneous porosity equation used by the code
is as follows /12/:

(e)
where is the porosity (volume fraction of oil in the wax film), is the oil density [kg/m3], is the liquid velocity [m/s], is the inner pipe diameter including the wax layer [m]

and is the oil viscosity kg/(m s).

The effect of ageing may also be included by using the keys AGEINGOPT=AGEING, AGEINGTIME, INITPOROSITY and HARDPOROSITY. This activates a linear ageing model
where the entries for AGEINGTIME, INITPOROSITY and HARDPOROSITY are used to determine the derivative of porosity with time. The porosity is averaged over the new layer
and the old, aged layer at each time step.

The porosity of the wax layer is taken into account when calculating the thermal conductivity of the wax layer. The conductivity is found by using the following equation [ref.13]

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

Generate a wax file and an OLGA PVT table in PVTsim.

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:

Prepare the OLGA input using the following keywords;

 OPTIONS to set WAXDEPOSITION = ON


 OPTIONS TEMPERATURE = WALL
 FILES WAXFILE to specify the file containing the wax data

WAXDEPOSITION to specify wax specific data for each flow path. Wax deposition may be calculated by using one of the three following models:

 RRR model /6/


 HEATANALOGY model /14/
 MATZAIN model, as described by Matzain et. Al, /12/

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

A sample case for wax deposition is described in Sample: Waxdeposition.

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

See also:

When to use
Methods and assumptions
Limitations
How to use

When to use
The Wells module is 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)
 Analyzing cross flow between different reservoir zones
 Water cut limit
 Flow from multilateral wells
 Flow stability
 Flow assurance (hydrates)
 Gas lift requirements
 Production optimization
 Well test equipment sizing

License requirements
Production or injection flow equations other than linear, quadratic, or tabular are enabled by the Wells Module that requires a separate license.

Methods and assumptions


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

Phase fractions
For flows from the well section into the reservoir, the total mass flow is calculated with the gas mass flow fraction equal to the gas mass fraction within the well section. For the flow
from the reservoir into the well section, the gas mass fraction of the oil and gas mixture of the well fluid, GASFRACTION, and water mass fraction in the total mixture of the well fluid,
WATERFRACTION (or TOTALWATERFRACTION) are given. If GASFRACTION < 0 is given, the equilibrium gas mass fraction will be used. If the water option is not used,
WATERFRACTION should be zero (default value).

Options for calculating flow rate


Flow from reservoir into well
Two thermal options for calculating enthalpy inflow are available. The isothermal option assumes that the fluid enters the well at the reservoir temperature, and reservoir fluid enthalpy
is calculated on the basis of reservoir temperature and well pressure. If the adiabatic option is used, the reservoir fluid enthalpy is calculated on the basis of reservoir temperature and
reservoir pressure. The fluid temperature may change as the pressure decreases from the reservoir pressure to the pressure at the well section due to constant enthalpy expansion
and flashing.

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

1. Linear formula: Gw = A + B( pR - pwf )

where Gw is the mass flow rate, pR the reservoir pressure, and pwf the bottom hole flowing pressure. Constant B is defined as the productivity index. Constant A allows for a minimum
pressure difference required for the fluid to start to flow from the reservoir to the well and it must be less or equal to zero.

The inflow model Constant productivity index, 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.

2. Non-linear formula: A + BGw + CGw2 = pR2 - pwf2

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.

3. Tabular form (see keyword TABLE):


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 point at zero pressure difference. For pressure differences within the range of the table, the flow rates are calculated by a polynomial interpolation of
second degree. For pressure differences larger than the maximum value in the table, the flow rates are determined by a linear extrapolation using the tangent to the quadratic curve
at the end point of the table.

Flow from the well into the reservoir


For negative flow from the well to the reservoir, the negative enthalpy source will correspond to the pressure and temperature conditions in the well section.

The following three options are available for specifying the relationship between the mass flow rate and the pressure difference.

1. Linear formula: Gw = A + B( pwf - pR )

where Gw is the mass flow rate into the reservoir and constant B is the injectivity index. Constant A represents the minimum pressure difference required for the fluid to start to flow
from the well into the reservoir and it must be less than or equal to zero.

The inflow model Constant productivity index, Equation (g) in the Wells Module, can also be used for linear inflow. This model is available for all users.

2. Non-linear formula: A + BGw + CGw2 = pwf2 - pR2

where A, B and C are constants. A is the minimum pressure required for flow to start from the well into the reservoir.

3. Tabular form (see keyword TABLE):

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:

 Give input data for each individual well.

 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.

Dynamic Well Inflow


An option is available for simulating the dynamic characteristics of a well. For positive well flow, the instantaneous flow rate for each phase, f, is calculated by

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

The steady-state flow for each phase is calculated by:

(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.
Numerically, Equation (b) is solved by

(c)

(d)

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.

(e)

(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


The Wells Module is designed for well flow applications where the reservoir properties and the inflow relationships play an important role in the modelling.

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.

Constant productivity index


The linear form is used for the production of a typical oil reservoir, or as a first estimate when the production curve for the well is not properly defined:

(g)

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

Linear productivity (typical oil reservoir)

(h)

in oilfield units (stb/d/psi)

where
J Productivity index [stb/d/psi]
kh Effective permeability x net pay [mD ft]
n Oil viscosity [cP]
Bo Oil formation volume factor [Rft3/Sft3]
re Reservoir extension [ft]
rw Wellbore radius [ft]
s Mechanical skin

Forchheimer and Single Forchheimer model


When the full production curve can be estimated and a constant PI is not applicable a quadratic form of the relation between inflow and draw-down can be used, for example the
Forchheimer model (see ref. /1/):

(i)

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

[psi2/(scf/d)] (j)

[psi2/(scf2/d2)] (k)

Where:
T reservoir temperature [°R] (RESTEMPERATURE)
mg 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)

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:

, (l)
where B and C are defined by:

[psi/(scf/d)] (m)

[psi/(scf2/d2)] (n)

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

(o)

where q0,max is the theoretical maximum oil rate when flowing bottom hole pressure equals zero.

Backpressure and normalized backpressure equations


For gas wells the following simple equation is often used for the inflow performance (see ref. /1/ ).

, (p)

where C is defined by:

[scf/d/psi2n] (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:

(r)

where q0,max is the maximum oil rate when flowing bottom hole pressure equals zero.

Undersaturated oil wells


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

for (s)

for (t)

where pb is the bubble point pressure.

Tabulated inflow performance curve


If neither of the above inflow performance curves nor the linear and non-linear option presented in this section is applicable for the reservoir, a tabulated inflow curve can be specified
by the user. See the description in the beginning of this section.

Variable reservoir reference pressure


When a reservoir has been flowing for some time at high rates the reservoir pressure close to the well can be reduced significantly. The initial static reservoir reference pressure is no
longer applicable for specifying the inflow from the zone and a reduced reference pressure is introduced.

For the model to take these local drawdown and build-up effects into account, the reservoir reference pressure can be specified as a function of time by the user.

Injectivity index
The injectivity index is used for modelling of flow from the wellbore into the reservoir zone of gas, hydrocarbon liquid or water. This option is for example used for pushing the gas
back into the reservoir during a work-over operation.

The injectivity index is adapted to specify the relation between the flow from the well into the reservoir and the pressure build-up in the well. That is, when the bottom hole pressure
exceeds the static reservoir pressure an inflow into the reservoir will start depending on the injectivity index.

The inflow into the reservoir can be specified on the same form as the well production, but a different relationship can also be used. In addition, a separate linear injectivity index can
be used for the oil phase or the water phase.

Fracture pressure

When the pressure in the wellbore exceeds a certain value above the static reservoir pressure the formation will break down. The pressure required to burst the formation is called
the fracture pressure. When the pressure inside the wellbore exceeds this pressure small fractures will be created in the formation resulting in a significant increase in injectivity, and
the fluid in the wellbore will flow into these fractures instead of flowing into the reservoir matrix.

By specifying the fracture pressure the user defines the maximum allowable pressure inside the wellbore. In the Wells Module this is modelled by an "infinite" inflow into the reservoir
zone.

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.

Keyword dependencies: BRANCH, GEOMETRY, OPTIONS, POSITION, FEED


Required keys: LABEL, INJOPTION, PRODOPTION, RESPRESSURE, RESTEMPERATURE, ISOTHERMAL, LOCATION (Default values can be used if specified)

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, PRODPREFRACFACTOR, QMAX, RESEXT, SKIND, SKINS, VISGRES,
VISLRES, WATINJ and ZFACT. Which key to use for the different well flow models will be highlighted in the GUI interface.

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.

If COMPOSITIONAL = ON in OPTION then either the key FEEDMASSFRACTION or FEEDMOLEFRACTION is used.

If COMPOSITIONAL = BLACKOIL in OPTION then the key FEEDVOLFRACTION is used.

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.

Please see the keyword Well description for more details.

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

 Mass rates for each phase (gas, oil and water)


 Steady-state mass rates for each phase
 Total mass rate for the liquid phase and all phases
 Cone front for each phase
 Enthalpy for the well

Please see the Well variables for more details.

Zone
A zone is a region within a branch in which OLGA automatically generates inflows in each control volume based on a template definition.

See also:

When to use
Methods and assumptions
How to use

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.

Methods and assumptions


General
Given a start position and an end position, inflows are automatically generated in all control volumes inside the region based on a template. While most properties are assumed to be
constant over a zone, pressure and temperature can change. Please refer to the Interpolation section for further details.

Please refer to the individual sections to get detailed information on the various references given in the ZONE keyword.

Reservoir inflow assumptions


The inflows specified generate well-type objects where the location is assumed to be in the middle of the control volume. Furthermore, it is assumed, that all reservoir properties
except for the reservoir pressure and the reservoir temperature remain constant throughout the zone.

Interpolation
There are three different kinds of interpolation implemented, which will be described in the following.

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)

The reservoir temperature is assumed to be constant.

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.

REFERENCES
Referenced papers
1. H.B. Bradley:
Petroleum Engineering Handbook.
Society of Petroleum Engineers, 1987

2. A.T. Bourgoyne, K.K. Millheim, M.E. Chenevert, and F.S. Young:


Applied Drilling Engineering.
Society of Petroleum Engineers, 1991

3. R.E. Henry and H.K. Fauske:


The two-phase critical flow of one-component mixtures in nozzles, orifices and short tubes.
Journal of Heat Transfer, May 1971, p. 179-187

4. Terje Straume, Magnus Nordsveen and Kjell Bendiksen:


Numerical simulation of slugging in pipelines.
ASME Symposium on Multiphase Flow in Wells and Pipelines, Anaheim, CA (1992)

5. M. Nordsveen, R. Nyborg, L. Hovden:


Implementation of CO2 corrosion models in the OLGA three-phase flow code.
BHR Group 1999 Multiphase ’99, ISBN 1 86058 212 5

6. O.B. Rygg, A.K. Rydahl and H.P. Rønningsen


Wax Deposition in offshore pipeline systems
BHRGroup Multiphase Technology, Volume 31, Banff, Canada, June 1998

7. Calsep: PVTSIM Method documentation:


Modelling of wax formation -> Viscosity of oil-wax suspensions.

8. Rolf Nyborg, Peter Andersson and Magnus Nordsveen:


Implementation of CO2 Corrosion Models in a Three-Phase Fluid Flow Model.
CORROSION/2000, Paper No. 48 (Houston, TX: NACE International, 2000)

9. E.F. Caetano, O. Shoham and J.P. Brill:


Upward Vertical Two-Phase Flow Velocity and Flow Through an Annulus. Part I: Single-Phase Friction Factor, Taylor Bubble Rise Velocity and Flow Pattern Prediction. Part II:
Modelling Bubble, Slug and Annular Flow.
BHRA, Multi-Phase Flow - Proceedings of the 4th International Conference, Nice, France, pp. 301-362, 1989

10. O.B. Rygg, J. D. Friedmann and J. Nossen:


Advanced well flow model used for production, drilling and well control applications.
IADC Well Control Conference for Europe, Aberdeen, May 1996

11. A. H. P. Skelland:
Non-Newtonian Flow and Heat Transfer.
John Wiley & Sons, New York, 1967

12. Matzain, Zhang, Volk, Redus, Brill, Apte and Creek:


Multiphase flow wax deposition modelling.
Proceeding ETCE, February 2001, Houston USA

13. Singh,Venkatesan,Fogler, Nagarajan:


Formation and Aging of Incipient Thin Film Wax-Oil Gels.
AIChE Journal, Vol. 46, No. 5.

14. Incropera & DeWitt:


Fundamentals of Heat and Mass Transfer.
4th ed., ISBN 0-471-30460-3

15. Pal, R., Rhodes, E.:


Viscosity/Concentration Relationships for Emulsions.
J. of Rheology, Vol. 33, no. 7, pp. 1021-1045 (1989)

16. Rønningsen, H. P.:


Correlations for Predicting Viscosity of W/O Emulsions based on North Sea Crude Oils.
SPE Paper 28968, presented at the SPE International Symposium on Oilfield Chemistry, San Antonio, Texas, US, February 14-17, 1995

17. Rønningsen, H. P.:


Viscosity of ’live’ water-in-crude-oil emulsions: experimental work and validation of correlations.
J. of Petroleum Science and Engineering 38, pp. 23-26 (2003)

18. Stein Olsen and Arne Dugstad:


Corrosion under Dewing Conditions
CORROSION/91, Paper No.472, NACE, 1991

19. Hammerschmidt, E.G.:


Gas Hydrate Formations: A Further Study on Their Prevention and Elimination from Natural Gas Pipe Lines.
GAS, Vol. 15, no. 5, pp. 30-35, May 1939

20. Winkler, H.W. and Eads, P.T.:


Algorithm for More Accurately Predicting Nitrogen-Charged Gas-Lift Valve Operation at High Pressures and Temperatures.
SPE 18871, March 1969

21. Pedersen, K. S., and Rønningsen H. P.:


Effect of precipitated wax on viscosity
Presentation at AIChE Spring National Meeting, Houston, TX, March 14-18, 1999.

22. Darby R., Melson J.:


How to predict the friction factors for flow of Bingham plastics
Chemical Engineering, December 28, 1981

23. White, F.M.:


Fluid Mechanics
2nd ed., ISBN 0-07-066525-7

24. Turian, R.M., Hsu, F.L. and Ma, T.W.:


Estimation of the Critical Velocity in Pipeline Flow of Slurries
Powder Technology, 51, pp 35-47, 1987

25. Krieger, I.M. and Dougherty, T.J.:


A mechanism for Non-Newtonian Flow in Suspensions of Rigid Spheres
Trans. Soc. Rheol. III 137-152., 1959

26. Thomas, A.D.:


Slurry Pipeline Rheology
2nd Conference on Rheology, Sydney, Australia.

27. Lasater, J. A.:


Bubble Point Pressure Calculation
Trans. ANIME (1958), 379.

28. McCain W. D.:


The properties of petroleum fluids.
PennWell P. C. 1990

29. Vazquez and Beggs:


Correlations for Fluid Physical Property Prediction
M.S. Thesis, Tulsa Univ. 1976.

30. Glaso, Oistein.:


Generalized Pressure-Volume-Temperature Correlations
Journal of Petroleum Technology, pp. 785-795, May 1980.

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

33. Baker O. and Swerdloff W.:


Finding surface tension of hydrocarbon liquids.
Oil and Gas Journal, Jan. 2., 1956.

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

Non-referenced papers describing the OLGA model:


Bendiksen, K.H., Malnes, D., Moe, R. and Nuland, S.: The Dynamic Two-Fluid Model OLGA: Theory and Application. SPE Production Engineering, May 1991, pp. 171-180

Rygg, O.B. and Ellul, I.R.: The Dynamic Two-Phase Modeling of Offshore Live Crude Lines Under Rupture Conditions. OTC 6747, presented at the 23rd annual Offshore Technology
Conference, Houston, U.S.A (May 16-9, 1991)

Shea, R.H., Rasmussen, J., Hedne, P. and Malnes, D.: Holdup predictions for wet-gas pipelines compared. Oil & Gas Journal, May 19, 1997
Non-referenced papers describing applications of the OLGA model:
Burke, N.E. and Kashou, S.F.: Slug Sizing/Slug Volume Prediction, State of the Art Review and Simulation, OTC 7744, presented at the 27th annual Offshore Technology
Conference, Houston, U.S.A (May 1-4, 1995)

Burke, N.E., Kashou, S.F. and Hawker, P.C.: History Matching of a North Sea Flowline Startup. Journal of Petroleum Technology, May 1993, pp. 470-476

Courbot, A.: Prevention of Severe Slugging in the Dunbar 16" Multiphase Pipeline. OTC 8196, presented at the 28th annual Offshore Technology Conference, Houston, U.S.A (May
6-9, 1996)
Erickson, D.D. and Mai, M.C.: A Transient Multiphase Temperature Prediction Program. SPE 24790, 1992, Presented at the 6th Annual Technical Conference and Exhibition of the
SPE, Washington, D.C., October 4-7, 1992

Flaten, G., Nunes, G.C. and Assayaga, S.: Evaluation of the dynamic flow behavior for the Petroboost system. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes,
1997, BHR Group Conference Series No. 24, pp. 185-198

Hustvedt, E.: Determination of Slug Length Distribution by the Use of the OLGA Slug Tracking Model. Presented at the 6th Int. Conf. on Multi-Phase Production, Cannes, 1993, BHR
Group Conference Series No. 4, pp 147-163

Hærdig, A. and Moe, R.: Dynamic simulations of multiphase flow in flowline bundles on Åsgård. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group
Conference Series No. 24, pp. 275-289

Klemp, S., Meland, B., and Hustvedt, E.: Operational experiences from multiphase transfer at Troll. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR
Group Conference Series No. 24, pp. 477-496

Lingelem, M.N.: TOGI Multiphase Flow From Troll to Oseberg. OTC 6670, presented at the 23rd annual Offshore Technology Conference, Houston, U.S.A (May 16-9, 1991)

Mazzoni, A., Villa, M., Bonuccelli, M., De Toma, G., Mazzei, D., and Crescezi, T.: 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

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

Xu, Z.G.: Solutions to Slugging Problems Using Multiphase Simulations.

Keywords
ABCDEFGHIJKLMNOPQRSTUVWXYZ

A
ANIMATE
ALGEBRAICCONTROLLER
AMBIENTDATA
ANNULUS
ASCCONTROLLER

B
BLACKOILCOMPONENT
BLACKOILFEED
BLACKOILOPTIONS
BRANCH

C
CASCADECONTROLLER
CASE
CENTPUMPCURVE
CENTRIFUGALPUMP
CHECKVALVE
COMPOPTIONS
COMPRESSOR
COMPONENT
CORROSION

D
DISPLACEMENTPUMP
DRILLINGFLUID
DTCONTROL

E
ESDCONTROLLER

F
FEED
FILES
FLOWPATH
FLUID
FLUIDBUNDLE

G
GEOMETRY

H
HEATEXCHANGER
HEATTRANSFER
HYDRATECHECK
HYDRATECURVE
HYDRATEKINETICS
HYDRATEOPTIONS

I
INITIALCONDITIONS
INTEGRATION

L
LEAK
LOSS

M
MATERIAL
MANUALCONTROLLER

N
NEARWELLSOURCE
NODE
NODE

O
OPTIONS
OPTIONS
OUTPUT
OUTPUTDATA
OVERRIDECONTROLLER

P
PHASESPLITNODE
PIDCONTROLLER
PIG
PIPE
PLOT
POSITION
PRESSUREBOOST
PROFILE
PROFILEDATA
PSVCONTROLLER
PUMP
PUMPBATTERY

R
RESERVOIRINFLOW
RESTART

S
SCALERCONTROLLER
SELECTORCONTROLLER
SEPARATOR
SHAPE
SIMPLIFIEDPUMP
SINGLEOPTIONS
SLUGILLEGAL
SLUGTRACKING
SLUGTUNING
SOLIDBUNDLE
SOURCE
SOURCE
STDCONTROLLER
SWITCHCONTROLLER

T
TABLE
TABLECONTROLLER
TIMESERIES
TOOLJOINT
TRACERFEED
TRANSMITTER
TREND
TRENDDATA
TUNING

U
UDDISPERSIONS
UDPHASE
UDPDF
UDOPTIONS

V
VALVE

W
WALL
WATEROPTIONS
WAXDEPOSITION
WELL

X
XYT
XYTDATA

Z
ZONE

ANIMATE (on CaseLevel)


Description ( See also: Keys)

This keyword generates the data needed by the OLGA 3D-viewer. The data format chosen is HDF5, so the generated files will have extension ".h5".

Useful links:
1. http://www.hdfgroup.org/HDF5/ (HDF5 home page)
2 http://www.hdfgroup.org/hdf-java-html/hdfview/ (HDFVIEW, free program to view the content of HDF5 files)

ANIMATE (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Time interval between subsequent data printouts. DTPLOT should only be
DTPLOT Real (s) given once in the input file, if given more than once, OLGA will use the last
value given.

Link to: ANIMATE (on CaseLevel) Description Keys

CASE (on CaseLevel)


Description ( See also: Keys)

Defines information about a simulation.

CASE (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
AUTHOR String Author of the input file.
DATE String Date.
INFO String General information about the case.
PROJECT String Project name.
TITLE String Case title.

Link to: CASE (on CaseLevel) Description Keys

DTCONTROL (on CaseLevel)


Description ( See also: Keys)

This statement defines a switch for stability control.

See restrictions and limitations for more information.


DTCONTROL (on CaseLevel) Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
CFL Symbol [ON] The Courant-Friedrichs-Lewy (CFL) criterion based on the flow velocity.
CFLFACTOR Real [0.8] Tuning factor for the CFL time-step.
GRADPRESSURE Symbol ON | [OFF] Time-step control based on the first-order derivative of pressure w.r.t. time.
PREFACTOR Real [0.8] Tuning factor for pressure criterion.
Time-step control based on the second-order derivative of pressure w.r.t.
PRESSURE Symbol [OFF]
time.
SOUND_CFL Symbol [OFF] Time-step control based on the speed of pressure waves.

Link to: DTCONTROL (on CaseLevel) Description Keys

FILES (on CaseLevel)


Description ( See also: Keys)

This statement defines the additional input files, e.g., PVT table files for fluid properties, pump δατα ταβλε φιλεσ,
φιλεσ χοµπρεσσορ ταβλε φιλεσ,
φιλεσ φεεδ φιλε for the compositional
tracking model and wax file for the wax deposition model.

Note: several files can be listed for COMPRESSORFILE, PUMPFILE and PVTFILE.

For definition of a restart file, click here.

If drilling fluids are used and the fluid properties are given in files, these are specified as additional files in the PVTFILE key.

FILES (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Name of COMPRESSOR file(s). The files can contain several compressors
COMPRESSORFILE StringList
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.
PUMPFILE StringList Name of PUMP file(s). Each file can contain only one pump.
PVTFILE StringList Name of the file(s) containing fluid properties.
Name of User Defined (UD) feed file (used by the plug-in module). Note that
UDFEEDFILE String
only one file may be specified. The file can contain several feeds.
UDPVTFILE StringList Name of User Defined (UD) property file (used by the plug-in module)
Name of the file containing the WAX table. Note that only one wax table can
WAXFILE String
be specified for the time being.

Link to: FILES (on CaseLevel) Description Keys

INTEGRATION (on CaseLevel)


Description ( See also: Keys)

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.

INTEGRATION (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DTSTART Real (s) Initial time-step.
PIDCONTROLLER |
ASCCONTROLLER |
PSVCONTROLLER |
MANUALCONTROLLER |
OVERRIDECONTROLLER |
SELECTORCONTROLLER |
ENDCONTROLLER Symbol Label of the controller determining conditional termination of the simulation.
CASCADECONTROLLER |
ESDCONTROLLER |
LINEARCOMBINATION |
TABLECONTROLLER |
SCALERCONTROLLER |
SWITCHCONTROLLER |
ENDTIME Real (s) Simulation end time.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
MAXDT RealList (s) [1.0] Largest time-step allowed.
Maximum lagging factor (see LAGFACT output variable) to allow before the
MAXLAGFACT Real [0.3]
output variable LAGIND is set to 1.
MAXTIME RealList (s) [0.0] Timetable for changing MAXDT.
MINDT RealList (s) [0.001] Smallest time-step allowed.
MINTIME RealList (s) [0.0] Timetable for changing MINDT.
Select whether or not to recompute the time-step if the first-stage solution is
RUNTIMESTEPAGAIN Symbol FALSE | [TRUE]
unsatisfactory.
Simulation speed relative to real-time. Zero means simulate at highest
SIMULATIONSPEED Real [0] possible speed. Any other positive number means that the simulator will slow
down the simulation so it matches the factor given relative to real time.
STARTTIME Real (s) Simulation start time.

Link to: INTEGRATION (on CaseLevel) Description Keys

OPTIONS (on CaseLevel)


Description ( See also: Keys)

This statement specifies the different calculating options to be applied in the simulation.
OPTIONS is a required keyword.

OPTIONS (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
OFF: No compositional tracking, just use the fluid table. ON: Enable
ON | MEG | MEOH | ETOH |
compositional tracking. MEG/MEOH/ETOH: Use Inhibitor tracking with the
COMPOSITIONAL Symbol BLACKOIL | STEAMWATER-HC
given component. BLACKOIL: Use Black oil model. STEAMWATER-HC: Use
| SINGLE | | [OFF]
steam model. 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
DEBUG Symbol ON | LIMITED | [OFF] messages and can slow down simulation significantly. DEBUG = LIMITED will
be more silent about fluid table warnings and some informative messages, but
otherwise report the same as DEBUG = ON.
Select the information to print when DEBUG = ON or LIMITED. SERVER
DEBUGINFO SymbolList SERVER | STATE | prints server information. STATE prints information about state changes in
OLGA engine.
DRILLING Symbol ON | [OFF] Set it to ON for simulation drilling process
ELASTICWALLS Symbol ON | [OFF] Turn on or off the use of the effect of expanding/contracting walls
Mass transfer model. WATER: Mass transfer between gas-oil and gas-water.
FLASHMODEL Symbol HYDROCARBON | [WATER]
HYDROCARBON: Only mass transfer between gas-oil.
FLOWMODEL Symbol OLGAHD | [OLGA] The type of flow model to use for dynamic flow
This key (HYDSLUG) makes it possible to turn off the distributed flow regimes
HYDSLUG Symbol OFF | [ON] (hydrodynamic slug flow and dispersed bubble flow). HYDSLUG OFF will
enforce stratified or annular flow (both including liquid droplets).
MASSEQSCHEME Symbol 2NDORDER | [1STORDER] Discretization scheme used for solving the mass equations.
OFF: Slip between phases is calculated (recommended). ON: Should only be
used for sensitivity simulations. The gas and liquid (oil and water) is treated as
one single homogenized phase in the pressure drop and momentum
NOSLIP Symbol ON | [OFF]
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.
Define the number of phases to be simulated. In OLGA 6 the only option is
PHASE Symbol [THREE]
THREE.
SLUGVOID Symbol AIR | [SINTEF] Select correlations for determining gas volume fraction in liquid slugs.
Turns off the initial value (steady state) pre-processor or only turn off the
STEADYSTATE Symbol OFF | NOTEMP | [ON]
temperature calculation in the pre-processor.
Define the upper and lower limits of pressure and temperature allowed in the
simulation. OFF: The limits will be the ones specified in the fluid tables
(recommended). ON: This option should only be used when old PVT files with
TABLETOLERANCE Symbol ON | UNLIMITED | [OFF] too narrow pressure/temperature ranges cannot be reproduced and improved.
UNLIMITED: This option will remove the upper an lower limits of temperature
and pressure and will use the end values in the table outside the table range
without extrapolation. Use with extreme care.
Specify the desired temperature calculation option. OFF: No temperature
calculation, initial values are used. ADIABATIC: No energy exchange with the
walls. Adiabatic flow is assumed. UGIVEN: Total heat transfer coefficient for
ADIABATIC | UGIVEN | OFF | the pipe-wall is given. No wall temperatures are calculated. WALL: Heat
TEMPERATURE Symbol
FASTWALL | [WALL] transfer on wall inside and outside, wall heat conduction and heat storage is
accounted for. FASTWALL: Same as option WALL except that heat storage is
neglected. This option is used for a fast approach to steady state thermal
conditions.
TRACERTRACKING Symbol ON | [OFF] Switch for using tracertracking
UDPLUGIN Symbol ON | [OFF] Set to ON to use User Defined phases and a plugin dll
WAXDEPOSITION Symbol ON | [OFF] Switch wax deposition model on or off.
For STEAMWATER-HC and SINGLE only. YES: PVT table file(s) and
WRITEPVTFILES Symbol YES | [NO]
saturation line file are written for steam and single component properties.

Link to: OPTIONS (on CaseLevel) Description Keys

RESTART (on CaseLevel)


Description ( See also: Keys)

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 as it did for versions prior to OLGA 6. 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.

Several actions, such as activate/deactivate SLUGTRACKING, change valve openings, modify controller settings etc. may be performed in a restart.

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

RESTART (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DTWRITE Real (s) Define the time interval at which to write restart data to file.
FILE String The name of the restart file from which to restart the simulation.
READFILE Symbol ON | [OFF] ON: Enable reading of the restart file. OFF: Restart is disabled.
Time in previous simulation at which the state is read in order to restart this
READTIME Real (s)
simulation (only one time point is allowed).
OVERWRITE: Replace any existing restart file with the current data.
WRITE Symbol APPEND | OFF | [OVERWRITE] APPEND: Add data to an existing restart file. OFF: No restart data is written to
file.
WRITETIME RealList (s) A specific time or time series when restart data is written to the restart file.

Link to: RESTART (on CaseLevel) Description Keys

UDFEED (on CaseLevel)


Description ( See also: Keys)

This keyword contains only a label key. The label is used to refer feeds recognized by the plug-in dll.

In order to use UDFEED, UDOPTIONS COMPOSITIONAL must be set to ON. UDFEEDs can also be defined through the UDFEEDFILE. OLGA parses the file looking for the
following strings: <Number of compositions> and <Composition labels>

If <Number of compositions> is found the next line will be read as number of feeds (Nfeeds).

If <Composition labels> are found the Nfeeds lines following will be read and added to the list of UDFEEDs.

Example:
<Number of compositions>
2

<Composition labels>
FEED-1
FEED-2

Will add the FEED-1 and FEED-2 to the list of UDFEEDs available in SOURCE UDFEED etc.

UDFEED (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String [UDFEED] Name of user defined feed recognized by plug-in.

Link to: UDFEED (on CaseLevel) Description Keys

UDOPTIONS (on CaseLevel)


Description ( See also: Keys)

UDOPTIONS contains options for simulation of user defined dispersions like hydrates and sand.

In order to use UDOPTIONS, OPTIONS UDPLUGIN must be set to YES.

SIZEDIST = ON activates handling of size distributions through tracking of statistical moments. Distribution functions are defined through UDPDF, and are referred by the
UDFRACTIONs in the UDGROUP section. They are also referred to for output of distribution related variables.

Component tracking of user defined phases can be activated by setting COMPOSITIONAL = ON. Note that this option is not compatible with the standard Compositional
Tracking Module activated through OPTIONS COMPOSITIONAL = ON. In order to run this option, a plug-in DLL describing the components and containing the proper
interfaces must be provided. These interfaces are described in the "Model, Numerics and Programmers Guide for the OLGA Plug-In". Furthermore a file describing the
composition is needed and must be referred to with FIELD UDFEEDFILE.

When running with a user defined plug in, the name of the plug-in DLL should be given trough the key PLUGINDLL.

The PLUGINMODEL key allows definition of a model type that is transported to the plug-in and can be stored for easy selection of different plug-in models by the plug-in
programmer.

UDOPTIONS (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Turn on component tracking (can not be combined with OPTIONS
COMPOSITIONAL Symbol ON | [OFF]
COMPOSITIONAL)
Name of PlugIn dll, used to calculate flashing, entrainment/deposition and
PLUGINDLL String
PVT properties.
PLUGINMODEL String The plug-in model to use. Will be sent to the plug-in.
SIZEDIST Symbol ON | [OFF] Option for activating statistical moment model
Link to: UDOPTIONS (on CaseLevel) Description Keys

BLACKOILCOMPONENT (on CaseLevel)


Description ( See also: Keys)

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

BLACKOILCOMPONENT (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
API gravity. API = 141.5/(oil specific gravity)–131.5. Cannot be given if
APIGRAVITY Real [30]
OILSPECIFICGRAVITY is given.
Mole fraction of CO2 in gas at standard conditions. CO2MOLEFRACTION
CO2MOLEFRACTION Real (-) [0.0]
has to be less than 10%.
Gas specific gravity (gas density/air density). GASSPECIFICGRAVITY has to
GASSPECIFICGRAVITY Real [0.64]
be larger than 0.5 (0.55 is pure methane).
Mole fraction of H2S in gas at standard conditions. H2SMOLEFRACTION has
H2SMOLEFRACTION Real (-) [0.0]
to be less than 10%.
LABEL String [BOCOMP] Name of the blackoil component.
Mole fraction of N2 in gas at standard conditions. N2MOLEFRACTION has to
N2MOLEFRACTION Real (-) [0.0]
be less than 10%.
Oil specific gravity (oil density/water density). Cannot be given if APIGRAVITY
OILSPECIFICGRAVITY Real [0.876]
is given.
TYPE Symbol OIL | GAS | WATER | Define if the component is an oil, Gas or water component.
Water specific gravity (water density/fresh water density). Used in order to
WATERSPECIFICGRAVITY Real [1.0]
include density effect on water due to components other than salt, e.g. MEG.

Link to: BLACKOILCOMPONENT (on CaseLevel) Description Keys

BLACKOILFEED (on CaseLevel)


Description ( See also: Keys)

This statement defines a black oil feed.

BLACKOILFEED (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
GASCOMPONENT Symbol BLACKOILCOMPONENT | Ref. to blackoil component label of type gas.
GLR Real (Sm3/Sm3) Gas/liquid ratio. Alternative to GOR.
GOR Real (Sm3/Sm3) Gas/oil ratio. Alternative to GLR.
LABEL String [BOFEED] Blackoil feed label.
LGR Real (Sm3/Sm3) Liquid/gas ratio. Alternative to GLR (to be used for gas feeds).
OGR Real (Sm3/Sm3) Oil/gas ratio. Alternative to GOR (to be used for gas feeds).
OILCOMPONENT Symbol BLACKOILCOMPONENT | Ref. to blackoil component label of type oil.
WATERCOMPONENT Symbol BLACKOILCOMPONENT | Ref. to blackoil component label of type water.
WATERCUT Real (-) [0.0] Watercut.

Link to: BLACKOILFEED (on CaseLevel) Description Keys

BLACKOILOPTIONS (on CaseLevel)


Description ( See also: Keys)

This statement defines the black oil options.

BLACKOILOPTIONS (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
API gravity. API = 141.5/(oil specific gravity)–131.5. Cannot be given if
APIGRAVITY Real []
OILSPECIFICGRAVITY is given.
BUBBLEPRESS Real (Pa) Bubble pressure at a given temperature.
BUBBLETEMP Real (C) [] The temperature corresponding to the bubble pressure.
Gas specific gravity (gas density/air density). GASSPECIFICGRAVITY has to
GASSPECIFICGRAVITY Real []
be larger than 0.5 (0.55 is pure methane).
GOR Real (Sm3/Sm3) Gas/oil ratio. The GOR should not be larger than 1000 Sm3/Sm3.
STANDING | BEGGS |
GORMODEL Symbol Correlation used to calculate the gas/oil ratio.
GLASO | [LASATER]
Oil specific gravity (oil density/water density). Cannot be given if APIGRAVITY
OILSPECIFICGRAVITY Real []
is given.
OILVISC Real (N-s/m2) Measured oil viscosity at a given pressure and temperature.
OILVISC-TUNING Symbol ON | [OFF] Enable tuning of oil viscosity.
RSGO_BP-TUNING Symbol ON | [OFF] Enable tuning of RSGO (gas dissolved in oil) and Bubble point.
VISCPRESS Real (Pa) [] The pressure at which the viscosity is measured.
VISCTEMP Real (C) [] The temperature at which the viscosity is measured.

Link to: BLACKOILOPTIONS (on CaseLevel) Description Keys

COMPOPTIONS (on CaseLevel)


Description ( See also: Keys)

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.

COMPOPTIONS (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
COMPONENT SymbolList Components to specify delay constants for (defined in feed file).
Used in the dense phase region. A fluid with a density higher than this limit is
defined as a liquid and a fluid with lower density is identified as gas. If used, it
DENSITYLIMIT Real (kg/m3) should preferably be set equal to the fluid density at the critical point. If not
used, internal routines will decide the phase (may cause instabilities when
crossing bubble/dew point).
TWOPHASE | Algorithm used in flash calculations. TWOPHASE is <default> if no aqueous
FLASHTYPE Symbol SIMPLETHREEPHASE | components are part of the feed. SIMPLETHREEPHASE is <default> if there
FULLTHREEPHASE | [<default>] is at least one aqueous component in the feed.
Time constant for mass transfer from liquid phase to gas phase due to boiling
TBOILING RealList (s) [1.0] for components in COMPONENT. (Non-equilibrium delay constant). Only for
STEAMWATER-HC.
Time constant for mass transfer from gas phase to liquid phase (Non-
equilibrium delay constant). When COMPOSITIONAL=ON, the default value
is no delay and each value must have a corresponding component in
TCONDENSATION RealList (s)
COMPONENT. When COMPOSITIONAL=STEAMWATER-HC,
TCONDENSATION may be defined as a time series and the default value is 1
s.
Time points for which TBOILING, TVAPORIZATION and TCONDENSATION
TIME RealList (s) [0.0]
changes. Only for STEAMWATER-HC.
Time constant for mass transfer from liquid phase to gas phase (Non-
equilibrium delay constant). When COMPOSITIONAL=ON, the default value
is no delay and each value must have a corresponding component in
TVAPORIZATION RealList (s)
COMPONENT. When COMPOSITIONAL=STEAMWATER-HC
TVAPORIZATION may be defined as a time series and the default value is 1
s.
Whether to use Corresponding state or Lohrenz-Bray-Clark correlation for
VISCOSITYCORR Symbol LBC | [CORRSTATE]
viscosity correlation.

Link to: COMPOPTIONS (on CaseLevel) Description Keys

FEED (on CaseLevel)


Description ( See also: Keys)

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.

FEED (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Components in feed. For COMOSITIONAL=ON the components are defined
COMPONENT SymbolList in the feed file. For DRILLING=ON available components are HC, H2O,
MEG/MEOH/ETOH, CUTTING and MUD components.
LABEL String [FEED] Name of feed.
MASSFRACTION RealList (-) Mass fractions of the components of the feed.
MOLEFRACTION RealList (-) Mole fractions of the components of the feed. Can not be used with Drilling.
Link to: FEED (on CaseLevel) Description Keys

AlgebraicController
Description ( See also: Keys)

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

The following unary operator has been implemented:


ABS – Take the absolute value of the current result

The following binary operators have been implemented:


ADD – Add next input signal (INPSIG_i) to the current result
SUB – Subtract next input signal (INPSIG_i) from the current result
MUL – Multiply the current result with the next input signal (INPSIG_i)
DIV – Divide the current result with the next input signal (INPSIG_i)
GT – Compare current result with the next input signal (INPSIG_i), return value one if current result is greater than next input signal, value zero otherwise
LT – Compare current result with the next input signal (INPSIG_i), return value one if current result is less than next input signal, value zero otherwise
GE – Compare current result with the next input signal (INPSIG_i), return value one if current result is greater than or equal to the next input signal, value zero otherwise
LE – Compare current result with the next input signal (INPSIG_i), return value one if current result is less than or equal to the next input signal, value zero otherwise
EQ – Compare current result with the next input signal (INPSIG_i), return value one if current result is equal to the next input signal, value zero otherwise
NEQ – Compare current result with the next input signal (INPSIG_i), return value one if current result is not equal to the next input signal, value zero otherwise

Controller type Algebraic makes use of the following signal terminals:

INPSIG_1..N (Required input)

MODE (Optional input)

SIGNAL (Optional input)

ACTIVATE (Optional input)

CONTR_1..N (Optional output)

AlgebraicController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
BIAS Real [0.0] Initial output signal.
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [0]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
MAXSIGNAL Real [1.0e10] Maximum output signal.
MINSIGNAL Real [-1.0e10] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MANUAL | EXTERNALSIGNAL |
MODE SymbolList controller output is given by the controller connected to the SIGNAL terminal.
FREEZE | [AUTOMATIC]
EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [0]
maximum value.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the MANUALOUTPUT key.
For use when one or more variables are specified. The values of the variables
ADD | SUB | MUL | DIV | GT | LT | will be subject to the operator specified. The first operator vill be used on the
VARIABLEFUNCTION SymbolList
GE | LE | EQ | NEQ | ABS | first operand(s)=INPSIG terminal(s). The second operator will be used on the
result ffor the first operation and possibley any additional INPSIG terminal.

Link to: AlgebraicController Description Keys

ASCController
Description ( See also: Keys)

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.
The ASC controller has the following signal terminals:
MEASRD (Required input)
MODE (Optional input)
SIGNAL (Optional input)
SETPOINT (Optional input)
ACTIVATE (Optional input)
CONTR_1..N (Optional output)
ASCController Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
Anti Surge Controller amplification (proportional term). Used for negative
AMP1 Real
deviation from setpoint.
Anti Surge Controller amplification (proportional term). Used for positive
AMP2 Real
deviation from setpoint.
BIAS Real Initial output signal.
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
DERIVATIVECONST Real (s) [0.0] Coefficient in front of the derivative term of a PID controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
Coefficient in front of the integral of PID controllers. It represents a
characteristic time. N.b., it is the inverse of the coefficient which appears in
INTEGRALCONST Real (s) [1.0E+10]
the expression for the output signal. If the non-linear option is chosen, this is
an array as a function of the ERROR array.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
Analog controller: Maximum allowed change in controller output signal from
one time-step to the next. This restriction is used by the time-step control. If
the change in output exceeds this value, OLGA will go back to the previous
point in time and integrate with a shorter time-step. Digital controller:
MAXCHANGE Real [0.2]
Maximum discrepancy between the instance a sample should be taken and
the actual time in the simulation in terms of a fraction of the sample time
interval. (E.g., with SAMPLETIME=2.0s and MAXCHANGE=0.2, the
maximum discrepancy will be ±0.4s.)
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
MANUAL | EXTERNALSIGNAL | controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MODE SymbolList EXTERNALSETPOINT | FREEZE | controller output is given by the controller connected to the SIGNAL terminal.
[AUTOMATIC] EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
For normalized controllers (used together with AMPLIFICATION). Indicates
NORMRANGE Real
measuring range for input to controller.
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
SETPOINT RealList Setpoint values.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value and vice versa.
TIME RealList (s) Time series for the SETPOINT key.
If TIMESTEPCONTROL=OFF the time step control is bypassed. If
TIMESTEPCONTROL Symbol OFF | [ON]
STROKETIME is less than DTMIN the time step control is also bypassed.

Link to: ASCController Description Keys

CascadeController
Description ( See also: Keys)

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.

A cascade controller has the following terminals:

MEASRD (Required input)

MODE (Optional input)

SIGNAL (Optional input)

SETPOINT (Optional input)

ACTIVATE (Optional input)

CONTR_1..N (Optional output)

CascadeController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
PID amplification factor. If the non-linear option is chosen, this is an array as a
AMPLIFICATION RealList
function of the ERROR array.
For use with EXTENDED CASCADE controller. Average time for the moving
AVERAGETIME Real (s)
averaging function of the primary controller variable.
BIAS Real Initial output signal.
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
CONSTONE Real (1/s) For use with EXTENDED CASCADE controller: Constant C1.
For use with EXTENDED CASCADE controller: Switching value for using C1
CONSTSWITCH Real
and C2.
CONSTTWO Real (1/s) For use with EXTENDED CASCADE controller: Constant C2.
DEFAULTINPUT Real Setpoint for INACTIVEMODE=DEFAULTMODE.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
Coefficient in front of the derivative term of PID controllers. If the non-linear
DERIVATIVECONST RealList (s) [0.0] option is chosen, this is an array as a function of the ERROR array.
Activate the non-linear option for the PID. Coefficients are given as an array of
ERROR RealList [0.0]
values representing each value in ERROR. Error is the deviation.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
EXTENDED Symbol ON | [OFF] Select ON to use the EXTENDED CASCADE controller.
Specifies how the controller act when it is deactivated by a selector, override
controller etc. ONHOLD: Restore old values, everything is on hold.
INTERLOCK: The PID controller get feedback on the output signal used from
ONHOLD | INTERLOCK |
INACTIVEMODE Symbol the connected controller (Selector or Override). If the PID controller becomes
DEFAULTINPUT | NORMAL |
inactive it will back calculate its integral error to match the output signal of the
connected controller. DEFAULTINPUT: Compute output signal based on
default input, given in key DEFAULTINPUT. NORMAL: No action.
INITIALSETPOINT Real Initial setpoint for extended cascade.
Coefficient in front of the integral of PID controllers. It represents a
characteristic time. N.b., it is the inverse of the coefficient which appears in
INTEGRALCONST RealList (s) [1.0E+10]
the expression for the output signal. If the non-linear option is chosen, this is
an array as a function of the ERROR array.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
Analog controller: Maximum allowed change in controller output signal from
one time-step to the next. This restriction is used by the time-step control. If
the change in output exceeds this value, OLGA will go back to the previous
point in time and integrate with a shorter time-step. Digital controller:
MAXCHANGE Real [0.2]
Maximum discrepancy between the instance a sample should be taken and
the actual time in the simulation in terms of a fraction of the sample time
interval. (E.g., with SAMPLETIME=2.0s and MAXCHANGE=0.2, the
maximum discrepancy will be ±0.4s.)
MAXSETPOINT Real Maximum setpoint for secondary controller in cascade control loop.
MAXSIGNAL Real [1.0] Maximum output signal.
MINSETPOINT Real Minimum setpoint for secondary controller in cascade control loop.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MANUAL | EXTERNALSIGNAL |
MODE SymbolList controller output is given by the controller connected to the SIGNAL terminal.
FREEZE | [AUTOMATIC]
EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
For normalized controllers (used together with AMPLIFICATION). Indicates
NORMRANGE Real
measuring range for input to controller.
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
For use with EXTENDED CASCADE controller. Logging time interval for the
SAMPLEDT Real (s)
primary controller variable.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.
If TIMESTEPCONTROL=OFF the time step control is bypassed. If
TIMESTEPCONTROL Symbol OFF | [ON]
STROKETIME is less than DTMIN the time step control is also bypassed.

Link to: CascadeController Description Keys

ESDController
Description ( See also: Keys)

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.

The ESD controller has the following signal terminals:

MEASRD_1..N (Required input)

MODE (Optional input)

SIGNAL (Optional input)

SETPOINT (Optional input)

ACTIVATE (Optional input)

CONTR_1..N (Optional output)

ESDController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.

Analog controller: Maximum allowed change in controller output signal from


one time-step to the next. This restriction is used by the time-step control. If
MAXCHANGE Real [0.2] the change in output exceeds this value, OLGA will go back to the previous
point in time and integrate with a shorter time-step. Digital controller:
Maximum discrepancy between the instance a sample should be taken and
the actual time in the simulation in terms of a fraction of the sample time
interval. (E.g., with SAMPLETIME=2.0s and MAXCHANGE=0.2, the
maximum discrepancy will be ±0.4s.)
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
MANUAL | EXTERNALSIGNAL | controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MODE SymbolList EXTERNALSETPOINT | FREEZE | controller output is given by the controller connected to the SIGNAL terminal.
[AUTOMATIC] EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
For ESD. Either ABOVE or BELOW. Depending on whether the valve is to
OPENMODE Symbol BELOW | [ABOVE]
close when the signal goes above or below the setpoint.
The valve closes if the input variable gets below or exceeds the reset value
RESET RealList
depending on OPENMODE.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
SETPOINT RealList Setpoint values.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.
If TIMESTEPCONTROL=OFF the time step control is bypassed. If
TIMESTEPCONTROL Symbol OFF | [ON]
STROKETIME is less than DTMIN the time step control is also bypassed.

Link to: ESDController Description Keys

ManualController
Description ( See also: Keys)

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.

A manual controller has the following signal terminals:

MODE (Optional input)

SIGNAL (Optional input)

SETPOINT (Optional input)

ACTIVATE (Optional input)

CONTR..N (Optional output)

ManualController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
Analog controller: Maximum allowed change in controller output signal from
one time-step to the next. This restriction is used by the time-step control. If
the change in output exceeds this value, OLGA will go back to the previous
point in time and integrate with a shorter time-step. Digital controller:
MAXCHANGE Real [0.2]
Maximum discrepancy between the instance a sample should be taken and
the actual time in the simulation in terms of a fraction of the sample time
interval. (E.g., with SAMPLETIME=2.0s and MAXCHANGE=0.2, the
maximum discrepancy will be ±0.4s.)
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
MANUAL | EXTERNALSIGNAL | controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MODE SymbolList EXTERNALSETPOINT | FREEZE | controller output is given by the controller connected to the SIGNAL terminal.
[AUTOMATIC] EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
If RANGECHECK=ON MINSIGNAL and MAXSIGNAL will be used to limit the
RANGECHECK Symbol ON | [OFF]
output signal.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
SETPOINT RealList Setpoint values.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.
If TIMESTEPCONTROL=OFF the time step control is bypassed. If
TIMESTEPCONTROL Symbol OFF | [ON]
STROKETIME is less than DTMIN the time step control is also bypassed.

Link to: ManualController Description Keys

OverrideController
Description ( See also: Keys)

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.

An override controller has the following signal terminals:

MODE (Optional input)

SIGNAL (Optional input)

ACTIVATE (Optional input)

INPSIG_1..N (Required input)

CONTR_1..N (Optional output)

OverrideController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MANUAL | EXTERNALSIGNAL |
MODE SymbolList controller output is given by the controller connected to the SIGNAL terminal.
FREEZE | [AUTOMATIC]
EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
An override controller selects either minimum or maximum of the signals from
SELECTIONMODE Symbol HIGH | [LOW] all the subcontrollers. Key SELECTIONMODE determines the selection of
minimum or maximum signal.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.

Link to: OverrideController Description Keys

PIDController
Description ( See also: Keys)

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.

The PID controller has the following signal terminals:

MEASRD (Required input)

MODE (Optional input)

SIGNAL (Optional input)

SETPOINT (Optional input)

ACTIVATE (Optional input)

WINDUP (Optional input)

CONTR_1..N (Optional output)

PIDController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
PID amplification factor. If the non-linear option is chosen, this is an array as a
AMPLIFICATION RealList
function of the ERROR array.
BIAS Real Initial output signal.
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
DEFAULTINPUT Real Setpoint for INACTIVEMODE=DEFAULTMODE.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
Coefficient in front of the derivative term of PID controllers. If the non-linear
DERIVATIVECONST RealList (s) [0.0]
option is chosen, this is an array as a function of the ERROR array.
Activate the non-linear option for the PID. Coefficients are given as an array of
ERROR RealList [0.0]
values representing each value in ERROR. Error is the deviation.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.

Specify how the controller acts when it is deactivated by a selector, override


controller etc. ONHOLD: Restore old values, everything is on hold.
INTERLOCK: The PID controller gets feedback on the output signal used from
the connected controller (Selector or Override). If the PID controller becomes
ONHOLD | INTERLOCK |
INACTIVEMODE Symbol inactive it will back calculate its integral error to match the output signal of the
DEFAULTINPUT | NORMAL |
connected controller. DEFAULTINPUT: Compute output signal based on
default input, given in key DEFAULTINPUT. NORMAL: no action.
Coefficient in front of the integral of PID controllers. It represents a
characteristic time. N.b., it is the inverse of the coefficient which appears in
INTEGRALCONST RealList (s) [1.0E+10]
the expression for the output signal. If the non-linear option is chosen, this is
an array as a function of the ERROR array.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
Analog controller: Maximum allowed change in controller output signal from
one time-step to the next. This restriction is used by the time-step control. If
the change in output exceeds this value, OLGA will go back to the previous
point in time and integrate with a shorter time-step. Digital controller:
MAXCHANGE Real [0.2]
Maximum discrepancy between the instance a sample should be taken and
the actual time in the simulation in terms of a fraction of the sample time
interval. (E.g., with SAMPLETIME=2.0s and MAXCHANGE=0.2, the
maximum discrepancy will be ±0.4s.)
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
MANUAL | EXTERNALSIGNAL | controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MODE SymbolList EXTERNALSETPOINT | FREEZE | controller output is given by the controller connected to the SIGNAL terminal.
[AUTOMATIC] EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
For normalized controllers (used together with AMPLIFICATION). Indicates
NORMRANGE Real
measuring range for input to controller.
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
SETPOINT RealList Setpoint values.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.
If TIMESTEPCONTROL=OFF the time step control is bypassed. If
TIMESTEPCONTROL Symbol OFF | [ON]
STROKETIME is less than DTMIN the time step control is also bypassed.

Link to: PIDController Description Keys

PSVController
Description ( See also: Keys)

A Pressure Safety Valve controller (PSV) opens a valve when the pressure at a specified position (given by a measured signal) is above or below (depending on
SETPOINTMODE) the setpoint value. The setpoint can be given as a key or as an input signal. The PSV controller closes the valve when the pressure is below or above
(depending on SETPOINTMODE) a specified RESET value.

The PSV controller has the following signal terminals:

MEASRD_1..N (Required input)

MODE (Optional input)

SIGNAL (Optional input)

SETPOINT (Optional input)

ACTIVATE (Optional input)

CONTR_1..N (Optional output)

PSVController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
Analog controller: Maximum allowed change in controller output signal from
one time-step to the next. This restriction is used by the time-step control. If
the change in output exceeds this value, OLGA will go back to the previous
point in time and integrate with a shorter time-step. Digital controller:
MAXCHANGE Real [0.2]
Maximum discrepancy between the instance a sample should be taken and
the actual time in the simulation in terms of a fraction of the sample time
interval. (E.g., with SAMPLETIME=2.0s and MAXCHANGE=0.2, the
maximum discrepancy will be ±0.4s.)
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
MANUAL | EXTERNALSIGNAL | controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MODE SymbolList EXTERNALSETPOINT | FREEZE | controller output is given by the controller connected to the SIGNAL terminal.
[AUTOMATIC] EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
Either ABOVE or BELOW. Depending on whether the valve is to close when
OPENMODE Symbol BELOW | [ABOVE]
the signal goes above or below the setpoint.
The valve closes if the input variable gets below or exceeds the reset value
RESET RealList
depending on OPENMODE.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
SETPOINT RealList Setpoint values.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.
If TIMESTEPCONTROL=OFF the time step control is bypassed. If
TIMESTEPCONTROL Symbol OFF | [ON]
STROKETIME is less than DTMIN the time step control is also bypassed.

Link to: PSVController Description Keys

ScalerController
Description ( See also: Keys)

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:

U = (Y -LOWLIMIT)/(HIGHLIMIT - LOWLIMIT)*(MAXSIGNAL-MINSIGNAL) + MINSIGNAL

where Y is the measured signal, value at the MEASRD terminal.

A scaler controller has the following terminals:

MEASRD (Required input)

CONTR_1..N (Optional output)

ScalerController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
BIAS Real [0.0] Initial output signal.
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
HIGHLIMIT Real High limit for measured signal.
LABEL String [CONTR] Identification label for this controller.
LOWLIMIT Real Low limit for measured signal.
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.

Link to: ScalerController Description Keys

SelectorController
Description ( See also: Keys)

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.

Any number of limits (HIGHLIMITSIG/LOWLIMITSIG) can be given.

A selector controller has the following signal terminals:

SUBCONLOW (Required input)

SUBCONHIGH (Required input)

HIGHLIMITSIG_1..N (Required input)

LOWLIMITSIG_1..N (Required input)

MODE (Optional input)

SIGNAL (Optional input)

ACTIVATE (Optional input)

CONTR_1..N (Optional output)

SelectorController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
HIGHLIMIT is compared with the HIGHLIMITSIG signal input. If the signal
from SUBCONLOW is used, the controller will switch to the SUBCONHIGH
HIGHLIMIT RealList signal if HIGHLIMITSIG > HIGHLIMIT. If multiple HIGHLIMIT/HIGHLIMITSIG
is given, the controller will loop all connections and test if HIGHLIMITSIG_i >
HIGHLIMIT[i]
Active sub-controller at the start of the simulation. Has to refer to a SUBCON
INITIALCONTROLLER Symbol SUBCONHIGH | SUBCONLOW |
terminal.
LABEL String [CONTR] Identification label for this controller.
LOWLIMIT is compared with the LOWLIMITSIG signal input. If the signal from
SUBCONHIGH is used, the controller will switch to the SUBCONLOW signal if
LOWLIMIT RealList LOWLIMITSIG < LOWLIMIT. If multiple LOWLIMIT/LOWLIMITSIG is given,
the controller will loop all connections and test if LOWLIMITSIG_i <
LOWLIMIT[i].
MANUALOUTPUT RealList Manual output.
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MANUAL | EXTERNALSIGNAL |
MODE SymbolList controller output is given by the controller connected to the SIGNAL terminal.
FREEZE | [AUTOMATIC]
EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
Time interval between each sampling of input. Activates digital controller
SAMPLETIME Real (s)
option.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.

Link to: SelectorController Description Keys

STDController
Description ( See also: Keys)

The STD Controller converts mass flow rate to volumetric flow rate at standard conditions.

Σετ χορρεχτ πηασε ιν ΠΗΑΣΕ κεψ. Σπεχιφψ τηε φλυιδ ιν τηε ΦΛΥΙ∆ ορ ΦΕΕ∆ΝΑΜΕ κεψσ. Σπεχιφψ τηε ωαντεδ
ΓΟΡ/ΧΓΡ/ΩΓΡ/ΩΑΤΕΡΧΥΤ/ΜΟΛΩΕΙΓΗΤ, ανδ τηε οϖεραλλ µασσ φλοω ρατε ωιλλ βε χαλχυλατεδ.

Χοννεχτ τηε ΣΤ∆ Χοντρολλερ ουτπυτ τερµιναλ Χοντρ το αν ΠΙ∆ χοντρολλερ Μεασρδ τερµιναλ.

STDController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Condensate-gas ratio. The default value is the equilibrium value from PVT
CGR Real (Sm3/Sm3)
data.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
FEEDMASSFRACTION RealList (-) Mass fraction of each feed.
FEEDMOLEFRACTION RealList (-) Mole fraction of each feed.
Label of feeds feeding to terminal nodes. Requires COMPOSITIONAL=ON or
FEEDNAME SymbolList
BLACKOIL under the OPTIONS keyword.
Volume fraction of each feed given in FEEDNAME for choke model (only for
FEEDVOLFRACTION RealList (-)
Blackoil model).
Label or number of fluid table to apply for the specific branch. If a keyword
FLUID Symbol PVTData | based pvt-file is used, FLUID must be the same as the LABEL given in the
pvt-file, i.e., numbering is not valid for this format.
GLR Real (Sm3/Sm3) Gas/liquid volumetric flow ratio at standard conditions.
Gas/oil volumetric flow ratio at standard conditions. By default, the GOR from
GOR Real (Sm3/Sm3) [-1.0]
the PVT table is used.
LABEL String [STD] Identification label for this controller.
Molecular weight of equivalent gas (total flow). By default, the gas density at
MOLWEIGHT Real (kg/kmol) standard conditions from the PVT table is used to determine the molecular
weight.
Sm3/h | Sm3/d | scf/d |
MMscf/d | STB/d | STB/M |
OUTPUTUNIT Symbol Unit of controller output.
scf/s | scf/h | MSm3/d | Mscf/d
| [Sm3/s]
GAS | OIL | WATER | LIQUID
PHASE Symbol The phase for which the volumetric flow rate is specified.
| ALL |
UDPVTFILE Symbol SlurryPvtData | Name of User Defined property file used by the plug-in module.
Water volume fraction in oil/water mixture. With a value of -1.0 the total water
WATERCUT Real (-) [-1.0]
fraction is taken from the fluid table.
WGR Real (Sm3/Sm3) [-1.0] Ratio between water (including water in gas phase) and gas.

Link to: STDController Description Keys

SwitchController
Description ( See also: Keys)
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.

SP < 1.5 unconstrained output A is set equal to controller at terminal INPSIG_1

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

….

(Ni-0.5) <= SP unconstrained output A is set equal to controller at terminal INPSIG_N

Where Ni is the number of connected input terminals INPSIG

A switch controller has the following terminals:

INPSIG_1..Ni (Required input)

MODE (Optional input)

SIGNAL (Optional input)

SETPOINT (Optional input)

ACTIVATE (Optional input)

CONTR_1..N (Optional output)

SwitchController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
BIAS Real [0.0] Initial output signal.
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10.0]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [CONTR] Identification label for this controller.
MANUALOUTPUT RealList Manual output.
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
AUTOMATIC: The setpoint is defined on the controller. MANUAL: The
MANUAL | EXTERNALSIGNAL | controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The
MODE SymbolList EXTERNALSETPOINT | FREEZE | controller output is given by the controller connected to the SIGNAL terminal.
[AUTOMATIC] EXTERNALSETPOINT the setpoint is given by the controller connected to the
SETPOINT terminal. FREEZE the controller output is frozen (kept constant).
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10.0]
maximum value.
SETPOINT RealList Setpoint values.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10.0]
speed from minimum to maximum value or vice versa.
TIME RealList (s) Time series for the SETPOINT key.

Link to: SwitchController Description Keys

TableController
Description ( See also: Keys)

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.

The table controller has the following terminals:

INPSIG (Required input)

CONTR_1..N (Optional output)

TableController Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
BIAS Real [0.0] Initial output signal.
Time required to change valve settings or compressor speed from maximum
CLOSINGTIME Real (s) [10]
to minimum value.
Time from when the measured value is read to when it is used by the
DELAY Real (s) [0.0]
controller.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [CONTR] Identification label for this controller.
MAXSIGNAL Real [1.0] Maximum output signal.
MINSIGNAL Real [0.0] Minimum output signal.
Time required to change valve settings or compressor speed from minimum to
OPENINGTIME Real (s) [10]
maximum value.
Stroke or actuator time. Time required to change valve settings or compressor
STROKETIME Real (s) [10]
speed from minimum to maximum value or vice versa.
TABLE Symbol TABLE | Label of the table. The table consist of x and y. Input signal x1 gives output
signal y1 by table interpolation.

Link to: TableController Description Keys

OUTPUTDATA (on ASCController)


Description ( See also: Keys)

OUTPUTDATA (on ASCController) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
VARIABLE SymbolList (ValueUnitPair) List of variables to be printed. Units may be specified.

Link to: OUTPUTDATA (on ASCController) Description Keys

TRENDDATA (on ASCController)


Description ( See also: Keys)

TRENDDATA (on ASCController) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
VARIABLE SymbolList (ValueUnitPair) List of variables to be plotted. Units may be specified.

Link to: TRENDDATA (on ASCController) Description Keys

TOOLJOINT (on CaseLevel)


Description ( See also: Keys)

This statement defines the geometrical data for internal and external pipe upsets in the flow path. The purpose is to calculate a correction factor for the pipe wall roughness due
to the pipe upsets.

The TOOLJOINT keyword is part of the Wells Module.


Figure A Side view and cross section of flow path with upsets

TOOLJOINT (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
D1EXUP Real (m) External upset of pipe/tubing.
D2INUP Real (m) Internal upset in annulus/tubing.
DD1 Real (m) Inner diameter of annulus.
DD2 Real (m) Outer diameter of annulus.
GEOMETRY Symbol GEOMETRY | Geometry label to where the tool-joint is located.
LABEL String [TOOLJ] Tool-joint label, default is tool-joint number.
LJOINT Real (m) Distance between upsets.
LUPSET Real (m) Length of upset.
PIPE SymbolList Label of pipe(s) for which the wall roughness shall be adjusted.

Link to: TOOLJOINT (on CaseLevel) Description Keys

FLUID (on CaseLevel)


Description ( See also: Keys)

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.

The complex fluid model


The Complex Fluid module requires a separate license. The module utilizes either the Bingham, the power law or a Newtonian model. As opposed to the complex viscosity
model, the complex fluid model includes numerous modifications to the physical models for both separated and distributed flow taking into account the non-Newtonian
behavior of the fluids. As soon as TYPE is set to COMPLEXFLUID the modified physical models are used, even if CFLUML or CFLUMW are set to NEWTONIAN.

Due to limited testing against Newtonian data, the complex fluid model is not recommended used on gas-condensate and oil-gas systems with oil viscosity less than 50 cp.

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.

FLUID (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
BINGHAM | POWERLAW |
CFLUML Symbol Type of complex fluid model of the liquid hydrocarbon phase.
[NEWTONIAN]
BINGHAM | POWERLAW |
CFLUMW Symbol Type of complex fluid model of the water phase.
[NEWTONIAN]
CONSFL Real Consistency factor for hydrocarbon liquid in the complex viscosity model.
CONSFW Real Consistency factor for water phase in the complex viscosity model.
BINGHAM | POWERLAW |
CVISL Symbol Type of complex viscosity model of the liquid hydrocarbon phase.
HERSCHELBUCKLEY | [NEWTONIAN]
BINGHAM | POWERLAW |
CVISW Symbol Type of complex viscosity model of the water phase.
HERSCHELBUCKLEY | [NEWTONIAN]
Whether or not to use power exponent/yield stress as function of P and T from
FULL Symbol YES | [NO]
the fluid property file in a complex fluid model.
PLASTL Real (N-s/m2) Hydrocarbon liquid plastic viscosity, used in the complex viscosity model.
PLASTW Real (N-s/m2) Water plastic viscosity used in the complex viscosity model.
Exponent for hydrocarbon liquid phase model, used in both the complex
POWEXPL Real
viscosity and complex fluid model.
Exponent for water phase model, used in both the complex viscosity and
POWEXPW Real
complex fluid model.
COMPLEXFLUID |
TYPE Symbol Fluid model type.
COMPLEXVISCOSITY | [NEWTONIAN]
Yield stress for hydrocarbon liquid phase in the complex viscosity and
YIELDSTRL Real (Pa)
complex fluid models.
Yield stress for water phase in the complex viscosity and complex fluid
YIELDSTRW Real (Pa)
models.

Link to: FLUID (on CaseLevel) Description Keys

SINGLEOPTIONS (on CaseLevel)


Description ( See also: Keys)

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

SINGLEOPTIONS (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
COMPONENT Symbol H2O | CO2 | OTHER | Name of single-component.
Coefficients in equation for specific heat. Only for
CPIC RealList
SINGLECOMPONENT=OTHER.
MAXPRESSURE Real (Pa) Maximum pressure for PVT table generated.
MAXTEMPERATURE Real (C) Maximum temperature for PVT table generated.
MINPRESSURE Real (Pa) Minimum pressure for PVT table generated.
MINTEMPERATURE Real (C) Minimum temperature for PVT table generated.
MW Real (g/mol) Molecular weight. Only for SINGLECOMPONENT=OTHER.
OMEGA Real Accentric factor. Only for SINGLECOMPONENT=OTHER.
PC Real (Pa) Critical pressure. Only for SINGLECOMPONENT=OTHER.
Time constant for mass transfer from liquid phase to gas phase due to boiling
TBOILING RealList (s) [1.0]
for component. (Non-equilibrium delay constant).
TC Real (C) Critical temperature. Only for SINGLECOMPONENT=OTHER.
Time constant for mass transfer from gas phase to liquid phase for the
TCONDENSATION RealList (s) [1.0]
component. (Non-equilibrium delay constant).
TIME RealList (s) [0.0] Time points for which TBOILING and TCONDENSATION changes.
VISX Real [1.0] Viscosity tuning factor. Only for SINGLECOMPONENT=OTHER.
VOLX RealList [0.0] Volume tuning factor. Only for SINGLECOMPONENT=OTHER.

Link to: SINGLEOPTIONS (on CaseLevel) Description Keys

SLUGTRACKING (on CaseLevel)


Description ( See also: Keys)

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.

The slug tracking option offers full temperature calculation capabilities.

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.

SLUGTRACKING (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Minimum void required behind a level tail and ahead of a level front at
BUBBLEVOID Real (-)
initiation time
Number of pipe diameters a slug needs to propagate before the next
DELAYCONSTANT Real [150]
hydrodynamic slug is initiated.
End time for level slug initiation. If not given no end time restriction is
ENDTIME Real (s)
enforced.
Gas entrainment into slug from bubble for breaking/level front in slug tracking.
GASENTRAINMENT Symbol NYDAL | [VOIDINSLUG] NYDAL: Nydal correlation for entrainment. VOIDINSLUG: Entrainment based
on correlation for void in slug.
HYDRODYNAMIC Symbol ON | MANUAL | [OFF] Option for initiating hydrodynamic slugs.
INITBUBBLEVOIDS RealList (-) [1] Void fractions in the slug bubbles.
INITENDTIMES RealList (s) End times for slug generation.
The minimum distance between two consecutive slugs is defined as (bubble
INITFREQUENCY Real (1/s)
vel./INITFREQUENCY).
INITLENGTH Real Maximum initial length of hydrodynamic slugs in number of pipe diameters.
INITPERIODS RealList (s) Time interval between initiations of consecutive slugs.
INITPOSITIONS SymbolList Labels of section boundaries where slug generation zones are located.
INITSLUGVOIDS RealList (-) [0.0] Void fraction in the liquid slug.
INITSTARTTIMES RealList (s) Start times for slug generation.
INITZONELENGTHS RealList (m) The length of zones where slugs are to be generated.
LEVEL Symbol ON | [OFF] Option for detecting and initiating level slugs.
Max number of slugs allowed in the system, if not given there are no
MAXNOSLUGS Integer
restrictions.
SLUGVOID Real (-) The maximum void allowed in a level slug at initiation time.
Start time for level slug initiation. If not given, level detection is on from
STARTTIME Real (s)
simulation start.

Link to: SLUGTRACKING (on CaseLevel) Description Keys

SLUGTUNING (on CaseLevel)


Description ( See also: Keys)

This statement defines the slug tuning option, witch makes it possible to tune certain parameters in the slug model. The parameters available for tuning are at the moment
very limited.

The SLUGTUNING keyword may be used for adjusting the OLGA model to specific sets of measured data or for sensitivity studies. This keyword is available both in batch
and server mode. SLUGTUNING should be applied with great care, as the validation and verification of the OLGA model may not be valid for such cases.

SLUGTUNING (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Tuning coefficient for slug front pressure drop (with and without
DPFACT Real [1.0] SLUGTRACKING). Has no effect for a large value of SLUGLENGTH when
not SLUGTRACKING.
Tuning coefficient for onset of slug front pressure drop (with and without
SLUGTRACKING). The slug front pressure drop is set to 0 when the film
DPONSET Real [1.0]
velocity in the slug bubble region is larger than a certain critical velocity which
can be tuned.
Slug length (number of diameters) in slug front pressure drop correlation for
SLUGLENGTH Real [1e+09] unit cell model (ignored for SLUGTRACKING).dP/dz is inversly proporsional
to SLUGLENGHT.
Tuning coefficient 1 in Taylor bubble velocity calculation (with and without
UBCOEFF1 Real [1.0]
SLUGTRACKING).
Tuning coefficient 2 in Taylor bubble velocity calculation (with and without
UBCOEFF2 Real [1.0]
SLUGTRACKING).
Tuning coefficient for void in horizontal slug (with and without
VOIDINSLUG Real [1.0]
SLUGTRACKING).
VOIDINVERTSLUG Real [1.0] Tuning coefficient for void in vertical slug (with and without SLUGTRACKING).

Link to: SLUGTUNING (on CaseLevel) Description Keys

WATEROPTIONS (on CaseLevel)


Description ( See also: Keys)

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:

No parameters are needed for the option DISPERSIONVISC = BARNEA, for which the Barnea & Mizrahi model is used:

where

Here µc and µd are the viscosities for the continuous and dispersed phases, respectively.
A table based model is available using input as given in this example:
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 one should use WATERFLASH=ON and WATERSLIP=ON with this model.

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 fraction of the total water stream that can be mixed
into the oil is given by EMAX (default value 1.0):

(Volume flow of water in oil)/(Total volume flow of water) ≤ EMAX

Both parameters should be defined under the WATEROPTIONS keyword.

WATEROPTIONS (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
AWOELFLIN Real [4.2] Constant A in Woelflin viscosity correlation
BWOELFLIN Real [2.5] Constant B in Woelflin viscosity correlation
ON: Dispersion viscosity calculated according to DISPMODEL settings. OFF:
DISPERSIONVISC Symbol OFF | [ON] Viscosity volume weighting if WATERSLIP = OFF or CONSTANT. Viscosity
from tables for continuous phase is used if WATERSLIP = ON.
RONNINGSEN | EXPERIMENT |
Specify which model to be used to calculate the dispersion viscosity
DISPMODEL Symbol WOELFLIN | BARNEA |
(DISPERSIONVISC=ON).
INPUTVISC | [PALRHODES]
Maximum fraction of water dispersed for FWLOW < WC <
EMAX Real (-) [1.0]
INVERSIONWATERFRAC
ENTRAINMENTFACTOR Real [1.0] Scaling factor for water entrainment rate from bulk to droplets
Critical water fraction above which the fraction of the water dispersed into oil <
FWLOW Real (-) [0.0]
EMAX
INVERSIONWATERFRAC Real (-) [0.5] Flowing water volume fraction at inversion point.
Dispersed phase volume fraction when the relative viscosity (visc. of
PHI100 Real (-) [0.765]
dispersed phase/ visc. of continuous phase) is 100%.
Dispersed phase volume fraction given the relative viscosity (VISCREL). Used
PHIREL Real (-) [0.0]
if DISPMODEL=EXPERIMENT.
VELOCITYDIFFERENCE Real (m/s) [0.0] Define the velocity difference between the oil and water phases.
Viscosity tuning factors corresponding to given WATERCUT values. Used if
VISCMOD RealList
DISPERSIONVISC=OFF.
Relative viscosity for a given dispersed phase volume fraction (PHIREL).
VISCREL Real [0.0]
Used if DISPMODEL=EXPERIMENT.
Watercut values corresponding to a given viscosity tuning factor (VISCMOD).
WATERCUT RealList (-)
Used if DISPERSIONVISC=OFF.
ON: Oil/water slip velocity is calculated within the flow model. OFF: No
WATERSLIP Symbol OFF | CONSTANT | [ON] velocity difference. CONSTANT: A constant velocity difference between oil
and water is specified. Should be used with great care.

Link to: WATEROPTIONS (on CaseLevel) Description Keys

OUTPUTDATA (on Node)


Description ( See also: Keys)

This statement defines the node variables to be printed to the output file (*.out).

See Node Output Variables for available variables.

OUTPUTDATA (on Node) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
VARIABLE SymbolList (ValueUnitPair) List of variables to be printed. Units may be specified.

Link to: OUTPUTDATA (on Node) Description Keys

TRANSMITTER (on Node)


Description ( See also: Keys)
This keyword is used to define output signals from flowpath, process equipment, node, separator and phase split node.

The signals can be received by a controller. The signals are defined through the variable key e.g. fluid pressure in the flowpath (PT) or liquid level in the separator (LIQLV).
Controllers that receive these measured values use them to calculate new signals which in turn are used to regulate e.g. a valve opening (see Controllers). If several different
output signals are needed form the same position, add a transmitter per output signal. However, the several controllers can receive the output signal from one transmitter.

Note: If a branch variable is to be controlled, add a transmitter to the flowpath at a dummy location (use a valid absolute position or pipe/section). The location is only used
graphically to position the transmitter along the flowpath.

TRANSMITTER (on Node) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String [TM] Transmitter Terminal label.
VARIABLE Symbol (ValueUnitPair) 2048 | Variable to be transmitted. Unit may be specified.

Link to: TRANSMITTER (on Node) Description Keys

TRENDDATA (on Node)


Description ( See also: Keys)

This statement defines the trend data to be plotted for nodes. A trend plot is a time series plot for a specified variable.

For available variables see Node Output Variables.

TRENDDATA (on Node) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
VARIABLE SymbolList (ValueUnitPair) List of variables to be plotted. Units may be specified.

Link to: TRENDDATA (on Node) Description Keys

Flowpath
Description ( See also: Keys)

This statement defines the label of the flow path.

Flowpath Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
FLUIDTYPE Symbol GAS | OIL | WATER | The phase of the fluid flowing in the single-phase line.
INFO String General information about the flowpath. For information purposes only.
LABEL String Network component label (if nothing is given the NC tag is used).
LINE Symbol YES | [NO] NO: Three-phase flow. YES: Use a single-phase fluid in the flowline.

Link to: Flowpath Description Keys


BRANCH (on Flowpath)
Description ( See also: Keys)

This statements defines a grouping of pipes by reference to a GEOMETRY.

BRANCH (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Label or number of the fluid table to apply for this branch. If a keyword based
FLUID Symbol PVTData | pvt-file is used, 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 is allowed in each
GEOMETRY Symbol GEOMETRY |
BRANCH statement.
Preprocessor input. Defines whether the initial guess on the flow direction for
a branch should be positive or negative. Changing the direction might avoid a
INIFLOWDIR Symbol NEGATIVE | [POSITIVE]
crash in the preprocessor or result in a solution closer to the transient steady
state solution.
UDPVTFILE Symbol UDPvtData | Name of User Defined (UD) property file used by the plugin module.

Link to: BRANCH (on Flowpath) Description Keys

GEOMETRY (on Flowpath)


Description ( See also: Keys)

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.

GEOMETRY (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String [GEOM] Geometry label
XSTART Real (m) [0] x-coordinate of the starting point of the geometry
YSTART Real (m) [0] y-coordinate of the starting point of the geometry
ZSTART Real (m) [0] z-coordinate of the starting point of the geometry

Link to: GEOMETRY (on Flowpath) Description Keys

PIPE (on Flowpath)


Description ( See also: Keys)

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.

PIPE (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Total cross-sectional flow area in case of equivalent pipes. Equivalent pipe
AREA Real (m2) means one single pipe representing a number of equal parallel pipes with a
correct total flow area.
Hydraulic diameter of the pipe. Equivalent to the pipe's inner diameter for
DIAMETER Real (m)
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.
Pipe label. Pipe labels cannot be formatted as a number (e.g. "1") or as a
LABEL String [PIPE]
number range (e.g. "1-4").
LENGTH Real (m) Length of the pipe.
LSEGMENT RealList (m) Section lengths.
Total number of pipes represented in the equivalent pipe. The total flow area
NEQUIPIPE Integer
in the equivalent pipe will correspond to this number of original parallel pipes.
NSEGMENT Integer Number of sections in the pipe.
ODIAMETER Real (m) Outer diameter for internal pipe for annulus flow. Zero for internal flow.
ROUGHNESS Real (m) Absolute roughness of the pipe wall.
WALL Symbol WALL | 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.

Link to: PIPE (on Flowpath) Description Keys

POSITION (on Flowpath)


Description ( See also: Keys)

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.

POSITION (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
LABEL String [POS] Position label.
PIPE Symbol PIPE | Pipe label.
SECTION Integer Section number of position.
SECTIONBOUNDARY Integer Section boundary number of position.

Link to: POSITION (on Flowpath) Description Keys

CHECKVALVE (on Flowpath)


Description ( See also: Keys)

Defines a check valve in the pipeline. Allows flow only in the defined flow direction.

CHECKVALVE (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
Allowed direction. Positive direction refers to direction of increasing section
DIRECTION Symbol NEGATIVE | [POSITIVE]
number.
LABEL String [CHECK] Check valve label.
PIPE Symbol PIPE | Pipe number or pipe label where the check valve is located.
Position label where the source is located. If this is defined, PIPE and
POSITION Symbol POSITION |
SECTION should not be used.
SECTIONBOUNDARY Integer Section boundary number where the checkvalve is located.

Link to: CHECKVALVE (on Flowpath) Description Keys

CENTRIFUGALPUMP (on Flowpath)


Description ( See also: Keys)

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, or the CURVES keyword.

CURVES referes to CENTPUMPCURVEs given in the library.The pump curve data, head, flow efficiency given in the CENTPUMPCURVE will be automatically converted to a
homologous table used by the centrifugal pump model.

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.

Note that a pump cannot be defined at the first or last section boundary of a pipeline.

CENTRIFUGALPUMP (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
Pump speed acceleration. When recycle flow is over or below the limits, this
ACCECOEFF Real (rad/s2) [0.0]
value will be used to increase or decrease the pump speed.
BYDIAMETER Real (m) [0.0] Diameter of the valve in the bypass flow line.
CURVEMODE Symbol <None> | SINGLEPHASE | [TWOPHASE] Curve input mode for centrifugal pump.
CURVES SymbolList List of CENTPUMPCURVEs.
DENSITYR Real (kg/m3) [900] Rated pump density.
DPRATED Real (bar) Pump pressure increase at rated conditions.
EFFIMECH Real [0.7] Mechanical efficiency.
FLOWRATED Real (m3/s) Rated pump flow.
HEADRATED Real (m) Rated pump head.
LABEL String [CENTRIFUGALPUMP] Label of the pump.
MAXPOWER Real (kW) Maximum shaft power allowed.
MAXRECYCLE Real (kg/s) [30.0] Maximum recycle mass flow rate.
MAXSPEED Real (rpm) Maximum pump speed.
MINRECYCLE Real (kg/s) [0.0] Minimum recycle mass flow rate.
MINSPEED Real (rpm) [0.0] Minimum pump speed.
If YES: The input data deviate too much from the pump laws, and one
homologous curve is generated per speed. Each curve interpolated in model
ONECURVEPERSPEED Symbol <None> | YES | [NO]
speed. If NO: the pump is assumed to follow the pump laws, and all curve
data is combined in one homologous curve.
PIPE Symbol PIPE | Pipe label for pump location.
POSITION Symbol POSITION | Position where pump is located.
POWERRATED Real (kW) Rated pump shaft power.
RECDIAMETER Real (m) [0.0] Choke diameter for recycle flow.
<None> | GAS | LIQUID | WATER |
RECPHASE Symbol Phase of recycle flow.
[MIXTURE]
SECTIONBOUNDARY Integer Section boundary number where the pump is located.
SPEEDR Real (rpm) Rated pump speed.
TABLE Symbol CentrifugalData | Name of the tables of pump back flow data or pump characteristic data.
TORQMAX Real (Nm) [3000.0] Maximum motor torque allowed.
TORQR Real (Nm) Rated pump hydraulic torque.
CALCMULTIPLIERS: Calculate two phase multipliers and use default fully
<None> |
degraded head. CALCMULTANDDEGRADEDHEAD: Calculate two phase
CALCMULTANDDEGRADEDHEAD |
TWOPHASEOPTION Symbol multipliers and calculate fully degraded head from largest GVF.
INTERPOLATEINGVF |
INTERPOLATEINGVF: Don't use two phase multiplier. Create one curve per
[CALCMULTIPLIERS]
GVF and interpolate using model GVF. (No extrapolation)
If NO: The two phase multiliers will be set to zero, and only the single phase
USEPHASEMULT Symbol <None> | NO | [YES]
curves will be used. If YES: The two phase multipliers will be used.

Link to: CENTRIFUGALPUMP (on Flowpath) Description Keys

DISPLACEMENTPUMP (on Flowpath)


Description ( See also: Keys)

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.

Note that a pump cannot be defined at the first or last section boundary of a pipeline.
DISPLACEMENTPUMP (on Flowpath) Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
Pump speed acceleration. When recycle flow is over or below the limits, this
ACCECOEFF Real (rad/s2) [0.0]
value will be used to increase or decrease the pump speed.
Experimentally determined exponent for calculating the mechanical friction
ACOEFFICIENT Real [1.6]
loss.
BCOEFFICIENT Real [1.6] Experimentally determined exponent for calculating the viscous friction loss.
BYDIAMETER Real (m) [0.0] Diameter of the valve in the bypass flow line.
LABEL String [DISP-PUMP] Label of the pump.
MAXRECYCLE Real (kg/s) [30.0] Maximum recycle mass flow rate.
MAXSPEED Real (rpm) Maximum pump speed.
MDISSIPATION Real (W) [0.0] Mechanical dissipation at nominal speed.
MINRECYCLE Real (kg/s) [0.0] Minimum recycle mass flow rate.
MINSPEED Real (rpm) [0.0] Minimum pump speed.
PIPE Symbol PIPE | Pipe label for pump location.
POSITION Symbol POSITION | Position where pump is located.
PREFSPEED Real (rpm) [3000] Pump reference speed.
RECDIAMETER Real (m) [0.0] Choke diameter for recycle flow.
<None> | GAS | LIQUID | WATER |
RECPHASE Symbol Phase of recycle flow.
[MIXTURE]
SECTIONBOUNDARY Integer Section boundary number where the pump is located.
SPECAPACITY Real (m3/R) Pump specific volumetric capacity, Qspc.
TABLE Symbol CentrifugalData | Name of the tables of pump back flow data or pump characteristic data.
VDISSIPATION Real (W) [0.0] Viscous dissipation at nominal speed.

Link to: DISPLACEMENTPUMP (on Flowpath) Description Keys

COMPRESSOR (on Flowpath)


Description ( See also: Keys)

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.

The compressor RPM is governed by the compressor speed controller:

RPM = RPMmin + urpm × (RPMmax - RPMmin)

where
urpm = output signal from compressor speed controller

The recirculation is governed by the anti surge controller (ASC).

Note that a compressor cannot be defined at the first or last section boundary of a pipeline.

COMPRESSOR (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
CD Real [0.84] Discharge coefficient of valve/choke in recycle loop.
Name of compressor data. This refers to a label in the compressor
COMPRDATA Symbol CompressorData |
characteristics file.
Maximum heat transfer rate from fluid flowing through the heat exchanger in
COOLCAPACITY Real (W)
the recycle loop.
COOLER Symbol ON | [OFF] Switch for turning on or off heat exchanger in recycle loop.
DIAMETER Real (m) Orifice diameter of valve/choke in recycle loop.
LABEL String [COMPR] Label of the compressor.
MAXRPM Real (rpm) Maximum RPM.
MINRPM Real (rpm) Minimum RPM.
PIPE Symbol PIPE | Number/name of pipe where compressor is located.
Position of the compressor. If POSITION is defined, PIPE and
POSITION Symbol POSITION |
SECTIONBOUNDARY should not be used.
SECTIONBOUNDARY Integer Section boundary number where compressor is located.
SECURITYFACTOR Real Security factor (e.g. 1.2 implies that the min. flow is 120% of surge rate).
Temperature values out of heat exchanger. Number of temperature values
TEMPERATURE RealList (C)
must correspond to the number of times given in the TIME-key.
TIME RealList (s) Time series for temperature out of heat exchanger.

Link to: COMPRESSOR (on Flowpath) Description Keys

FRAMOPUMP (on Flowpath)


Description ( See also: Keys)

The Framo multiphase pump is a Helico-axial design that can operate from 0-100% gas volume fractions.
The Framo flow mixer (patented) in which the fluid is mixed into a homogeneous mixture, provides stable operating conditions for the pump independent on upstream flow
conditions, eliminating transients from slug flow and hence minimize the dynamic loading effects.

The Framo pump module in Olga includes all the elements given in the figure below integrated with Framo standard control system. This will represent a typical Framo subsea
multiphase pumping system.

Figure A: The Framo multiphase pump layout

The characteristics of the Framo multiphase pump is defined through a data file. A list of 13 common configurations are available in PUMPCHAR keyword. It is also possible
to use characteristic files for other configurations using the PUMPFILE keyword. These data files must be prepared by Framo.

The characteristics of the inlet mixer can be defined in the same manner using the MIXERCHAR (library of mixer configurations) and MIXERFILE. The recycle flow control is
integrated in the pump module, and only the minimum recycle valve opening can be controlled by the user.

The Framo multiphase pump can be controlled by either speed (SPEEDSETPOINT) or inlet pressure (PRESSURESETPOINT).

FRAMOPUMP (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
BYCD Real [0.84] Discharge coefficient.
BYCHECK Symbol YES | [NO] Set to YES if the bypass line is checked.
BYCVTABLE Symbol TABLE | Label of table for bypass valve characteristics.
BYDIAMETER Real (m) [0.0] Diameter of the valve in the bypass flow line.
BYSTROKETIME Real (s) [10.0] Stroke time of valve.
CD Real [0.84] Discharge coefficient.
CDEADBAND Real (s) [5] Choke dead time before opening/closing
CHOKERATE Real (1/s) [0.01] Change rate for recycle choke control.
RealList
CMINOPENING [0.0] Minimum choke opening
(%)
CTIME RealList (s) [0.0] Time series when RELDPCONTR and CMINOPENING is to be modified.
CVTABLE Symbol TABLE | Label of table for valve characteristics.
DIAMETER Real (m) Maximum valve diameter.
INITIALREPOS Real (%) [0.0] Initial recycle choke position
INITIALSPEED Real (rpm) Initial pump speed
LABEL String [PUMP] Label of the pump.
LIMDP Real (Pa) Input limit of differential pressure
LIMPOW Real (W) Available shaft power
Maximum speed of selected pump. Automatically set when a pump input file
MAXSPEED Real (rpm) [0.0]
is chosen.
MIXERCHAR Symbol PUMP_FRAMO_MIXERCHAR | Reference to mixer characteristics.
MIXERFILE String The name of the file containing the mixer characteristics.
MIXERVOLUME Real (m3) Volume of mixer.
NPARA Real [1] Number of pumps in parallel operation
PIPE Symbol PIPE | Pipe label for pump location.
POSITION Symbol POSITION | Position where pump is located.
RealList
PRESSURESETPOINT Suction pressure setpoint
(Pa)
PUMPCHAR Symbol PUMP_FRAMO_PUMPCHAR | Reference to pump characteristics.
PUMPFILE String The name of the file containing the pump characteristics.
RECV Real Recycle valve sizing coeff.
RECVTABLE Symbol TABLE | Label of table for recycle valve characteristics.
RealList
RELDPCONTR Recycle control relative to minimum and maximum pressure.
(%)
SECTIONBOUNDARY Integer Section boundary number where the pump is located.
Real
SPEEDRATE [25] Change rate for speed control.
(rpm/s)
RealList
SPEEDSETPOINT Speed setpoint
(rpm)
Real
SPINDOWNRATE [100] Rate of speed change at trip.
(rpm/s)
STROKETIME Real (s) [10.0] Stroke time of valve.
TIME RealList (s) [0.0] Time series when PSET, SPEEDSET and TRIPHOLD is to be modified.
The tripped state will be maintained for this many seconds. Default,
TRIPHOLD RealList (s) [0.0]
TRIPHOLD=0.0, the trip signal will be reset and the pump will never trip.
TRIPTIME Real (s) Time when pump trip
Link to: FRAMOPUMP (on Flowpath) Description Keys

HEATEXCHANGER (on Flowpath)


Description ( See also: Keys)

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.

HEATEXCHANGER (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
Maximum heat exchanger capacity. Positive value is for heating and negative
CAPACITY Real (W)
value for cooling.
LABEL String [HEATEX] Heat exchanger label.
PIPE Symbol PIPE | Number/name of the pipe where heat exchanger is located.
Position of the heat exchanger. If POSITION is defined, PIPE and
POSITION Symbol POSITION |
SECTIONBOUNDARY should not be used.
SECTION Integer Section number where the heat exchanger is located.
TEMPERATURE RealList (C) Heat exchanger outlet temperature set points.
TIME RealList (s) Time series in temperature set point table.
TYPE Symbol CONTROLLED | [SETPOINT] Heat exchanger type.

Link to: HEATEXCHANGER (on Flowpath) Description Keys

LEAK (on Flowpath)


Description ( See also: Keys)

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.

LEAK (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
For TEMPDEPENDENCY=ON. Constant used for a temperature dependent
ALFA Real GLV. 0 means that the bellows temperature equals the injection temperature,
1 means the production temperature, and interpolation for <0,1>.
BACKPRESSURE RealList (Pa) Leak back pressure
For TEMPDEPENDENCY=ON. Pressure in GLV bellows (dome) at
BELLOWSPRESSURE Real (Pa)
REFTEMPERATURE, used for a temperature dependent GLV.
CD Real [0.84] Leak discharge coefficient. Used only in pressure driven source.
CF Real (-) Ratio between gas and liquid sizing coefficient.
Check valve active on the leak valve: NO: No check valve, YES: Check valve
CHECKVALVE Symbol YES | [NO]
present to stop backflow
DIAMETER Real (m) Maximum equivalent diameter of leak area
HENRYFAUSKE | EQUILIBRIUM Equilibrium model used in the choke model. FROZEN - No mass transfer.
EQUILIBRIUMMODEL Symbol
| [FROZEN] HENRYFAUSKE - Partial equilibrium. EQUILIBRIUM - Gas/liquid equilibrium.
GASLIFTTABLES SymbolList Names of tables (defined in keyword TABLE) that define the curves of a GLV.
For TEMPDEPENDENCY=ON. Specify whether a GLV is operated by
PRODOPERATED |
GLVOPERATION Symbol injection pressure or production pressure. Used for a temperature dependent
[INJOPERATED]
GLV.
LABEL String [LEAK] Label of the leak.
PHASE Symbol <None> | GAS | LIQUID | Predominant phase. Used with valve characteristics.
PIPE Symbol PIPE | Number/name of pipe where leak is located.
Position of the leak. If POSITION or ABSPOSITION is defined, PIPE and
POSITION Symbol POSITION |
SECTION should not be used.
For TEMPDEPENDENCY=ON. Geometry factor used for a temperature
R Real
dependent GLV.
For TEMPDEPENDENCY=ON. The temperature for which the gas lift
REFTEMPERATURE Real (C)
response curve is defined.
SECTION Integer Section number where the leak is located.
TABLE SymbolList Label of table containing valve characteristics.
Specify the temperature dependency of a GLV. OFF: No temperature
dependency. ON: Temperature dependency for a nitrogen charged bellow.
TEMPDEPENDENCY Symbol ON | [OFF]
Sub-keys ALFA, BELLOWPRESSURE, GLVOPERATION, R and
REFTEMPERATURE must be specified.
If YES, thermal equilibrium between gas and liquid is assumed, otherwise the
gas is expanded isentropical while the liquid is isothermal. Only used in
HYDROVALVE. The Henry-Fauske model assues isothermal liquid and
THERMALPHASEEQ Symbol YES | [NO]
isentropic expansion og the gas. This option is therefore inavailable when
CRITFLOWMODEL=HENRYFAUSKE.
TIME RealList (s) The time series for the leak back pressure
TOPOSITION Symbol POSITION | Refer to position the leak is targeted to.

Link to: LEAK (on Flowpath) Description Keys

LOSS (on Flowpath)


Description ( See also: Keys)

This statement defines pressure loss due to valves, bends, contractions, expansions or other obstructions in or between pipes.

The expansion pressure recovery that is always included in OLGA is:

The contraction pressure loss that is always included in OLGA is:

The additional loss specified by the user for positive flow is:

The additional loss specified by the user for negative flow is:

Figure A An illustration of the use of loss coefficients for contraction and expansion.

LOSS (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Absolute position where the pressure loss is located. Distance from branch
ABSPOSITION Real (m)
inlet.
LABEL String [LOSS] Loss label.
NEGCOEFF Real Loss coefficient when the flow is in negative direction.
PIPE Symbol PIPE | Pipe label with pressure loss.
POSCOEFF Real Loss coefficient when the flow is in positive direction.
POSITION Symbol POSITION | Position where the pressure loss is located.
SECTIONBOUNDARY Integer Section boundary where pressure loss is located.

Link to: LOSS (on Flowpath) Description Keys

PRESSUREBOOST (on Flowpath)


Description ( See also: Keys)

A constant pressure increase is used for modeling the behavior of a pump. An constant isentropic efficiency is used to model the heat added to the fluid from the pump.

The PRESSUREBOOST pump has one optional input terminal, INPSIG. INPSIG scales the pressure increase between 0 and DELTAPRESSURE.

PRESSUREBOOST (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
DELTAPRESSURE Real (Pa) Pressure increase over pump.
EFFICIENCY Real (-) [1] Isentropic efficiency. Must be between 10% and 100%.
LABEL String [BOOST] Label of the pump.
PIPE Symbol PIPE | Pipe label for pump location.
POSITION Symbol POSITION | Position where pump is located.
SECTIONBOUNDARY Integer Section boundary number where the pump is located.

Link to: PRESSUREBOOST (on Flowpath) Description Keys

PUMPBATTERY (on Flowpath)


Description ( See also: Keys)

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

QP = Volume delivered by the pump battery


PFAC = Pumping factor
SPES = Strokes per time unit

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

 Controller on the maximum hydraulic horsepower allowed


 Controller on the maximum pump rate
 Controller on the minimum pump rate
 Controller on the maximum pump pressure allowed
If either one of these controllers is set into action the pump rate is reduced automatically. The number of controllers can be extended above the number shown above and
different variables (e.g. fluid rate, inflow rate) can be used to control the pumps.

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

Note that a pump cannot be defined at the first or last section boundary of a pipeline.

PUMPBATTERY (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
HPMAX Real (W) Maximum hydraulic horsepower for each single pump in the pump battery.
LABEL String [PUMPBATTERY] Label of the pump.
MAXCAPACITY Real (m3/s) Maximum flow capacity.
MAXPRESSURE Real (Pa) Maximum downstream pressure.
MAXSPEED Real (rpm) Maximum pump speed.
MINCAPACITY Real (m3/s) Minimum flow capacity.
MINSPEED Real (rpm) [0.0] Minimum pump speed.
PIPE Symbol PIPE | Pipe label for pump location.
POSITION Symbol POSITION | Position where pump is located.
SECTIONBOUNDARY Integer Section boundary number where the pump is located.

Link to: PUMPBATTERY (on Flowpath) Description Keys

SIMPLIFIEDPUMP (on Flowpath)


Description ( See also: Keys)

A simplified description of a centrifugal pump is used for modeling the behavior of a centrifugal pump around an operational point. Simple algebraic expressions are used to
calculate pressure increase over the pump and pump efficiency.

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.

Note that a pump cannot be defined at the first or last section boundary of a pipeline.
SIMPLIFIEDPUMP (on Flowpath) Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
DCOEFF1 Real (1/rpm) [0.0] Relative change in pump pressure increase with pump speed.
DCOEFF2 Real (1/m3/s) [0.0] Relative change in pump pressure increase with flow rate.
DCOEFF3 Real [0.0] Relative reduction in pump pressure increase with gas volume fraction.
Rated pump density. If DENSITYR = 0, the effect of rated density on the
DENSITYR Real (kg/m3) [900]
pressure increase is neglected
DPRATED Real (bar) Pump pressure increase at rated conditions.
ECOEFF1 Real (1/rpm) [0.0] Relative change in pump efficiency with pump speed.
ECOEFF2 Real (1/m3/s) [0.0] Relative change in pump efficiency with pump speed.
ECOEFF3 Real [0.0] Relative reduction in pump efficiency with gas volume fraction.
EFFIMECH Real [0.7] Mechanical efficiency.
EFFRATED Real [0.5] Adiabatic efficiency of pump at rated conditions.
FLOWRATED Real (m3/s) Rated pump flow.
LABEL String [SIMPLIFIEDPUMP] Label of the pump.
MAXSPEED Real (rpm) Maximum pump speed.
MINSPEED Real (rpm) [0.0] Minimum pump speed.
PIPE Symbol PIPE | Pipe label for pump location.
POSITION Symbol POSITION | Position where pump is located.
SECTIONBOUNDARY Integer Section boundary number where the pump is located.
SPEEDR Real (rpm) Rated pump speed.

Link to: SIMPLIFIEDPUMP (on Flowpath) Description Keys

TRANSMITTER (on Flowpath)


Description ( See also: Keys)

This keyword is used to define output signals from flowpath, process equipment, node, separator and phase split node.

The signals can be received by a controller. The signals are defined through the variable key e.g. fluid pressure in the flowpath (PT) or liquid level in the separator (LIQLV).
Controllers that receive these measured values use them to calculate new signals which in turn are used to regulate e.g. a valve opening (see Controllers). If several different
output signals are needed form the same position, add a transmitter per output signal. However, the several controllers can receive the output signal from one transmitter.

Note: If a branch variable is to be controlled, add a transmitter to the flowpath at a dummy location (use a valid absolute position or pipe/section). The location is only used
graphically to position the transmitter along the flowpath.

TRANSMITTER (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
CENTRIFUGALPUMP Symbol CENTRIFUGALPUMP | Centrifugal pump where the transmitter is located.
CHECKVALVE Symbol CHECKVALVE | Checkvalve where the transmitter is located.
COMPRESSOR Symbol COMPRESSOR | Compressor where the transmitter is located.
DISPLACEMENTPUMP Symbol DISPLACEMENTPUMP | Displacement pump where the transmitter is located.
FRAMOPUMP Symbol FRAMOPUMP | Framo pump where the transmitter is located.
HEATEXCHANGER Symbol HEATEXCHANGER | HeatExchanger where the transmitter is located.
LABEL String [TM] Name of transmitter
LEAK Symbol LEAK | Leak where the transmitter is located.
NEARWELLSOURCE Symbol NEARWELLSOURCE | NearWellSource where the transmitter is located.
PIPE Symbol PIPE | Pipe name where the transmitter is located.
PRESSUREBOOST Symbol PRESSUREBOOST | Pressure boost where the transmitter is located.
PUMPBATTERY Symbol PUMPBATTERY | Pump battery where the transmitter is located.
SECTION Integer Section number where the transmitter is located.
SECTIONBOUNDARY Integer Section boundary number where the transmitter is located.
SIMPLIFIEDPUMP Symbol SIMPLIFIEDPUMP | Simplified pump where the transmitter is located.
SOURCE Symbol SOURCE | Source where the transmitter is located.
VALVE Symbol VALVE | Valve where the transmitter is located.
Symbol Name of variable to be transmitted. Note: if the unit is not specified, SI units
VARIABLE 2|
(ValueUnitPair) will be used.
WELL Symbol WELL | Well where the transmitter is located.
ZONE Symbol ZONE | Zone where the transmitter is located.

Link to: TRANSMITTER (on Flowpath) Description Keys

VALVE (on Flowpath)


Description ( See also: Keys)

Here data for valves and chokes are defined.

The position of the valve can be specified in 3 ways:

1. by referring to a pipe and a section boundary number


2. by referring to a pre-defined position
3. by specifying the distance from the left end of the branch (absolute position)

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 a
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.
VALVE (on Flowpath) Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
CD Real (-) [0.84] Discharge coefficient.
CF Real Ratio between gas and liquid sizing coefficient.
CR Real (-) [1.0] Recovery tuning. 1 gives maximum recovery and 0 gives zero recovery.
DIAMETER Real (m) Maximum valve diameter.
<None> | HENRYFAUSKE | Equilibrium model used in the choke model. FROZEN - No mass transfer.
EQUILIBRIUMMODEL Symbol
EQUILIBRIUM | [FROZEN] HENRYFAUSKE - Partial equilibrium. EQUILIBRIUM - Gas/liquid equilibrium.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
LABEL String [VALVE] Valve label. Default is valve number.
Valve model. HYDROMODEL is used for chokes and valves with liquid/gas
MODEL Symbol GASSIZING | [HYDROVALVE] characteristics. GASSIZING can only be used to simulate valves with gas
characteristics.'
OPENING RealList [1.0] Relative openings in the valve opening timetable.
PHASE Symbol <None> | GAS | LIQUID | The type of flow through the valve. For two or three phase flow, use LIQUID.
PIPE Symbol PIPE | Pipe label where the valve is located.
Position where the valve is located. If this value is defined PIPE and
POSITION Symbol POSITION |
SECTIONBOUNDARY should not be used.
Enable/disable the pressure recovery downstream valve. Only used in
RECOVERY Symbol <None> | NO | [YES] HYDROVALVE. Cv/Cg include recovery and this option will therefore be
unavailable when using the TABLE key.
SECTIONBOUNDARY Integer Section boundary number where the valve is located.
<None> | CHISHOLM |
SLIPMODEL Symbol Slip model for choke throat. Only used in HYDROVALVE.
[NOSLIP]
STROKETIME Real (s) [0.0] Stroke time of the valve.
TABLE SymbolList Label of table for valve characteristics.
If YES, thermal equilibrium between gas and liquid is assumed, otherwise the
THERMALPHASEEQ Symbol <None> | YES | [NO] gas is expanded isentropical while the liquid is isothermal. Only used in
HYDROVALVE.
TIME RealList (s) [0.0] Time series for valve opening table.

Link to: VALVE (on Flowpath) Description Keys

HEATTRANSFER (on Flowpath)


Description ( See also: Keys)

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

1. Specify overall heat transfer coefficient: UVALUE (requires TEMPERATURE=UGIVEN in OPTIONS)


2. Specify ambient heat transfer coefficient: HAMBIENT (HOUTEROPTION=HGIVEN, requires TEMPERATURE=WALL in OPTIONS)
3. Specify properties of the ambient fluid (HOUTEROPTION=OTHER / WATER / AIR, requires TEMPERATURE=WALL in OPTIONS)
For options 2 and 3, the overall heat transfer coefficient is calculated and the keyword WALL have 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.

HEATTRANSFER (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Heat capacity of ambient fluid. If HOUTEROPTION is AIR, 1000 J/KG-K is
used. If HOUTEROPTION is WATER, 4186 J/KG-K is used. Input can either
CAPACITY RealList (J/kg-C)
be a 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, 0.56 W/mK is used. Input can
CONDUCTIVITY RealList (W/m-C)
either be a single value (constant along range of sections), two values (length-
interpolated) or given explicitly for each section.
Density of ambient fluid. If HOUTEROPTION is AIR, 1.29 kg/m3 is used. If
HOUTEROPTION is WATER, 1000 kg/m3 is used. Input can either be a
DENSITY RealList (kg/m3)
single value (constant along range of sections), two values (length-
interpolated) or given explicitly for each section.
Thermal expansion coefficient of ambient fluid. If HOUTEROPTION is AIR,
34E-4 1/C is used. If HOUTEROPTION is WATER, 21E-5 1/C is used. Input
EXPANSION RealList (1/C)
can either be a single value (constant along range of sections), two values
(length-interpolated) or given explicitly for each section.
Mean heat transfer coefficient on outer wall surface. Input can either be a
HAMBIENT RealList (W/m2-C) single value (constant along range of sections) or given explicitly for each
section.
HMININNERWALL RealList (W/m2-C) [0.0] Minimum inner heat transfer coefficient on inner wall surface.
AIR | WATER | OTHER |
HOUTEROPTION Symbol Option for ambient heat transfer coefficient.
[HGIVEN]
Overall heat transfer coefficient at the inlet of the first pipe in a pipeline
INHAMBIENT Real (W/m2-C)
section where interpolation is used for overall heat transfer coefficient.
INTAMBIENT Real (C) Ambient temperature at the inlet of the first pipe in a branch where
interpolation is used for ambient temperature.
<None> | LENGTH | Type of interpolation used to calculate the ambient temperature and outer
INTERPOLATION Symbol HORIZONTAL | VERTICAL | heat transfer coefficient. Note that the outer heat transfer coefficient is only
[SECTIONWISE] affected by the INTERPOLATION key when HOUTEROPTION = HGIVEN.
Overall heat transfer coefficient at the outlet of the last pipe in a pipeline
OUTHAMBIENT Real (W/m2-C)
section where interpolation is used for overall heat transfer coefficient.
Ambient temperature at the outlet of the last pipe in a pipeline section where
OUTTAMBIENT Real (C)
interpolation is used for ambient temperature.
PIPE SymbolList [ALL] Pipe label or pipe number (single or continuous range in the form x-y).
SECTION IntegerList Section number.
Ambient temperature. Input can either be a single value (constant along range
TAMBIENT RealList (C)
of sections) or given explicitly for each section.
List of reference to TIMESERIES keywords. The value of each time series is
scaled with a corresponding factor in TAMBSERIESFACTOR and added as
TAMBIENTSERIES SymbolList (C)
an increment to the temperature defined in TAMBIENT or INTAMBIENT and
OUTTAMBIENT.
List of factors to be used to scale ambient temperature time series in
TAMBSERIESFACTOR RealList [1]
TAMBIENTSERIES. Note that this key also introduces the unit of the function.
Overall heat transfer coefficient given by user based on the inner pipe
UVALUE RealList (W/m2-C)
diameter.
Speed of ambient fluid. If HOUTEROPTION is AIR, default is 4 m/s. If
HOUTEROPTION is WATER, default is 1 m/s. Input can either be a single
VELOCITY RealList (m/s)
value (constant along range of sections), two values (length-interpolated) or
given explicitly for each section.
Viscosity of ambient fluid. If HOUTEROPTION is AIR, 1.8E-5 N-s/m2 is used.
If HOUTEROPTION is WATER, 1E-3 N-s/m2 is used. Input can either be a
VISCOSITY RealList (N-s/m2)
single value (constant along range of sections), two values (length-
interpolated) or given explicitly for each section.

Link to: HEATTRANSFER (on Flowpath) Description Keys

INITIALCONDITIONS (on Flowpath)


Description ( See also: Keys)

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:

1. STEADYSTATE=OFF (initial conditions not calculated by steady state pre-processor): User defines the pressure, temperature, gas volume fraction, mass flow, and
water volume fraction in the liquid phase for all sections in each flow path.

2. STEADYSTATE=NOTEMP (initial temperature not calculated by steady state pre-processor): User defines the temperature for all sections in each flow path.

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.

INITIALCONDITIONS (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
BEDFORMATION RealList (kg/m) [0.0] The amount of bed initially deposited in each section
FEEDMASSFRACTION RealList (-) Mass fraction of each feed given in FEEDNAME.
Mole fraction of each feed given in FEEDNAME. Can not be used with
FEEDMOLEFRACTION RealList (-)
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 of feeds. Requires
FEEDNAME SymbolList
COMPOSITIONAL=ON/BLACKOIL or DRILLING=ON under the OPTIONS
keyword.
FEEDVOLFRACTION RealList (-) Volume fraction of each feed given in FEEDNAME (only for blackoil model).
INHIBFRACTION RealList (-) [0.0] Mass fraction of inhibitor in water phase in each section.
Mass fraction of inhibitor in water phase at the inlet to the first pipe in a
ININHIBFRACTION Real (-) [0.0]
pipeline section where interpolation is used.
INPRESSURE Real (Pa) Pressure at the inlet to the first pipe in a branch where interpolation is used.
Fraction of total mass of h2o component in the gas phase inlet to the first pipe
INSTEAMFRACTION Real (-) [0.0] in a pipeline section where interpolation is used. The default is zero mass of
h20 component is in the gas phase.
Temperature at the inlet to the first pipe in a branch where interpolation is
INTEMPERATURE Real (C)
used.
<None> | HORIZONTAL |
INTERPOLATION Symbol Type of interpolation used to calculate the initial conditions.
VERTICAL | [LENGTH]
Void fraction at the inlet to the first pipe in a branch where interpolation is
INVOIDFRACTION Real (-)
used.
INWATERCUT Real (-) Watercut at the inlet to the first pipe in a branch where interpolation is used.
MASSFLOW RealList (kg/s) [0.0] Total mass flow at each section boundaries.
Mass fraction of inhibitor in water phase at the outlet of the last pipe in a
OUTINHIBFRACTION Real (-) [0.0]
pipeline section where interpolation is used.
OUTPRESSURE Real (Pa) Pressure at the outlet of the last pipe in a branch where interpolation is used
Fraction of total mass of h2o component in the gas phase outlet to the last
OUTSTEAMFRACTION Real (-) [0.0] pipe in a pipeline section where interpolation is used. The default is zero mass
of h20 component is in the gas phase.
Temperature at the outlet of the last pipe in a branch where interpolation is
OUTTEMPERATURE Real (C)
used.
Void fraction at the outlet of the last pipe in a branch section where
OUTVOIDFRACTION Real (-)
interpolation is used.
Watercut at the outlet of the last pipe in a branch section where interpolation
OUTWATERCUT Real (-)
is used.
PIPE SymbolList [ALL] Pipe label or pipe number (single or continuous range in the form x-y).
PRESSURE RealList (Pa) Initial pressure in each section.
REFPIPE Symbol PIPE | Pipe label for REFPRESSURE.
Reference pressure used if no pressure boundary condition is used. To be
REFPRESSURE Real (Pa)
given for one section only.
REFSECTION Integer Section number for REFPRESSURE.
SECTION IntegerList Section number.
Fraction of total mass of h2o component in the gas phase. The default is zero
STEAMFRACTION RealList (-) [0.0]
mass of h20 component is in the gas phase.
TEMPERATURE RealList (C) Initial temperature in each section.
Labels of User Defined (UD) feeds. The feeds must be defined by the
UDFEED Symbol UDData |
UDFEEDFILE in FILES.
UDGROUP SymbolList The User Defined (UD) group to use
VOIDFRACTION RealList (-) Initial void fraction in each section.
WALLFORMATION RealList (kg/m) [0.0] The amount of wall initially deposited in each section
WATERCUT RealList (-) [0.0] Initial watercut in each section.

Link to: INITIALCONDITIONS (on Flowpath) Description Keys

NEARWELLSOURCE (on Flowpath)


Description ( See also: Keys)

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.

Areas for use


The link provides coupled transient simulation of near-wellbore reservoir flow and well flow. Dynamic phenomena not accurately predicted or even not seen with the steady-
state inflow performance relationship model (WELL) may therefore be simulated in a more realistic way. Typical examples are well shut-in and start-up, dynamic gas and
water coning, cross flow between layers, etc.

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 near-well sources.

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 ”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
o Compositional option
o Black oil module

Other limitations on the Rocx reservoir simulator are given in the ”Rocx User Manual”.

NEARWELLSOURCE (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from branch inlet.
LABEL String [NWSOUR] Near Well Source label.
PIPE Symbol PIPE | Pipe number for well.
POSITION Symbol POSITION | 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 OLGA Rocx.
SECTION Integer Section number for well.

Link to: NEARWELLSOURCE (on Flowpath) Description Keys

WELL (on Flowpath)


Description ( See also: Keys)

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.

Internal dependencies of keys: ! Alphanumeric values are only


! given as samples
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
end if

GASFRACTION = -1

If INJOPTION = LINEAR, then


AINJ = 0.0 [kg/s]
BINJ = 0.1E-5 [kg/s/Pa]
else if INJOPTION = QUADRATIC, then
AINJ = 0.0 [Pa2]
BINJ = 0.0 [Pa2-s/kg]
CINJ = 0.3354E08 [Pa2-s2/kg2]
else if INJOPTION = TABULAR, then
INJTABLE = TABLE-1
end if

If PRODOPTION = LINEAR, then


APROD = 0.0 [kg/s]
BPROD = 0.1E-5 [kg/s/Pa]
else if PRODOPTION = QUADRATIC, then
APROD = 0.0 [Pa2]
BPROD = 0.0 [Pa2-s/kg]
CPROD = 0.3354E08 [Pa2-s2/kg2]
else if PRODOPTION = TABULAR, then
PRODTABLE = TABLE-2
If phase front transient is to be simulated, then
GASDIS = [0.0] [m]
GASPLIMIT = [RESPRESSURE] [Pa]
GFRTC = [0.0] [s]
OILDIS = [0.0] [m]
OILPLIMIT = [RESPRESSURE] [Pa]
OFRTC = [0.0] [s]
WATDIS = [0.0] [m]
WATPLIMIT = [RESPRESSURE] [Pa]
WFRTC = [0.0] [s]
end if
end if

If you want to use the coefficients directly for Advanced Well inflow types:

WATERCUT = [0.0] [-]

ROGST = [from PVT tables] [kg/Sm3]


ROLST = [from PVT tables] [kg/Sm3]
GORST = [from PVT tables] [kg/Sm3]

if INJOPTION = FORCHHEIMER, then


BINJ = 0.6 [psi2-d/scf]
CINJ = 1.E-9 [psi2-d2/scf2]
else if INJOPTION = SINGLEFORCHHEIMER, then
BINJ = 1.E-4 [psi-d/scf]
CINJ = 1.E-9 [psi-d2/scf2]
else if INJOPTION = BACKPRESSURE, then
EXPONENTN = 1
CINJ = 1 [scf/d/psi2]
end if

if PRODOPTION = FORCHHEIMER, then


BPROD = 0.6 [psi2-d/scf]
CPROD = 1.E-9 [psi2-d2/scf2]
else if PRODOPTION = SINGLEFORCHHEIMER, then
BPROD = 1.E-4 [psi-d/scf]
CPROD = 1.E-9 [psi-d2/scf2]
else if PRODOPTION = BACKPRESSURE, then
EXPONENTN = 1
CPROD = 1 [scf/d/psi2]
end if

If you want to use well/reservoir variables:

WATERCUT = [0.0] [-]

If INJOPTION = LINEAR, then


either
INJECTIVITY = 240 stb/d/Psi
FRACPR = 1000 bar
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
PHASE = [OIL]
or
FRACPR = 1000 bar
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
end
else if INJOPTION = FORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if INJOPTION = SINGLEFORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if INJOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if INJOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
EXPONENTN = 1
else if INJOPTION = NORMALIZEDBACKPR, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
EXPONENTN = 1
PHASE = [OIL]
else if INJOPTION = UNDERSATURATED, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
BPPRESSURE = 600 bar
end if

If the user wants to define a specific linear injectivity index for one or more of the phases
GASINJ = 100 stb/d/Psi
OILINJ = 100 stb/d/Psi
WATINJ = 180 stb/d/Psi
end if

If PRODOPTION = LINEAR, then


either
PRODI = 240 stb/d/Psi
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
PHASE = [OIL]
or
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
end
else if PRODOPTION = FORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = SINGLEFORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if PRODOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
EXPONENTN = 1
else if PRODOPTION = NORMALIZEDBACKPR, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
EXPONENTN = 1
PHASE = [OIL]
else if PRODOPTION = UNDERSATURATED, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
BPPRESSURE = 600 bar
end if

If COMPOSITIONAL = ON in OPTION, then (multiple time and feeds, see note below)
TIME = (0, 5) h
FEEDNAME = (FEED-1, FEED-3)
either
FEEDMASSFRACTION = (0.7, 0.3, 0.7, 0.3)
or
FEEDMOLEFRACTION = (0.6, 0.4, 0.5, 0.5)
end

or if COMPOSITIONAL = BLACKOIL in OPTIONS, then


TIME = (0, 5) h
FEEDNAME = (BO-1, BO-2)
FEEDVOLFRACTION = [1.0, 0.0, 0.5, 0.5]
endif

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

WELL (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ABSPOSITION Real (m) Absolute position. Distance from 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
AINJ RealList for the linear formula, Pa2 for the non-linear formula. Given at in situ
conditions - uses gas mass fraction from the PVT table to calculate the split
between the phases.
Positive coefficient A in well flow equation. Less than zero if a minimum
pressure difference is required for fluid flow from reservoir into well. Unit: kg/s
APROD RealList for the linear formula, Pa2 for the non-linear formula. Given at in situ
conditions - uses gas mass fraction from the PVT table to calculate the split
between the phases.
Negative coefficient B in well flow equation. Injectivity index for linear inflow
equation. Unit: kg/s/Pa for the linear formula, Pa2-s/kg for the non-linear
BINJ RealList formula, psi2-d/scf for Forchheimer, psi-d/scf for Single Forchheimer. Given at
in situ conditions - uses gas mass fraction from the PVT table to calculate the
split between the phases.
BOOIL Real Oil formation volume factor
BPPRESSURE RealList (Pa) Bubble point pressure at reservoir temperature for Undersaturated oil wells.
Positive coefficient B in well flow equation. Productivity index for linear inflow
equation. Unit: kg/s/Pa for the linear formula, Pa2-s/kg for the non-linear
BPROD RealList formula, psi2-d/scf for Forchheimer, psi-d/scf for Single Forchheimer. Given at
in situ conditions - uses gas mass fraction from the PVT table to calculate the
split between the phases.
RealList
CGR [-1.0] Condensate-gas ratio. By default, CGR from the PVT table is used.
(Sm3/Sm3)
Negative coefficient C in well flow equation. Unit: Pa2-s2/kg2 for the non-
CINJ RealList linear formula, psi2-d2/scf2 for Forchheimer, psi-d2/scf2 for Single
Forchheimer, scf/d/psi2n for Backpressure.
Positive coefficient C in well flow equation. Unit: Pa2-s2/kg2 for the non-linear
CPROD RealList formula, psi2-d2/scf2 for Forchheimer, psi-d2/scf2 for Single Forchheimer,
scf/d/psi2n for Backpressure (dependent on EXPONENTN).
Constant in Backpressure inflow equation. It normally varies between 0.5 and
EXPONENTN RealList [1.0]
1.0.
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
FEEDMASSFRACTION RealList (-) Mass fraction of each feed.
FEEDMOLEFRACTION RealList (-) Mole fraction of each feed.
Label of initial feed to be used for calculating local fluid compositions in the
branch (from feed file and FEED keyword). A list means mixing of feeds for
FEEDNAME SymbolList each section in the branch. Note that this key can only be specified branch-
wise. Requires COMPOSITIONAL=ON or BLACKOIL under the OPTIONS
keyword.
FEEDVOLFRACTION RealList (-) Volume fraction of each feed given in FEEDNAME (only for blackoil model).
FRACPR RealList (Pa) Fracture pressure.
Distance gas front has to travel before it reaches the well bore. Requires
GASDIS Real (m) [0.0]
PRODOPTION=TABULAR.
Gas mass fraction in the gas+oil mixture for positive flow. -1 indicates
GASFRACTION RealList (-) [-1.0]
equilibrium. A list of both positive and negative values is not allowed.
RealList Linear injectivity index for gas entering the well section. Normally given in
GASINJ
(Sm3/s/Pa) (Sm3/d/bar).
Pressure at which the gas front will be at the well bore at steady-state
GASPLIMIT Real (Pa)
conditions. Requires PRODOPTION=TABULAR.
Time constant for the gas front movement. Requires
GFRTC Real (s)
PRODOPTION=TABULAR.
RealList
GORST [-1.0] Gas/oil volumetric ratio. By default, GOR from the PVT table is used.
(Sm3/Sm3)
HOLES RealList (m) Hole size (diameter). Normally given in inches (in).
HPAY RealList (m) Net pay from inflow zone.
RealList Injectivity. Given at std conditions - uses GOR from the PVT table (or the
INJECTIVITY
(Sm3/s/Pa) specified GORST) and the PHASE to calculate the split between the phases.
LINEAR | QUADRATIC |
SINGLEFORCHHEIMER |
INJOPTION Symbol FORCHHEIMER | BACKPRESSURE Negative well flow equation type.
| UNDERSATURATED | VOGELS |
TABULAR | NORMALIZEDBACKPR |
Multiplier for injection rate when BH pressure is above fracture pressure. If BH
INJPOSTFRACFACTOR Real [1.0] pressure has been above fracture pressure this is a multiplier when BH
pressure is above INJTHRESHOLD as well.
Multiplier for injection rate when BH pressure is below fracture pressure. If the
INJPREFRACFACTOR Real [1.0] BH pressure has been above fracture pressure this is a multiplier only below
INJTHRESHOLD.
Table reference for negative well flow performance. Option for supporting
INJTABLE Symbol TABLE |
coning. The table variables must be given at reservoir conditions.
Pressure. If BH pressure has been above fracture pressure the injection rate
INJTHRESHOLD RealList (Pa) multiplied by the INJPOSTFRACFACTOR will be used when the BH pressure
is above INJTHRESHOLD.
ISOTHERMAL Symbol NO | [YES] Turn on or off isothermal.
KPERM RealList (mD) Effective permeability.
LABEL String [WELL] Well label.
Well location in the well section. MIDDLE if the reservoir pressure at the
LOCATION Symbol BOTTOM | [MIDDLE] middle of the zone is specified. BOTTOM if the reservoir pressure given is at
the bottom of the zone.
Time constant for the oil front movement. Requires
OFRTC Real (s)
PRODOPTION=TABULAR.
Distance oil front has to travel before it reaches the well bore. Requires
OILDIS Real (m)
PRODOPTION=TABULAR.
RealList Linear injectivity index for oil entering the well section. Normally given in
OILINJ
(Sm3/s/Pa) (Sm3/d/bar).
Pressure at which the oil front will be at the well bore at steady-state
OILPLIMIT Real (Pa)
conditions. Requires PRODOPTION=TABULAR.
<None> | GAS | OIL | WATER |
PHASE Symbol The phase for which productivity index or absolute open flow rate is given.
LIQUID |
PIPE Symbol PIPE | Pipe number for well.
Position where the well is located. If POSITION is defined, BRANCH, PIPE,
POSITION Symbol POSITION |
and SECTION should not be used.
Productivity index for linear inflow equation. Normally given in (Sm3/d/bar).
RealList
PRODI Given at std conditions - uses GOR from the PVT table (or the specified
(Sm3/s/Pa)
GORST) and the PHASE to calculate the split between the phases.
LINEAR | QUADRATIC |
SINGLEFORCHHEIMER |
PRODOPTION Symbol FORCHHEIMER | BACKPRESSURE Positive well flow equation type.
| UNDERSATURATED | VOGELS |
TABULAR | NORMALIZEDBACKPR |
Multiplier for production rate after the reservoir is fractured. Use when the well
PRODPOSTFRACFACTOR Real [1.0]
parameters are given for conditions before the reservoir is fractured.
Multiplier for production rate before the reservoir is fractured. Used when the
PRODPREFRACFACTOR Real [1.0]
well parameters are given for conditions after the reservoir is fractured.
Table reference for positive flow performance. Option for supporting coning.
PRODTABLE Symbol TABLE |
The table variables must be given at reservoir conditions.
QMAX RealList (Sm3/s) Maximum flow in Vogels and Normalized Backpressure inflow equation.
RESEXT RealList (m) Reservoir extension.
RESPRESSURE RealList (Pa) Reservoir pressure.
RESTEMPERATURE RealList (C) Reservoir temperature.
ROGST Real (kg/Sm3) [-1.0] Gas density at standard conditions. By default value from PVT table is used.
ROLST Real (kg/Sm3) [-1.0] Oil density at standard conditions. By default value from PVT table is used.
SECTION Integer Section number for well.
RealList
SKIND Turbulent non-darcy skin. Normally given in (1/MMSCF/d).
(1/Sm3/s)
SKINS RealList Mechanical damage skin.
Fraction of total mass of H2O component in the gas phase. By default (=-1),
the mass of H2O component is in the gas phase if the temperature is greater
STEAMFRACTION RealList (-) [-1.0] than the saturation temperature, otherwise, the mass of H2O component is
distributed between the gas phase and the water phase according to the
vapor pressure of H2O in the gas phase. A list of both positive and negative
values is not allowed.
Time series when the reservoir conditions are to be changed. Note that the
TIME RealList (s) [0.0] value actually used by the program is interpolated between the values
specified by the time table.
Mass fraction of total water in the in the total fluid mixture of the reservoir.
TOTALWATERFRACTION RealList (-) [-1.0] With a value of –1, the total water fraction is taken from the fluid table. Either
this key or WATERFRACTION can be specified.
VISGRES Real (Ns/m2) [-1] Viscosity of gas reservoir conditions. By default value from PVT table is used.
VISLRES Real (Ns/m2) [-1] Viscosity of oil reservoir conditions. By default value from PVT table is used.
Distance water front has to travel before it reaches the well bore. This key can
only be used if water option is available. Non-zero values are ignored for two-
WATDIS Real (m)
phase simulations, even if the water option is available. Requires
PRODOPTION=TABULAR.
Watercut at standard conditions. With a value of -1.0 the total water fraction is
WATERCUT RealList (-) [-1.0]
taken from the fluid table.
Mass fraction of free water in the total flow mixture of the reservoir. Either this
WATERFRACTION RealList (-) key or TOTALWATERFRACTION can be specified. For outflow, this key is
ignored if GASFRACTION<0 (the water fraction in the source section is used).
RealList Linear injectivity index for water entering the well section. Normally given in
WATINJ
(Sm3/s/Pa) (Sm3/d/bar).
Pressure at which the water front will be at the well bore at steady-state
WATPLIMIT Real (Pa) conditions. This key can only be used if water option is available. Requires
PRODOPTION=TABULAR.
Scaling factor for determining the amount of wax forming components relative
to HC mixture. The value must be in the range [0,1]. 1 means that the amount
WAXFRACTION RealList (-) [1.0] of wax forming components is equal to the values from the wax table.
Requires WAXDEPOSITION=ON under the OPTIONS keyword and access to
the wax deposition module.
Time constant for the water front movement. This key can only be used if
WFRTC Real (s)
water option is available. Requires PRODOPTION=TABULAR.
RealList Ratio between water (including water in gas phase) and gas. By default, WGR
WGR [-1.0]
(Sm3/Sm3) from the PVT table is used.
ZFACT Real [1] Gas compressibility factor.

Link to: WELL (on Flowpath) Description Keys

ZONE (on Flowpath)


Description ( See also: Keys)

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.
If INTERPOLATION=VERTICAL, STARTPRESSURE and STARTTEMPERATURE as well as ENDPRESSURE and ENDTEMPERATURE must be given. The reservoir
pressure and temperature will then be interpolated in the sections between STARTPOSITION and ENDPOSITION.
If INTERPOLATION=AUTOMATIC, either START- or END-values of pressure and temperature must be given. Pressures between start- and endposition will then be
computed using the hydrostatic gradient.

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

ZONE (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
TOTAL: Production and injection coefficents are given for the entire well zone.
COEFTYPE Symbol PERMETER | [TOTAL]
PERMETER: Production and injection parameters are given per meter.
Position where the well zone ends. If ENDPOSITION is defined, ENDPIPE
ENDPOSITION Symbol POSITION |
and ENDSECTION should not be used.
ENDPRESSURE RealList (Pa) Pressure at the end of the well zone
ENDTEMPERATURE RealList (C) Temperature at the end of the well zone
Type of interpolation used to calculate the zone properties. OFF: constant
reservoir pressure and temperature given by PRESSURE and
TEMPERATURE, respectively. AUTOMATIC: constant reservoir temperature
INTERPOLATION Symbol VERTICAL | AUTOMATIC | [OFF] whereas the reservoir pressure varies hydrostatically. The pressure and
temperature is specified at either the zone start or end position. VERTICAL:
reservoir temperature and reservoir pressure are given by vertical
interpolation between end points.
LABEL String [ZONE] Well zone label.
PRESSURE RealList (Pa) Reservoir pressure at specified location
Reference to template specifying the properties of the automatically
RESERVOIRINFLOW Symbol RESERVOIRINFLOW |
generated inflows.
Position where the well zone begins. If STARTPOSITION is defined,
STARTPOSITION Symbol POSITION |
STARTPIPE and STARTSECTION should not be used.
STARTPRESSURE RealList (Pa) Pressure at the start of the well zone
STARTTEMPERATURE RealList (C) Temperature at the start of the well zone
TEMPERATURE RealList (C) Reservoir temperature at specified location

Link to: ZONE (on Flowpath) Description Keys

CROSSDATA (on Flowpath)


Description ( See also: Keys)

Cross sectional plots of particle concentration and dispersion velocity are available:

 Concentration of dispersion (particles) from bottom to top of line along vertical diameter: P-CON
 Volume velocity profile from bottom to top of line along vertical diameter: U-PROFILE
These data files have extension "csp" and can be plotted in the GUI. The concentration profile will be plotted for each UD phase, and the plot variables will automatically be
labeled accordingly in the csp file. The plot interval is the same as for the TREND plots.

CROSSDATA (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Pipeline position where the variable will be plotted. Absolute position.
ABSPOSITION RealList (m)
Distance from branch inlet.
PIPE SymbolList Pipe numbers or labels where the variables will be plotted.
POSITION SymbolList labels where the variables will be plotted.
SECTION IntegerList Section numbers where the variables will be plotted.
VARIABLE SymbolList (ValueUnitPair) List of variables to be plotted. Units may be included in the list.

Link to: CROSSDATA (on Flowpath) Description Keys

PROFILEDATA (on Flowpath)


Description ( See also: Keys)

This statement defines profile plot variables along the pipeline at specified time points.

For available profile variables see Output Variables.

PROFILEDATA (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Age group for plotting inhibitors variables with aging effect, e.g. Kinetic
AGEGROUPID IntegerList
hydrate inhibitor (KHI).
Component names. Using the Inhibitor tracking module, available
components are HC, H2O and MEG/MEOH/ETOH. Using DRILLING=ON
COMPONENT SymbolList under OPTIONS, available components are HC, H2O, MEG/MEOH/ETOH,
CUTTING and MUD components. For compositional models the names of the
available components are given in the feed file.
DISPERSION SymbolList User Defined (UD) dispersion names.
ALL | GAS | OIL |
FLOWLAYER SymbolList WATER | BED | WALL Flowing layers
|
HYKPID IntegerList Array element index of HYKPLIST.
Wall layer number for plotting of wall temperatures. Layer no. 1 is the
LAYER IntegerList
innermost one.
PHASE SymbolList User Defined (UD) phase names.
TRACERFEED SymbolList Tracer label that the tracer type variables are plotted for.
VARIABLE SymbolList (ValueUnitPair) Variables to be written to the profile plot file. Units should not be used.

Link to: PROFILEDATA (on Flowpath) Description Keys

OUTPUTDATA (on Flowpath)


Description ( See also: Keys)

This statement defines the variables to be printed to the output file (*.out). Global variables are not available on this level.

OUTPUTDATA (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Age group for plotting inhibitors variables with aging effect, e.g. Kinetic
AGEGROUPID IntegerList
hydrate inhibitor (KHI).
Component names. Using the Inhibitor tracking module, available
components are HC, H2O and MEG/MEOH/ETOH. Using DRILLING=ON
COMPONENT SymbolList under OPTIONS, available components are HC, H2O, MEG/MEOH/ETOH,
CUTTING and MUD components. For compositional models the names of the
available components are given in the feed file.
DISPERSION SymbolList User Defined (UD) dispersion names.
ALL | GAS | OIL |
FLOWLAYER SymbolList WATER | BED | WALL Flowing layers
|
Wall layer numbers for plotting of wall temperatures. Layer no. 1 is the
LAYER IntegerList
innermost one.
PHASE SymbolList User Defined (UD) phase names.
PIPE SymbolList Pipe numbers or labels where the variables will be printed.
SECTION IntegerList Section or section boundary numbers where the variables will be printed.
TRACERFEED SymbolList Tracer label that the tracer type variables are plotted for.
VARIABLE SymbolList (ValueUnitPair) List of variables to be printed. Units may be specified.

Link to: OUTPUTDATA (on Flowpath) Description Keys

TRENDDATA (on Flowpath)


Description ( See also: Keys)

This statement defines the trend data to be plotted. A trend plot is a time series plot for a specified variable. Global and branch variables are not available on this level.

For available variables see Output Variables.

TRENDDATA (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Pipeline position where the variable will be plotted. Absolute position.
ABSPOSITION RealList (m)
Distance from branch inlet.
Age group for plotting inhibitors variables with aging effect, e.g. Kinetic
AGEGROUPID IntegerList
hydrate inhibitor (KHI).
CENTRIFUGALPUMP SymbolList Centrifugal pump for which the variable is to be plotted.
CHECKVALVE SymbolList Checkvalve for which the variable is to be plotted.
Component names. Using the Inhibitor tracking module, available
components are HC, H2O and MEG/MEOH/ETOH. Using DRILLING=ON
COMPONENT SymbolList under OPTIONS, available components are 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 SymbolList Compressor for which the variable is to be plotted.
DISPERSION SymbolList User Defined (UD) dispersion names.
DISPLACEMENTPUMP SymbolList Displacement pump for which the variable is to be plotted.
ALL | GAS | OIL |
FLOWLAYER SymbolList WATER | BED | WALL Flowing layers
|
FRAMOPUMP SymbolList Framo pump for which the variable is to be plotted.
HEATEXCHANGER SymbolList HeatExchanger for which the variable is to be plotted.
HYKPID IntegerList Array element index of HYKPLIST.
Wall layer number for plotting of wall temperatures. Layer no. 1 is the
LAYER IntegerList
innermost one.
LEAK SymbolList Leak for which the variable is to be plotted.
NEARWELLSOURCE SymbolList NearWellSource for which the variable is to be plotted.
PHASE SymbolList User Defined (UD) phase names.
PIG SymbolList Pig for which the variable is to be plotted.
PIPE SymbolList Pipe numbers or labels where the variables will be plotted.
POSITION SymbolList Labels of specified positions where the variables will be plotted.
PRESSUREBOOST SymbolList Pressure boost for which the variable is to be plotted.
PUMPBATTERY SymbolList Pump battery for which the variable is to be plotted.
SECTION IntegerList Section or section boundary numbers where the variables will be plotted.
SIMPLIFIEDPUMP SymbolList Simplified pump for which the variable is to be plotted.
SLUGID IntegerList [0] Unique identity defining a slug or a pig.
SOURCE SymbolList Source for which the variable is to be plotted.
TRACERFEED SymbolList Tracer label that the tracer type variables are plotted for.
VALVE SymbolList Valve for which the variable is to be plotted.
VARIABLE SymbolList (ValueUnitPair) List of variables to be plotted. Units should not be used.
WELL SymbolList Well for which the variable is to be plotted.
ZONE SymbolList Well for which the variable is to be plotted.
Switch telling whether to store trend data for all autogenerated sources/wells
ZONEDETAILS Symbol YES | [NO]
within zones

Link to: TRENDDATA (on Flowpath) Description Keys

XYTDATA (on Flowpath)


Description ( See also: Keys)

Size distributions may be plotted using the XYTDATA definition. Selecting the variable P-SD in this statement generates a plot file with extension "xyt". Time points for plotting
are specified with the Output group XYT.

XYTDATA (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Pipeline position where the variable will be plotted. Absolute position.
ABSPOSITION RealList (m)
Distance from branch inlet.
PIPE SymbolList Pipe numbers or labels where the variables will be plotted.
POSITION SymbolList labels where the variables will be plotted.
SECTION IntegerList Section numbers where the variables will be plotted.
VARIABLE SymbolList (ValueUnitPair) List of variables to be plotted. Units may be included in the list.
Link to: XYTDATA (on Flowpath) Description Keys

CORROSION (on Flowpath)


Description ( See also: Keys)

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.

CORROSION (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
BICARBONATE Real [0.0] Bicarbonate (HCO3-) concentration in water given in Molar (M=mol/l).
Mole percentage of CO2 in gas phase (ratio of CO2 partial pressure to total
CO2FRACTION Real
pressure in %).
Glycol concentration in weight-% in a glycol/water mixture. Only used if
GLYCOLFRACTION Real [0.0] Inhibitor tracking is not used. If Inhibitor tracking is used, the glycol fraction
will be calculated.
Inhibitor (not glycol) efficiency in %. The effect of glycol and an additional
inhibitor (through INHIBITOREFFICIENCY) depends on the model used. For
INHIBITOREFFICIENCY Real [0.0] the NORSOK model, the larger of the two resulting reduction factors is used,
while for the de Waard models the product of the two factors is used.
INHIBITOREFFICIENCY=100% means no corrosion.
IONICSTRENGTH Real [0.0] Total ionic strength in Molar (M=mol/l).
Which model to use. MODEL1: NORSOK. MODEL2: Top of Line corrosion
MODEL SymbolList [ALL]
model. MODEL3: de Waard 95.
PCO2MAX Real (Pa) [1000000] Maximum CO2 partial pressure in single phase liquid flow.
Whether or not to calculate the pH for condensed water saturated with ion
PHSAT Symbol [OFF]
carbonate.
Bubble point pressure from which the CO2 partial pressure for a single phase
PTMAX Real (Pa)
liquid flow will be calculated.
Water droplet wall wetting limit. Has to be given as watercut in %. If the liquid
film watercut is higher than this value, the water droplets will wet the wall,
even if no continuous water film is present. It is only used in the corrosion
WCWET Real [30.0] module to detect if water droplets are wetting the wall. It has no influence on
the flow conditions. If a continuous water film is predicted by the flow model,
water wetting is detected by the corrosion module regardless of the water cut
set as the wetting limit.

Link to: CORROSION (on Flowpath) Description Keys

DTCONTROL (on Flowpath)


Description ( See also: Keys)

This statement defines a switch for stability control.

See restrictions and limitations for more information.

DTCONTROL (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Pipeline position where the criteria changes will be applied. Absolute position.
ABSPOSITION RealList (m)
Distance from branch inlet.
CFL Symbol [ON] The Courant-Friedrichs-Lewy (CFL) criterion based on the flow velocity.
CFLFACTOR Real [0.8] Adjust the CFL time-step.
GRADPRESSURE Symbol ON | [OFF] Time-step control based on the first-order derivative of pressure w.r.t. time.
PIPE SymbolList Pipe numbers or labels where the criteria changes will be applied.
POSITION SymbolList Labels of specified positions where the criteria changes will be applied.
PREFACTOR Real [0.8] Tuning factor for pressure criterion.
Time-step control based on the second-order derivative of pressure w.r.t.
PRESSURE Symbol [OFF]
time.
SECTION IntegerList Section numbers where the criteria changes will be applied.
SOUND_CFL Symbol [OFF] Time-step control based on the speed of pressure waves.

Link to: DTCONTROL (on Flowpath) Description Keys


HYDRATECHECK (on Flowpath)
Description ( See also: Keys)

This keyword can be used to specify a set of hydrate formation curves and how these should be treated in the flowpath.

See also:

HYDRATECHECK

HYDRATECHECK (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
HAMCONST Real (C) [1297] Constant in Hammerschmidt equation. Note that unit is delta temperature.
Switch for activating the Hammerschmidt formula for computing hydrate
temperature curves for different inhibitor concentrations. Can only be used
HAMMERSCHMIDT Symbol ON | [OFF]
with a single hydrate curve without any specified inhibitor concentration (i.e.
INHIBITORCONC=0).
Labels of the HYDRATECURVEs (from Library) that shall be used in this
HYDRATECURVE SymbolList
flowpath.
INHIBITORFILE String Name of file with inhibitor corrections to hydrate equilibrium.
With PRESSOVERRIDE the limit for the difference between hydrate and
PRESSOVERRIDE Real (Pa) [-5000000] section pressure, DPHYD (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
TEMPOVERRIDE Real (C) [-50] section temperature, DTHYD (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
TRACERFEED Symbol TRACERFEED | OPTIONS keyword. If given the hydrate temperature will be corrected
according to INHIBITORFILE.
Hydrates will not form in sections with less water than the waterlimit (default =
WATERLIMIT Real (-) [0]
0).

Link to: HYDRATECHECK (on Flowpath) Description Keys

HYDRATEKINETICS (on Flowpath)


Description ( See also: Keys)

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.

HYDRATEKINETICS (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
COIL Real [1.0] Weighting factor for hydrate velocity related to oil velocity
CWATER Real [0.0] Weighting factor for hydrate velocity related to water velocity
NO: Use OLGA flow model. YES: Forces the gas velocity to be proportional to
DRIFTFLUX Symbol YES | [NO] the liquid velocity, and the keys VELOCITYRATIO and DRIFTVELOCITY
become active.
DRIFTVELOCITY is a constant slip velocity of the gas. Used when
DRIFTVELOCITY Real (m/s) [0] DRIFTFLUX = YES. gas velocity = VELOCITYRATIO times liquid velocity +
DRIFTVELOCITY
FOGEXPONENT is used to adjust the gas-liquid interface friction. The scaling
FOGEXPONENT Real [0] factor for the 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
FULLDISPERSION Symbol YES | [NO] dispersed in water or oil depending on inversion point. The inversion point can
be adjusted through the WATEROPTIONS keyword.
METHANECONCFILE String File containing methane concentration in oil.
Type of hydrate model. KINETIC should be used in most cases. Two
prototype models are available from Colorado School of Mines: TRANSPORT
and COLDFLOW. KINETIC calculates the rate of hydrate formation using a
KINETIC | TRANSPORT |
MODEL Symbol chemical kinetics equation based on the temperature driving force.
COLDFLOW |
TRANSPORT 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
STRUCTURE Symbol SI | [SII] molecules such as methane, whereas structure II tends to enclathrate larger
natural gas molecules such as propane (Sloan and Koh, 2008)
Subcooling (given as temperature difference) from hydrate equilibrium before
SUBCOOLING Real (C) [3.611111]
nucleation. Default 6.5 F.
VELOCITYRATIO Real [1] Distribution coefficient for gas velocity. Used when DRIFTFLUX = YES

Link to: HYDRATEKINETICS (on Flowpath) Description Keys

HYDRATEOPTIONS (on Flowpath)


Description ( See also: Keys)
HYDRATEOPTIONS (on Flowpath) Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
[NO] Constant adhesion force between hydrate particles, FATTRACTION.
CSMFATTRACTION Symbol YES | [NO] [YES] Adhesion force between hydrate particles is calculated as a function of
temperature.
CSMPARTICLEDIAMETER Symbol YES | [NO] NO: Use MEANDIAMETER. YES: Use diameter calculated by CSM.
NO: Surface area for hydrate formation is calculated by OLGA.
(Recommended for Kinetic model) YES: Surface area for hydrate formation is
CSMSURFAREA Symbol YES | [NO]
calculated internally in CSM code based on the particle diameter.
(Recommended for Transport model)
Diffusivity of methane through hydrate shell. For cold flow model: Diffusivity of
DIFFUSIVITY Real (m2/s) [1.0e-16]
methane in water.
FATTRACTION Real (mN/m) [50.0] Constant adhesion force between hydrate particles.
GASGUESTFRACTION Real (-) [1] Mass fraction of hydrate guest molecules in gas phase
HEATCAPACITY Real (J/kg-C) Heat capacity of hydrate particles.
Heat generated by hydrate formation, or heat consumed by hydrate
HEATFORMATION Real (J/kg)
dissociation.
Scaling factor for first kinetic reaction coefficient. Suggested value for oil-
K1SCALINGFACTOR Real [1.0]
dominated systems is 0.002, for gas-dominated systems is 1.
K2SCALINGFACTOR Real [1.0] Scaling factor for the second reaction coefficient
MEANDIAMETER Real (m) [4.0e-5] Mean droplet diameter
OCCUPANCY Real Not in use
OILGUESTFRACTION Real (-) [0] Mass fraction of hydrate guest molecules in oil phase
NO: The routines embedded in the OLGA executable are used. YES:
USEDLL Symbol YES | [NO]
csmhyddll.dll is used. This dll must exist together with the OLGA executable.

Link to: HYDRATEOPTIONS (on Flowpath) Description Keys

PIG (on Flowpath)


Description ( See also: Keys)

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 LEAKAGEFACTOR, LEAKDPCOEF or LEAKOPENING are used to specify the leakage in the propagation direction of the pig.

Τηε κεψ ∆ΙΑΜΕΤΕΡ ισ υσεδ το χαλχυλατε τηε λιθυιδ βαχκφλοω αρουνδ τηε πιγ.

PIG (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Pig diameter NOTE! If no diameter is given, the diameter of the pig is set to
DIAMETER Real (m) the inner pipe 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] Pig label, default is pig number.
Position for pig launch. The pig is launched downstream of the section
LAUNCHPOSITION Symbol
boundary closest to 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 not given for the
LEAKAGEFACTOR Real (-)
hydrate model, the program will calculate the leakage factor from the cross
sectional area.
Pressure loss coefficient measured by letting the fluid flow past a pig that is
LEAKDPCOEF Real [1E199]
fixed to the pipe wall. Described in section 2.2.6
LEAKOPENING Real (-) [0.0] Leakage opening relative to pipe cross section area.
Linear friction factor coefficient for fluid friction of fluid film between pig and
LINEARFRIC Real (Ns/m) [10]
pipe wall.
MASS Real (kg) [140] Pig mass.
Wax cutting efficiency, see eq. for breaking force in sec. 2.2.6. Only available
PGWXFORMFAC Real (-) [0.0]
with the wax module.
Quadratic friction factor coefficient for fluid friction of fluid film between pig and
QUADRATICFRIC Real (Ns2/m2) [0.0]
pipe wall.
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 highest
ROUTING SymbolList
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
TRACKSLUG Symbol ON | [OFF] slug is set up in 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
TRAPPOSITION Symbol POSITION | position. Trap 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 behavior. –1 implies using internal model for estimating the
WPPLASTVISC Real (N-s/m2) [-1]
plastic viscosity. See 2.2.6 for further details. Only available with the wax
module.
Porosity of wax plug in front of pig. Used for wax plug friction calculation.
WPPOROSITY Real (-) [-1] Default value –1 implies 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
WPYIELDSTRESS Real (Pa) [-1] Bingham fluid behavior. –1 implies using internal model for estimating the
yield stress. See 2.2.6 for further details. Only available with the wax module.
Coefficient C in wax breaking force equation, see eq. in sec. 2.2.6. Only
WXBRFCOEF Real (-) [0.0]
available with the wax module.
WXRMEFF Real (-) [1.0] Wax removal efficiency. Only available with the wax module.
Yield stress of wax layer on the wall. –1 imples that the internal yieldstress
WXYIELDSTR Real (Pa) [-1]
correlation is used, see sec. 2.2.6. Only available with the wax module.

Link to: PIG (on Flowpath) Description Keys

SLUGILLEGAL (on Flowpath)


Description ( See also: Keys)

SLUGILLEGAL is part of the SLUGTRACKING keyword.

Slugs are not allowed to be generated at illegal sections. A slug front or tail may propagate into an illegal section, but it will not propagate through it. The first and the last
section in a pipeline are by definition illegal sections. This means that slugs do not propagate through a network. The user may add extra illegal section by using the
SLUGILLEGAL keyword. This may speed up the simulation or make the simulation more robust.

More info on when to use illegal sections can be found under SLUGTRACKING MODULE.

SLUGILLEGAL (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Specify whether or not slugs are allowed in sections defined by PIPE and
SECTION. OFF: Slugs are allowed. Used for sections where illegal sections
previously have been switched on. ON: Slugs are not allowed to be
ILLEGALSECTION Symbol OFF | [ON]
generated. Slugs generated elsewhere may move into the section, but are not
allowed to pass through this section. The slugs will be destroyed when both
the front and tail are within the section.
PIPE Symbol PIPE | Pipe numbers/pipe labels for illegal sections.
Define the positions of illegal sections. If this option is used, sub-keys PIPE
POSITION SymbolList
and SECTION should not be used.
SECTION IntegerList Section numbers for illegal sections.

Link to: SLUGILLEGAL (on Flowpath) Description Keys

SLUGTRACKING (on Flowpath)


Description ( See also: Keys)

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.

The slug tracking option offers full temperature calculation capabilities.

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.

SLUGTRACKING (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Minimum void required behind a level tail and ahead of a level front at
BUBBLEVOID Real (-)
initiation time
Number of pipe diameters a slug needs to propagate before the next
DELAYCONSTANT Real [150]
hydrodynamic slug is initiated.
End time for level slug initiation. If not given no end time restriction is
ENDTIME Real (s)
enforced.
Gas entrainment into slug from bubble for breaking/level front in slug tracking.
GASENTRAINMENT Symbol NYDAL | [VOIDINSLUG] NYDAL: Nydal correlation for entrainment. VOIDINSLUG: Entrainment based
on correlation for void in slug.
HYDRODYNAMIC Symbol ON | MANUAL | [OFF] Option for initiating hydrodynamic slugs.
INITBUBBLEVOIDS RealList (-) [1] Void fractions in the slug bubbles.
INITENDTIMES RealList (s) End times for slug generation.
The minimum distance between two consecutive slugs is defined as (bubble
INITFREQUENCY Real (1/s)
vel./INITFREQUENCY).
INITLENGTH Real Maximum initial length of hydrodynamic slugs in number of pipe diameters.
INITPERIODS RealList (s) Time interval between initiations of consecutive slugs.
INITPOSITIONS SymbolList Labels of section boundaries where slug generation zones are located.
INITSLUGVOIDS RealList (-) [0.0] Void fraction in the liquid slug.
INITSTARTTIMES RealList (s) Start times for slug generation.
INITZONELENGTHS RealList (m) The length of zones where slugs are to be generated.
LEVEL Symbol ON | [OFF] Option for detecting and initiating level slugs.
Max number of slugs allowed in the system, if not given there are no
MAXNOSLUGS Integer
restrictions.
SLUGVOID Real (-) The maximum void allowed in a level slug at initiation time.
Start time for level slug initiation. If not given, level detection is on from
STARTTIME Real (s)
simulation start.

Link to: SLUGTRACKING (on Flowpath) Description Keys

TUNING (on Flowpath)


Description ( See also: Keys)

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.

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.

TUNING (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Power of diameter scaling in inclination sensitive part of droplet entrainment
ANGLEDIAMPOWER RealList [1.0]
function
ANGLESCALE RealList [0.0] Scaling of inclination sensitive part in droplet entrainment function
Tuning coefficient for AREA in PIPE (used for equivalent pipes). NOTE:
AREA RealList [1.0]
Cannot be applied on individual sections. Pipe level and higher is allowed.
CAPPOW RealList [0.5] Power of capillary number used in wavy turbulence parameter for gas
Tuning coefficient for diameter. NOTE: Cannot be applied on individual
DIAMETER RealList [1.0]
sections. Pipe level and higher is allowed.
DIAMPOWER RealList [1.0] Power of diameter scaling in constant part of droplet entrainment function
ENTRAINMENT RealList [1.0] Tuning coefficient for entrainment rate of liquid droplets in gas
GASDENSITY RealList [1.0] Tuning coefficient for gas density
GASVISC RealList [1.0] Tuning coefficient for gas viscosity
GROUGHNESS Real [1.0] Tuning coefficient for roughness from droplets.
KTAHIGTFAC RealList [1.0] Scaling of turbulence parameter 2 for liquid
KTALOWTFAC RealList [1.0] Scaling of turbulence parameter 1 for liquid
KTGGRAVFAC RealList [1.0] Scaling of gravity dominated turbulence parameter for gas
KTGSMTHFAC RealList [1.0] Scaling of smooth turbulence parameter for gas
KTGWAVYFAC RealList [1.0] Scaling of wavy turbulence parameter gas
LAM_LGI RealList [1.0] Tuning coefficient for interfacial friction factor between liquid and gas
LAM_WOI RealList [1.0] Tuning coefficient for interfacial friction factor between oil and water
Tuning coefficient for liquid hydrocarbon fraction of total hydrocarbon mass (1-
LIQHCFAC RealList [1.0]
Rsg)/(1-RsgRsw). This option will only work with non-compositional modules.
MASSTRANSFER RealList [1.0] Tuning coefficient for mass transfer between gas and oil.
OILDENSITY RealList [1.0] Tuning coefficient for oil density
OILVISC RealList [1.0] Tuning coefficient for oil viscosity
PIPE SymbolList [ALL] Pipe numbers or labels where the tuning parameters will be applied.
Positions where the tuning parameters will be applied. If this key is defined,
POSITION SymbolList
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, and an interpolated value will be used for Re
REHIGH RealList [3000]
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,
RELOW RealList [2300] and an interpolated value will be used for Re between RELOW and REHIGH.
Can be applied on individual sections, pipes and branches.
Tuning coefficient for inner wall roughness. NOTE: Cannot be applied on
ROUGHNESS RealList [1.0]
individual sections. Pipe level and higher is allowed.
Section or section boundary numbers where the tuning parameters will be
SECTION RealList
applied.
SIGGL RealList [1.0] Tuning coefficient for gas/liquid surface tension
TAMBIENT RealList [1.0] Tuning coefficient for ambient temperature.
VOIDINOIL RealList [1.0] Scaling of void fraction in oil film
VOIDINWATER RealList [1.0] Scaling of void fraction in water film
WATERDENSITY RealList [1.0] Tuning coefficient for water density
WATERVISC RealList [1.0] Tuning coefficient for water viscosity
Higher limit for Weber number when blending liquid turbulence parameters 1
WEMAX RealList [200.0]
and 2
Lower limit for Weber number when blending liquid turbulence parameters 1
WEMIN RealList [100.0]
and 2
WETFRACTION RealList [1.0] Scaling of fraction of wall wetted by droplets

Link to: TUNING (on Flowpath) Description Keys

WAXDEPOSITION (on Flowpath)


Description ( See also: Keys)

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.

The derivative of wax porosity (if POROSITYOPTION=AGEING) is defined in this manner:

(INITPOROSITY-HARDPOROSITY)/AGEINGTIME

Full temperature calculation (OPTIONS TEMPERATURE = WALL) is necessary when simulating wax deposition.

Remarks:The availability of the wax deposition option depends on the user's licensing agreement with SPT Group.

The wax deposition module cannot be applied together with the slug tracking or corrosion modules.

The wax file is generated in PVTsim.

WAXDEPOSITION (on Flowpath) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Options for treatment of porosity of deposited wax as function of time. If
CONSTANT, no aging mechanism is activated. The porosity will either be
directly given by WAXPOROSITY or an average value calculated by OLGA . If
AGEING, INITPOROSITY, HARDPOROSITY and AGEINGTIME will be used
AGEINGOPT Symbol AGEING | [CONSTANT]
to find change in porosity with time. New deposits will still have the porosity
according to WAXPOROSITY settings. If INITPOROSITY is to be used as
porosity values of new deposits, WAXPOROSITY must be set to the same
values.
Time for reduction of porosity from INITPOROSITY to HARDPOROSITY.
AGEINGTIME RealList (d) [7]
Used to describe change in porosity with time due to aging.
COEFSHEAR RealList (kg/m2) [0.0] Shear deposition rate constant for deposition of precipitated wax.
Pure paraffin wax thermal conductivity. Branch-wise input. Currently not
CONDUCTIVITY RealList (W/m-K) [0.242]
available.
Options for pure wax thermal conductivity. TABLE: The wax conductivity is
CONDUCTOPT Symbol TABLE | [MANUAL] taken from the wax tables. MANUAL: The conductivity is given through the
key CONDUCTIVITY. Currently not available.
Linear multiplier for modification of the component specific diffusion
DIFFCOEFFMULT RealList [1.0]
coefficients given in the wax-table.
Pressures at which the values of DISSOLTDIFF apply. The melting/dissolve
table (defined by DISSOLRATE, DISSOLTDIFF and DISSOLPRESS) will
apply to all branches referred to in the BRANCH list. If different tables are
DISSOLPRESS RealList (Pa)
wanted, separate WAXDEPOSITON statements must be given for each
branch. Linear interpolation between table values. NOTE! Works only for
MODEL=RRR.
Maximum melting/diffusion rate. Applied for all branches given in keyword.
DISSOLRATE RealList (kg/s-m2) [1.e+12]
Works only for MODEL=RRR.
Difference between dissolution temperature and wax appearance temperature
as function of pressure. The melting/dissolve table (defined by DISSOLRATE,
DISSOLTDIFF and DISSOLPRESS) will apply to all branches referred to in
DISSOLTDIFF RealList (C) [0.0]
the BRANCH list. If different tables are wanted, separate WAXDEPOSITON
statements must be given for each branch. Linear interpolation between table
values. Works only for MODEL=RRR.
DISSOLUTION Symbol ON | [OFF] Switch for turning on/off dissolution. Only applicable with RRR model.
Lower value of porosity after the given ageing period through AGEINGTIME.
Has the following purposes: 1. To calculate change in porosity with time due
to ageing. 2. Giving lower limit for porosity in the case of ageing when
HARDPOROSITY RealList (-) [0.2] INSTPOROSITYOPT = MANUAL. When INSTPOROSITYOPT =
AUTOMATIC, the lower limit for the porosity is given by MINPOROSITY, and
HARDPOROSITY is only used for calculating the porosity change rate.
HARDPOROSITY must be equal to or larger than MINPOROSITY.
Initial porosity of deposited wax, used only for describing change in porosity
INITPOROSITY RealList (-) [0.8]
with time due to ageing.
Options for calculating instantaneous porosity of deposited wax. MANUAL: A
constant value is used, given by WAXPOROSITY. AUTOMATIC: The porosity
will be calculated by the internal flow dependent model. The keys
MINPOROSITY and MAXPOROSITY are used to determine the minimum and
INSTPOROSITYOPT Symbol MANUAL | [AUTOMATIC]
maximum limits for the porosity. The wax porosity may be changing with
changing flow conditions, and the average porosity seen at a given point may
be different from the instantaneous porosity given by the internal porosity
model.
The maximum limit for the calculated porosity is given by this key. Used when
INSTPOROSITYOPT=AUTOMATIC. The porosity of new deposits is
MAXPOROSITY RealList (-) [0.8]
calculated by OLGA and an volume averaging of the porosity of new and old
layers will be performed.
MAXROUGHNESS RealList (m) [1.0E6] Maximum wax layer roughness allowed.
The minimum limit for the calculated porosity is given by this key. Used when
INSTPOROSITYOPT=AUTOMATIC. The porosity of new deposits is
MINPOROSITY RealList (-) [0.2]
calculated by OLGA and an volume averaging of the porosity of new and old
layers will be performed.
MATZAIN | HEATANALOGY |
MODEL Symbol Wax deposition model.
[RRR]
SHEARMULTC2 Real [1.0] Tuning multiplier for empirical constant C2 in MATZAIN wax deposition model.
SHEARMULTC3 Real [1.0] Tuning multiplier for empirical constant C3 in MATZAIN wax deposition model.
Tuning multiplier for the “D” parameter in the internal non-newtonian viscosity
correlation. Only used when VISCOPTION = CALSEP. If these are also
VISCMULTD Real [1.0]
specified in the wax-table (see userguide), user-specified values for the
multiplier will override those in the wax-table file.
Tuning multiplier for the “E” parameter in the internal non-newtonian viscosity
correlation. Only used when VISCOPTION = CALSEP. If these are also
VISCMULTE Real [1.0]
specified in the wax-table (see userguide), user-specified values for the
multiplier will override those in the wax-table file.
Tuning multiplier for the “F” parameter in the internal non-newtonian viscosity
correlation. Only used when VISCOPTION = CALSEP. If these are also
VISCMULTF Real [1.0]
specified in the wax-table (see userguide), user-specified values for the
multiplier will override those in the wax-table file.
Option for calculating the wax/oil dispersion viscosity TABULAR: Currently not
VISCOPTION Symbol [CALSEP] available. CALSEP: Use internal model. VISCOPTION must be selected for
the whole system of branches.
Ratio of viscosity of wax/oil dispersion to oil viscosity. Corresponding to the
wax volume fractions given in WAXVOLFRACTION. The viscosity multiplier
table (defined by VISMULTIPLIER and WAXVOLFRACTION) will apply to all
VISMULTIPLIER RealList (-)
branches referred to in the BRANCH list. If different tables are wanted,
separate WAXDEPOSITON statements must be given for each branch. Linear
interpolation between table values. Currently not available.
Porosity of new deposits in wax layer. Used when
WAXPOROSITY RealList (-) [0.6]
INSTPOROSITYOPT=MANUAL.
Fraction of wax layer thickness that is interpreted as wax layer roughness (i.e.
WAXROUGHNESS RealList (-) [0.0]
wall roughness). Limited by MAXROUGHNESS.
WAXTABLE SymbolList Name of wax table.
Volume fractions of precipitated wax dispersed in oil corresponding to the
viscosity multiplier values given in VISMULTIPLIER. The viscosity multiplier
table (defined by VISMULTIPLIER and WAXVOLFRACTION) will apply to all
WAXVOLFRACTION RealList (-)
branches referred to in the BRANCH list. If different tables are wanted,
separate WAXDEPOSITON statements must be given for each branch. Linear
interpolation between table values. Currently not available.

Link to: WAXDEPOSITION (on Flowpath) Description Keys

UDGroup
Description ( See also: Keys)

Located under the GroupData section, this input group defines how the defined dispersions are to enter the pre-defined phases in initial conditions, mass sources and for
nodes with pressure boundary condition. Each unique combination should be defined as a separate UDGROUP.

UDGROUP can be referred to by SOURCE, INITIALCONDITIONS and NODE. The SOURCE and the NODE use the fractions in the three flowing layers (gas, oil, water),
while all may be used for the initial conditions.

The UDGROUP is composed by a set of UDFRACTIONs, each specifying the mass fraction of a given user defined phase in a given layer (gas, oil, water, bed and wall).

UDGroup Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String Network component label (if nothing is given the NC tag is used).

Link to: UDGroup Description Keys

UDFRACTION (on UDGroup)


Description ( See also: Keys)

UDFRACTION specifying the mass fraction of a given user defined phase in a given layer (gas, oil, water, bed and wall) within a UDGROUP.

UDFRACTION PDF is used to select the momentums/paramaters to be used for the size distribution. The distribution is defined together phase properties on the library input
UDPHASE or UDDISPERSION. If a different distribution than LogNormal is to be used, it must be implemented in a plug-in dll.

UDFRACTIONMASSFRACTION defines the mass fraction of the dispersion relative to the total mass of the corresponding carrying layer. Giving more than one value, the
input is interpreted as a time series and the number of values should correspond to the time points given under UDFRACTION TIME. The value between the given time points
is determined through interpolation.

The dispersed phase to be tracked in this carrying phase can be referred to in two ways:
1. Use the PHASE key to refer directly to a UDPHASE defined in the Library section of the input, or
2. Use the DISPERSION key to refer to a UDDISPERSION defined in the Library section of the input.

NOTE: For initial conditions giving the user defined phase mass fractions in a bed/wall, the UDGROUP referenced must have MASSFRACTION > 0 for LAYER = BED/WALL.

UDFRACTION (on UDGroup) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DISPERSION Symbol UDDISPERSION | User Defined (UD) dispersions that will mix with the predefined phase(s)
<None> | GAS | OIL | WATER | BED The layer the User Defined (UD) phase/dispersion will flow in (gas, oil, water)
LAYER Symbol
| WALL | or be deposited in (bed, wall)
MASSFRACTION RealList (-) Mass fraction in layer
PDF Symbol UDPDF | Mass based particle distribution function
PHASE Symbol UDPHASE | User Defined (UD) phases that will mix with the predifined phase(s)
TIME RealList (s) The time points for the mass fractions.

Link to: UDFRACTION (on UDGroup) Description Keys

CENTPUMPCURVE (on Library)


Description ( See also: Keys)

The centrifugal pump curve take data commonly available in centrifugal pump data sheets. Ex. head generated by pump vs. volumetric inlet flow (Figur 1) and pump
efficiency vs. volumetric inlet flow (Figur 2).

Figure 1: Head generated by pump vs. volumetric inlet flow given for two different speeds

Figure 2: Pump efficiency vs. volumetric inlet flow given for two different speeds

Two applications are intended:

 Singel phase mode - Create one CENTPUMPCURVE per pump speed


 Two phase mode - Create one CENTPUMPCURVE per inlet gas volumetric fraction
The CENTPUMPCURVES should be used with the centrifugal pump.

CENTPUMPCURVE (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DELTAP RealList (Pa) Pump differential pressure. Linear interpolation is used for list of values.
DENSITY Real (kg/m3) Inlet density.
EFFICIENCY RealList (-) Pump efficiency. Linear interpolation is used for list of values.
GVF Real (-) [0] Inlet gas volumetric fraction.
HEAD RealList (m) Pump head. Linear interpolation is used for list of values.
LABEL String [PUMPCURVE] Centrifugal pump curve label.
POWER RealList (kW) Pump shaft power. Linear interpolation is used for list of values.
SPEED RealList (rpm) Pump speed. Linear interpolation is used for list of values.
TORQUE RealList (Nm) Pump torque. Linear interpolation is used for list of values.
Volumetric flow rate through pump. Linear interpolation is used for list of
VOLUMEFLOW RealList (m3/h)
values.

Link to: CENTPUMPCURVE (on Library) Description Keys

DRILLINGFLUID (on Library)


Description ( See also: Keys)

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.

A combination of 1) and 2) can not be used in the same case.

This keyword requires access to the Wells Module.

DRILLINGFLUID (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
CUTDENSITY Real (kg/m3) [2100.0] Density of cutting particles. Global value that only should be set once.
FLUIDTABLE Symbol PVTData | Label or number of fluid table in PVT file.
LABEL String [DRILLINGFLUID] Drilling fluid label.
The maximum density of the drilling fluid to be used in the entire drilling
MAXDENSITY Real (kg/m3)
process. The densisty must be given at standard conditions.
The maximum viscosity of the drilling fluid to be used in the entire drilling
MAXVISCOSITY Real (N-s/m2)
process. The viscosity must be given at standard conditions.
The minimum density of the drilling fluid to be used in the entire drilling
MINDENSITY Real (kg/m3)
process. The density must be given at standard conditions.
The minimum viscosity of the drilling fluid to be used in the entire drilling
MINVISCOSITY Real (N-s/m2)
process. The viscosity must be given at standard conditions.
TYPE Symbol WATERMUD | OILMUD | GASMUD | Type of drilling fluid. The following types are allowed: WATER, OIL, and GAS.
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.

Link to: DRILLINGFLUID (on Library) Description Keys

HYDRATECURVE (on Library)


Description ( See also: Keys)

This keyword defines a hydrate formation curve to be used with the HYDRATECHECK keyword.

See also:

HYDRATECHECK

HYDRATECURVE (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Units and orders of columns of the temperature and pressure in the
SymbolList TEMPERATURE |
COLUMNHEADER HYDRATEFILE. By default the first column is for temperature and the second
(ValueUnitPair) PRESSURE |
for pressures.
YES: The hydrate dissociation curve is to be read from a data file. NO: The
FROMFILE Symbol YES | [NO]
hydrate curve is specified using the keys PRESSURE and TEMPERATURE.
The name of the file containing hydrate temperature as a function of pressure
HYDRATEFILE String
or vice versa. Must be specified when FROMFILE=YES.
INHIBCONC Real (-) [0] Inhibitor concentration (in weight percent) for a hydrate curve (default = 0).
The inhibitor component to use with the hydrate curve. For Compositional
INHIBITOR Symbol InhibitorCompData | Tracking only. The inhibitor component must be defined in the feed file,
possible selections are: EtOH, MeOH, MEG, DEG and TEG.
LABEL String [HYD] The label of this hydrate curve.
Hydrate formation pressure for each given temperature point. The pressure
PRESSURE RealList (Pa)
points have be unique and entered in increasing order.
Temperature points defining the hydrate curve. The temperature points have
TEMPERATURE RealList (C)
to be unique and entered in increasing order.

Link to: HYDRATECURVE (on Library) Description Keys

MATERIAL (on Library)


Description ( See also: Keys)

This statement specifies physical properties of the materials associated with WALLS (pipe wall, pipeline coating, insulation and soil) and SHAPES (FEMTherm). The main
purpose of the material is to define the heat transfer properties in thermal computations. When the elastic wall option is used, the Young's modulus of elasticity (EMOD) can
be used by OLGA to compute the flexibility of the pipe WALL.
OLGA has four types of material models for heat transfer computations:

 TYPE = SOLID: A simple model with constant thermal properties. The equations solved are that of heat transfer in solid medium. This is the default model in OLGA.

 TYPE = FLUID: 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 also include the effect of 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. This
model is only valid in WALLS.

 TYPE = PCM: In situations with freezing/thawing materials, it is important to capture the effect of both temperature dependent material properties as well as the latent
heat of fusion. This model is designed to provide a simplified input option for this type of simulations. The phase change is assumed to occur when the temperature is in
the region PHCHMIN < T < PHCHMAX and the latent heat of fusion is accounted for with the heat capacity multiplier FUSIONMULT. In this region, the conductivity is
linearly interpolated between CONDMULT*CONDUCTIVITY and CONDUCTIVITY, while the heat capacity is set to FUSIONMULT*CAPACITY. When the temperature is
below PHCHMIN, the conductivity used is CONDMULT*CONDUCTIVITY and the heat capacity is set to HCAPMULT*CAPACITY. Above PHCHMAX, CONDUCTIVITY
and CAPACITY is used directly.

 TYPE = TEMPDEPENDENT: This is a generic, temperature dependent model. When this model is chosen, the CONDUCTIVITY, CAPACITY and DENSITY can be given
as lists, where each entry corresponds to a temperature point in the key TEMPERATURE. Between temperature points, the conductivity is linearly interpolated. For the
inertial terms, the product of the heat capacity and density is linearly interpolated.

MATERIAL (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
RealList (J/kg-
CAPACITY Thermal capacity of the material.
C)
Conductivity multiplier below PHCHMIN. Between PHCMIN and PHCMAX,
CONDMULT Real
the multiplier is linearly interpolated from CONDMULT to 1.
RealList (W/m-
CONDUCTIVITY Thermal conductivity of the material.
C)
DENSITY RealList (kg/m3) Material density.
Young's modulus of elasticity. Used to compute the radial flexibility of the pipe
EMOD Real (Pa)
(typical value for steel: 2.1e11 Pa).
EXPANSION Real (1/C) Expansion coefficient of fluid layer.
Heat capacity multiplier between PHCHMIN and PHCHMAX used to model
FUSIONMULT Real latent heat of fusion. If 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] 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
RADIATION Symbol YES | [NO] NO: No radiation across fluid layer. Yes: Radiation across fluid layer.
Temperature points for interpolating CAPACITY, CONDUCTIVITY and
TEMPERATURE RealList (C)
DENSITY. Used only if TYPE = TEMPDEPENDENT
Type of wall material. SOLID: Normal wall layer material. FLUID: Stagnant
<None> | FLUID | PCM | fluid material. PCM: Phase changing material. TEMPDEPENDENT:
TYPE Symbol
TEMPDEPENDENT | [SOLID] Temperature dependent solid material (heat transfer properties tabulated as a
function of TEMPERATURE).
VISCOSITY Real (N-s/m2) Dynamic viscosity of fluid material

Link to: MATERIAL (on Library) Description Keys

RESERVOIRINFLOW (on Library)


Description ( See also: Keys)

The RESERVOIRINFLOW keyword is used to define required data for calculating the flow performance of wells. This keyword is very similar to the WELL keyword on
flowpath. Using the RESERVOIRINFLOW keyword together with the ZONE keyword on flowpath, will generate ether one well or a number of wells with the same reservoir
characteristics.

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.

Internal dependencies of keys: ! Alphanumeric values are only


! given as samples

If you want to use the coefficients directly for standard inflow types:
either
WATERFRACTION = [0.0]
or
TOTALWATERFRACTION = [0.0]
end
end if

GASFRACTION = -1

If INJOPTION = LINEAR, then


AINJ = 0.0 [kg/s]
BINJ = 0.1E-5 [kg/s/Pa]
else if INJOPTION = QUADRATIC, then
AINJ = 0.0 [Pa2]
BINJ = 0.0 [Pa2-s/kg]
CINJ = 0.3354E08 [Pa2-s2/kg2]
else if INJOPTION = TABULAR, then
INJTABLE = TABLE-1
end if
If PRODOPTION = LINEAR, then
APROD = 0.0 [kg/s]
BPROD = 0.1E-5 [kg/s/Pa]
else if PRODOPTION = QUADRATIC, then
APROD = 0.0 [Pa2]
BPROD = 0.0 [Pa2-s/kg]
CPROD = 0.3354E08 [Pa2-s2/kg2]
else if PRODOPTION = TABULAR, then
PRODTABLE = TABLE-2
If phase front transient is to be simulated, then
GASDIS = [0.0] [m]
GASPLIMIT = [RESPRESSURE] [Pa]
GFRTC = [0.0] [s]
OILDIS = [0.0] [m]
OILPLIMIT = [RESPRESSURE] [Pa]
OFRTC = [0.0] [s]
WATDIS = [0.0] [m]
WATPLIMIT = [RESPRESSURE] [Pa]
WFRTC = [0.0] [s]
end if
end if

If you want to use the coefficients directly for Advanced Well inflow types:

WATERCUT = [0.0] [-]

ROGST = [from PVT tables] [kg/Sm3]


ROLST = [from PVT tables] [kg/Sm3]
GORST = [from PVT tables] [kg/Sm3]

if INJOPTION = FORCHHEIMER, then


BINJ = 0.6 [psi2-d/scf]
CINJ = 1.E-9 [psi2-d2/scf2]
else if INJOPTION = SINGLEFORCHHEIMER, then
BINJ = 1.E-4 [psi-d/scf]
CINJ = 1.E-9 [psi-d2/scf2]
else if INJOPTION = BACKPRESSURE, then
EXPONENTN = 1
CINJ = 1 [scf/d/psi2]
end if

if PRODOPTION = FORCHHEIMER, then


BPROD = 0.6 [psi2-d/scf]
CPROD = 1.E-9 [psi2-d2/scf2]
else if PRODOPTION = SINGLEFORCHHEIMER, then
BPROD = 1.E-4 [psi-d/scf]
CPROD = 1.E-9 [psi-d2/scf2]
else if PRODOPTION = BACKPRESSURE, then
EXPONENTN = 1
CPROD = 1 [scf/d/psi2]
end if

If you want to use well/reservoir variables:

WATERCUT = [0.0] [-]

If INJOPTION = LINEAR, then


either
INJECTIVITY = 240 stb/d/Psi
FRACPR = 1000 bar
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
PHASE = [OIL]
or
FRACPR = 1000 bar
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
end
else if INJOPTION = FORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if INJOPTION = SINGLEFORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if INJOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if INJOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
EXPONENTN = 1
else if INJOPTION = NORMALIZEDBACKPR, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
EXPONENTN = 1
PHASE = [OIL]
else if INJOPTION = UNDERSATURATED, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
BPPRESSURE = 600 bar
end if

If the user wants to define a specific linear injectivity index for one or more of the phases
GASINJ = 100 stb/d/Psi
OILINJ = 100 stb/d/Psi
WATINJ = 180 stb/d/Psi
end if

If PRODOPTION = LINEAR, then


either
PRODI = 240 stb/d/Psi
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
PHASE = [OIL]
or
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
end
else if PRODOPTION = FORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = SINGLEFORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if PRODOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
EXPONENTN = 1
else if PRODOPTION = NORMALIZEDBACKPR, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
EXPONENTN = 1
PHASE = [OIL]
else if PRODOPTION = UNDERSATURATED, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
BPPRESSURE = 600 bar
end if

If COMPOSITIONAL = ON in OPTION, then (multiple time and feeds, see note below)
TIME = (0, 5) h
FEEDNAME = (FEED-1, FEED-3)
either
FEEDMASSFRACTION = (0.7, 0.3, 0.7, 0.3)
or
FEEDMOLEFRACTION = (0.6, 0.4, 0.5, 0.5)
end

or if COMPOSITIONAL = BLACKOIL in OPTIONS, then


TIME = (0, 5) h
FEEDNAME = (BO-1, BO-2)
FEEDVOLFRACTION = [1.0, 0.0, 0.5, 0.5]
endif

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

RESERVOIRINFLOW (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
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
AINJ RealList for the linear formula, Pa2 for the non-linear formula. Given at in situ
conditions - uses gas mass fraction from the PVT table to calculate the split
between the phases.
Positive coefficient A in well flow equation. Less than zero if a minimum
pressure difference is required for fluid flow from reservoir into well. Unit: kg/s
APROD RealList for the linear formula, Pa2 for the non-linear formula. Given at in situ
conditions - uses gas mass fraction from the PVT table to calculate the split
between the phases.
Negative coefficient B in well flow equation. Injectivity index for linear inflow
equation. Unit: kg/s/Pa for the linear formula, Pa2-s/kg for the non-linear
BINJ RealList formula, psi2-d/scf for Forchheimer, psi-d/scf for Single Forchheimer. Given at
in situ conditions - uses gas mass fraction from the PVT table to calculate the
split between the phases.
BOOIL Real Oil formation volume factor
BPPRESSURE RealList (Pa) Bubble point pressure at reservoir temperature for Undersaturated oil wells.
Positive coefficient B in well flow equation. Productivity index for linear inflow
equation. Unit: kg/s/Pa for the linear formula, Pa2-s/kg for the non-linear
BPROD RealList formula, psi2-d/scf for Forchheimer, psi-d/scf for Single Forchheimer. Given at
in situ conditions - uses gas mass fraction from the PVT table to calculate the
split between the phases.
RealList
CGR [-1.0] Condensate-gas ratio. By default, CGR from the PVT table is used.
(Sm3/Sm3)
Negative coefficient C in well flow equation. Unit: Pa2-s2/kg2 for the non-
CINJ RealList linear formula, psi2-d2/scf2 for Forchheimer, psi2-d2/scf2 for Single
Forchheimer, scf/d/psi2n for Backpressure.
Positive coefficient C in well flow equation. Unit: Pa2-s2/kg2 for the non-linear
CPROD RealList formula, psi2-d2/scf2 for Forchheimer, psi2-d2/scf2 for Single Forchheimer,
scf/d/psi2n for Backpressure.
Constant in Backpressure inflow equation. It normally varies between 0.5 and
EXPONENTN RealList [1.0]
1.0.
FEEDMASSFRACTION RealList (-) Mass fraction of each feed.
FEEDMOLEFRACTION RealList (-) Mole fraction of each feed.
Label of initial feed to be used for calculating local fluid compositions in the
branch (from feed file and FEED keyword). A list means mixing of feeds for
FEEDNAME SymbolList each section in the branch. Note that this key can only be specified branch-
wise. Requires COMPOSITIONAL=ON or BLACKOIL under the OPTIONS
keyword.
FEEDVOLFRACTION RealList (-) Volume fraction of each feed given in FEEDNAME (only for blackoil model).
FRACPR RealList (Pa) Fracture pressure.
Distance gas front has to travel before it reaches the well bore. Requires
GASDIS Real (m) [0.0]
PRODOPTION=TABULAR.
Gas mass fraction in the gas+oil mixture for positive flow. -1 indicates
GASFRACTION RealList (-) [-1.0]
equilibrium. A list of both positive and negative values is not allowed.
RealList Linear injectivity index for gas entering the well section. Normally given in
GASINJ
(Sm3/s/Pa) (Sm3/d/bar).
Pressure at which the gas front will be at the well bore at steady-state
GASPLIMIT Real (Pa)
conditions. Requires PRODOPTION=TABULAR.
Time constant for the gas front movement. Requires
GFRTC Real (s)
PRODOPTION=TABULAR.
RealList
GORST [-1.0] Gas/oil volumetric ratio. By default, GOR from the PVT table is used.
(Sm3/Sm3)
HOLES RealList (m) Hole size (diameter). Normally given in inches (in).
HPAY RealList (m) Net pay from inflow zone.
RealList Injectivity. Given at std conditions - uses GOR from the PVT table (or the
INJECTIVITY
(Sm3/s/Pa) specified GORST) and the PHASE to calculate the split between the phases.
LINEAR | QUADRATIC |
SINGLEFORCHHEIMER |
INJOPTION Symbol FORCHHEIMER | BACKPRESSURE Negative well flow equation type.
| UNDERSATURATED | VOGELS |
TABULAR | NORMALIZEDBACKPR |
Multiplier for injection rate when BH pressure is above fracture pressure. If BH
INJPOSTFRACFACTOR Real [1.0] pressure has been above fracture pressure this is a multiplier when BH
pressure is above INJTHRESHOLD as well.
Multiplier for injection rate when BH pressure is below fracture pressure. If the
INJPREFRACFACTOR Real [1.0] BH pressure has been above fracture pressure this is a multiplier only below
INJTHRESHOLD.
Table reference for negative well flow performance. Option for supporting
INJTABLE Symbol TABLE |
coning. The table variables must be given at reservoir conditions.
Pressure. If BH pressure has been above fracture pressure the injection rate
INJTHRESHOLD RealList (Pa) multiplied by the INJPOSTFRACFACTOR will be used when the BH pressure
is above INJTHRESHOLD.
ISOTHERMAL Symbol NO | [YES] Turn on or off isothermal.
KPERM RealList (mD) Effective permeability.
LABEL String [RESERVOIRINFLOW] Reservoir inflow label
Time constant for the oil front movement. Requires
OFRTC Real (s)
PRODOPTION=TABULAR.
Distance oil front has to travel before it reaches the well bore. Requires
OILDIS Real (m)
PRODOPTION=TABULAR.
RealList Linear injectivity index for oil entering the well section. Normally given in
OILINJ
(Sm3/s/Pa) (Sm3/d/bar).
Pressure at which the oil front will be at the well bore at steady-state
OILPLIMIT Real (Pa)
conditions. Requires PRODOPTION=TABULAR.
<None> | GAS | WATER | LIQUID |
PHASE Symbol The phase for which productivity index or absolute open flow rate is given.
[OIL]
Productivity index for linear inflow equation. Normally given in (Sm3/d/bar).
RealList
PRODI Given at std conditions - uses GOR from the PVT table (or the specified
(Sm3/s/Pa)
GORST) and the PHASE to calculate the split between the phases.
LINEAR | QUADRATIC |
SINGLEFORCHHEIMER |
PRODOPTION Symbol FORCHHEIMER | BACKPRESSURE Positive well flow equation type.
| UNDERSATURATED | VOGELS |
TABULAR | NORMALIZEDBACKPR |
Multiplier for production rate after the reservoir is fractured. Use when the well
PRODPOSTFRACFACTOR Real [1.0]
parameters are given for conditions before the reservoir is fractured.
Multiplier for production rate before the reservoir is fractured. Used when the
PRODPREFRACFACTOR Real [1.0]
well parameters are given for conditions after the reservoir is fractured.
Table reference for positive flow performance. Option for supporting coning.
PRODTABLE Symbol TABLE |
The table variables must be given at reservoir conditions.
QMAX RealList (Sm3/s) Maximum flow in Vogels and Normalized Backpressure inflow equation.
RESEXT RealList (m) Reservoir extension.
ROGST Real (kg/Sm3) [-1.0] Gas density at standard conditions. By default value from PVT table is used.
ROLST Real (kg/Sm3) [-1.0] Oil density at standard conditions. By default value from PVT table is used.
RealList
SKIND Turbulent non-darcy skin. Normally given in (1/MMSCF/d).
(1/Sm3/s)
SKINS RealList Mechanical damage skin.
Fraction of total mass of H2O component in the gas phase. By default (=-1),
the mass of H2O component is in the gas phase if the temperature is greater
than the saturation temperature, otherwise, the mass of H2O component is
STEAMFRACTION RealList (-) [-1.0]
distributed between the gas phase and the water phase according to the
vapor pressure of H2O in the gas phase. A list of both positive and negative
values is not allowed.
Time series when the reservoir conditions are to be changed. Note that the
TIME RealList (s) [0.0] value actually used by the program is interpolated between the values
specified by the time table.
Mass fraction of total water in the in the total fluid mixture of the reservoir.
TOTALWATERFRACTION RealList (-) [-1.0] With a value of –1, the total water fraction is taken from the fluid table. Either
this key or WATERFRACTION can be specified.
VISGRES Real (Ns/m2) [-1] Viscosity of gas reservoir conditions. By default value from PVT table is used.
VISLRES Real (Ns/m2) [-1] Viscosity of oil reservoir conditions. By default value from PVT table is used.
Distance water front has to travel before it reaches the well bore. This key can
only be used if water option is available. Non-zero values are ignored for two-
WATDIS Real (m)
phase simulations, even if the water option is available. Requires
PRODOPTION=TABULAR.
Watercut at standard conditions. With a value of -1.0 the total water fraction is
WATERCUT RealList (-) [-1.0]
taken from the fluid table.
Mass fraction of free water in the total flow mixture of the reservoir. Either this
WATERFRACTION RealList (-) key or TOTALWATERFRACTION can be specified. For outflow, this key is
ignored if GASFRACTION<0 (the water fraction in the source section is used).
RealList Linear injectivity index for water entering the well section. Normally given in
WATINJ
(Sm3/s/Pa) (Sm3/d/bar).
Pressure at which the water front will be at the well bore at steady-state
WATPLIMIT Real (Pa) conditions. This key can only be used if water option is available. Requires
PRODOPTION=TABULAR.
Scaling factor for determining the amount of wax forming components relative
to HC mixture. The value must be in the range [0,1]. 1 means that the amount
WAXFRACTION RealList [1.0] of wax forming components is equal to the values from the wax table.
Requires WAXDEPOSITION=ON under the OPTIONS keyword and access to
the wax deposition module.
Time constant for the water front movement. This key can only be used if
WFRTC Real (s)
water option is available. Requires PRODOPTION=TABULAR.
RealList
WGR [-1.0] Water-gas ratio. By default, WGR from the PVT table is used.
(Sm3/Sm3)
ZFACT Real [1] Gas compressibility factor.

Link to: RESERVOIRINFLOW (on Library) Description Keys

SHAPE (on Library)


Description ( See also: Keys)

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.

SHAPE (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String [SHAPE] Name of shape.
MATERIAL Symbol MATERIAL | Name/label of solid inside the shape.
RADIUS Real (m) Radius of the circle.
<None> | CIRCLE | RECTANGLE
TYPE Symbol Type of shape. CIRCLEs are automatically placed in the origin.
| POLYGON |
X_LOWER_LEFT Real (m) x-coordinate of the lower left corner of the rectangle.
X_UPPER_RIGHT Real (m) x-coordinate of the upper right corner of the rectangle.
x-coordinates of the polygon. Polygon points have to be specified counter
XPOINTS RealList (m)
clockwise.
Y_LOWER_LEFT Real (m) y-coordinate of the lower left corner of the rectangle.
Y_UPPER_RIGHT Real (m) y-coordinate of the upper right corner of the rectangle.
y-coordinates of the polygon points. Polygon points have to be specified
YPOINTS RealList (m)
counter clockwise.

Link to: SHAPE (on Library) Description Keys

TABLE (on Library)


Description ( See also: Keys)

This statement defines a function in tabular form either valve sizing coefficient or well flow parameters.

TABLE (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
INJECTIONPRESSURE Real (Pa) Injection pressure at which the GLV curve is defined.
LABEL String [TABLE] Table label.
LOOKUP Symbol ON | [OFF] Turn on look-up function.
Define the opening for which DELTAP-CV relationship is valid. Instead of
defining one OPEN-CV table for a valve, one can instead define a list of
OPENING Real (-) DELTAP-CV tables, and the CV for the valve is found by interpolating w.r.t.
both DELTAP and OPENING. This functionality is only valid for valves with
PHASE=LIQUID.
Define the list of values of both independent and dependent variables in the
POINT RealList
table (x1, y1, x2, y2, ...).
TABLE Symbol TABLE | Table where XLOOKUPVARIABLE input is sampled.
XLOOKUPVARIABLE Symbol XVAR | [YVAR] Name of x variable
NOTGIVEN | OPEN | DELTAP |
SymbolList
XVARIABLE LEVEL | Independent variable name
(ValueUnitPair)
PRODUCTIONPRESSURE |
NOTGIVEN | CV | FLOW | GASFL
SymbolList | LIQFL | PILIQ | WATFR | OILTC |
YVARIABLE Dependent variable name
(ValueUnitPair) GASTC | WATTC | STDGASFLOW
| VOLUME |

Link to: TABLE (on Library) Description Keys

TIMESERIES (on Library)


Description ( See also: Keys)

The TIMESERIES keyword is a generic function of time. This means that it can be used for different physical properties. There is a built in sine function, normal point series
can be used, and in addition a combination of these are possible. The time series functionality is implemented for ambient temperature, soil temperature and radiation.

TIMESERIES (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
AMPLITUDE Real Amplitude of the sine function

This key determines how the time series in SERIESREF are combined. When
<None> | SEQUENTIAL | using SEQUENTIAL, the time series are combined in sequence according to
COMBINETYPE Symbol
[ADDITIVE] the order in which they are defined. The 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 SERIESREF. If this key is not given, a
FACTOR RealList [1]
factor of 1 is used.
INTERPOLATION Symbol <None> | STEP | [LINEAR] Type of interpolation between each point in time.
LABEL String [TIMESERIES] Label of timeseries
PERIOD Real (s) The time it takes for the sine function to 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 smooth. If PERIODIC = OFF, the
PERIODIC Symbol <None> | ON | [OFF]
last value will be used for the remainder of the simulation when the time
exceeds the defined range.
SERIES RealList Series of function values at corresponding times defined in key TIME
List of TIMESERIES labels to be used. Note that circular references are not
SERIESREF SymbolList
allowed.
TIME RealList (s) Points in time for every given value in the key SERIES
This key is used to define the phase shift of the sine function. If it is set to a
TIME0 Real (s) [0]
quarter period, a cosine function is created.
TRANSITION Symbol <None> | STEP | [LINEAR] Type of transition from one time series in SERIESREF to the next.
This key is used to determine the points in time when the transition from one
time series in SERIESREF to the next occur. If PERIODIC = ON, the
TRANSITIONTIME RealList (s)
difference between the first and last point is used to determine the period of
the function.
<None> | POINTS | COMBINE
TYPE Symbol Option for type of time series.
| [SINE]

Link to: TIMESERIES (on Library) Description Keys

TRACERFEED (on Library)


Description ( See also: Keys)

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.

TRACERFEED (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Boundaries of age groups [s]. N AGEBOUNDARIES give N+1 age groups,
AGEBOUNDARIES RealList (s) one below the lowest boundary, 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 vaporization to the gas
CARRIERPHASE Symbol GAS | OIL | [WATER] phase. Gas/liquid phase 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 requested feed/age group is lower than this value and the
HIGHLOWBOUND Real (-) [0.0]
ratio hasn't been above HIGHLOWBOUND since it was lower than
LOWLOWBOUND.
LABEL String [TFEED] Tracer feed label.
Age output variables are set to zero if (tracer mass)/(tracer mass + carrier
LOWLOWBOUND Real (-) [0.0]
phase mass) of the requested feed/age group is lower than this value.

Link to: TRACERFEED (on Library) Description Keys

UDDISPERSION (on Library)


Description ( See also: Keys)

This keyword is used for combinations of user defined dispersions (or dispersions in dispersions). An example is the combination of hydrates and water in a hydrate slurry.
One user defined dispersion should be defined for each such combination. The user defined phases to be included must be listed under UDPHASES.

PREDEFPHASES is used to include one or more of the built in phases gas, oil and water.

STATISTICALDISTRIBUTION is used to give the name of the distribution function type. The type “LogNormal” is default. Other distribution types may be defined in the plug-in
referred to under UDOPTIONS PLUGINDLL. Realizations of distributions are defined through UDPDF.

UDDISPERSION (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String [UDDISPERSION] Name dispersion phase
PREDEFPHASES SymbolList GAS | OIL | WATER | List of predefined phases
Distribution function to use for statistical moments. OLGA support LogNormal.
STATISTICALDISTRIBUTION String [LogNormal]
It is possible to make the plug-in module support other distributions.
UDPHASES SymbolList List of User Defined (UD) phases

Link to: UDDISPERSION (on Library) Description Keys


UDPDF (on Library)
Description ( See also: Keys)

UDPDF defines the parameters in a specific Probability Distribution Function (PDF) used for describing distributions of particle size. The related functional form is specific to
each User Defined phase/dispersion and is specified under UDPHASE/UDDISPERSION.

User defined phases/dispersions may then be assigned a size distribution parameters by referring to a PDF for each UDFRACTION under the UDGROUP in question.

The PDF parameters may be characterized in two ways:


1. Using standard statistical parameters MEAN, STANDARDDEVIATION and SKEWNESS for the particle radius or
2. Using mass based statistical moments STATMOMR1, STATMOMR2 and STATMOMR3. Here STATMOMRn should be the nth root of the
mass based moment for the radius to the power n; rn.

Note that for the default PFD type (Log Normal), only the two first input parameters are used, since this is a two-parameter distribution. The third is
calculated accordingly.

UDPDF (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String [UDPDF] Name of mass based Probability Distribution Function (PDF)
MEAN Real (m) Mean value for the mass based distribution
SKEWNESS Real Skewness for the mass based distribution
STANDARDDEVIATION Real (m) Standard deviation for the mass based distribution
STATMOMR1 Real (m) Statistical moment M1 for R^1
Square root of statistical moment M2. M2 is moment for R^2. Input (M2)^(1/2)
STATMOMR2 Real (m)
with unit category length.
Cube root of statistical moment M3. M3 is moment for R^3. Input (M3)^(1/3)
STATMOMR3 Real (m)
with unit category length.

Link to: UDPDF (on Library) Description Keys

UDPHASE (on Library)


Description ( See also: Keys)

UDPHASE is the basic building block for defining and tracking new user defined phases. The user defined phase could e.g. a type of sand, asphaltenes, wax or hydrate
slurry.

TYPE is at present limited to PARTICLE (solid dispersion).

The value of the HEATCAPACITY is use for thermal calculations.

PARTDIAMETER defines the particle diameter of the user defined phase. If a size distribution is to be applied, this setting will be overridden by the moments.

PARTDENSITY is the density of the user defined phase.

STATISTICALDISTRIBUTION is used to give the name of the distribution function type. The type “LogNormal” is default. Other distribution types may be defined in the plug-in
referred to under UDOPTIONS PLUGINDLL. Realizations of distributions are defined through UDPDF.

UDPHASE (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
HEATCAPACITY Real (J/kg-C) [0.0] Thermal capacity of the new phase.
LABEL String [UDPHASE] User Defined Phase label.
PARTDENSITY Real (kg/m3) Density of the particles.
PARTDIAMETER Real (mm) Diameter of the particles.
Distribution function to use for statistical moments. OLGA support LogNormal.
STATISTICALDISTRIBUTION String [LogNormal]
It is possible to make the plug-in module support other distributions.
TYPE Symbol [PARTICLE] Type of phase. Currently only particle (solid).

Link to: UDPHASE (on Library) Description Keys

WALL (on Library)


Description ( See also: Keys)

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.

WALL (on Library) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
PIDCONTROLLER |
ASCCONTROLLER |
PSVCONTROLLER |
MANUALCONTROLLER |
OVERRIDECONTROLLER |
CONTROLLERLABEL Symbol Name of controller for electric heating
SELECTORCONTROLLER |
CASCADECONTROLLER |
ESDCONTROLLER |
LINEARCOMBINATION |
TABLECONTROLLER |
DISCRETIZATION SymbolList [OFF] Switch on or off auto-discretization for each wall material layer.
ELASTIC Symbol <None> | ON | [OFF] Calculate the effect of contraction/expansion of wall in pressure equation
ELECTRICHEAT Symbol ON | [OFF] Switch electric heating on or off.
Cut off ratio for material elasticity in adjacent wall layers. If the Young's
modulus of the material in a wall layer is less than ERATIOMIN times the
ERATIOMIN Real (-) [0.1]
Young's modulus of the material in the inside wall layer, this and all
subsequent layers will be ignored in the calculation of the total wall elasticity.
INNERDIAMETER Real (m) Pipe's inner diameter.
Radial flexibility of pipe (increase in area for a unit change in pressure relative
to area of pipe). This key can be used to override the value calculated by
KAPPA Real (1/Pa) OLGA. If this key is not given, OLGA will calculate the flexibility based on the
pipe wall geometry and Young's modulus of elasticity (EMOD) of the
materials.
LABEL String [WALL] Label of the wall.
MATERIAL SymbolList Names of the materials that constitutes the wall layers.
MAXNOLAYERS IntegerList Maximum number of sub-layers allowed for each of the layers.
MAXRATIO RealList (-) [2] Maximum ratio of outer to inner radius of sub-layers.
POWER RealList (W/m) Power per unit length for the electric heating time series.
POWERCONTROL Symbol ON | [OFF] Switch power control on or off.
Max. power per unit length for electric heating if it is restricted by a control
POWERMAX Real (W/m)
system.
THICKNESS RealList (m) Thickness of each wall layer.
TIME RealList (s) [0.0] Time series when POWER is to be modified.
WALLAYER Integer Wall layer for electric heating.

Link to: WALL (on Library) Description Keys

OUTPUT (on CaseLevel)


Description ( See also: Keys)

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.

OUTPUT (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
COLUMNS Integer [4] Number of variable columns per page. Must not be greater than 6.
Time interval(s) between subsequent printings of output. The time interval is
changed at the times specified in TIME. If TIME is not specified or only
DTOUT RealList (s)
contains one value, only one value must be given for DTOUT. This value is
used throughout the entire simulation.
TIME RealList (s) [0.0] Instants in time when the plot interval is changed.
WRITEFILE Symbol OFF | [ON] Enable plotting to file

Link to: OUTPUT (on CaseLevel) Description Keys

OUTPUTDATA (on CaseLevel)


Description ( See also: Keys)

This statement defines the variables to be printed to the output file (*.out). Only the global variables are available on this level.

OUTPUTDATA (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DISPERSION SymbolList User Defined (UD) dispersion names.
ALL | GAS | OIL |
FLOWLAYER SymbolList WATER | BED | WALL Flowing layers
|
PHASE SymbolList User Defined (UD) phase names.
VARIABLE SymbolList (ValueUnitPair) List of variable names to be printed. Units may be specified.

Link to: OUTPUTDATA (on CaseLevel) Description Keys

PLOT (on CaseLevel)


Description ( See also: Keys)

This statement defines the time interval (DTPLOT) for 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.

Also, the stand-alone tool FEMThermTool can be used for both 2D thermal computation in a cross section and visualisation of the triangular grid generated when using the
FEMTherm module.

PLOT (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DTPLOT RealList (s) Time interval between subsequent printouts of the 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 included in the list. N.b.,
VARIABLE SymbolList (ValueUnitPair)
variables from different groups can be defined on the same line.
WRITEFILE Symbol OFF | [ON] Enable plotting to file

Link to: PLOT (on CaseLevel) Description Keys

PROFILE (on CaseLevel)


Description ( See also: Keys)

This statement defines either time points (TIME) or a time interval (DTPLOT) for the profile plot variables.

PROFILE (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DTPLOT RealList (s) Time interval between subsequent printouts to the profile plot file.
DTTIME RealList (s) [0.0] Points in time when the plot interval is changed.
TIME RealList (s) Instants in time when data is written to the profile plot file.
WRITEFILE Symbol OFF | [ON] Enable plotting to file

Link to: PROFILE (on CaseLevel) Description Keys

PROFILEDATA (on CaseLevel)


Description ( See also: Keys)

This statement defines profile plot variables along the pipeline at specified time points. Flow path variables defined on this level will be reported for all flow paths.

For available profile variables see Output Variables.


PROFILEDATA (on CaseLevel) Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
Age group for plotting inhibitors variables with aging effect, e.g. Kinetic
AGEGROUPID IntegerList
hydrate inhibitor (KHI).
Component names. Using the Inhibitor tracking module, available
components are HC, H2O and MEG/MEOH/ETOH. Using DRILLING=ON
COMPONENT SymbolList under OPTIONS, available components are HC, H2O, MEG/MEOH/ETOH,
CUTTING and MUD components. For compositional models the names of the
available components are given in the feed file.
DISPERSION SymbolList User Defined (UD) dispersion names.
ALL | GAS | OIL |
FLOWLAYER SymbolList WATER | BED | WALL Flowing layers
|
HYKPID IntegerList Array element index of HYKPLIST.
Wall layer numbers for plotting of wall temperatures. Layer no. 1 is the
LAYER IntegerList
innermost one.
PHASE SymbolList User Defined (UD) phase names.
TRACERFEED SymbolList Tracer label that the tracer type variables are plotted for.
VARIABLE SymbolList (ValueUnitPair) List of variable names to be plotted. Units may be specified.

Link to: PROFILEDATA (on CaseLevel) Description Keys

TREND (on CaseLevel)


Description ( See also: Keys)

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

TREND (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Time interval between subsequent trend variable printouts. DTPLOT should
DTPLOT RealList (s) only be given once in the input file, if given more than once, OLGA will use the
last value given.
Number of data points. A list of NPLOT values refers to the time points given
NPLOT IntegerList
in TIME, i.e., the sample period will be DTIME/NPLOT.
TIME RealList (s) [0.0] Instants in time when the plot interval is changed.
WRITEFILE Symbol OFF | [ON] Enable plotting to file

Link to: TREND (on CaseLevel) Description Keys

TRENDDATA (on CaseLevel)


Description ( See also: Keys)

This statement defines the trend data to be plotted. A trend plot is a time series plot for a specified variable. Only global and branch variables are available on this level.

TRENDDATA (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DISPERSION SymbolList User Defined (UD) dispersion names.
ALL | GAS | OIL |
FLOWLAYER SymbolList WATER | BED | WALL Flowing layers
|
HYKPID Integer Array element index of HYKPLIST.
PHASE SymbolList User Defined (UD) phase names.
VARIABLE SymbolList (ValueUnitPair) List of variable names to be plotted. Units may be specified.

Link to: TRENDDATA (on CaseLevel) Description Keys


XYT (on CaseLevel)
Description ( See also: Keys)

XYT (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Sample period for obtaining variable values. DTPLOT should only be given
DTPLOT RealList (s) once in the input file. If it is given more than once, OLGA will only use the last
one.
Number data points for plotting. A list of values for NPLOT refers to the time
NPLOT IntegerList
points given in TIME. The sample period is calculated as DTIME / NPLOT.
TIME RealList (s) [0.0] Time points when the plot interval is changed
XMAX Real (m) [0.01] Maximum value plotted on the abscissa (x-coordinate)

Link to: XYT (on CaseLevel) Description Keys

PhaseSplitNode
Description ( See also: Keys)

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.

Terminal = GAS - gas +droplets


Terminal = OIL - oil bulk
Terminal = WATER - water bulk
Terminal = LIQUID - oil and water bulk
Terminal = DRYGAS - gas only
Terminal = MIXTURE - all phases within the node itself(default)

The following connections are defined:

· MIXTURE_1, … MIXTURE _N inlets and outlets


· GAS_1, … GAS_N outlets
· OIL_1, …OIL_N outlets
· WATER_1, …WATER_N outlets
· LIQUID_1, ... LIQUID_N outlets
• DRYGAS _1, … DRYGAS _N outlets

PhaseSplitNode Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
FEEDMASSFRACTION RealList (-) Mass fraction of each feed.
FEEDMOLEFRACTION RealList (-) Mole fraction of each feed.
Label of feeds feeding to terminal nodes. Requires COMPOSITIONAL=ON or
FEEDNAME SymbolList
BLACKOIL under the OPTIONS keyword.
Volume fraction of each feed given in FEEDNAME for choke model (only for
FEEDVOLFRACTION RealList (-)
Blackoil model).
Label or number of PVT table to apply for the specific branch. If a keyword
FLUID Symbol PVTData | based pvt-file is used, FLUID must be the same as the LABEL given in the
pvt-file, i.e., numbering is not valid for this format.
General information about the PhaseSplitNode. For information purposes
INFO String
only.
INHIBFRACTION Real (-) [0.0] Mass fraction of inhibitor in the water phase.
LABEL String Network component label (if nothing is given the NC tag is used).
PRESSURE Real (Pa) Initial pressure when using INITIALCONDITIONS.
Fraction of total mass of H2O component in the gas phase. By default (=-1),
the mass of H2O component is in the gas phase if the temperature is greater
than the saturation temperature, otherwise, the mass of H2O component is
STEAMFRACTION Real (-) [-1.0]
distributed between the gas phase and the water phase according to the
vapor pressure of H2O in the gas phase. A list of both positive and negative
values is not allowed.
TEMPERATURE Real (C) Initial temperature when using INITIALCONDITIONS.
Gas volume fraction when using INITIALCONDITIONS.. Specify –1 for OLGA
VOIDFRACTION Real (-)
to use the equilibrium values from the fluid property tables.
VOLUME Real (m3) [-1] Volume of PhaseSplitNode. If specified volume is less than or equal to 0,
OLGA will estimate the volume (see User's manual).
WATERCUT Real (-) [0.0] Initial watercut when using INITIALCONDITIONS.
X Real (m) [0] x-coordinate of node in network. Used for 3D graphics only.
Y Real (m) [0] y-coordinate (vertical axis) of node in network. Used for 3D graphics only.
Z Real (m) [0] z-coordinate of node in network. Used for 3D graphics only.

Link to: PhaseSplitNode Description Keys

Separator
Description ( See also: Keys)

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.

Model description and user guidelines:


1. Separator type: The separator may be horizontal or vertical, two-phase of three-phase.
2. Pipelines downstream of network separators. For a two phase separator, the following outlets are defined:
 GAS_1, .., GAS_N outlets (Use Gas_2 to model flare outlet)
 OIL_1, .., OIL_N outlets (Use OIL_2 to model emergency outlet)

For a three-phase separator, the following outlets are defined:


 GAS_1, .., GAS_N outlets
 OIL_1, .., OIL_N outlets
 WATER_1, .., WATER_N outlets

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

Separator Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DIAMETER Real (m) Separator diameter.
Liquid volume fraction when the efficiency goes toward zero and the separator
EFFHIGH Real (-) [0.995]
is treated as a normal section.
Gas/liquid separation efficiency. (One minus the volume fraction of liquid
EFFICIENCY Real (-) [1.0]
droplets in the gas outlet stream.)
EFFLOW Real (-) [0.995] Liquid volume fraction when the efficiency is reduced.
FEEDMASSFRACTION RealList (-) Mass fraction of each feed.
FEEDMOLEFRACTION RealList (-) Mole fraction of each feed.
Label of feeds used to initialize separator. Requires COMPOSITIONAL=ON or
FEEDNAME SymbolList
BLACKOIL under the OPTIONS keyword.
Volume fraction of each feed given in FEEDNAME for choke model (only for
FEEDVOLFRACTION RealList (-)
Blackoil model).
Label or number of fluid table to apply for the separator. If a keyword based
FLUID Symbol PVTData | pvt-file is used, FLUID must be the same as the LABEL given in the pvt-file,
i.e., numbering is not valid for this format.
Water hold-up upper limit. If the water hold-up exceeds this value water will be
HHWATHOLDUP Real (-)
drained together with oil through the oil drain.
Water level upper limit. If the water level exceeds this value water will be
HHWATLEVEL Real (m)
drained together with oil through the oil drain.
INITOILLEVEL Real (m) The initial oil level.
INITPRESSURE Real (Pa) Initial pressure.
INITTEMPERATURE Real (C) Initial temperature.
INITWATLEVEL Real (m) [0.0] The initial water level.
LABEL String Network component label (if nothing is given the NC tag is used).
LENGTH Real (m) Separator length.
Label of the table where the relation between level (height) in the separator
LEVELTABLE Symbol TABLE |
and volume of the separator is given.
OILTCONST Real (s) [0.0] Time constant for separation of oil from water.
<None> | VERTICAL |
ORIENTATION Symbol Orientation of the separator..
HORIZONTAL |
PHASE Symbol TWO | THREE | Number of phases separated in the separator.
SURFACEAREA Real (m2) Surface area of the separator.
TAMBIENT RealList (C) Ambient temperature.
TIME RealList (s) [0.0] Time series for specified boundary values.
UVALUE Real (W/m2-C) [0.0] Overall heat transfer coefficient given by user based on inner pipe diameter.
WATTCONST Real (s) [0.0] Time constant for separation of water from oil.
X Real (m) [0] x-coordinate of separator in network. Used for 3D graphics only
Y Real (m) [0] y-coordinate (vertical axis) of separator in network. Used for 3D graphics only
Z Real (m) [0] z-coordinate of separator in network. Used for 3D graphics only

Link to: Separator Description Keys

OUTPUTDATA (on Separator)


Description ( See also: Keys)

This statement defines the separator variables to be printed to the output file (*.out).

See Separator Output Variables for available variables.


OUTPUTDATA (on Separator) Keys ( See also: Description )
Type Parameter set
Key Description
Unit:( ) Default:[ ]
VARIABLE SymbolList (ValueUnitPair) List of variables to be printed. Units may be specified.

Link to: OUTPUTDATA (on Separator) Description Keys

TRANSMITTER (on Separator)


Description ( See also: Keys)

This keyword is used to define output signals from flowpath, process equipment, node, separator and phase split node.

The signals can be received by a controller. The signals are defined through the variable key e.g. fluid pressure in the flowpath (PT) or liquid level in the separator (LIQLV).
Controllers that receive these measured values use them to calculate new signals which in turn are used to regulate e.g. a valve opening (see Controllers). If several different
output signals are needed form the same position, add a transmitter per output signal. However, the several controllers can receive the output signal from one transmitter.

Note: If a branch variable is to be controlled, add a transmitter to the flowpath at a dummy location (use a valid absolute position or pipe/section). The location is only used
graphically to position the transmitter along the flowpath.

TRANSMITTER (on Separator) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String [TM] Transmitter Terminal label.
VARIABLE Symbol (ValueUnitPair) 4096 | Variable to be transmitted. Unit may be specified.

Link to: TRANSMITTER (on Separator) Description Keys

TRENDDATA (on Separator)


Description ( See also: Keys)

This statement defines the trend data to be plotted for separators. A trend plot is a time series plot for a specified variable.

For available variables see Separator Output Variables.

TRENDDATA (on Separator) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
VARIABLE SymbolList (ValueUnitPair) List of variables to be plotted. Units may be specified.

Link to: TRENDDATA (on Separator) Description Keys


SERVERDATA (on CaseLevel)
Description ( See also: Keys)

SERVERDATA (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DISPERSION SymbolList User Defined (UD) dispersion names.
DTPLOT Real (s) [0] Interval for update of server data.
ALL | GAS | OIL |
FLOWLAYER SymbolList WATER | BED | WALL Flowing layers
|
PHASE SymbolList User Defined (UD) phase names.
VARIABLE SymbolList (ValueUnitPair) List of variable names to be plotted. Units may be specified.

Link to: SERVERDATA (on CaseLevel) Description Keys

SERVEROPTIONS (on CaseLevel)


Description ( See also: Keys)

This statement activates and specifies the different settings for the OLGA OPC Server.

SERVEROPTIONS (on CaseLevel) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
States which keys should be made available as input variables on the OPC
EXPOSE SymbolList
server.
Turns on or off logging of external inputs to the simulator. Must be ON if later
INPUTLOG Symbol ON | [OFF]
playback for reproducibility of simulation results should be possible
MODELNAME String The model or submodel name
OLGA namespace name. This is the name of the total model. All submodels
MODULENAME String [Sim] are logically attached beneath this name. OPC-wise this means the naming
hierarchy is: SERVERNAME.MODULENAME.MODELNAME.*
The OPC server name. The servername should be a single word, with no
SERVERNAME String [OLGAOPCServer]
spaces (' ') or dots ('.').
Simulator mode. 'Simulator' means a free-running simulator operating on its
own. 'External' means that the simulator will try to keep synchronized with the
SIMULATORMODE Symbol EXTERNAL | [SIMULATOR]
ticking of the external clock, it will wait whenever it catches up with the
external clock.

Link to: SERVEROPTIONS (on CaseLevel) Description Keys

Annulus
Description ( See also: Keys)

Annulus is a network component. See ANNULUS COMPONENT for more description.


See also ANNULUS COMPONENT Keys

Annulus Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String Network component label (if nothing is given the NC tag is used).

Link to: Annulus Description Keys


COMPONENT (on Annulus)
Description ( See also: Keys)

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

COMPONENT (on Annulus) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
FLOWPATH Symbol FLOWPATH | Label of a FLOWPATH that resides inside the BUNDLE.
FROM Symbol POSITION | Label of the POSITION on the FLOWPATH where it enters the BUNDLE.
Heat transfer coefficient at the wall surface of a branch to the bulk fluid in the
OUTERHVALUE Real (W/m2-C)
carrier line. Forced/free convection will be applied if this key is not defined.
TO Symbol POSITION | Label of the POSITION on the FLOWPATH where it exits the BUNDLE.
The component's displacement along the x-axis relative to the center of the
XOFFSET Real (m) [0.0]
bundle.
The component's displacement along the y-axis relative to the center of the
YOFFSET Real (m) [0.0]
bundle.

Link to: COMPONENT (on Annulus) Description Keys

FluidBundle
Description ( See also: Keys)

FLUIDBUNDLE is a network component. See FLUIDBUNDLE COMPONENT for details.

See also FLUIDBUNDLE COMPONENT Keys

FluidBundle Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
LABEL String Network component label (if nothing is given the NC tag is used).

Link to: FluidBundle Description Keys

COMPONENT (on FluidBundle)


Description ( See also: Keys)

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.

See also FLUIDBUNDLE COMPONENT Keys

COMPONENT (on FluidBundle) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
FLOWPATH Symbol FLOWPATH | Label of a FLOWPATH that resides inside the BUNDLE.
FLUIDBUNDLE Symbol FLUIDBUNDLE | Label of a bundle that resides inside the BUNDLE.
FROM Symbol POSITION | Label of the POSITION on the FLOWPATH where it enters the BUNDLE.
LINE Symbol FLOWPATH | Label of a line (FLOWPATH) that resides inside the BUNDLE.
Heat transfer coefficient at the wall surface of a branch to the bulk fluid in the
OUTERHVALUE Real (W/m2-C)
carrier line. Forced/free convection will be applied if this key is not defined.
TO Symbol POSITION | Label of the POSITION on the FLOWPATH where it exits the BUNDLE.
The component's displacement along the x-axis relative to the center of the
XOFFSET Real (m) [0.0]
bundle.
The component's displacement along the y-axis relative to the center of the
YOFFSET Real (m) [0.0]
bundle.

Link to: COMPONENT (on FluidBundle) Description Keys

SolidBundle
Description ( See also: Keys)

This network component stores all information that is required to configure a solid bundle. This may be done by either editing the keywords and keys directly, or through the
Bundle Editor in the GUI.

Associated keywords:
COMPONENT AMBIENTDATA TRENDDATA PROFILEDATA

Example - Buried pipeline

In the following example, a (partially) buried pipeline is modelled. The pipe is assumed to have a centre line, y , located 25 cm below the soil surface. The air temperature is
c
measured to be 25 ° C and the soil temperature 1 m under the ground is 20 ° C. The soil temperature re ading is assumed to be uninfluenced by the presence of the pipe.

1. Start by adding a COMPONENT and associate the flowpath to this. A natural choice for the soil surface is y = 0, so the pipe must be moved down 25 cm. This is done
by setting YOFFSET = -25 cm for this COMPONENT.
2. The soil is modelled by using a rectangular SHAPE with an associated soil MATERIAL. We assume that the effect of the pipe on the soil temperature is negligible at a
distance of approximately 1.5 m to each side and 2 m down. The parameters for the shape then becomes: X_LOWER_LEFT = -1.5 m, Y_LOWER_LEFT = -2 m,
X_UPPER_RIGHT = 1.5 m, Y_UPPER_RIGHT = 0 m.
3. Finally, the ambient conditions must be specified. In this case we can use a single AMBIENTDATA with TYPE = SIMPLEBURIED. Above ground we have air at 25 ° C,
thus HOUTEROPTION = AIR and TAMBIENT = 25 C. We have positioned the soil surface at y = 0 m, so SOILSURFACELEVEL = 0 m. The soil temperature is set by
specifying SOILTEMPERATURE = 20 C and SOILTEMPLEVEL = -1 m.

COMMENTS:
In this example, the OLGA WALL is in contact with both air and the solid SHAPE. Due to the potentially large temperature difference between the top and botom of the pipe, it
may be advisable to remove some of the outer wall layers from the OLGA WALL and use one or more SHAPES to model the wall layers. This is done by simply creating a
circular SHAPE with the outer radius of the wall layer. Please note that the order of the SHAPE COMPONENTS are important and that the wall layer COMPONENT must be
defined after the rectangular soil COMPONENT. Otherwise, the wall layer COMPONENT will be hidden by the soil COMPONENT.

The vertical boundaries of the soil above SOILTEMPLEVEL was modelled using the default NOFLUX option for SOILVERTBOUND. This option assumes that there naturally
is no heat flux across these boundaries. However, if the boundaries are too close to the pipe, the temperature in the soil may be overestimated. A better choice may then be
to use the FIXEDTEMP option. This will force the temperature to be equal to the SOILTEMPERATURE on these boundaries

SolidBundle Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
DELTAT Real (s) Time-step in thermal calculations.
DTPLOT Real (s) Time-step for saving thermal data.
LABEL String Network component label (if nothing is given the NC tag is used).
The number of nodes on the largest SHAPE in the SOLIDBUNDLE. The
MESHFINENESS Integer [32] higher the number the finer the mesh. Minimum value is 32 and it will always
be rounded down to nearest multiple of 32.
PLOTTING Symbol OFF | [ON] Key for turning ON/OFF detailed plot of Finite Element results in .osi file

Link to: SolidBundle Description Keys

AMBIENTDATA (on SolidBundle)


Description ( See also: Keys)

AMBIENTDATA (on SolidBundle) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Heat capacity of ambient fluid. If HOUTEROPTION is AIR, 1000 J/KG-K is
used. If HOUTEROPTION is WATER, 4186 J/KG-K is used. Input can either
CAPACITY RealList (J/kg-C)
be a single value (constant along bundle length), 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, 0.56 W/mK is used. Input can
CONDUCTIVITY RealList (W/m-C)
either be a single value (constant along bundle length), two values (length-
interpolated) or given explicitly for each section.
Density of ambient fluid. If HOUTEROPTION is AIR, 1.29 kg/m3 is used. If
HOUTEROPTION is WATER, 1000 kg/m3 is used. Input can either be a
DENSITY RealList (kg/m3)
single value (constant along bundle length), two values (length-interpolated)
or given explicitly for each section.
The emissivity is a measure of the ability of a material to emit heat by
EMISSIVITY Real (-) [0] radiation. It is given as the ratio of energy radiated by a particular material to
energy radiated by a black body at the same temperature.
Thermal expansion coefficient of ambient fluid. If HOUTEROPTION is AIR,
34E-4 1/C is used. If HOUTEROPTION is WATER, 21E-5 1/C is used. Input
EXPANSION RealList (1/C)
can either be a single value (constant along bundle length), two values
(length-interpolated) or given explicitly for each section.
Mean heat transfer coefficient on outer wall surface. Input can either be a
HAMBIENT RealList (W/m2-C)
single value (constant along bundle length) or given explicitly for each section.
<None> | AIR | WATER | OTHER |
HOUTEROPTION Symbol Option for ambient heat transfer coefficient.
[HGIVEN]
Overall heat transfer coefficient at the inlet of the first pipe in a pipeline
INHAMBIENT Real (W/m2-C)
section where interpolation is used for overall heat transfer coefficient.
Ambient temperature at the inlet of the first pipe in a branch where
INTAMBIENT Real (C)
interpolation is used for ambient temperature.
<None> | LENGTH | | Type of interpolation used to calculate the ambient temperature and outer
INTERPOLATION Symbol HORIZONTAL | VERTICAL | heat transfer coefficient. Note that the outer heat transfer coefficient is only
[SECTIONWISE] affected by the INTERPOLATION key when HOUTEROPTION = HGIVEN.
Overall heat transfer coefficient at the outlet of the last pipe in a pipeline
OUTHAMBIENT Real (W/m2-C)
section where interpolation is used for overall heat transfer coefficient.
Ambient temperature at the outlet of the last pipe in a pipeline section where
OUTTAMBIENT Real (C)
interpolation is used for ambient temperature.
RADIATION RealList (W/m2) [0] Heat flux into solid due to external radiation.
List of reference to TIMESERIES keywords. The value of each time series is
RADIATIONSERIES SymbolList scaled with a corresponding factor in RADIATIONSERIESFACTOR and
added to the heat flux defined in RADIATION.
List of factors to be used to scale heat radiation time series in
RADIATIONSERIESFACTOR RealList [1]
RADIATIONSERIES.
Vertical level that defines the surface of the soil (SIMPLEBURIED only). At
and above this level, ambient conditions given in the "Radiation", "Heat
SOILSURFACELEVEL Real (m) [0] transfer coefficient", "Ambient temperature" and "Outer heat transfer
coefficient" groups apply. Conditions specified in "Soil data" apply below this
level.
Temperature at SOILTEMPLEVEL (or lowest vertical position of cross section
if SOILTEMPLEVEL is not given). If SOILTEMPERATURE is not given,
SOILTEMPERATURE RealList (C) TAMBIENT is used (TAMBIENTSERIES is not used). Input can either be a
single value (constant along bundle length), two values (length-interpolated)
or given explicitly for each section.
Vertical level where the soil temperature is given. If this key is not given, the
SOILTEMPLEVEL Real (m)
lowest vertical position of the cross section is used.
List of reference to TIMESERIES keywords. The value of each time series is
scaled with a corresponding factor in SOILTEMPSERIESFACTOR and added
SOILTEMPSERIES SymbolList
as a temperature increment to the temperature defined in
SOILTEMPERATURE.
List of factors to be used to scale soil temperature time series in
SOILTEMPSERIESFACTOR RealList [1]
SOILTEMPSERIES.
Ambient conditions for boundaries between SOILSURFACELEVEL and
SOILTEMPLEVEL. When NOFLUX is used, there is no heat flow across
SOILVERTBOUND Symbol <None> | FIXEDTEMP | [NOFLUX] external boundaries. For FIXEDTEMP, the temperature is determined by
SOILTEMPERATURE. FIXEDTEMP is always used for boundaries at or
below SOILTEMPLEVEL.
Ambient temperature. Input can either be a single value (constant along
TAMBIENT RealList (C)
bundle length) or given explicitly for each section.
List of reference to TIMESERIES keywords. The value of each time series is
scaled with a corresponding factor in TAMBSERIESFACTOR and added as
TAMBIENTSERIES SymbolList
an increment to the temperature defined in TAMBIENT or INTAMBIENT and
OUTTAMBIENT.
List of factors to be used to scale ambient temperature time series in
TAMBSERIESFACTOR RealList [1]
TAMBIENTSERIES. Note that this key also introduces the unit of the function.
Type of ambient data input. If TYPE = VERTICALPOINTS, ambient heat
<None> | SIMPLEBURIED | transfer coefficient, ambient temperature, radiation and emissivity will be
TYPE Symbol
[VERTICALPOINTS] linearly interpolated in the vertical axis between AMBIENTDATA definitions.
For TYPE = SIMPLEBURIED, only a single AMBIENTDATA can be defined
but different ambient conditions are used for boundaries that are below or
above SOILSURFACELEVEL.
Speed of ambient fluid. If HOUTEROPTION is AIR, default is 4 m/s. If
HOUTEROPTION is WATER, default is 1 m/s. Input can either be a single
VELOCITY RealList (m/s)
value (constant along bundle length), two values (length-interpolated) or given
explicitly for each section.
Vertical position of given ambient conditions. Used only if TYPE =
VERTICALPOINTS. Ambient heat transfer coefficient, ambient temperature,
VERTPOS Real (m) [0]
radiation and emissivity will be linearly interpolated in the vertical axis
between AMBIENTDATA definitions.
Viscosity of ambient fluid. If HOUTEROPTION is AIR, 1.8E-5 N-s/m2 is used.
If HOUTEROPTION is WATER, 1E-3 N-s/m2 is used. Input can either be a
VISCOSITY RealList (N-s/m2)
single value (constant along bundle length), two values (length-interpolated)
or given explicitly for each section.

Link to: AMBIENTDATA (on SolidBundle) Description Keys

COMPONENT (on SolidBundle)


Description ( See also: Keys)

The COMPONENT keyword is used to define the geometric layout of the SOLIDBUNDLE cross section. The keyword has a reference to a geometric object and an offset
from the origin (XOFFSET and YOFFSET). The following objects may be placed within a solid bundle:

· SHAPE
· Line
· FLUIDBUNDLE
· BRANCH

When using FLUIDBUNDLE or BRANCH (flow components), the POSITION keyword must be used in order to define the start and end pipe between which the solid bundle
applies.

Please note a pipe wall is not allowed to intersect another pipe wall. However, a SHAPE may intersect another SHAPE or a pipe wall, unless it has already been placed in the
interior of another shape. The cross section of the bundle is the union of all SHAPES and flow components. When two objects intersect, the following rules are used:
 Intersecting SHAPES:
If the first SHAPE is defined in COMPONENT[i] and the second in COMPONENT[j] (i < j), the SHAPE in COMPONENT[j] will have the highest rank and it will remain
unchanged. For the SHAPE in COMPONENT[i], the intersecting area will be removed.
 Intersecting SHAPE and flow components:
Flow components always has infinite rank

COMPONENT (on SolidBundle) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
ANNULUS Symbol ANNULUS | Label of an annulus that reside inside the BUNDLE.
FLOWPATH Symbol FLOWPATH | Label of a FLOWPATH that resides inside the BUNDLE.
FLUIDBUNDLE Symbol FLUIDBUNDLE | Label of a bundle that resides inside the BUNDLE.
FROM Symbol POSITION | Label of the POSITION on the FLOWPATH where it enters the BUNDLE.
LINE Symbol FLOWPATH | Label of a line (FLOWPATH) that resides inside the BUNDLE.
Heat transfer coefficient at the wall surface of a branch to the bulk fluid in the
OUTERHVALUE Real (W/m2-C)
carrier line. Forced/free convection will be applied if this key is not defined.
Label of a shape that reside inside the BUNDLE. The SHAPE with the largest
SHAPE Symbol SHAPE |
circumference is automatically the outer surface of BUNDLE.
TO Symbol POSITION | Label of the POSITION on the FLOWPATH where it exits the BUNDLE.
The component's displacement along the x-axis relative to the center of the
XOFFSET Real (m) [0.0]
bundle.
The component's displacement along the y-axis relative to the center of the
YOFFSET Real (m) [0.0]
bundle.

Link to: COMPONENT (on SolidBundle) Description Keys

PROFILEDATA (on SolidBundle)


Description ( See also: Keys)

PROFILEDATA (on SolidBundle) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
VARIABLE SymbolList (ValueUnitPair) [TBUNXY] List of variables to be plotted.
XPOS RealList (m) List of X coordinates where the variables are plotted
YPOS RealList (m) List of Y coordinates where the variables are plotted

Link to: PROFILEDATA (on SolidBundle) Description Keys


TRENDDATA (on SolidBundle)
Description ( See also: Keys)

TRENDDATA (on SolidBundle) Keys ( See also: Description )


Type Parameter set
Key Description
Unit:( ) Default:[ ]
Position where the variable will be plotted. Absolute position. Distance from
ABSPOSITION RealList (m)
bundle start position
SECTIONNUMBER IntegerList Section numbers in bundle definition where the variables will be plotted.
VARIABLE SymbolList (ValueUnitPair) [TBUNXY] List of variables to be plotted.
XPOS RealList (m) List of X coordinates where the variables are plotted
YPOS RealList (m) List of Y coordinates where the variables are plotted

Link to: TRENDDATA (on SolidBundle) Description Keys

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:

O: Printed output variable (to be specified with keyword OUTPUT).


TP: Trend plot variable (to be specified with keyword TREND).
PP: Profile plot variable (to be specified with keyword PROFILE).
C: Controller signal input variable (to be specified as the controlled variable for a controller, input group CONTROLLER).
S: Only for server output

Variables belonging to different groups cannot be specified together in the input for trend plotting (except the boundary and volume variable groups). A new TRENDDATA entry has to
be specified for each variable group.

Boundary Variables
Description ( See also: 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.

Erosional Velocity ratio


The erosional velocity ratio (EVR) defined in API RP-14E is:
EVR = C-1(EVRVACTUAL)(EVRRHOMIX)1/2
where
EVRVACTUAL =|Usg| + |Usl| + |Usd|,
EVRRHOMIX = [ g|Usg| + l(|Usl| + |Usd)|]/(|Usg|+|Usl| + |Usd|),
and
C = 100 for U in ft/s and in Lb/ft3
C = 121.99 for U in m/s and in kg/m3
Here |Usg|, |Usl| and |Usd| denote the absolute value of the superficial velocity for gas, liquid film and liquid droplets respectively. Similarly g and l denote the gas and
liquid density.

Boundary Variables ( See also: Description)


Use as Name Units Definition

Boundary Variables
O|TP|PP|C ACCGAG KG Accumulated gas mass flow
O|TP|PP|C ACCGAQ M3 Accumulated gas volume flow
O|TP|PP|C ACCGT KG Accumulated total mass flow
O|TP|PP|C ACCLIG KG Accumulated liquid mass flow
O|TP|PP|C ACCLIQ M3 Accumulated liquid volume flow
O|TP|PP|C ACCOIG KG Accumulated oil mass flow
O|TP|PP|C ACCOIQ M3 Accumulated oil volume flow
O|TP|PP|C ACCWAG KG Accumulated water mass flow
O|TP|PP|C ACCWAQ M3 Accumulated water volume flow
O|TP|PP|C CFLFACT NoUnit Local CFL factor
O|TP|PP|C DPZ_GRAV_FACTOR - Factor describing the gravity domination of the flow
O|TP|PP|C DPZA PA/M Additional pressure drop gradient
O|TP|PP|C DPZF PA/M Frictional pressure drop gradient
O|TP|PP|C DPZG PA/M Gravitational pressure drop gradient
O|TP|PP|C DS NoUnit Distribution slip ratio
O|TP|PP|C DUG M/S2 Time derivative of gas velocity
O|TP|PP|C DUL M/S2 Time derivative of liquid velocity
O|TP|PP|C EVR NoUnit Erosional velocity ratio
O|TP|PP|C EVRRHOMIX KG/M3-S Mixed density used in calculation of erosional velocity ratio
O|TP|PP|C EVRVACTUAL M/S Actual volume flux used in calculation of erosional velocity ratio.
O|TP|PP|C FRRG KG/M3-S Gas wall drift friction factor
O|TP|PP|C FRRH KG/M3-S Oil wall drift friction factor
O|TP|PP|C FRRW KG/M3-S Water wall drift friction factor
O|TP|PP|C GASMFRBOUN - Gas mass fraction at boundary
O|TP|PP|C GD KG/S Droplet mass flow
O|TP|PP|C GDHL KG/S Mass flow rate of oil in droplet field
O|TP|PP|C GDWT KG/S Mass flow rate of water in droplet field
O|TP|PP|C GG KG/S Gas mass flow
O|TP|PP|C GL KG/S Liquid bulk mass flow
O|TP|PP|C GLHL KG/S Mass flow rate of oil in film
O|TP|PP|C GLRST SM3/SM3 Gas/liquid ratio at standard conditions
O|TP|PP|C GLT KG/S Total liquid mass flow
O|TP|PP|C GLTHL KG/S Mass flow rate of oil
O|TP|PP|C GLTWT KG/S Mass flow rate of water excluding vapour
O|TP|PP|C GLWT KG/S Mass flow rate of water in film
O|TP|PP|C GLWV KG/S Mass flow rate of water vapour
O|TP|PP|C GLWVT KG/S Total mass flow rate of water including Vapour
O|TP|PP|C GORST SM3/SM3 Gas/oil ratio at standard conditions
O|TP|PP|C GT KG/S Total mass flow
O|TP|PP|C HOLHLNS - No-slip oil volume fraction
O|TP|PP|C HOLNS - No-slip liquid volume fraction
O|TP|PP|C HOLWTNS - No-slip water volume fraction
O|TP|PP|C HTOT W Total Enthalpy flow rate
O|TP|PP|C ID NoUnit Flow regime: 1=Stratified, 2=Annular, 3=Slug, 4=Bubble.
Oil/water flowregime indicator for slug bubble: 0=Stratified smooth,
O|TP|PP|C IDWHBUB NoUnit
1=Stratified wavy, 2=Dispersed, -1= not applicable.
Oil/water flowregime indicator for separated flow: 0=Stratified smooth,
O|TP|PP|C IDWHSEP NoUnit
1=Stratified wavy, 2=Dispersed, -1= not applicable.
Oil/water flowregime indicator for slug: 0=Stratified smooth, 1=Stratified wavy,
O|TP|PP|C IDWHSLU NoUnit
2=Dispersed, -1= not applicable.
O|TP|PP|C IKH NoUnit Inviscid Kelvin-Helmoltz factor
O|TP|PP|C INHIBMFRBOUN - Inhibitor mass fraction in water at boundary
O|TP|PP|C LAMTURB_GAS - Blending parameter between laminar and turbulent flow, gas layer
O|TP|PP|C LAMTURB_OIL - Blending parameter between laminar and turbulent flow, oil layer
O|TP|PP|C LAMTURB_WATER - Blending parameter between laminar and turbulent flow, water layer
O|TP|PP|C MDHLCONV KG/M3 Specific convective mass of oil droplets
O|TP|PP|C MDHLSLOPE KG/M3 Specific mass adjustment of oil droplets
O|TP|PP|C MDWTCONV KG/M3 Specific convective mass of water droplets
O|TP|PP|C MDWTSLOPE KG/M3 Specific mass adjustment of water droplets
O|TP|PP|C MGCONV KG/M3 Specific convective mass of gas
O|TP|PP|C MGSLOPE KG/M3 Specific mass adjustment of gas
O|TP|PP|C MLHLCONV KG/M3 Specific convective mass of oil in film
O|TP|PP|C MLHLSLOPE KG/M3 Specific mass adjustment of oil in film
O|TP|PP|C MLWTCONV KG/M3 Specific convective mass of water in film
O|TP|PP|C MLWTSLOPE KG/M3 Specific mass adjustment of water in film
O|TP|PP|C PSID KG/M3-S Deposition rate
O|TP|PP|C PSIE KG/M3-S Entrainment rate
O|TP|PP|C QD M3/S Droplet volume flow
O|TP|PP|C QDHL M3/S Volumetric flow rate oil droplets
O|TP|PP|C QDWT M3/S Volumetric flow rate water droplets
O|TP|PP|C QG M3/S Gas volume flow
O|TP|PP|C QGST SM3/S Gas volume flow at standard conditions
O|TP|PP|C QL M3/S Liquid bulk volume flow
O|TP|PP|C QLHL M3/S Volumetric flow rate oil film
O|TP|PP|C QLST SM3/S Liquid volume flow at standard conditions
O|TP|PP|C QLT M3/S Total liquid volume flow
O|TP|PP|C QLTHL M3/S Volumetric flow rate oil
O|TP|PP|C QLTWT M3/S Volumetric flow rate water
O|TP|PP|C QLWT M3/S Volumetric flow rate water film
O|TP|PP|C QOST SM3/S Oil volume flow at standard conditions
O|TP|PP|C QT M3/S Total volume flow
O|TP|PP|C QWST SM3/S Water volume flow at standard conditions
O|TP|PP|C REGIMETYPE NoUnit Slug-trac regime: 0=Free, 1=LiquidSlug, 2=SlugBubble
O|TP|PP|C SHRHL 1/s Oil film - shear strain rate
O|TP|PP|C SHRWT 1/s Water film - shear strain rate
O|TP|PP|C SLAG KG/M3-S Gas friction coefficient
O|TP|PP|C SLAI KG/M3-S Interfacial friction coefficient
O|TP|PP|C SLAIGHL KG/M3-S Gas/oil film interfacial friction factor
O|TP|PP|C SLAIHLWT KG/M3-S Oil film/water film interfacial friction factor
O|TP|PP|C SLAIWTG KG/M3-S Water film/gas interfacial friction factor
O|TP|PP|C SLAL KG/M3-S Liquid friction coefficient
O|TP|PP|C SLALHL KG/M3-S Oil film wall friction factor
O|TP|PP|C SLALWT KG/M3-S Water film wall friction factor
O|TP|PP|C SLGH KG/M3-S Oil wall friction due to gas
O|TP|PP|C SLGW KG/M3-S Water wall friction due to gas
O|TP|PP|C SLHG KG/M3-S Gas wall friction due to oil
O|TP|PP|C SLWG KG/M3-S Gas wall friction due to water
O|TP|PP|C STDROG KG/M3 Standard gas density
O|TP|PP|C STDROHL KG/M3 Standard oil density
O|TP|PP|C STDROWT KG/M3 Standard water density
O|TP|PP|C TAUWG PA Gas - max. wall shear stress
O|TP|PP|C TAUWHL PA Oil film - max. wall shear stress
O|TP|PP|C TAUWWT PA Water film - max. wall shear stress
O|TP|PP|C TC_GH - Turbulence parameter gas-oil interface, gas side
O|TP|PP|C TC_HG - Turbulence parameter gas-oil interface, oil side
O|TP|PP|C TC_HW - Turbulence parameter oil-water interface, oil side
O|TP|PP|C TC_WH - Turbulence parameter oil-water interface, water side
O|TP|PP|C TINHIBMFRBOUN - Inhibitor mass fraction in water+vapour at boundary
O|TP|PP|C TRBPAR_CAP - Capilary number from the TURBPAR routine
O|TP|PP|C TRBPAR_FROUD - Froud number from the TURBPAR routine
O|TP|PP|C TRBPAR_REYG - Reynolds number for gas layer from the TURBPAR routine
O|TP|PP|C TRBPAR_REYH - Reynolds number for oil layer from the TURBPAR routine
O|TP|PP|C TRBPAR_REYI - Reynolds number for gas oil interface from the TURBPAR routine
O|TP|PP|C TRBPAR_WEB - Weber number from the TURBPAR routine
O|TP|PP|C TWATMFRBOUN - Total water mass fraction at boundary
O|TP|PP|C UD M/S Droplet velocity
O|TP|PP|C UDHL M/S Oil droplet velocity
O|TP|PP|C UDO M/S Relative velocity droplets
O|TP|PP|C UDWT M/S Water droplet velocity
O|TP|PP|C UG M/S Gas velocity
O|TP|PP|C UHLCONT M/S Oil continuous velocity
O|TP|PP|C UL M/S Average liquid film velocity
O|TP|PP|C ULHL M/S Oil film velocity
O|TP|PP|C ULWT M/S Water film velocity
O|TP|PP|C UO M/S Relative velocity
O|TP|PP|C USD M/S Superficial velocity total liquid droplets
O|TP|PP|C USDHL M/S Superficial oil droplet velocity
O|TP|PP|C USDWT M/S Superficial water droplet velocity
O|TP|PP|C USG M/S Superficial velocity gas
O|TP|PP|C USL M/S Superficial velocity total liquid film
O|TP|PP|C USLHL M/S Superficial oil film velocity
O|TP|PP|C USLT M/S Superficial velocity liquid (USL+USD)
O|TP|PP|C USLTHL M/S Superficial velocity oil
O|TP|PP|C USLTWT M/S Superficial velocity water
O|TP|PP|C USLWT M/S Superficial water film velocity
O|TP|PP|C USTOT M/S Total volume flux
O|TP|PP|C UWTCONT M/S Water continuous velocity
O|TP|PP|C VKH NoUnit Viscous Kelvin-Helmoltz factor
O|TP|PP|C WATMFRBOUN - Water mass fraction at boundary
O|TP|PP|C WCST - Water cut at standard conditions
O|TP|PP|C WD KG/S-M2 Droplet mass flux
O|TP|PP|C WDHL KG/S-M2 Mass flux of oil in droplet field
O|TP|PP|C WDWT KG/S-M2 Mass flux of water in droplet field
O|TP|PP|C WG KG/S-M2 Gas mass flux
O|TP|PP|C WL KG/S-M2 Liquid mass flux
O|TP|PP|C WLHL KG/S-M2 Mass flux of oil in film
O|TP|PP|C WLWT KG/S-M2 Mass flux of water in film
O|TP|PP|C WTOT KG/S-M2 Total mass flux

Link to: Boundary Variables Description Variables

Branch Variables
Description ( See also: Variables)

Branch Variables ( See also: Description)


Use as Name Units Definition

Branch Variables
O|TP|C|GTP DPABR PA Additional pressure drop
O|TP|C|GTP DPBR PA Total pressure drop
O|TP|C|GTP DPFBR PA Frictional pressure drop
O|TP|C|GTP DPGBR PA Gravitational pressure drop
O|TP|C|GTP DTBR C Total temperature drop (inlet minus outlet) in branch
O|TP|C|GTP GASC M3 Gas content in branch
O|TP|C|GTP GASCFR - Gas volume fraction in branch
O|TP|C|GTP GASCST M3 Gas content in branch converted to standard conditions
O|TP|C|GTP GASIN KG Accumulated gas flow inlet boundary
O|TP|C|GTP GASMASS KG Gas mass in branch
O|TP|C|GTP GASOUT KG Accumulated gas flow outlet boundary
O|TP|C|GTP INHIBMASS KG Total mass of inhibitor in branch
O|TP|C|GTP LIQBC M3 Liquid bulk content in branch
O|TP|C|GTP LIQC M3 Total liquid content in branch
O|TP|C|GTP LIQCFR - Liquid volume fraction in branch
O|TP|C|GTP LIQDC M3 Liquid droplet content in branch
O|TP|C|GTP LIQIN KG Accumulated liquid flow inlet boundary
O|TP|C|GTP LIQMASS KG Total liquid mass in branch
O|TP|C|GTP LIQOUT KG Accumulated liquid flow outlet boundary
O|TP|C|GTP MASOUT KG Accumulated mass flow outlet boundary
O|TP|C|GTP MASSIN KG Accumulated mass flow inlet boundary
O|TP|C|GTP MAXPTBR PA Maximum pressure in branch since start
O|TP|C|GTP MAXPTBRCT PA Maximum pressure in branch at current time
O|TP|C|GTP MAXPTPOS M Distance from branch inlet where maximum pressure since start occurs
O|TP|C|GTP MAXTMBR C Maximum temperature in branch since start
O|TP|C|GTP MAXTMBRCT C Maximum temperature in branch at current time
O|TP|C|GTP MAXTMPOS M Distance from branch inlet where maximum temperature since start occurs
O|TP|C|GTP MDPHYD PA Maximum difference between section and hydrate pressure since last write
O|TP|C|GTP MDPPOS M Distance where section and hydrate pressure differs most since last write
O|TP|C|GTP MDTHYD C Maximum difference between hydrate and section temp since last write
O|TP|C|GTP MDTPOS M Distance where section and hydrate temperature differs most since last write
O|TP|C|GTP MEANPTBRCT PA Mean pressure in branch at current time
O|TP|C|GTP MEANTMBRCT C Mean temperature in branch at current time
O|TP|C|GTP MINPTBR PA Minimum pressure in branch since start
O|TP|C|GTP MINPTBRCT PA Minimum pressure in branch at current time
O|TP|C|GTP MINPTPOS M Distance from branch inlet where minimum pressure since start occurs
O|TP|C|GTP MINTMBR C Minimum temperature in branch since start
O|TP|C|GTP MINTMBRCT C Minimum temperature in branch at current time
O|TP|C|GTP MINTMPOS M Distance from branch inlet where minimum temperature since start occurs
O|TP|C|GTP OILBC M3 Oil film content in branch
O|TP|C|GTP OILC M3 Total oil content in branch
O|TP|C|GTP OILCFR - Oil volume fraction in branch
O|TP|C|GTP OILCST M3 Total oil content in branch converted to standard conditions
O|TP|C|GTP OILDC M3 Oil droplet content in branch
O|TP|C|GTP OILIN KG Accumulated oil flow inlet boundary
O|TP|C|GTP OILMASS KG Total oil mass in branch
O|TP|C|GTP OILOUT KG Accumulated oil flow outlet boundary
O|TP|C|GTP RGASIN KG Accumulated gas flow after restart at inlet boundary
O|TP|C|GTP RGASOUT KG Accumulated gas flow after restart at outlet boundary
O|TP|C|GTP RLIQIN KG Accumulated liquid flow after restart at inlet boundary
O|TP|C|GTP RLIQOUT KG Accumulated liquid flow after restart at outlet boundary
O|TP|C|GTP RMASIN KG Accumulated mass flow after restart at inlet boundary
O|TP|C|GTP RMASOUT KG Accumulated mass flow after restart at outlet boundary
O|TP|C|GTP ROILIN KG Accumulated oil flow after restart at inlet boundary
O|TP|C|GTP ROILOUT KG Accumulated oil flow after restart at outlet boundary
O|TP|C|GTP RWATIN KG Accumulated water flow after restart at inlet boundary
O|TP|C|GTP RWATOUT KG Accumulated water flow after restart at outlet boundary
O|TP|C|GTP RWINHIBTOT - Total mass fraction in water phase in branch for inhibitor
O|TP|C|GTP WATBC M3 Water film content in branch
O|TP|C|GTP WATC M3 Total water content in branch
O|TP|C|GTP WATCFR - Water volume fraction in branch
O|TP|C|GTP WATCST M3 Total water content in branch converted to standard conditions
O|TP|C|GTP WATDC M3 Water droplet content in branch
O|TP|C|GTP WATIN KG Accumulated water flow inlet boundary
O|TP|C|GTP WATMASS KG Total water mass in branch
O|TP|C|GTP WATOUT KG Accumulated water flow outlet boundary

Link to: Branch Variables Description Variables

Bundle Variables
Description ( See also: Variables)

Bundle variables can only be used when a SOLIDBUNDLE, a FLUIDBUNDLE or an ANNULUS is given

Bundle Variables ( See also: Description)


Use as Name Units Definition

Bundle Variables
BNDL HAMBBUN W/M2-C Ambient heat transfer coefficient at specified position in bundle
BNDL TBUNXY C Temperature at specified position in bundle

Link to: Bundle Variables Description Variables

Check valve Variables


Description ( See also: Variables)

Check valve Variables ( See also: Description)


Use as Name Units Definition

Check valve Variables


O|TP|C|GTP CHECK NoUnit Check valve position: 0=open 1=closed

Link to: Check valve Variables Description Variables

Compositional Variables
Description ( See also: 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

When compositional variables can be used are:

1. GLTWTLEAK is the same variable as CGWLEAK


2. GLTWTSOUR is the same variable as CGWSOUR
3. GLTWTWELL is the same variable as CGWWELL

GLTWTLEAK, GLTWTSOUR, GLTWTWELL is only available when using inhibitor tracking (MEG, MEOH or ETOH)

Compositional Variables ( See also: Description)


Use as Name Units Definition

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

Branch Variables
TP|GTP CMTOT KG Total mass in branch

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
NS CAEDLM KG ACCUMULATED EMERGENCY DRAIN LIQUID MASS FLOW
NS CAEDOM KG ACCUMULATED EMERGENCY DRAIN OIL MASS FLOW
NS CAEDWM KG ACCUMULATED EMERGENCY DRAIN WATER MASS FLOW
NS CAGOGM KG ACCUMULATED GAS OUTLET GAS MASS FLOW
NS CAGOLM KG ACCUMULATED GAS OUTLET LIQUID MASS FLOW
NS CAGOOM KG ACCUMULATED GAS OUTLET OIL MASS FLOW
NS CAGOTM KG ACCUMULATED GAS OUTLET TOTAL MASS FLOW
NS CAGOWM KG ACCUMULATED GAS OUTLET WATER MASS FLOW
NS CAODLM KG ACCUMULATED OIL DRAIN LIQUID MASS FLOW
NS CAODOM KG ACCUMULATED OIL DRAIN OIL MASS FLOW
NS CAODWM KG ACCUMULATED OIL DRAIN WATER MASS FLOW
NS CATDGM KG ACCUMULATED TOTAL DRAIN GAS MASS FLOW
NS CATDLM KG ACCUMULATED TOTAL DRAIN LIQUID MASS FLOW
NS CATDOM KG ACCUMULATED TOTAL DRAIN OIL MASS FLOW
NS CATDTM KG ACCUMULATED TOTAL DRAIN TOTAL MASS FLOW
NS CATDWM KG ACCUMULATED TOTAL DRAIN WATER MASS FLOW
NS CAWDLM KG ACCUMULATED WATER DRAIN LIQUID MASS FLOW
NS CAWDOM KG ACCUMULATED WATER DRAIN OIL MASS FLOW
NS CAWDWM KG ACCUMULATED WATER DRAIN WATER MASS FLOW
NS CEDLMF KG/S EMERGENCY DRAIN LIQUID MASS FLOW
NS CEDOMF KG/S EMERGENCY DRAIN OIL MASS FLOW
NS CEDWMF KG/S EMERGENCY DRAIN WATER MASS FLOW
NS CGOGMF KG/S GAS OUTLET GAS MASS FLOW
NS CGOLMF KG/S GAS OUTLET TOTAL LIQUID MASS FLOW
NS CGOOMF KG/S GAS OUTLET OIL MASS FLOW
NS CGOTMF KG/S GAS OUTLET TOTAL MASS FLOW
NS CGOWMF KG/S GAS OUTLET WATER MASS FLOW
NS CODLMF KG/S OIL DRAIN LIQUID MASS FLOW
NS CODOMF KG/S OIL DRAIN OIL MASS FLOW
NS CODWMF KG/S OIL DRAIN WATER MASS FLOW
NS CTDGMF KG/S TOTAL DRAIN GAS MASS FLOW
NS CTDLMF KG/S TOTAL DRAIN LIQUID MASS FLOW
NS CTDOMF KG/S TOTAL DRAIN OIL MASS FLOW
NS CTDTMF KG/S TOTAL DRAIN TOTAL MASS FLOW
NS CTDWMF KG/S TOTAL DRAIN WATER MASS FLOW
NS CWDLMF KG/S WATER DRAIN LIQUID MASS FLOW
NS CWDOMF KG/S WATER DRAIN OIL MASS FLOW
NS CWDWMF KG/S WATER DRAIN WATER MASS FLOW

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

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
TP|PP MWGAS KG/KMOL Mole weight of gas phase
TP|PP MWOIL KG/KMOL Mole weight of oil phase
TP|PP
MWWAT KG/KMOL Mole weight of water phase
TP|PP XG - Mole fraction of gas phase
TP|PP XGE - Equilibrium mole weight in gas phase
TP|PP XGM - Mass fraction in gas phase
TP|PP XGME - Equilibrium mole weight of gas phase
TP|PP XH - Mole fraction of oil phase
TP|PP XHE - Equilibrium mole weight of gas phase
TP|PP XHM - Mass fraction in oil phase
TP|PP XHME - Equilibrium mass fraction in oil phase
TP|PP XW - Mole fraction in water phase
TP|PP XWE - Equilibrium mole fraction in water phase
TP|PP XWM - Mass fraction in water phase
TP|PP XWME - Equilibrium mass fraction in water phase
TP|PP Z - Total molar composition
TP|PP ZM - Total mass composition

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
TP|GTP GLTWTWELL KG/S Well mass rate in water phase
TP|GTP XGMWELL - Well mass fraction in gas phase
TP|GTP XGWELL - Well mole fraction in gas phase
TP|GTP XHMWELL - Well mass fraction in oil phase
TP|GTP XHWELL - Well mole fraction in oil phase
TP|GTP XWMWELL - Well mass fraction in water phase
TP|GTP XWWELL - Well mole fraction in water phase
TP|GTP ZMWELL - Well mass fraction in all phases
TP|GTP ZWELL - Well mole fraction in all phases

Link to: Compositional Variables Description Variables

Compositional SlugTracking Variables


Description ( See also: Variables)

Compositional Slugtracking 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. In addition to this the SLUIGTRACKING keyword has to have been given.

Compositional SlugTracking Variables ( See also: Description)


Use as Name Units Definition

Boundary Variables
TP|PP CMGEXP KG/M3 Component mass in gas phase of slug (no slug: CMG)
TP|PP CMHDEXP KG/M3 Component mass in oil droplets of slug (no slug: CMHD)
TP|PP CMHLEXP KG/M3 Component mass in oil film of slug (no slug: CMHL)
TP|PP CMWDEXP KG/M3 Component mass in water droplets of slug (no slug: CMWD)
TP|PP CMWLEXP KG/M3 Component mass in water film of slug (no slug: CMWL)

Slug Variables
TP CMGFSB KG/M3 Component mass in gas phase ahead of slug front
TP CMGFSL KG/M3 Component mass in gas phase behind slug front
TP CMGTSB KG/M3 Component mass in gas phase behind slug tail
TP CMGTSL KG/M3 Component mass in gas phase ahead of slug tail
TP CMHDFSB KG/M3 Component mass in oil droplets ahead of slug front
TP CMHDFSL KG/M3 Component mass in oil droplets behind slug front
TP CMHDTSB KG/M3 Component mass in oil droplets behind slug tail
TP CMHDTSL KG/M3 Component mass in oil droplets ahead of slug tail
TP CMHLFSB KG/M3 Component mass in oil film ahead of slug front
TP CMHLFSL KG/M3 Component mass in oil film behind slug front
TP CMHLTSB KG/M3 Component mass in oil film behind slug tail
TP CMHLTSL KG/M3 Component mass in oil film ahead of slug tail
TP CMWDFSB KG/M3 Component mass in water droplets ahead of slug front
TP CMWDFSL KG/M3 Component mass in water droplets behind slug front
TP CMWDTSB KG/M3 Component mass in water droplets behind slug tail
TP CMWDTSL KG/M3 Component mass in water droplets ahead of slug tail
TP CMWLFSB KG/M3 Component mass in water film ahead of slug front
TP CMWLFSL KG/M3 Component mass in water film behind slug front
TP CMWLTSB KG/M3 Component mass in water film behind slug tail
TP CMWLTSL KG/M3 Component mass in water film ahead of slug tail

Link to: Compositional SlugTracking Variables Description Variables

Compressor Variables
Description ( See also: Variables)
Compressor Variables ( See also: Description)
Use as Name Units Definition

Compressor Variables
O|TP|C|GTP DHRCOO W Compressor recycle heat exchanger Enthalpy
O|TP|C|GTP GCOMP KG/S Compressor mass flow rate
O|TP|C|GTP GREC KG/S Compressor recycle mass flow rate
O|TP|C|GTP HCOMP W Compressor enthalpy
O|TP|C|GTP HREC W Compressor recycle enthalpy
O|TP|C|GTP QGSURGE M3/S Corrected compressor surge flow
O|TP|C|GTP RPM RPM Compressor speed

Link to: Compressor Variables Description Variables

Controller Variables
Description ( See also: Variables)

Controller Variables ( See also: Description)


Use as Name Units Definition

Controller Variables
GTP|NC ACTIVATED NoUnit Controller activate signal
GTP|NC CONTR NoUnit Controller output
GTP|NC ERRVAR NoUnit Controller error signal
GTP|NC INTGVAR NoUnit Controller integral signal
GTP|NC MEASVAR NoUnit Controller measured variable
Controller mode: 1=Automatic, 2=Manual, 3=External signal, 4=External
GTP|NC MODE NoUnit
setpoint, 5=Freeze
GTP|NC PMCAS NoUnit Moving averaged of primary controller variable
GTP|NC RATELIMITED NoUnit Controller rate limited signal
GTP|NC SATURATED NoUnit Controller saturated signal
GTP|NC SETPOINT NoUnit Setpoint of extended cascade controller
GTP|NC SETPVAR NoUnit Controller setpoint variable

Link to: Controller Variables Description Variables

List of Units and Conversion Factors

Quantity Unit name Conversion to the first unit, multiply by


1/rpm
s 0.016667
1/ANGULAR_VELOCITY M
h 60
d 1440
1/m3/s
1/ft3/s 35.3107
1/m3/h 3600
1/FLOWRATE 1/ft3/h 127119
1/bbl/d 543396
1/m3/d 86400
1/bbl/M 377.358
1/m
1/ft 3.28083989501312
1/cm 100
1/LENGTH
1/miles 6.21371192237334E-04
1/km 0.001
1/mm 1000
1/Pa
1/atm 9.86923266716013E-06
1/bar 0.00001
1/PRESSURE_DIFFERENCE 1/psi 1.45032632342277E-04
1/KP/cm2 1.01971621297793E-05
1/kPa 0.001
1/kgf/cm2 1.01971621297793E-05
1/Sm3/s
1/MSm3/s 0.000001
1/Sm3/d 86400
1/STDFLOWRATE 1/MSm3/d 0.0864
1/scf/d 3050000
1/MMscf/d 3.05
1/scf/s 0.0283
m/s2
ft/s2 0.3048
ACCELERATION
cm/s2 0.01
in/s2 0.0254
degree
ANGLE deg
rad 57.2957795130823
rad/s2
R/s2 6.28318530717959
ANGULAR_ACCELERATION
rpm/s 0.10471975511966
rpm/M 1.74532925199433E-03
rpm
ANGULAR_VELOCITY rad/s 9.54929658551372
1/s 60
m2
ft2 0.09290304
AREA
cm2 0.0001
in2 0.00064516
Sm3/Sm3
stb/scf 5.61457291804931
CGR m3/m3
scf/scf
stb/mmscf 5.61457291804931E-06
CORROSION_RATE mm/y
kg/m3
lb/ft3 16.0187328248672
DENSITY
g/cm3 1000
lb/in3 27680.3703213706
kg/m-N
DENSITY/PRESSURE
s2/m2
kg/m3-K
DENSITY/TEMPERATURE
kg/m3-C
DENSITY/TIME kg/m3-s
m2/s
DIFFUSION_COEFFICIENT
cm2/s 0.0001
N-s/m2
lb/ft-h 0.0004134
DYNAMIC_VISCOSITY
CP 0.001
kg/m-h 0.0002778
J
ENTHALPY Btu 1055
cal 4.187
J/kg
ENTHALPY/MASS Btu/lb 2326
cal/kg 4.187
J/mol
ENTHALPY/MOL Btu/lbmol 2.326
cal/mol 4.187
J/mol-K
ENTHALPY/MOL-TEMP
Btu/lbmol-R 4.187
J/m3
ENTHALPY/VOLUME Btu/ft3 37260
cal/m3 4.187
J/K
ENTROPY Btu/R 1899
cal/K 4.187
J/kg-K
Btu/lb-R 4187
ENTROPY/MASS
cal/kg-K 4.187
J/kg-C
J/mol-K
ENTROPY/MOL Btu/lbmol-R 4187
cal/mol-K 4.187
J/m3-K
ENTROPY/VOLUME Btu/ft3-R 37260
cal/m3-K 4.187
N
dyn 0.00001
FORCE
kgf 9.819
lbf 4.4482
-
FRACTION
% 0.01
1/s
1/M 1.66666666666667E-02
FREQUENCY
1/h 2.77777777777778E-04
Hz
FRICTION_FACTOR Ns/m
Sm3/s
Sm3/h 0.00027778
Sm3/d 0.000011574
scf/d 0.00000032774
MMscf/d 0.32774
GAS_STDFLOWRATE STB/d 0.0000018401
STB/M 0.002651
scf/s 0.0283169
scf/h 0.0000078667
MSm3/d 11.574
Mscf/d 0.000327778
m3
ft3 0.028316846592
cm3 0.000001
GAS_VOLUME
L 0.001
USgal 0.003786
bbl 0.158987
m3/s
ft3/s 0.028316846592
m3/h 2.77777777777778E-04
GAS_VOLUME/TIME ft3/h 0.00000786579072
bbl/d 1.84012731481481E-06
m3/d 1.15740740740741E-05
bbl/m 2.64978333333333E-03
Sm3/Sm3
scf/STB 0.178107937076616
GOR m3/m3
scf/scf
mmscf/stb 178107.937076616
W/m
HEAT_TRANS./LENGTH Btu/s-ft 3461
kW/m 1000
W/m2
kW/m2 1000
HEATFLUX W/cm2 10000
Btu/ft2-s 11360
Btu/in2-s 1635000
m2/s
CST 0.000001
KINEMATIC_VISCOSITY
ft2/hr 0.000025806
in2/s 0.00064516
m
ft 0.3048
LENGTH
cm 0.01
in 0.0254
MILES 1609.344
km 1000
mm 0.001
Sm3/s
Sm3/h 2.77777777777778E-04
Sm3/d 1.15740740740741E-05
scf/d 0.00000032774128
MMscf/d 0.32774128
LIQ_STDFLOWRATE STB/d 1.84012731481481E-06
STB/M 2.64978333333333E-03
scf/s 0.028316846592
scf/h 0.00000786579072
MSm3/d 11.5740740740741
Mscf/d 0.00032774128
m3
ft3 0.028316846592
cm3 0.000001
LIQ_VOLUME
L 0.001
USgal 0.003786
bbl 0.158987
m3/s
ft3/s 0.028316846592
m3/h 2.77777777777778E-04
LIQ_VOLUME/TIME ft3/h 0.00000786579072
bbl/d 1.84012731481481E-06
m3/d 1.15740740740741E-05
bbl/m 2.64978333333333E-03
LOGARITHMIC_FRICTION_FACTOR N/m2
kg
lb 0.4536
MASS g 0.001
oz 0.02835
t 1000
kg/m2
g/m2 0.001
g/cm2 10
MASS/AREA
kg/ft2 10.7639104167097
g/ft2 1.07639104167097E-02
g/in2 1.5500031000062
kg/m
g/m 0.001
g/cm 0.1
MASS/LENGTH g/ft 0.00328084
g/in 0.03937
lb/ft 1.488
lb/in 17.858
kg/s
lb/s 0.4536
MASS/TIME
kg/h 2.77777777777778E-04
lb/h 0.000126
kg/s-m2
kg/s-cm2 10000
MASS/TIME-AREA lb/s-m2 0.4536
kg/h-m2 0.00027778
lb/h-m2 0.000126
kg/s-Pa
MASS/TIME-PRESSURE
lb/s-psi 0.000065788
mol
MOL lbmol 453.6
kmol 1000
mol/kg
MOL/MASS lbmol/lb 1000
mol/g 1000
mol/m3
lbmol/ft3 16020
MOL/VOLUME
mol/cm3 1000000
mol/L 1000
kmol/s
MOLAR_RATE
lbmol/s 0.4536
mol/s 0.001
mol/m4
MOLCONC/METER lbmol/ft4 52550
mol/cm4 100000000
MOLDEN/TEMPERATURE mol/m3-K
kg/kmol
lb/lbmol
MOLECULAR_WEIGHT
kg/mol 1000
g/mol
mD
PERMEABILITY
D 1000
W
hp 745.69987158227
POWER
Btu/h 0.2931
kW 1000
W/m
hp/m 745.69987158227
POWER/LENGHT
Btu/h*m 0.2931
kW/m 1000
k 1000
M 1000000
POWERS_OF_TEN
G 1000000000
T 1000000000000
Pa
bara 100000
psia 6895
atm 101325
bar 100000
PRESSURE
KP/cm2 98066.5
kPa 1000
psig 6895
barg 100000
kgf/cm2 98066.5
Pa/m
PRESSURE/DISTANCE
psi/ft 22621.3910761155
Pa/s
bar/s 100000
PRESSURE/TIME
psi/s 6895
atm/s 101325
Pa
bara 100000
psia 6895
atm 101325
bar 100000
PRESSURE_DIFFERENCE
KP/cm2 98066.5
kPa 1000
psig 6895
barg 100000
kgf/cm2 98066.5
Pa-s/kg
PRESSURE-TIME/MASS
psi-s/lb 15200.34
QUADRATIC_FRICTION_FACTOR Ns2/m2
s
M 0.01667
RATE_PER_UNIT_TIME
h 0.0002778
d 0.00001157
SPGR
RELATIVE_DENSITY
API 131.5
RESVOLUME/STDVOLUME Rm3/Sm3
m3/R
SPECIFIC_CAPACITY
ft3/R 0.02832
J/kg-C
J/kg-K
SPECIFIC_HEAT
Btu/lbm-R 4186.8
Btu/lbm-F 4186.8
Sm3
SCF 0.028316846592
Scm3 0.000001
SL 0.001
Sgal 0.003786
STANDARD_VOLUME
MMscf 28316.846592
Mscf 28.316846592
Sbbl 0.158987
kg/m6
STATMASS_E0
lb/ft6 565.59
kg/m5
STATMASS_E1
lb/ft5 172.47
kg/m4
STATMASS_E2
lb/ft4 52.56
STD_DENSITY kg/Sm3
Sm3/s/Pa
Sm3/d/bar 0.00000000011574
STDFLOWRATE/PRESSURE
scf/d/psi 0.000000000047533
STB/d/psi 0.00000000026687
N/m
SURFACE_TENSION dyne/cm 0.001
mN/m 0.000001
C
R 0.555555555555556
TEMPERATURE
K
F 0.555555555555556
C/s
TEMPERATURE/TIME R/s 0.555555555555556
K/s
C
R 0.555555555555556
TEMPERATURE_DIFFERENCE
K
F 0.555555555555556
W/m2-C
W/m2-K
THERMAL_CONDUCTANCE
Btu/ft2-h-F 5.678
cal/m2-h-C 0.001163
W/m-K
W/m-C
THERMAL_CONDUCTIVITY
Btu/ft-h-R 1.731
cal/m-h-K 0.001163
1/C
1/R 1.8
THERMAL_EXPANSION
1/K
1/F 1.8
s
M 60
TIME h 3600
d 86400
1/rpm 60
Nm
TORQUE
ft-lb 1.35582
m/s
ft/s 0.3048
m/h 2.77777777777778E-04
VELOCITY
ft/h 8.46666666666667E-05
mph 0.44704
miles/h 0.44704
m3/kg
ft3/lb 6.24269104761905E-02
VOLUME/MASS
cm3/g 0.001
in3/lb 3.6126684303351E-05
m3/mol
ft3/lbmol 0.00006243
VOLUME/MOL
cm3/mol 0.000001
L/mol 0.001
m3/R
VOLUME/REVOLUTION
ft3/R 0.028316846592
m3
ft3 0.028316846592
cm3 0.000001
WAX_VOLUME L 0.001
USgal 0.003786
bbl 0.158987

Corrosion Variables
Description ( See also: Variables)

Corrosion variables can only be used when the CORROSION keyword is given.

Corrosion Variables ( See also: Description)


Use as Name Units Definition

Volume Variables
O|TP|PP|C COBICARB NoUnit Bicarbonate concentration (Molar)
O|TP|PP|C CONDRATE KG/S-M2 Conden.rate in pipe upper half
O|TP|PP|C CORR1 MM/Y Corrosion rate
O|TP|PP|C CORR2 MM/Y Corrosion rate
O|TP|PP|C CORR3 MM/Y Corrosion rate
O|TP|PP|C CORRW1 MM/Y Corr. rate, full water wet.
O|TP|PP|C CORRW2 MM/Y Corr. rate, full water wet.
O|TP|PP|C CORRW3 MM/Y Corr. rate, full water wet.
O|TP|PP|C GLYCOL NoUnit Glycol concentration
O|TP|PP|C INHIB NoUnit Inhibitor efficiency
O|TP|PP|C IONIC NoUnit Ionic strength concentration (Molar)
O|TP|PP|C PCO2 PA Partial pressure of CO2
O|TP|PP|C PH1 NoUnit pH for model 1
O|TP|PP|C PH2 NoUnit pH for model 2
O|TP|PP|C PH3 NoUnit pH for model 3
O|TP|PP|C SOLFE NoUnit Saturated iron concentration in PPM

Link to: Corrosion Variables Description Variables

Drilling Variables
Description ( See also: Variables)

Drilling variables can only be used when DRILLING=ON in the OPTIONS keyword.

Drilling Variables ( See also: Description)


Use as Name Units Definition

Boundary Variables
O|TP|PP|C DRLFROGSTD KG/M3 Flowing standard gas density
O|TP|PP|C GDOMUD KG/S Mass flow rate of oil-based mud in droplet
O|TP|PP|C GDPH2O KG/S Mass flow rate of produced water in droplet
O|TP|PP|C GDPHC KG/S Mass flow rate of produced hc in droplet
O|TP|PP|C GDWMUD KG/S Mass flow rate of water-based mud in droplet
O|TP|PP|C GGGMUD KG/S Mass flow rate of gas-based mud
O|TP|PP|C GGOMUD KG/S Mass flow rate of oil-based mud in gas phase
O|TP|PP|C GGPH2O KG/S Mass flow rate of produced water in gas phase
O|TP|PP|C GGPHC KG/S Mass flow rate of produced hc in gas phase
O|TP|PP|C GGWMUD KG/S Mass flow rate of water-based mud in gas phase
O|TP|PP|C GLOMUD KG/S Mass flow rate of oil-based mud in film
O|TP|PP|C GLPH2O KG/S Mass flow rate of produced water in film
O|TP|PP|C GLPHC KG/S Mass flow rate of produced hc in film
O|TP|PP|C GLTPH2O KG/S Mass flow rate of produced water in film and droplets
O|TP|PP|C GLTPHC KG/S Mass flow rate of produced hydrocarbons in film and droplets
O|TP|PP|C GLWMUD KG/S Mass flow rate of water-based mud in film
O|TP|PP|C GTOMUD KG/S Total mass flow rate of oil-based mud
O|TP|PP|C GTPH2O KG/S Total mass flow rate of produced water
O|TP|PP|C GTPHC KG/S Total mass flow rate of produced hc
O|TP|PP|C GTWMUD KG/S Total mass flow rate of water-based mud

Volume Variables
O|TP|PP|C MDOMUD KG/M3 Specific mass of oil-based mud in droplet
O|TP|PP|C MDPH2O KG/M3 Specific mass of produced water in droplet
O|TP|PP|C MDPHC KG/M3 Specific mass of produced hc in droplet
O|TP|PP|C MDWMUD KG/M3 Specific mass of water-based mud in droplet
O|TP|PP|C MFAMUD - Mass fraction of all muds in total mass
O|TP|PP|C MFGMUD - Mass fraction of gas-based mud in total mass
O|TP|PP|C MFOMUD - Mass fraction of oil-based mud in total mass
O|TP|PP|C MFPH2O - Mass fraction of produced water in total mass
O|TP|PP|C MFPHC KG/M3 Mass fraction of produced hc in total mass
O|TP|PP|C MFWMUD - Mass fraction of water-based mud in total mass
O|TP|PP|C MGGMUD KG/M3 Specific mass of gas-based mud
O|TP|PP|C MGOMUD KG/M3 Specific mass of oil-based mud in gas phase
O|TP|PP|C MGPH2O KG/M3 Specific mass of produced water in gas phase
O|TP|PP|C MGPHC KG/M3 Specific mass of produced hc in gas phase
O|TP|PP|C MGWMUD KG/M3 Specific mass of water-based mud in gas phase
O|TP|PP|C MLOMUD KG/M3 Specific mass of oil-based mud in film
O|TP|PP|C MLPH2O KG/M3 Specific mass of produced water in film
O|TP|PP|C MLPHC KG/M3 Specific mass of produced hc in film
O|TP|PP|C MLWMUD KG/M3 Specific mass of water-based mud in film
O|TP|PP|C MTAMUD KG/M3 Specific mass of all muds
O|TP|PP|C MTOMUD KG/M3 Specific mass of oil-based mud
O|TP|PP|C MTPH2O KG/M3 Specific mass of produced water
O|TP|PP|C MTPHC KG/M3 Specific mass of produced hc
O|TP|PP|C MTWMUD KG/M3 Specific mass of water-based mud

Link to: Drilling Variables Description Variables

Global Variables
Description ( See also: Variables)

Global Variables ( See also: Description)


Use as Name Units Definition

Global Variables
O|TP|C|GTP ABSMASSERR KG Absolute mass error
GTO|GTP HT S Time step
GTO|GTP HTCRIT NoUnit The current criterion used to limit the time step
O|TP|C|GTP HTCRITSEC NoUnit Section causing time step limitation
Lag (drift) factor compared to reference clock expressed in number of
GTO|GTP LAGFACT NoUnit
timesteps.
Lag indicator for detecting simulation is lagging compared to a reference
GTO|GTP LAGIND NoUnit clock. Goes to 1 when output variable LAGFACT >
INTEGRATION.MAXLAGFACT, else it remains at zero.
GTO|GTP NINTGR NoUnit Number of time steps
GTO|GTP REDEL - Relative changes of energy from start
GTO|GTP REERR - Accumulated energy balance error
GTO|GTP RELGT J Total amount of energy
O|TP|C|GTP RELMASSERR NoUnit Relative mass error
GTO|GTP RETOT J Total amount of energy time integrated
GTO|GTP RETOT0 J Initial total amount of energy
GTO|GTP RMDEL - Relative changes of mass from start
GTO|GTP RMERR - Accumulated mass balance error
GTO|GTP RMLGT KG Total amount of mass
GTO|GTP RMOUT KG Cumulative mass release pipeline exit
GTO|GTP RMTOT KG Total amount of mass time integrated
GTO|GTP RMTOT0 KG Initial total amount of mass
GTO|GTP SIMTIME 1 Simulated time in true time
GTO|GTP SPEED NoUnit Simulation speed relative to real-time speed
GTO|GTP TIME S Simulated time
GTO|GTP VOLGBL - Global max volume error since last write

Link to: Global Variables Description Variables

Heat exchanger Variables


Description ( See also: Variables)

Heat exchanger Variables ( See also: Description)


Use as Name Units Definition

Heat exchanger Variables


O|TP|C|GTP DHCOOL W Heat exchanger enthalpy

Link to: Heat exchanger Variables Description Variables


Hydrate kinetics Variables
Description ( See also: Variables)

Hydrate Kinetics variables can only be used when the HYDRATEKINETICS keyword is given.

Hydrate kinetics Variables ( See also: Description)


Use as Name Units Definition

Boundary Variables
O|TP|PP|C GLHYD KG/S Hydrate mass flow
O|TP|PP|C SRATEHYD 1/S Shear rate used for hydrate kinetic model
O|TP|PP|C UHYD M/S Hydrate slurry velocity
O|TP|PP|C WLHYD KG/S-M2 Hydrate mass flux

Branch Variables
O|TP|C|GTP MASSHYD KG Hydrate mass in branch
O|TP|C|GTP MDPHYDC PA Current maximum difference between section and hydrate pressure
O|TP|C|GTP MDPPOSC M Current distance where section and hydrate pressure differs most
O|TP|C|GTP MDTHYDC C Current maximum difference between hydrate and section temperature
O|TP|C|GTP MDTPOSC M Current distance where section and hydrate temperature differs most
O|TP|C|GTP VOLHYD M3 Hydrate volume in branch

Volume Variables
O|TP|PP|C BEHYD - Hydrate volume fraction
O|TP|PP|C CPHYD J/KG-C Specific heat of hydrate phase
O|TP|PP|C GASRATE KG/M3-S Hydrate gas consumption rate
O|TP|PP|C HHYD J/KG Hydrate enthalpy
O|TP|PP|C HYDFRAC - Hydrate volume fraction in slurry
O|TP|PP|C HYDMASS KG/M3 Specific hydrate mass
O|TP|PP|C HYDPT PA Hydrate formation pressure
O|TP|PP|C HYDTM C Hydrate formation temperature
O|TP|PP|C HYKPLIST NoUnit CSMHYK parameter
O|TP|PP|C NPARTICLE NoUnit Number of hydrate monomer particles
O|TP|PP|C PSIHYD KG/M3-S Hydrate formation rate per unit volume
O|TP|PP|C SAREA 1/M Hydrate formation area per per unit volume
O|TP|PP|C VISRATIO - Hydrate slurry viscosity ratio

Link to: Hydrate kinetics Variables Description Variables

Inhibitor Variables
Description ( See also: Variables)

Inhibitor variables can only be used when COMPOSITIONAL key in the OPTIONS keyword is MEG, MEOH or ETOH.

Inhibitor Variables ( See also: Description)


Use as Name Units Definition

Branch Variables
TP/C/GTP INHIBMASS KG Total mass of inhibitor in branch

Link to: Inhibitor Variables Description Variables

Leak Variables
Description ( See also: Variables)

QGSTLK, QLSTLK, QOSTLK and QWSTLK are given at standard conditions (60 oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is,
mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF. For 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.

Leak Variables ( See also: Description)


Use as Name Units Definition

Leak Variables
O|TP|C|GTP ACGLK KG Leakage accumulated released gas mass upstream
O|TP|C|GTP ACGLKEX KG Leakage accumulated released gas mass downstream
O|TP|C|GTP ACHLLK KG Leakage accumulated released oil mass upstream
O|TP|C|GTP ACHLLKEX KG Leakage accumulated released oil mass downstream
O|TP|C|GTP ACMLK KG Leakage accumulated released mass
O|TP|C|GTP ACQGLKEX M3 Accumulated gas volume downstream of leakage
O|TP|C|GTP ACQOLKEX M3 Accumulated oil volume downstream of leakage
O|TP|C|GTP ACQWLKEX M3 Accumulated water volume downstream of leakage
O|TP|C|GTP ACWTLK KG Leakage accumulated released water mass upstream
O|TP|C|GTP ACWTLKEX KG Leakage accumulated released water mass downstream
O|TP|C|GTP DPPROD PA GLV change in opening production pressure
O|TP|C|GTP GGLEAK KG/S Gas mass flow upstream of leakage
O|TP|C|GTP GGLKEX KG/S Gas mass flow downstream of leakage
O|TP|C|GTP GLHLLK KG/S Oil mass flow upstream of leakage
O|TP|C|GTP GLLEAK KG/S Liquid mass flow upstream of leakage
O|TP|C|GTP GLLKEX KG/S Liquid mass flow downstream of leakage
O|TP|C|GTP GLVTEMP C GLV bellows temperature
O|TP|C|GTP GLWTLK KG/S Water mass flow upstream of leakage
O|TP|C|GTP GOLKEX KG/S Oil mass flow downstream of leakage
O|TP|C|GTP GTLEAK KG/S Leakage total mass flow rate
O|TP|C|GTP GWLKEX KG/S Water mass flow downstream of leakage
O|TP|C|GTP HLEAK W Leakage enthalpy
O|TP|C|GTP LMLEAK KG Leakage accumulated released liquid mass upstream
O|TP|C|GTP PTLEAK PA Leakage downstream pressure
O|TP|C|GTP PTLKUP PA Leak upstream pressure
O|TP|C|GTP QGLKEX M3/S Gas volume flow rate downstream of leakage
O|TP|C|GTP QGSTLK SM3/S Leak gas volume flow at standard conditions
O|TP|C|GTP QLSTLK SM3/S Leak liquid volume flow at standard conditions
O|TP|C|GTP QOLKEX M3/S Oil volume flow rate downstream of leakage
O|TP|C|GTP QOSTLK SM3/S Leak oil volume flow at standard conditions
O|TP|C|GTP QTLKEX M3/S Total volume flow rate downstream of leakage
O|TP|C|GTP QWLKEX M3/S Water volume flow rate downstream of leakage
O|TP|C|GTP QWSTLK SM3/S Leak water volume flow at standard conditions
O|TP|C|GTP TLEAEX C Fluid temperature downstream of leakage
O|TP|C|GTP TLEAK C Fluid temperature upstream of leakage
O|TP|C|GTP WLLEAK KG/S-M2 Leakage liquid mass flux

Link to: Leak Variables Description Variables

Node Variables
Description ( See also: Variables)

In addition to the NODE variables are many VOLUME variables available for the node

Node Variables ( See also: Description)


Use as Name Units Definition

Node Variables
NN DGGDPB kg/s-Pa Gas mass flow derivative w.r.t. pressure
NN DGLTHLDPB kg/s-Pa Oil mass flow derivative w.r.t. pressure
NN DGLTWTDPB kg/s-Pa Water mass flow derivative w.r.t. pressure
NN DPBDGG Pa-s/kg Pressure derivative w.r.t. gas mass flow
NN DPBDGLTHL Pa-s/kg Pressure derivative w.r.t. oil mass flow
NN DPBDGLTWT Pa-s/kg Pressure derivative w.r.t. water mass flow
NN GGBOU KG/S Gas mass flow
NN GLTHLBOU KG/S Oil mass flow
NN GLTWTBOU KG/S Water mass flow
NN GTBOU KG/S Total mass flow
NN PTBOU PA Pressure
NN TMBOU C Fluid temperature

Link to: Node Variables Description Variables


ParticleField Variables
Description ( See also: Variables)

ParticleField Variables ( See also: Description)


Use as Name Units Definition

Boundary Variables
O|TP|PP P-BOUNUMMOM1 M Number based statistical moment for r^1
O|TP|PP P-BOUNUMMOM2 M2 Square root of number based statistical moment for r^2
O|TP|PP P-BOUNUMMOM3 M3 Cube root of number based statistical moment for r^3
TP|PP P-E0-FLOW NoUnit Flow of statistical moment E0(P-E0/s)
TP|PP P-E1-FLOW NoUnit Flow of statistical moment E0(P-E1/s)
TP|PP P-E2-FLOW NoUnit Flow of statistical moment E0(P-E2/s)
O|TP|PP P-EU0 M/S Velocity of statistical moment E0
O|TP|PP P-EU1 M/S Velocity of statistical moment E1
O|TP|PP P-EU2 M/S Velocity of statistical moment E2
O|TP|PP P-G kg/s Mass flow rate
O|TP|PP P-Q m3/s Volumetric flow rate
O|TP|PP P-U M/S Velocity
O|TP|PP P-US m/s Superficial velocity

Mass Variables
O|TP|PP|NS|NN P-ACCG KG Accumulated mass flow
O|TP|PP|NS|NN P-ACCQ M3 Accumulated volume flow

Volume Variables
O|TP|PP DXWL M Thickness of wall layer deposited at wall
O|TP|PP|C HOLHTOT - Oil volume fraction including all dispersions
O|TP|PP|C HOLWTOT - Water volume fraction including all dispersions
O|TP|PP HTKNWL W/M2-C Heat transfer coefficient of inner wall without correction for wall layer
CSP P-CON NoUnit Concentration of particles along the pipe diameter
O|TP|PP P-CP J/KG Specific heat of UD Phase
O|TP|PP P-DRDP KG/M-N Pressure differential of UD Phase
O|TP|PP P-E0 NoUnit Statistical moment E0
O|TP|PP P-E1 NoUnit Statistical moment E1
O|TP|PP P-E2 NoUnit Statistical moment E2
O|TP|PP P-H J/KG-C Enthalpy of UD Phase
O|TP|PP P-HOL - Holdup
O|TP|PP|NS|NN P-M KG/M3 Specific mass
O|TP|PP P-MASSMOM1 M Mass based statistical moment for r^1
O|TP|PP P-MASSMOM2 M2 Square root of mass based statistical moment for r^2
O|TP|PP P-MASSMOM3 M3 Cube root of mass based statistical moment for r^3
O|TP|PP P-NUMMOM1 M Number based statistical moment for r^1
O|TP|PP P-NUMMOM2 M2 Square root of number based statistical moment for r^2
O|TP|PP P-NUMMOM3 M3 Cube root of number based statistical moment for r^3
O|TP|PP P-RO KG/M3 Density of UD Phase
O|TP|PP P-SAUTER M Sauter mean diameter
XYT P-SD NoUnit Particle size distribution
O|TP|PP P-STATP1 M Statistical parameter - mean value
O|TP|PP P-STATP2 M Statistical parameter - standard deviation
O|TP|PP P-STATP3 NoUnit Statistical parameter - skewness
CSP U-PROFILE m/s Velocity profile along the pipe diameter

Link to: ParticleField Variables Description Variables

ParticlePhase Variables
Description ( See also: Variables)

ParticlePhase Variables ( See also: Description)


Use as Name Units Definition

Volume Variables
1024 P-CON Concentration of particles along the pipe diameter

Link to: ParticlePhase Variables Description Variables


ParticlePhaseAndHeight Variables
Description ( See also: Variables)

ParticlePhaseAndHeight Variables ( See also: Description)


Use as Name Units Definition

Volume Variables
1024 P-SD Particle size distribution

Link to: ParticlePhaseAndHeight Variables Description Variables

Pig Variables
Description ( See also: Variables)

Αλλ τηε ϖαριαβλεσ τηατ αρε αϖαιλαβλε φορ Σλυγ τραχκινγ χαν βε υσεδ ωιτη Πιγ. Ηοωεϖερ, νοτ αλλ οφ τηε ϖαριαβλεσ αρε ρελεϖαντ. Τηε πιγ ϖαριαβλεσ ωιτη τηειρ
εθυιϖαλεντ σλυγτραχκινγ ϖαριαβλεσ αρε λιστεδ βελοω.

Pig variable Equivalent slugtracking variable


ALGL ΑΛΤΣΒ
ALGR ΑΛΤΣΛ
HOLHLL ΒΕΗΛΤΣΒ + ΓΑΗΛΤΣΒ
HOLHLR ΒΕΗΛΤΣΛ
HOLWTL ΒΕΩΤΤΣΒ + ΓΑΩΤΤΣΒ
HOLWTR ΒΕΩΤΤΣΛ
UPIG ΥΣΤ
ZPIG ΖΤΣΛ

Ωηεν τηε κεψ ΤΡΑΧΚΣΛΥΓ=ΟΝ, τηε ΠΙΓ µαψ βε ωιτηουτ σλυγ, βε α σλυγ ταιλ (πιγ το τηε λεφτ οφ τηε σλυγ) ορ βε α σλυγ φροντ (πιγ το τηε ριγητ οφ τηε σλυγ)

ΤΡΕΝ∆∆ΑΤΑ ΠΙΓ=ΠΙΓ−1, ςΑΡΙΑΒΛΕ=ΥΣΤ (σαµε ασ ΥΠΙΓ)

ΤΡΕΝ∆ΑΤΑ ΠΙΓ=ΠΙΓ−1, ςΑΡΙΑΒΛΕ= ΒΕΗΛΤΣΒ


Τηισ σηουλδ βε υσεδ ωιτη χαυτιον. Ιφ τηε πιγ ισ α σλυγ ταιλ, ΒΕΗΛΤΣΒ ρεπρεσεντσ τηε ηολδυπ το τηε λεφτ οφ τηε πιγ. Ιφ τηε πιγ ισ α σλυγ φροντ, ΒΕΗΛΤΣΒ ρεπρεσεντσ τηε
ηολδυπ το τηε ριγητ οφ τηε πιγ.

ΤΡΕΝ∆∆ΑΤΑ ΠΙΠΕ=ΠΙΠΕ−1, ΣΕΧΤΙΟΝ=5, ςΑΡΙΑΒΛΕ=ΗΟΛΕΞΠ


Τηισ ωορκσ τηε σαµε ωαψ ασ φορ σλυγτραχκινγ.

Pig Variables ( See also: Description)


Use as Name Units Definition

Pig Variables
O|TP|C|GTP ALGL - Void behind pig
O|TP|C|GTP ALGR - Void ahead pig
O|TP|C|GTP GAL - Droplet fraction behind pig
O|TP|C|GTP GAR - Droplet fraction ahead pig
O|TP|C|GTP HOLHLL - Oil holdup behind pig
O|TP|C|GTP HOLHLR - Oil holdup ahead pig
O|TP|C|GTP HOLWTL - Water holdup behind pig
O|TP|C|GTP HOLWTR - Water holdup ahead pig
O|TP|C|GTP IDL - Flow regime behind pig (only valid without TRACKSLUG)
O|TP|C|GTP IDR - Flow regime ahead pig (only valid without TRACKSLUG)
O|TP|C|GTP LIQCDOWN M3 Liquid content between plug and trap position
O|TP|C|GTP LIQCUP M3 Liquid content between launch position and plug
O|TP|C|GTP PIGM KG Pig mass
O|TP|C|GTP PIGSTA NoUnit Pig status: 0=Not pigging, 2=Pigging
O|TP|C|GTP REMDIST M Remaining distance for pig
O|TP|C|GTP REMTIME_AVRG S Averaged remaining travel time for pig
O|TP|C|GTP RPIG NoUnit Pig leakage factor
O|TP|C|GTP UPIG M/S Pig velocity
O|TP|C|GTP UPIG_AVRG M/S Averaged velocity for pig
O|TP|C|GTP ZPIG M Pig position in branch
O|TP|C|GTP ZZPIG M Pig total distance travelled

Link to: Pig Variables Description Variables

Pump Variables
Description ( See also: Variables)

Pump Variables ( See also: Description)


Use as Name Units Definition

Pump Variables
O|TP|C|GTP ACCTRIP NoUnit Overall number of times the pump has tripped
O|TP|C|GTP GPMINFLOW - Minimum flow limit/total flow
O|TP|C|GTP GPPOW - Used power/available power
O|TP|C|GTP GPRECFLOW - Volumetric flow in recirculation/total volumetric flow
O|TP|C|GTP GPTHRUST - Pump pressure differential/maximum pump pressure differential
O|TP|C|GTP GVFMIX - Gas volume fraction in mixer
O|TP|C|GTP LLMIX M Liquid level mixer
O|TP|C|GTP PUBYGG KG/S Gas mass flow through bypass line
O|TP|C|GTP PUBYGL KG/S Liquid mass flow through bypass line
O|TP|C|GTP PUBYGT KG/S Total mass flow through bypass line
O|TP|C|GTP PUBYVALVOP - Relative valve opening in bypass line
O|TP|C|GTP PUMPDP PA Pressure difference between pump outlet and inlet
O|TP|C|GTP PUMPGG KG/S Gas mass flow through the pump
O|TP|C|GTP PUMPGL KG/S Liquid mass flow through the pump
O|TP|C|GTP PUMPGT KG/S Total mass flow through the pump
O|TP|C|GTP PUMPHEAT W Heat added to fluid in pump
O|TP|C|GTP PUMPHP W Hydraulic horsepower
O|TP|C|GTP PUMPQB M3/S Pump back flow (volume)
O|TP|C|GTP PUMPQG M3/S Gas volume flow through the pump
O|TP|C|GTP PUMPQL M3/S Liquid volume flow through the pump
O|TP|C|GTP PUMPQT M3/S Total volume flow through the pump
O|TP|C|GTP PUMPSPEED RPM Pump speed
O|TP|C|GTP PUMPTH NM Pump hydraulic torque
O|TP|C|GTP PUMPTT W Total pump power
O|TP|C|GTP PUMPVALDP PA Pressure drop over valve in pump position
O|TP|C|GTP PUMPVALVOP - Relative valve opening
O|TP|C|GTP PUREGG KG/S Recycle gas mass flow
O|TP|C|GTP PUREGL KG/S Recycle liquid mass flow
O|TP|C|GTP PUREGT KG/S Total recycle mass flow
O|TP|C|GTP PUREGW KG/S Recycle water mass flow
O|TP|C|GTP PUREQT M3/S Total volumetric recycle flow
O|TP|C|GTP PUREVALVOP - Relative valve opening in recycle line
O|TP|C|GTP TCM NoUnit Choke dead band counter
O|TP|C|GTP TEMPDISCH C Temperature at pump outlet
O|TP|C|GTP TRIP NoUnit Trip signal

Link to: Pump Variables Description Variables

Separator Variables
Description ( See also: Variables)

QGSTξD, QLSTξD, QOSTξD and QWSTξD (ξ = E, D, O and W) are given at standard conditions (60 oF, 1 atm). A single stage flash from in-situ to standard conditions has
been performed, that is, mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF.
For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion. It should be noted that for simulations
using PVT tables (not CompTrack), the variables for each drain is not accurate since the flashing is performed using the PVT tables for the total composition. Note: These
variables are CPU demanding for Compositional Tracking simulations since a flash must be performed for each section and time they are plotted, and should be
used with care.

In addition to the SEPARATOR variables are many VOLUME variables available for the separator

Separator Variables ( See also: Description)


Use as Name Units Definition

Separator Variables
NS ACMDGS KG Separator: accumulated gas mass flow gas outlet
NS ACMDHL KG Separator: accumulated total oil mass drain
NS ACMDWT KG Separator: accumulated total water mass drain
NS ACMGDGS KG Separator: accumulated gas mass flow gas outlet
NS ACMODHL KG Separator: accumulated oil mass flow oil drain
NS ACMODWT KG Separator: accumulated water mass flow oil drain
NS ACMWDHL KG Separator: accumulated oil mass flow water drain
NS ACMWDWT KG Separator: accumulated water mass flow water drain
NS ACVDGS M3 Separator: accumulated gas volume flow gas outlet
NS ACVDHL M3 Separator: accumulated total oil volume drain
NS ACVDWT M3 Separator: accumulated total water volume drain
NS ACVGDGS M3 Separator: accumulated gas volume flow gas outlet
NS ACVODHL M3 Separator: accumulated oil volume flow oil drain
NS ACVODWT M3 Separator: accumulated water volume flow oil drain
NS ACVWDHL M3 Separator: accumulated oil volume flow water drain
NS ACVWDWT M3 Separator: accumulated water volume flow water drain
NS GGGDCONVST SM3/S Separator gas train gas mass rate divided by standard conditions density
NS GNGDGS KG/S Separator: gas mass flow rate gas outlet
NS GNGDHL KG/S Separator: oil mass flow rate gas outlet
NS GNGDWT KG/S Separator: water mass flow rate gas outlet
NS GNINDHL KG/S Separator: oil droplet mass flow rate inlet
NS GNINDWT KG/S Separator: water droplet mass flow rate inlet
NS GNINGS KG/S Separator: gas mass flow rate inlet
NS GNINLHL KG/S Separator: oil film mass flow rate inlet
NS GNINLWT KG/S Separator: water film mass flow rate inlet
NS GNODHL KG/S Separator: oil mass flow rate oil drain
NS GNODWT KG/S Separator: water mass flow rate oil drain
NS GNWDHL KG/S Separator: oil mass flow rate water drain
NS GNWDWT KG/S Separator: water mass flow rate water drain
NS GTDGS KG/S Separator: total gas mass flow gas outlet
NS GTDHL KG/S Separator: total oil mass drain rate
NS GTDWT KG/S Separator: total water mass drain rate
NS LIQLV M Separator liquid level
NS OILLV M Separator oil level
NS PTBOTTUMN PA Pressure at liquid outlets
NS PTSEP PA Separator pressure
NS QGSTGD SM3/S Separator gas train gas volume flow at standard conditions
NS QGSTOD SM3/S Separator oil train gas volume flow at standard conditions
NS QGSTWD SM3/S Separator water train gas volume flow at standard conditions
NS QLSTGD SM3/S Separator gas train liquid volume flow at standard conditions
NS QLSTOD SM3/S Separator oil train liquid volume flow at standard conditions
NS QLSTWD SM3/S Separator water train liquid volume flow at standard conditions
NS QNGD M3/S Separator: flow rate at gas outlet
NS QNOD M3/S Separator: oil drain flow rate
NS QNWD M3/S Separator: water drain flow rate
NS QOSTGD SM3/S Separator gas train oil volume flow at standard conditions
NS QOSTOD SM3/S Separator oil train oil volume flow at standard conditions
NS QOSTWD SM3/S Separator water train oil volume flow at standard conditions
NS QTDGS M3/S Separator: total gas volume flow gas outlet
NS QTDHL M3/S Separator: total oil volume drain rate
NS QTDWT M3/S Separator: total water volume drain rate
NS QWSTGD SM3/S Separator gas train water volume flow at standard conditions
NS QWSTOD SM3/S Separator oil train water volume flow at standard conditions
NS QWSTWD SM3/S Separator water train water volume flow at standard conditions
NS SEPEFF - Separator efficiency
NS TMSEP C Separator temperature
NS WATLV M Separator water level

Link to: Separator Variables Description Variables

SlugTracking Variables
Description ( See also: Variables)

There are four main groups of slug tracking variables:

1. Global variables:

NSLUG, SLUPRO

2. Variables for plotting properties of a specific unique slug:

ALFSB, ALFSL, ALTSB, ALTSL, BEFSB, BEFSL, BETSB, BETSL, BEHLFSB, BEHLFSL, BEHLTSB, BEHLTSL, BEWTFSB, BEWTFSL, BEWTTSB, BEWTTSL,
GAFSB, GAFSL, GATSB, GATSL, GAHLFSB, GAHLFSL, GAHLTSB, GAHLTSL, GAWTFSB, GAWTFSL, GAWTTSB, GAWTTSL, DPSB, DPSBF, DPSL, DPSLF,
DPSLG, JSLT, JSLF, LSL, LSB, PTJF, PTJT, SLUQT, SLUQF, SLTYPT, SLTYPF, UGFSB, UGFSL, UGTSB, UGTSL, ULFSB, ULFSL, ULTSB, ULTSL, USF,
UST, ZTSL, ZFSL, ULHLFSB, ULHLFSL, ULHLTSB, ULHLTSL, ULWTFSB, ULWTFSL, ULWTTSB, ULWTTSL

These variables show the development of unique slugs as they pass through the pipeline.

3. Variables for plotting properties of slugs passing at a specified section boundary:

SIDEXP, USTEXP, USFEXP, LSLEXP, LSBEXP, QTEXP, QFEXP, ZSTEXP, ZSFEXP


These variables are nonzero only when the specified integer pipeline position is within a liquid slug.

4. Modified "standard" OLGA variables accounting for the effects of the slug tracking option at a specified section boundary:

ALEXP, BEEXP, BEHLEXP, BEWTEXP, GAEXP, GAHLEXP, GAWTEXP, HOLEXP, HOLHLEXP, HOLWTEXP, UGEXP, ULEXP, ULHLEXP, ULWTEXP, UDEXP,
UDHLEXP, UDWTEXP

Fig. 1 Definition sketch of position and length plot variables for the slug tracking option

Fig. 2 Definition sketch of void plot variables for the slug tracking option

Fig. 3 Definition sketch of velocity plot variables for the slug tracking option

SlugTracking Variables ( See also: Description)


Use as Name Units Definition

Boundary Variables
O|TP|PP|C ALEXP - Void fraction in slug (no slug: AL)
O|TP|PP|C BEEXP - Liquid film fraction in slug (no slug: BE)
O|TP|PP|C BEHLEXP - Oil film fraction in slug (no slug: BEHL)
O|TP|PP|C BEWTEXP - Water film fraction in slug (no slug: BEWT)
O|TP|PP|C GAEXP - Liquid droplet fraction in slug (no slug: GA)
O|TP|PP|C GAHLEXP - Oil droplet fraction in slug (no slug: GAHL)
O|TP|PP|C GAWTEXP - Water droplet fraction in slug (no slug: GAWT)
O|TP|PP|C HOLEXP - Liquid holdup in slug (no slug: HOL)
O|TP|PP|C HOLHLEXP - Oil holdup in slug (no slug: HOLHL)
O|TP|PP|C HOLWTEXP - Water holdup in slug (no slug: HOLWT)
O|TP|PP|C LSBEXP M Bubble length (no slug: 0)
O|TP|PP|C LSLEXP M Slug length (no slug: 0)
O|TP|PP|C QFEXP M/S Volume flux through slug front (no slug: 0)
O|TP|PP|C QTEXP M/S Volume flux through slug tail (no slug: 0)
O|TP|PP|C SIDEXP NoUnit Slug identification (no slug: 0)
O|TP|PP|C SLTYPFEXP NoUnit Type of slug front
O|TP|PP|C SLTYPTEXP NoUnit Type of slug tail
O|TP|PP|C UDEXP M/S Droplet velocity in slug (no slug: UD)
O|TP|PP|C UDHLEXP M/S Oil droplet velocity in slug (no slug: UDHL)
O|TP|PP|C UDWTEXP M/S Water droplet velocity in slug (no slug: UDWT)
O|TP|PP|C UGEXP M/S Gas velocity in slug (no slug: UG)
O|TP|PP|C ULEXP M/S Liquid velocity in slug (no slug: UL)
O|TP|PP|C ULHLEXP M/S Oil film velocity in slug (no slug: ULHL)
O|TP|PP|C ULWTEXP M/S Water film velocity in slug (no slug: ULWT)
O|TP|PP|C USFEXP M/S Slug front velocity (no slug: 0)
O|TP|PP|C USTEXP M/S Slug tail velocity (no slug: 0)
O|TP|PP|C ZSFEXP M Slug front position (no slug: 0)
O|TP|PP|C ZSTEXP M Slug tail position (no slug: 0)

Global Variables
GTO|GTP NSLUG NoUnit Total number of slugs in the pipeline
GTO|GTP SLUPRO NoUnit Number of slugs initiated
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
TP GAWTFSB - Water droplet fraction ahead of slug front
TP GAWTFSL - Water droplet fraction behind of slug front
TP GAWTTSB - Water droplet fraction behind slug tail
TP GAWTTSL - Water droplet fraction ahead slug tail
TP HOLFSB - Liquid holdup ahead of slug front
TP HOLFSL - Liquid holdup behind slug front
TP HOLHLFSB - Oil holdup ahead of slug front
TP HOLHLFSL - Oil holdup behind slug front
TP HOLHLTSB - Oil holdup behind slug tail
TP HOlHLTSL - Oil holdup ahead of slug tail
TP HOLTSB - Liquid holdup behind slug tail
TP HOlTSL - Liquid holdup ahead of slug tail
TP HOLWTFSB - Water holdup ahead of slug front
TP HOLWTFSL - Water holdup behind slug front
TP HOLWTTSB - Water holdup behind slug tail
TP HOlWTTSL - Water holdup ahead of slug tail
TP JSLF NoUnit Section number of slug front
TP JSLT NoUnit Section number of slug tail
TP LSB M Slug bubble length
TP LSL M Slug length
TP PTJF PA Pressure at slug front
TP PTJT PA Pressure at slug tail
TP SID NoUnit Slug id
TP SLTYPF NoUnit Type of slug front
TP SLTYPT NoUnit Type of slug tail
TP SLUQF M/S Volume flux throgh slug front
TP SLUQT M/S Volume flux throgh slug tail
TP UDFSB M/S Droplet velocity ahead of slug front
TP UDFSL M/S Droplet velocity behind slug front
TP UDHLFSB M/S Oil droplet velocity ahead of slug front
TP UDHLFSL M/S Oil droplet velocity behind slug front
TP UDHLTSB M/S Oil droplet velocity behind slug tail
TP UDHLTSL M/S Oil droplet velocity ahead of slug tail
TP UDTSB M/S Droplet velocity behind slug tail
TP UDTSL M/S Droplet velocity ahead of slug tail
TP UDWTFSB M/S Water droplet velocity ahead of slug front
TP UDWTFSL M/S Water droplet velocity behind slug front
TP UDWTTSB M/S Water droplet velocity behind slug tail
TP UDWTTSL M/S Water droplet velocity ahead of slug tail
TP UGFSB M/S Gas velocity ahead of slug front
TP UGFSL M/S Gas velocity behind slug front
TP UGTSB M/S Gas velocity behind slug tail
TP UGTSL M/S Gas velocity ahead of slug tail
TP ULFSB M/S Liquid velocity ahead of slug front
TP ULFSL M/S Liquid velocity behind slug front
TP ULHLFSB M/S Oil velocity ahead of slug front
TP ULHLFSL M/S Oil velocity behind slug front
TP ULHLTSB M/S Oil velocity behind slug tail
TP ULHLTSL M/S Oil velocity ahead of slug tail
TP ULTSB M/S Liquid velocity behind slug tail
TP
ULTSL M/S Liquid velocity ahead of slug tail
TP ULWTFSB M/S Water velocity ahead of slug front
TP ULWTFSL M/S Water velocity behind slug front
TP ULWTTSB M/S Water velocity behind slug tail
TP ULWTTSL M/S Water velocity ahead of slug tail
TP USF M/S Slug front velocity
TP UST M/S Slug tail velocity
TP ZFSL M Slug front position
TP ZTSL M Slug tail position

Link to: SlugTracking Variables Description Variables

Source Variables
Description ( See also: 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.

Source Variables ( See also: Description)


Use as Name Units Definition

Source Variables
O|TP|C|GTP DGGSDP kg/s-Pa Gas mass flow derivative w.r.t. pressure
O|TP|C|GTP DGLTHLSDP kg/s-Pa Oil mass flow derivative w.r.t. pressure
O|TP|C|GTP DGLTWTSDP kg/s-Pa Water mass flow derivative w.r.t. pressure
O|TP|C|GTP DPDGGS Pa-s/kg Pressure derivative w.r.t. gas mass flow
O|TP|C|GTP DPDGLTHLS Pa-s/kg Pressure derivative w.r.t. oil mass flow
O|TP|C|GTP DPDGLTWTS Pa-s/kg Pressure derivative w.r.t. water mass flow
O|TP|C|GTP GGSOUR KG/S Source gas mass rate
O|TP|C|GTP GLHLMA KG/S Source oil mass rate
O|TP|C|GTP GLSOUR KG/S Source liquid mass rate
O|TP|C|GTP GLWTMA KG/S Source water mass rate
O|TP|C|GTP GTSOUR KG/S Source mass rate
O|TP|C|GTP HSOURC W Source enthalpy
O|TP|C|GTP PTSOUR PA Valve-source pressure
O|TP|C|GTP QGSTSOUR SM3/S Source gas volume flow at standard conditions
O|TP|C|GTP QLSTSOUR SM3/S Source liquid volume flow at standard conditions
O|TP|C|GTP QOSTSOUR SM3/S Source oil volume flow at standard conditions
O|TP|C|GTP QWSTSOUR SM3/S Source water volume flow at standard conditions
O|TP|C|GTP TMSOUR C Valve-source temperature
O|TP|C|GTP TSOUR C Source temperature
O|TP|C|GTP USGSOU M/S Source superf. gas velocity

Link to: Source Variables Description Variables

SteamAndSingle Variables
Description ( See also: Variables)

Steam and single component variables can only be used when COMPOSITIONAL=STEAMWATER-HC or COMPOSITIONAL=SINGLE in the OPTIONS keyword.

SteamAndSingle Variables ( See also: Description)


Use as Name Units Definition

Volume Variables
O|TP|PP|C PSAT PA Saturation pressure at fluid temperature
O|TP|PP|C PVAP PA Partial pressure of vapor
O|TP|PP|C TSAT C Saturation temperature at system pressure
O|TP|PP|C TSV C Vapor temperature

Link to: SteamAndSingle Variables Description Variables


TracerTracking Variables
Description ( See also: Variables)

Tracer tracking variables can only be used when TRACERTRACKING=ON in the OPTIONS keyword.

TracerTracking Variables ( See also: Description)


Use as Name Units Definition

FeedAge Variables
O|TP|PP|C AGEDTRACER S Droplet age of tracer age group
O|TP|PP|C AGEFTRACER S Film age of tracer age group
O|TP|PP|C AGETRACER S Age of tracer age group
O|TP|PP|C CONCTRACEROIL - Conc.wrt. oil carrier phase of tracer age group
O|TP|PP|C CONCTRACERWATER - Conc. wrt. water carrier phase of tracer age group
O|TP|PP|C GDHLTRACER KG/S Mass flow rate of oil in droplet field of tracer age group
O|TP|PP|C GDTRACER KG/S Droplet mass flow of tracer age group
O|TP|PP|C GDWTTRACER KG/S Mass flow rate of water in droplet field of tracer age group
O|TP|PP|C GGTRACER KG/S Gas mass flow of tracer age group
O|TP|PP|C GLHLTRACER KG/S Mass flow rate of oil in film of tracer age group
O|TP|PP|C GLTHLTRACER KG/S Mass flow rate of oil of tracer age group
O|TP|PP|C GLTRACER KG/S Liquid bulk mass flow of tracer age group
O|TP|PP|C GLTTRACER KG/S Total liquid mass flow of tracer age group
O|TP|PP|C GLTWTTRACER KG/S Mass flow rate of water excluding vapour of tracer age group
O|TP|PP|C GLWTTRACER KG/S Mass flow rate of water in film of tracer age group
O|TP|PP|C GTTRACER KG/S Total mass flow rate of tracer for tracer age group
O|TP|PP|C MDTRACER KG Droplet mass of tracer age group
O|TP|PP|C MGTRACER KG Mass of gas of tracer age group
O|TP|PP|C MLHLTRACER KG Mass of oil in film of tracer age group
O|TP|PP|C MLTHLTRACER KG Mass of oil of tracer age group
O|TP|PP|C MLTRACER KG Film mass of tracer age group
O|TP|PP|C MLTTRACER KG Total liquid mass of tracer age group
O|TP|PP|C MLTWTTRACER KG Mass of water in film of tracer age group
O|TP|PP|C MLWTTRACER KG Mass of water excluding vapour of tracer age group
O|TP|PP|C MTRACER KG Mass of tracer age group
O|TP|PP|C SMDTRACER KG/M3 Specific droplet mass of tracer age group
O|TP|PP|C SMGTRACER KG/M3 Specific mass of gas of tracer age group
O|TP|PP|C SMLHLTRACER KG/M3 Specific mass of oil in film of tracer age group
O|TP|PP|C SMLTHLTRACER KG/M3 Specific mass oil of of tracer age group
O|TP|PP|C SMLTRACER KG/M3 Specific film mass of tracer age group
O|TP|PP|C SMLTTRACER KG/M3 Specific total liquid mass of tracer age group
O|TP|PP|C SMLTWTTRACER KG/M3 Specific mass of water in film of tracer age group
O|TP|PP|C SMLWTTRACER KG/M3 Specific mass of water excluding vapour of tracer age group
O|TP|PP|C SMTRACER KG/M3 Specific mass of tracer age group
O|TP|PP|C XTRACEROIL - Mass fraction wrt. oil carrier phase of tracer age group
O|TP|PP|C XTRACERWATER - Mass fraction wrt. water carrier phase of tracer age group

Source Variables
TP|GTP GSTRACER KG/S Tracer source mass flow rate

TracerFeed Variables
O|TP|PP|C CONCTOTTRACEROIL - Conc. wrt. oil carrier phase of tracer feed
O|TP|PP|C CONCTOTTRACERWATER - Conc. wrt. water carrier phase of tracer feed
O|TP|PP|C GTOTTRACER KG/S Total mass flow rate of tracer feed
O|TP|PP|C MTOTTRACER KG Mass of tracer feed
O|TP|PP|C RESTIMED S Droplet residence time of tracer feed
O|TP|PP|C RESTIMEL S Film residence time of tracer feed
O|TP|PP|C RESTIMET S Residence time of tracer feed
O|TP|PP|C SMDTOTTRACER KG/M3 Specific droplet mass of tracer feed
O|TP|PP|C SMLTOTTRACER KG/M3 Specific film mass of tracer feed
O|TP|PP|C SMTOTTRACER KG/M3 Specific mass of tracer feed
O|TP|PP|C TOTAGETRACER S Average age of tracer feed
O|TP|PP|C XTOTTRACEROIL - Mass fraction wrt. oil carrier phase of tracer feed
O|TP|PP|C XTOTTRACERWATER - Mass fraction wrt. water carrier phase of tracer feed

Link to: TracerTracking Variables Description Variables

Valve Variables
Description ( See also: Variables)

Valve Variables ( See also: Description)


Use as Name Units Definition
Valve Variables
O|TP|C|GTP ARCH M2 Choke area
O|TP|C|GTP CV NoUnit Valve CV (0 for chokes)
O|TP|C|GTP GCRIT KG/S Critical mass flow rate
O|TP|C|GTP GVALVE KG/S Valve mass flow
O|TP|C|GTP ICRIT NoUnit Valve critical flow: 0=subcrit, 1=crit
O|TP|C|GTP PVALVE PA Valve pressure
O|TP|C|GTP THROATSLIP NoUnit Slip ratio in throat (Ug/Ul)
O|TP|C|GTP TTHRC C Critical temperature at throat
O|TP|C|GTP TVALVE C Valve temperature
O|TP|C|GTP TVALVEOUT C Temperature at valve outlet
O|TP|C|GTP UCRIT M/S Critical velocity at throat
O|TP|C|GTP UVALVE M/S Valve velocity
O|TP|C|GTP VALSCC NoUnit Valve sub-critical coefficient
O|TP|C|GTP VALVAR M2 Valve flow area
O|TP|C|GTP VALVDP PA Subcritical pressure drop across valve
O|TP|C|GTP VALVOP NoUnit Relative valve opening
O|TP|C|GTP WCRIT KG/S-M2 Critical mass flux at throat

Link to: Valve Variables Description Variables

Volume Variables
Description ( See also: 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.

Volume Variables ( See also: Description)


Use as Name Units Definition

Volume Variables
O|TP|PP|C ACCDPZA PA Integrated additional pressure drop along branch
O|TP|PP|C ACCDPZF PA Integrated frictional pressure drop along branch
O|TP|PP|C ACCDPZG PA Integrated gravitational pressure drop along branch
O|TP|PP|C ACCLIQBR M3 Accumulated liquid volume along branch
O|TP|PP|C ACCOILBR M3 Accumulated oil volume along branch
O|TP|PP|C ACCWATBR M3 Accumulated water volume along branch
O|TP|PP|NS|NN AL - Void (gas volume fraction)
O|TP|PP|C ANGLE NoUnit Pipe angle
O|TP|PP|NS|NN BE - Liquid film volume fraction
O|TP|PP|NS|NN BEHL - Oil film volume fraction
O|TP|PP|C BEHLCONT NoUnit Oil continuous fraction
O|TP|PP|C BEHLDISP NoUnit Oil dispersed in water fraction
O|TP|PP|NS|NN BEWT - Water film volume fraction
O|TP|PP|C BEWTCONT NoUnit Water continuous fraction
O|TP|PP|C BEWTDISP NoUnit Water dispersed in oil fraction
O|TP|PP|C CPG J/KG-C Specific heat of gas phase
O|TP|PP|C CPHL J/KG-C Specific heat of oil phase
O|TP|PP|C CPWT J/KG-C Specific heat of water phase
O|TP|PP|C CVOL NoUnit volume error control factor
O|TP|PP|C DIAM M Pipe diameter
O|TP|PP|C DIAMEFF M Effective Pipe Diameter
O|TP|PP|C DPHYD PA Difference between section and hydrate pressure
O|TP|PP|C DPT PA/S Time derivative of pressur
O|TP|PP|C DPZ PA/M Space derivative of pressure
O|TP|PP|C DRGP KG/M-N Pressure derivative of gas density
O|TP|PP|C DRHLDP S2/M2 Pressure derivative of oil density
O|TP|PP|C DRWTDP S2/M2 Pressure derivative of water density
O|TP|PP|C DTHYD C Difference between hydrate and section temperature
O|TP|PP|C DTM C/S Time derivative of temperature
O|TP|PP|C ESTRESTIMEW S Residence time of water
O|TP|PP|NS|NN GA - Liquid droplet volume fraction
O|TP|PP|NS|NN GAHL - Oil droplet volume fraction
O|TP|PP|C GASMFR - Gas mass fraction relative to the mass from all phases
O|TP|PP|NS|NN GAWT - Water droplet volume fraction
O|TP|PP|C HDIAM M Hydraulic diameter
O|TP|PP|C HG J/KG Enthalpy gas
O|TP|PP|C HL J/KG Enthalpy liquid
O|TP|PP|NS|NN HOL - Holdup (liquid volume fraction)
O|TP|PP|C HOLHL - Oil volume fraction
O|TP|PP|C HOLWT - Water volume fraction
O|TP|PP|C HTK W/M2-C Heat transfer coefficient of inner wall
O|TP|PP|C HTKO W/M2-C Ambient heat transfer coefficient
O|TP|PP|C IDIAM M Inner diameter
O|TP|PP|C INCL DEGREE Inclination from horizontal
O|TP|PP|C INHIBMFR - Inhibitor mass fraction in water
O|TP|PP|C KAPPA 1/Pa Compressibility of fluid
O|TP|PP|C KAPPAWALL 1/Pa Compressibility of pipe wall
O|TP|PP|C MACH - Mach number
O|TP|PP|NS|NN MD KG/M3 Specific mass droplet
O|TP|PP|NS|NN MDHL KG/M3 Specific mass of oil droplets
O|TP|PP|NS|NN MDWT KG/M3 Specific mass of water droplets
O|TP|PP|NS|NN MG KG/M3 Specific mass gas
O|TP|PP|C MHLCONT KG/M3 Specific oil continuous mass
O|TP|PP|C MHLDISP KG/M3 Specific oil dispersed in water mass
O|TP|PP|NS|NN ML KG/M3 Specific mass liquid
O|TP|PP|NS|NN MLHL KG/M3 Specific mass of oil in film
O|TP|PP|C MLT KG/M3 Total liquid mass
O|TP|PP|C MLTHL KG/M3 Specific mass oil
O|TP|PP|C MLTWT KG/M3 Specific mass water
O|TP|PP|NS|NN MLWT KG/M3 Specific mass of water in film
O|TP|PP|C MWTCONT KG/M3 Specific water continuous mass
O|TP|PP|C MWTDISP KG/M3 Specific water dispersed in oil mass
O|TP|PP|C OILMFR - Oil mass fraction relative to the mass from all phases
O|TP|PP|C PSI KG/M3-S Mass rate of flashing to gas phase
O|TP|PP|C PSIHL KG/M3-S Mass rate of flashing from oil phase
O|TP|PP|C PSIWT KG/M3-S Mass rate of flashing from water phase
O|TP|PP|NS|NN PT PA Pressure
O|TP|PP|C PTMAX PA Maximum pressure
O|TP|PP|C PTMIN PA Minimum pressure
O|TP|PP|C Q2 W/M2-C Overall heat transfer coefficient
O|TP|PP|C QIN W/M Heat transfer from inner pipe wall to fluid
O|TP|PP|C QM W/M Heat loss per unit length from pipe wall to fluid
O|TP|PP|C RELLENGTH M Relative section Length from start of flowpath
O|TP|PP|C ROG KG/M3 Density of gas
O|TP|PP|C ROHL KG/M3 Oil density
O|TP|PP|C ROL KG/M3 Density of liquid
O|TP|PP|C ROWT KG/M3 Water density
Gas mass fraction relative to hydrocarbon liquid and gas mass: (MG/
O|TP|PP|C RS -
(MG+MLTHL)) from PVT table
O|TP|PP|C RSW - Mass fraction of water vapour in gas
O|TP|PP|C SECLENGTH M Section length
O|TP|PP|C SEG J/KG-K Gas entropy
O|TP|PP|C SEL J/KG-K Liquid entropy
O|TP|PP|C SIG N/M Surface tension
O|TP|PP|C SSP M/S Speed of sound in fluid
O|TP|PP|C TCONG W/M-K Thermal conductivity of gas phase
O|TP|PP|C TCONHL W/M-K Thermal conductivity of oil phase
O|TP|PP|C TCONWT W/M-K Thermal conductivity of water phase
O|TP|PP|C TINHIBMFR - Total inhibitor mass fraction in water+ vapor
O|TP|PP|NS|NN TM C Fluid temperature
O|TP|PP|C TMMAX C Maximum Fluid temperature
O|TP|PP|C TMMIN C Minimum Fluid temperature
O|TP|PP|C TU C Ambient temperature
O|TP|PP|C TW C Temperature in center of gravity of wall (-100 C for non-existing layers)
O|TP|PP|C TWATMFR - Total water mass fraction
O|TP|PP|C TWS C Inner wall surface temperature
O|TP|PP|C TWSO C Outer wall surface temperature
O|TP|PP|C UHLDISP M/S Oil dispersed in water velocity
O|TP|PP|C UWTDISP M/S Water dispersed in oil velocity
O|TP|PP|C VISG N-S/M2 Gas viscosity
O|TP|PP|C VISHL N-S/M2 Oil viscosity including wax/meg/mud effects
O|TP|PP|C VISHLEFF N-S/M2 Effective oil viscosity including dispersion effects
O|TP|PP|C VISHLTAB N-S/M2 Oil viscosity from fluid tables
O|TP|PP|C VISL N-S/M2 Liquid viscosity (no water-slip)
O|TP|PP|C VISWT N-S/M2 Water viscosity including wax/meg/mud effects
O|TP|PP|C VISWTEFF N-S/M2 Effective water viscosity including dispersion effects
O|TP|PP|C VISWTTAB N-S/M2 Water viscosity from fluid tables
O|TP|PP|NS|NN VOL - Volume error
O|TP|PP|C VOLCHANGE - Relative change in volume
O|TP|PP|C WACBEWA - Volume fraction of free water to total liquid film
O|TP|PP|C WACWA - Volume fraction of free water to total water in film
O|TP|PP|C WALLROUGH M Pipe wall roughness
O|TP|PP|C WATMFR - Water mass fraction relative to the mass from all phases
O|TP|PP|C WC - Water cut (In-situ)
O|TP|PP|C WCWALL - Water cut near wall

Link to: Volume Variables Description Variables

Waxdeposition Variables
Description ( See also: Variables)

Wax deposition variables can only be used when WAXDEPOSITION=ON in the OPTIONS keyword.

Waxdeposition Variables ( See also: Description)


Use as Name Units Definition
Boundary Variables
O|TP|PP|C ACCGLTWL KG Accumulated dissolved wax mass flow
O|TP|PP|C ACCGLTWS KG Accumulated suspended wax mass flow
O|TP|PP|C GWXDIP KG/S Mass flow rate of wax dispersed in oil
O|TP|PP|C GWXDIS KG/S Mass flow rate of wax dissolved in oil

Branch Variables
O|TP|C|GTP MLTWLBR KG Mass of dissolved wax in branch
O|TP|C|GTP MLTWSBR KG Mass of suspended wax in branch
O|TP|C|GTP MTWXBR KG Total mass of wax in branch
O|TP|C|GTP WAXMASBR KG Wax deposit mass in branch
O|TP|C|GTP WAXVOLBR M3 Wax deposit volume in branch

Pig Variables
O|TP|C|GTP ACCPWXM KG Accumulated wax mass removed from wall by pig
O|TP|C|GTP ACCPWXV M3 Accumulated wax volume removed from wall by pig
O|TP|C|GTP PIGWXBRF N Pig-wax breaking force
O|TP|C|GTP PIGWXPFF N Pig-wax plug friction force
O|TP|C|GTP PIGWXPLASTV N-S/M2 Pig-wax plug plastic viscosity
O|TP|C|GTP PIGWXPLEN M Pig-wax plug friction length
O|TP|C|GTP PIGWXYIELDS PA Pig-wax plug yield stress

Volume Variables
O|TP|PP|C BEWX - Volume fraction of wax dispersed in oil film
O|TP|PP|C DXWX M Thickness of wax layer deposited at wall
O|TP|PP|C GAWX - Volume fraction of wax dispersed in oil droplet field
O|TP|PP|C LEWIS NoUnit Lewis number
O|TP|PP|C MWXDIP KG/M3 Mass of wax dispersed in oil
O|TP|PP|C MWXDIS KG/M3 Mass of wax dissolved in oil
O|TP|PP|C MWXWAL KG/M3 Specific wax mass at wall
O|TP|PP|C SCHMIDT NoUnit Schmidt number
O|TP|PP|C TWSWX C Inner wall surface temperature adjusted for wax layer
O|TP|PP|C WAX_TCOND W/M-K Thermal conductivity of wax film, porosity included
O|TP|PP|C WAXAP C Wax appearance temperature
O|TP|PP|C WAXPOROSITY - Wax porosity (oil volume fraction in wax film)
O|TP|PP|C WXAVDC M2/S Molar average wax diffusion coefficient
O|TP|PP|C WXCDCDR 1/M Concentration gradient of dissolved wax near wall
O|TP|PP|C WXCDIFFC M2/S Wax component diffusion coefficient
O|TP|PP|C WXCMCDB NoUnit Molar concentration of dissolved wax components in bulk
O|TP|PP|C WXCMCDW NoUnit Molar concentration of dissolved wax near wall
O|TP|PP|C WXDIFFC M2/S Apparent wax diffusion coefficient
O|TP|PP|C WXDR M Laminar boundary layer thickness
O|TP|PP|C WXMPREC KG/S Wax mass precipitation rate
O|TP|PP|C WXMTRW KG/S Net wax mass transport rate to wall (diffusi+ shear)
O|TP|PP|C WXMTRWD KG/S Wax mass transport rate to wall due to diffusion

Link to: Waxdeposition Variables Description Variables

Well Variables
Description ( See also: 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.

Well Variables ( See also: Description)


Use as Name Units Definition

Well Variables
O|TP|C|GTP GASFRT M Well source gas cone front
O|TP|C|GTP GGSWST KG/S Well source steady-state gas mass flow rate
O|TP|C|GTP GGWELL KG/S Well source gas mass flow rate
O|TP|C|GTP GHLWST KG/S Well source steady-state oil mass flow rate
O|TP|C|GTP GLHLWE KG/S Well source oil mass flow rate
O|TP|C|GTP GLTWST KG/S Well source steady-state liquid mass flow rate
O|TP|C|GTP GLWELL KG/S Well source liquid mass flow rate
O|TP|C|GTP GLWTWE KG/S Well source water mass flow rate
O|TP|C|GTP GTWELL KG/S Well source mass flow rate
O|TP|C|GTP GWTWST KG/S Well source steady-state water mass flow rate
O|TP|C|GTP HWELL W Well source enthalpy
O|TP|C|GTP OILFRT M Well source oil cone front
O|TP|C|GTP QGSTWELL SM3/S Well gas volume flow at standard conditions
O|TP|C|GTP QLSTWELL SM3/S Well liquid volume flow at standard conditions
O|TP|C|GTP QOSTWELL SM3/S Well oil volume flow at standard conditions
O|TP|C|GTP QWSTWELL SM3/S Well water volume flow at standard conditions
O|TP|C|GTP WATFRT M Well source water cone front

Link to: Well Variables Description Variables

FLUID PROPERTIES AND other 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.

See also
Fluid properties file
Compressor data file
Pump data Files
Wax table file
Hydrate curve definition file
OLGA Rocx input file

Compressor data file


This file contains tables of the compressor characteristics, defined below, as functions of reduced RPM and reduced inlet mass flow. The reason
for giving the characteristics as functions of reduced RPM and reduced inlet mass flow, is to obtain one table for several inlet conditions
(pressure, temperature), instead of having one table for each inlet condition.

Variables

The definitions of reduced mass flows and reduced RPM are as follows:

Reduced inlet mass flow : MASSRE =

Reduced surge mass flow : MREDSU =

Reduced RPM : RPMRED =

G = inlet mass flow (kg/s)


GSURGE = surge mass flow (kg/s)
RPM = rotational speed (r/min)
= normalized inlet temp = inlet temp / 288 K (-)
= normalized inlet pressure = inlet pressure / (1.013*105 Pa) (-)

The table values can be equidistant or non-equidistant.

Variables: Name Unit Definition

IDENTF File identification (40 characters)


NCOMTA (-) Number of compressors
COMPID(I) Compressor identification,
compressor(I) (40 characters)
Note! All characters after a blank in a character string are omitted.
(I = 1, NCOMTA)
NTABWG(I) (-) Number of reduced mass flow points, compressor(I)
NTABOM(I) (-) Number of reduced RPM points, compressor(I)
RPMRED(K,I) (r/min) Reduced RPM, compressor(I)
K=1,NTABOM(I)
MASSRE(J,I) (kg/s) Reduced inlet mass flow, compressor(I) J=1,NTABWG(I)
COTEXT(1,I) Heading, pressure ratio table,
compressor(I) (40 characters)
PRATIO(J,K,I)(-) Pressure ratio, δ.
compressor(I) K=1,NTABOM
J=1,NTABWG(I)
COTEXT(2,I) Heading, temperature ratio table,
compressor(I) (40 characters)
TRATIO(J,K,I) (-) Temperature ratio, Q. Compressor(I)
K=1,NTABOM(I), J=1,NTABWG(I)
COTEXT(3,I) Heading, reduced surge mass-flow table, compressor(I) (40 characters)
MREDSU(K,I) (kg/s) Reduced surge mass flow, compressor(I) K=1,NTABOM(I)

Data file structure:

IDENTF
NCOMTA

The following data is repeated for each compressor :

COMPID(I)
NTABWG(I) NTABOM(I)
RPMRED(1,I). . . . . . . 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.

Wax table file


This file can contain tables with the properties of the wax forming components for multiple fluids. The table for each fluid should have the following format:

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

The wax file is generated in PVTSim.

NOTE! The following requirements need to be fulfilled when using multiple fluids in networks:

• Same pseudo-components (number of components and lumping) for all fluids.


• All fluids in one wax data file.

Procedure for generating PVT tables in PVTSIM:

1. Add the inlet fluids as separate fluids.


2. Use Fluids-> Same pseudos (Select the resulting fluids for inlets. Resulting fluids with same pseudos available at bottom of fluid table from database)
3. Use Mix to mix ”r;same pseudos” inlet fluids in proper ratios
4. Generate OLGA and wax tables for each fluid made by ”r;same pseudos” and mix.

[1] Subkey not used by OLGA.


[2] Only if PHASE = THREE. Ignored if PHASE = TWO.

Hydrate curve definition file

A hydrate curve must be defined as pairs of corresponding temperature and pressure points, which must be unique and in increasing order. A header line must include the
temperature and pressure units.

An example hydrate definition file is shown below:

TEMPERATURE (C) PRESSURE (BAR)


0.4853 32.4656
1.9738 36.7623
3.4717 41.6277
4.9768 47.1369
6.4870 53.3754
7.9997 60.4394
9.5125 68.4384
11.0227 77.4959

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.

UDPVT FILE AND UDFEED FILE

UDPVTFILE:
File(s) with PVT properties to be used by the plug-in DLL. The format is in principle free, as the file will be read by the user provided DLL.
The file can be referenced by BRANCH and NODE defining what PVT properties to be used for the user given phases in the corresponding flowpath/node.

UDFEEDFILE:
File with definitions of user defined feeds to be used by the plug-in module. The file may contain several feeds, but only one file may be referenced.
This file must be specified if UDOPTIONS COMPOSITIONAL = ON is chosen.
NODE, SOURCE and INITIALCONDITIONS may refer to feeds defined in this file.
The format is in principle free, since the file will be read by the user provided plug-in DLL. For the plug-in delivered with OLGA, the format is illustrated by the example below.
<Number of components>

5
<Component labels>
HC_G HC_L H2O PC1 PC2

<Mole weights (g/mol)>


20 300 500 600 700

<Property: critical P (atm)>


300 200 100 50 30

<Property: critical T (C)>


501 502 503 504 505

<Number of compositions>
2

<Composition label>
FEED-1

<Component amount (mole percent)>


20 30 10 22 18

<Composition label>
FEED-2

<Component amount (mole percent)>


5 10 30 30 25

Fluid properties file


The file that contains the fluid data, is either a feed file with data for each component used in compositional tracking, or a file that have fluid properties as a function of temperature
and pressure. There are two valid formats of the latter file, either the standard format or a keyword based format. When more than one fluid properties file is used, they all have to
have the same format.

Note that the fluid label cannot start with a number. This is a general limitation for labels.

Feed file for compositional tracking


This file is generated in PVTSim, and contains data for each fluid component as well as the fluid composition (component mole fractions) for one or more feeds.

The syntax of the file is complex, and is not explained here. There should be no need to view the contents of the file, as the feed and component names can be chosen directly from
the OLGA GUI when a feed file has been specified.

PVT properties for non-existing phase


When generating an OLGA fluid properties file (TAB file) all properties need to be given at all pressure and temperature points in the file. That applies also if the phase the property
belongs to does not exist 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 format for fluid properties


This format has all the possibilities as the standard format, and some additional ones. The intension of introducing a table based format is to:

1. Improve the readability of PVT table


2. Be able to give bubble points and dew points curve to improve the accuracy close to the saturation line
3. Use different units for the various PVT parameters
4. Facilitate conversion between mass flow rate and volumetric flow rate at standard conditions (Not implemented yet)
5. Be able to adapt more easily the temperature and pressure mesh to the phase envelope
6. Make a format that is easily extendable for new parameters
7. Provide composition information to help custom support for PVT related problems
8. Easily export PVT data to spreadsheets

See also
The syntax of the keyword
Table Structure
Keyword PVTTABLE
Examples

The syntax of the keyword


The syntax of OLGA input applies to the new table format. Specifically, an input statement has the general form:

KEYWORD KEY = Parameter list, ...

where the ellipses (...) indicate that the statement may contain more than one "KEY = Parameter list" combinations. Commas separate such combinations. The KEYWORD identifies
the input statement. Each keyword has a set of variables, each identified by a KEY (e.g. SETPOINT).

Separators:
Items are separated by commas (,).
Tabulation is treated as one single space.
Line continuation:
An input statement can be written on several lines by ending each line with the continuation character: \ (backslash)
Comments:
Comments are indicated with the comments mark:
! (exclamation mark)
Any information on a line after a comment mark is ignored.
The comment mark can be put anywhere on the line.
String protector:
A string that contains spaces or commas should be protected with double quotes:
" (double quote)
List protector:
Any list should be put inside a parenthesis:
( ... )

Table Structure
A table is defined through the keyword:

PVTTABLE

The structure of the fluid property table is as follows:

For each of the tables


ΠςΤΤΑΒΛΕ ΛΑΒΕΛ = φλυιδ−1, ετχ
For each of the pressure and temperature points
ΠςΤΤΑΒΛΕ ΠΟΙΝΤ = ( )
End of pressure and temperature points

End of tables

The values of all parameters except POINT must be written in a single line. Fluid properties for each pressure/temperature point must subsequently be specified through the
ΠςΤΤΑΒΛΕ ΠΟΙΝΤ structure, repeated for each pressure/temperature point.

See also
Keyword PVTTABLE

Keyword PVTTABLE
Type Parameter set
Key Description
Unit: ( ) Default: [ ]
LABEL str. Name of the table.
[TWO] |
PHASE sym Two or three phase table
THREE
Equation of state used in
EOS[1] str. generating the pvt table.
Optional.
STANDARD: Both temperature
and pressure points are fixed
independently
FREEPRES: Temperature
points are fixed first and the
[STANDARD] | pressure points are specified for
MESHTYPE sym. FREEPRES | each of the individual
FREETEMP temperature points.
FREETEMP: Pressure points
are fixed first and the
temperature points are specified
for each of the individual
pressure points.
List of names of the
COMPONENTS1 str.l. components in the composition.
Optional.
Mole fraction for each of the
MOLES1 r.l. components in the composition.
Optional.
Density for each of the
components in the composition.
DENSITY1 r.l. (kg/m3) Set to –999 if not available.
Optional.
Molecular weight for each of the
MOLWEIGHT1 r.l. (g/mol) components in the composition.
Optional.
Pressure at standard conditions
STDPRESSURE1 r. (Pa) [ 1 ATM]
(1 atm) . Optional
Temperature at standard
STDTEMPERATURE1 r. (°C) [15.5 °C]
conditions (15.5 oC). Optional.
Gas/oil ratio at standard
conditions. For two-phase flow,
GOR is interpreted as gas/liquid
r. ratio, i.e. it is ratio of gas volume
(Sm3/Sm3) fraction to the liquid volume
fraction at standard conditions.
GOR1
For cases where there is no
oil/liquid, set GOR = -999.
Gas/liquid ratio at standard
r. conditions. For cases where
GLR1
(Sm3/Sm3) there is no liquid, set GLR = -
999.
Water cut standard conditions,
WC1,2 r. (-)
for three-phase table only.
Gas density at standard
STDGASDENSITY1 r. (kg/m3) conditions.
Oil density at standard
STDOILDENSITY1 r. (kg/m3)
conditions.
Water density at standard
STDWATDENSITY1,[2] r. (kg/m3) conditions.
Mass fraction of water
TOTWATERFRACTION2 r. (-)
component in the composition.
Dewpoint pressures. The
subkeys DEWPRESSURES
and DEWTEMPERATURES are
DEWPRESSURES r.l. (Pa)
optional. Leave out these two
subkeys if no dew point curve is
found
Dewpoint temperatures cor-
responding to the dewpoint
DEWTEMPERATURES r.l. (°C)
pressure given in keyword
DEWPRESSURES.
BUBBLEPRESSURES r.l. (Pa) Bubble point pressures
Bubble point temperatures
corresponding to the bubble
point pressures given in
keyword BUBBLEPRESSURES
The subkeys
BUBBLETEMPERATURES r.l. (°C)
BUBBLEPRESSURE and
BUBBLETEMPERATURE are
optional. Leave out these two
subkeys if no bubble point curve
is found.
CRITICALPRESSURE r. (Pa) Pressure at the critical point
Temperature at the critical point.
The subkeys
CRITICALPRESSURE and
CRITICALTEMPERATURE are
CRITICALTEMPERATURE r. (°C) optional. If the critical point is
not found, either set the values
of critical pressure and
temperature to –999, or leave
out these two subkeys.
Number of pressure points for
each of temperature points
NOPRES i.l. given in subkey
TEMPERATURE. Only if
MESHTYPE = FREEPRES
Temperature points if
TEMPERATURE r.l. (°C) MESHTYPE = FREEPRES or
STANDARD
Number of temperature points
for each of pressure points
NOTEMP i.l. given in subkey PRESSURE.
Only if MESHTYPE =
FREETEMP
Pressure points if MESHTYPE =
PRESSURE r.l. (pa)
FREETEMP or STANDARD
The default
Specify orders and units of
COLUMNS sym.l. unit is given in
parameters for a table point.
parenthesis
TM (°C) Temperature
PT (Pa) Pressure
Gas mass fraction in gas/oil
RS (-)
mixture
Water vapour mass fraction in
RSW (-)
gas phase2
ROG (kg/m3) Gas density
DROGDP Derivative of gas density w.r.t
(s2/m2) pressure
DROGDT Derivative of gas density w.r.t
(kg/m3°C) temperature
ROHL (kg/m3) Oil density

Type Parameter set


Description
Key Unit: ( ) Default: [ ]
DROHLDP Derivative of oil density w.r.t
(s2/m2) pressure
DROHLDT Derivative of oil density w.r.t
(kg/m3°C) temperature
ROWT (kg/m3) Water density.2
DROWTDP Derivative of water density w.r.t
(s2/m2) pressure.2
DROWTDT Derivative of water density w.r.t
(kg/m3°C) temperature.2
TCG (W/m°C) Gas thermal conductivity.
TCHL (W/m°C) Oil thermal conductivity.
TCWT (W/m°
Water thermal conductivity.
C)
CPG (J/kg°C) Gas thermal capacity.
CPHL (J/kg°C) Oil thermal capacity.
CPWT (J/kg°C) Water thermal capacity.2
HG (J/kg) Gas enthalpy.
HHL (J/kg) Oil enthalpy.
HWT (J/kg) Water enthalpy.2
VISG (Ns/m2) Gas viscosity.
VISHL (Ns/m2) Oil viscosity.
VISWT
Water viscosity.2
(Ns/m2)
SEG (J/kg°C) Gas entropy.
SEHL (J/kg°C) Oil entropy.
SEWT (J/kg°C) Water entropy.2
Surface tension between gas and
SIGGHL (N/m)
oil.
Surface tension between gas and
SIGGWT (N/m)
water. 2
SIGHLWT Surface tension between oil and
(N/m) water.2
Values of parameters, see note 1
POINT r.l. and 2 below.

Note 1: The pressure and temperature values must be the same as specified in the keys PRESSURE and TEMPERATURE for mesh type STANDARD. Pressure must be the same
as specified in the keys PRESSURE for mesh type FREETEMP. Temperature must be the same as specified in the keys TEMPERATURE for mesh type FREEPRES.
Note 2: The order and the units must be the same as specified in the key COLUMNS.
Note 3: The use of pressure and temperature dependant values in the complex fluid module is not yet implemented.

Examples
Example 1: Two-phase, Standard mesh type
Example 2: Two-phase, freepressure mesh type
Example 3: Two-phase, freetemperature mesh type
Example 4: Three-phase, Standard mesh type

Example 1: Two-phase, Standard mesh type

PVTTABLE LABEL = FLUID-1, PHASE = TWO, \


COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3)
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3
STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3, \
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\
307.32,312.44,317.28,321.74,325.65,\
328.81,330.91,331.56,331.54,330.50,\
327.48,321.73,312.37,298.41,278.85,\
261.62,247.00,228.69,213.56,194.95,\
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = ( 5.00, 5.99, 7.50, 9.39, 11.74 ,\
14.67, 18.32, 22.87, 28.55, 35.65, \
44.57, 55.79, 67.71, 70.01, 84.78, \
102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67,\
73.39, 54.56, 36.12, 26.85,22.85, \
18.85, 18.00, 14.85, 10.85, 6.85,\
2.85, 0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00, \
284.65,278.16,254.79) BARA, \
CRITICALPRESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
MESHTYPE = STANDARD, \
!
!both temperature points and pressure points are fixed
!
TEMPERATURE =(1,2,3,4,5) C,\
PRESSURE = (1,2,3,4,5) BARA, \
COLUMNS =(PT BARA, TM C, ROG KG/M3, ROHL KG/M3, DROGDP, DROHLDP, DROGDT, \
DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG, HHL,TCG,TCHL,SIGGHL,SEG,SEHL)
PVTTABLE POINT = (1,1, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, -3.557E-03, \
-5.931E-01, 4.617E-01, 1.054E-05, 1.299E-03, 1.805E+03, 1.963E+03, \
4.841E+02, -3.884E+05, 2.738E-02, 1.379E-01, 2.284E-02, 3.816E+02, \
-7.810E+02)
PVTTABLE POINT = (1,2,…)

PVTTABLE POINT = (1,5,..)
… )
PVTTABLE POINT = (5,1,..)

)
PVTTABLE POINT = (5,5,…)

Example 2: Two-phase, freepressure mesh type

PVTTABLE LABEL = FLUID-1, PHASE = TWO, \


COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03) ,\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3) ,\
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3 ,\
STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3 ,\
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03, \
307.32,312.44,317.28,321.74,325.65, \
328.81,330.91,331.56,331.54,330.50, \
327.48,321.73,312.37,298.41,278.85, \
261.62,247.00,228.69,213.56,194.95, \
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = (5.00,5.99,7.50,9.39,11.74,14.67,18.32,22.87, \
28.55,35.65,44.57,55.79,67.71,70.01,84.78, \
102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67, \
73.39, 54.56, 36.12, 26.85,22.85, \
18.85, 18.00, 14.85, 10.85, 6.85,\
2.85, 0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00. \
284.65,278.16,254.79) BARA, \
CRITICALPESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
MESHTYPE = FREEPRES, \
!
! temperature points are specified here.
! number of pressure points and pressure values can be different for
! (be dependent on) different temperature points.
! number of pressure points for each of the temperature points are given here
!..the pressure values are given in subkey POINT
TEMPERATURE =(1.0,2.0,3.0,4.0,5.0) C,\
NOPRES =(5,5,5,5,6),\
COLUMNS =(PT BARA, TM C,ROG KG/M3, ROHL KG/M3, DROGDP, DROHLDP, \
DROGDT,DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG,HHL,TCG, \
TCHL,SIGGHL,SEG,SEHL)
! first temp. point contains five pressure points ranging from 1 to 10 bara
PVTTABLE POINT = (1.0,1.0, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, \
-3.557E-03,-5.931E-01,4.617E-01, 1.054E-05, 1.299E-03, \
1.805E+03, 1.963E+03, 4.841E+02, -3.884E+05, 2.738E-02, \
1.379E-01, 2.284E-02, 3.816E+02, -7.810E+02)
PVTTABLE POINT = (2.0,1.0,…)
PVTTABLE POINT = (3.0,1.0,…)
PVTTABLE POINT = (5.0,1.0,…)
PVTTABLE POINT = (10.0,1.0,…)
!
! more temperature points. Each has five pressure points.
!

!
!last temperature point contains six pressure points
!
PVTTABLE POINT = (1.0,5.0,..)
PVTTABLE POINT = (5.0,5.0,..)
PVTTABLE POINT = (6.0,5.0,..)
PVTTABLE POINT = (7.0,5.0,..)
PVTTABLE POINT = (8.0,5.0,..)
PVTTABLE POINT = (9.0,5.0,..)

Example 3: Two-phase, freetemperature mesh type

PVTTABLE LABEL = FLUID-1, PHASE = TWO, \


COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3),\
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3, \
STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3, \
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\
307.32,312.44,317.28,321.74,325.65,\
328.81,330.91,331.56,331.54,330.50,\
327.48,321.73,312.37,298.41,278.85,\
261.62,247.00,228.69,213.56,194.95,\
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = (5.00,5.99,7.50,9.39,11.74,14.67,18.32,\
22.87,28.55,35.65,44.57,55.79,67.71,70.01, \
84.78,102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=(139.72,125.96,112.46,103.52,92.67,\
73.39,54.56, 36.12, 26.85,22.85, \
18.85,18.00, 14.85, 10.85, 6.85,\
2.85,0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00, \
284.65,278.16,254.79) BARA, \
CRITICALPRESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
!
! Pressure points are specified here.
! Number of temperature points and temperature values can change for
! (be dependent on) different pressure points.
! Number of temperature points for each of the pressure points are given here
!..The temperature values are given in subkey POINT

MESHTYP = FREETEMP, \
PRESSURE =(1.0,2.0,3.0,4.0,5.0) BARA,\
NOTEMP =(5,5,5,5,6),\
COLUMNS =(PT BARA, TM C, ROG KG/M3, ROHL KG/M3, DROGDP, \
DROHLDP,DROGDT,DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG, \
HHL,TCG,TCHL,SIGGHL,SEG,SEHL)
! First pressure point contains five temperature points
! Temperature ranging from 1 to 20 C
PVTTABLE POINT = (1.0, 1.0, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, \
-3.557E-03,-5.931E-01, 4.617E-01, 1.054E-05, 1.299E-03, \
1.805E+03, 1.963E+03, 4.841E+02,-3.884E+05, 2.738E-02, \
1.379E-01, 2.284E-02, 3.816E+02, -7.810E+02)
PVTTABLE POINT = (1.0, 2.0,…)
PVTTABLE POINT = (1.0, 4.0,…)
PVTTABLE POINT = (1.0,10.0,…)
PVTTABLE POINT = (1.0,20.0,…)
!
! more pressure points. Each has five temperature points.
!

!
!last pressure point contains six temperature points
!
PVTTABLE POINT = (5.0, 1.0,..)
PVTTABLE POINT = (5.0, 5.0,..)
PVTTABLE POINT = (5.0,13.0,..)
PVTTABLE POINT = (5.0,14.0,..)
PVTTABLE POINT = (5.0,15.0,..)
PVTTABLE POINT = (5.0,20.0,..)

Example 4: Three-phase, Standard mesh type

PVTTABLE LABEL = FLUID-1, PHASE = THREE, \


COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3)
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3
STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3, \
STDWATDENSITY = 998. KG/M3, \
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\
307.32,312.44,317.28,321.74,325.65,\
328.81,330.91,331.56,331.54,330.50,\
327.48,321.73,312.37,298.41,278.85,\
261.62,247.00,228.69,213.56,194.95,\
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = ( 5.00, 5.99, 7.50, 9.39, 11.74 ,\
14.67, 18.32, 22.87, 28.55, 35.65, \
44.57, 55.79, 67.71, 70.01, 84.78, \
102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67,\
73.39, 54.56, 36.12, 26.85,22.85, \
18.85, 18.00, 14.85, 10.85, 6.85,\
2.85, 0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00, \
284.65,278.16,254.79) BARA, \
CRITICALPRESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
MESHTYPE = STANDARD, \
!
!both temperature points and pressure points are fixed
!
TOTWATERFRACTION = 0.112, \
WC=.489380E-02,\
TEMPERATURE =(1,2,3,4,5) C,\
PRESSURE = (1,2,3,4,5) BARA, \
COLUMNS = (PT,TM,ROG,ROHL,ROWT,DROGDP,DROHLDP,DROWTDP,DROGDT,DROHLDT, \
DROWTDT,RS,RSW,VISG,VISHL,VISWT,CPG,CPHL,CPWT,HG,HHL,HWT,TCG, \
TCHL,TCWT,SIGGHL,SIGGWT,SIGHLWT,SEG,SEHL,SEWT)
!
PVTTABLE POINT = (1,1,.112510E+01,.708593E+03,.677649E+03,.113188E-04, \
.520848E-06,.156303E-06,-.418187E-02,-.332632E+00,.535346E+00, \
.372160E-01,.182867E-02,.979882E-05,.591224E-02,.263150E-02, \
.176425E+04,.202253E+04,.449390E+04,.731026E+02,-.345943E+06, \
-.196628E+07,.248102E-01,.148744E+00,.570657E+00,.118942E-01, \
.755188E-01,.544038E-01,.435748E+03,-.631419E+03,-.537537E+04)
PVTTABLE POINT = (1,2,…)

PVTTABLE POINT = (1,5,..)
… )
PVTTABLE POINT = (5,1,..)

)
PVTTABLE POINT = (5,5,…)

Standard conditions for keyword based PVT file

STDPRESSURE and STDTEMPERATURE in the PVT table file (keyword format) are the standard pressure and temperature given in PVTsim when creating the file, while GOR,
GLR, STDGASDENSITY, STDOILDENSITY, STDWATDENSITY and WC (the two latter only for 3 phase table files) are the properties at this standard condition.

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 for fluid properties


The fluid properties are given as functions of pressure and temperature. This table of properties can be equidistant or non-equidistant in pressure and temperature. A more refined
interpolation in the fluid property tables close to the two-phase envelope is performed only for the gas mass fraction utilising the bubble point pressure given in the file. The dew point
pressures are not used in the present OLGA version. Figure 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.

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.

Indicators for the fluid file content:

The interpretation of tables in the fluid properties file is determined from:

1. Whether there is more than one fluid.

2. The content of the fluid identifier, FLUIDF, as follows:

If the sub-string "WATER-OPTION" is present, three phase tables are expected in the file.

If the sub-string "NONEQ" is present, non-equidistant spacing in the tables are expected.

If the sub-string "ENTROPY" is present, entropy tables for gas, oil and eventually water are expected.

The input variables FILEID, NCOMP and LC can be collectively omitted for single branch cases.

Variables: Name Unit Definition


[FILEID] File identification (60 characters)
[NCOMP] Number of fluids in this file.
The following data are repeated for each fluid:
Fluid identifier enclosed in apostrophes.
If FLUIDF contains the sub-string WATER-
OPTION, NONEQ
FLUIDF (-) or
ENTROPY the tables will be read as explained
above.
Fluid label The label must be unique and may be
a number or a text
[LC]
string. (LAB_1,LAB_2,
... ,LAB_NCOMP)
NTABP (-) Number of pressure points in the table
NTABT (-) Number of temperature points in the table
Total water mass fraction for the feed.
RSWTOTB (kg/kg) Optionally, default value = 0 (Only used
together with three-phase tables)
DP (N/m2) Pressure step in the table
DT (°C) Temperature step in the table
PP(I) (N/m2) Pressure values in the table, I=1,NTABP
TT(J) (°C) Temperature values in the table, J = 1, NTABT
PBB(J) (N/m2) Bubble point pressures, J = 1, NTABT
Dew point pressures, J = 1, NTABT
For temperatures in the table which indicate
single phase flow for the whole range of
pressures (all points are outside the two-phase
PDEW(J) (N/m2) envelope for a specific temperature, see Figure
A), the corresponding bubble point pressures
must be greater than the largest pressure point
in the tables. The dew point pressures are not
used in the present OLGA version
Text string to identify the different
TABTEX(L) (-)
properties.
NB! For all tables below, J = 1, NTABT and I = 1, NTABP
ROGTB(J,I) (kg/m3) Gas densities
ROOTB(J,I) (kg/m3) Oil densities
ROWTB(J,I) (kg/m3) Water densities
Partial derivatives of gas densities with respect to
DRGPTB(J,I) (s2/m2) pressure
Partial derivatives of oil densities with respect to
DROPTB(J,I) (s2/m2) pressure
Partial derivatives of water densities with respect
DRWPTB(J,I) (s2/m2) to pressure.
Partial derivatives of gas densities with respect to
DRGTTB(J,I) (kg/m3C) temperature
Partial derivatives of oil densities with respect to
DROTTB(J,I) (kg/m3C) temperature
Partial derivatives of water densities with respect
DRWTTB(J,I) (kg/m3C) to temperature.
Gas mass fraction in gas and oil mixture; the gas
mass divided by the gas and oil mass. All values
in this table must be set to a constant (between 0
and 1) (for all points) in case of no interphase
RSGTB(J,I) (kg/kg)
mass transfer. ( = 0 gives single phase liquid, =1
gives single phase gas).
REMARK: The gas may also contain water
vapour.
Water vapour mass fraction in the gas phase
RSWTB(J,I) (kg/kg)
VSGTB(J,I) (Ns/m2) Dynamic viscosities for gas
VSOTB(J,I) (Ns/m2) Dynamic viscosities for oil
VSWTB(J,I) (Ns/m2) Dynamic viscosities for water
Gas heat capacities at constant pressure
CPGTB(J,I) (J/kgC)
Oil heat capacities at constant pressure
CPOTB(J,I) (J/kgC)
CPWTB(J,I) (J/kgC) Water heat capacities at constant pressure
HGTB(J,I) (J/kg) Gas enthalpies
HOTB(J,I) (J/kg) Oil enthalpies
HWTB(J,I) (J/kg) Water enthalpies
TKGTB(J,I) (W/mC) Gas thermal conductivities
TKOTB(J,I) () Oil thermal conductivities
TKWTB(J,I) (W/mC) Water thermal conductivities
SIGOGT(J,I) (N/m) Surface tension between gas and oil
SIGWGT(J,I) (N/m) Surface tension between gas and water
SIGWOT(J,I) (N/m) Surface tension between water and oil
SGTB(J,I) (J/kgC) Gas specific entropy
SOTB(J,I) (J/kgC) Oil specific entropy
SWTB(J,I) (J/kgC) Water specific entropy.

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.

Data file structure:

The data enclosed in brackets can collectively be omitted for single branch cases.

[FILEID]
[NCOMP]

The following data are repeated for each fluid composition.

The file heading for equidistant tables. Note that RSWTOTB is set to zero by OLGA if omitted:

FLUIDF
[LC]
NTABP 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)

The fluid property tables:

PBB(1) . . . . . . . . PBB(NTABT)
PDEW(1) . . . . . . . . PDEW(NTABT)

TABTEX(1)
ROGTB(1,1) . . . . . . . ROGTB(NTABT,1)
.
.
ROGTB(1,NTABP) . . . . . ROGTB(NTABT,NTABP)

TABTEX(2)
ROOTB(1,1) . . . . . . . ROOTB(NTABT,1)
.
.
ROOTB(1,NTABP) . . . . . ROOTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(3)
ROWTB(1,1) . . . . . ROWTB(NTABT,1)
.
.
ROWTB(1,NTABP) . . . ROWTB(NTABT,NTABP)
end WATER-OPTION

TABTEX(4)
DRGPTB(1,1). . . . . . . DRGPTB(NTABT,1)
.
.
DRGPTB(1,NTABP). . . . . DRGPTB(NTABT,NTABP)
TABTEX(5)
DROPTB(1,1). . . . . . . DROPTB(NTABT,1)
.
.
DROPTB(1,NTABP). . . . . DROPTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(6)
DRWPTB(1,1). . . . . . . DRWPTB(NTABT,1)
.
.
DRWPTB(1,NTABP). . . . . DRWPTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(7)
DRGTTB(1,1). . . . . . . DRGTTB(NTABT,1)
.
.
DRGTTB(1,NTABP). . . . . DRGTTB(NTABT,NTABP)

TABTEX(8)
DROTTB(1,1). . . . . . . DROTTB(NTABT,1)
.
.
DROTTB(1,NTABP). . . . . DROTTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(9)
DRWTTB(1,1). . . . . . . DRWTTB(NTABT,1)
.
.
DRWTTB(1,NTABP). . . . . DRWTTB(NTABT,NTABP)
end WATER-OPTION

TABTEX(10)
RSGTB(1,1). . . . . . . RSGTB(NTABT,1)
.
.
RSGTB(1,NTABP). . . . . RSGTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(11)
RSWTB(1,1) . . . . . . . RSWTB(NTABT,1)
.
.
RSWTB(1,NTABP) . . . . . RSWTB(NTABT,NTABP)
end WATER-OPTION

TABTEX(12)
VSGTB(1,1) . . . . . . . VSGTB(NTABT,1)
.
.
VSGTB(1,NTABP) . . . . . VSGTB(NTABT,NTABP)

TABTEX(13)
VSOTB(1,1) . . . . . . . VSOTB(NTABT,1)
.
.
VSOTB(1,NTABP) . . . . . VSOTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(14)
VSWTB(1,1) . . . . . . . VSWTB(NTABT,1)
.
.
VSWTB(1,NTABP) . . . . . VSWTB(NTABT,NTABP)
end WATER-OPTION

TABTEX(15)
CPGTB(1,1) . . . . . . . CPGTB(NTABT,1)
.
.
CPGTB(1,NTABP) . . . . . CPGTB(NTABT,NTABP)

TABTEX(16)
CPOTB(1,1) . . . . . . . CPOTB(NTABT,1)
.
.
CPOTB(1,NTABP) . . . . . CPOTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(17)
CPWTB(1,1) . . . . . . . CPWTB(NTABT,1)
.
.
CPWTB(1,NTABP) . . . . . CPWTB(NTABT,NTABP)
end WATER-OPTION

TABTEX(18)
HGTB(1,1) . . . . . . . HGTB(NTABT,1)
.
.

HGTB(1,NTABP). . . . . . HGTB(NTABT,NTABP)

TABTEX(19)
HOTB(1,1) . . . . . . . HOTB(NTABT,1)
.
.
HOTB(1,NTABP). . . . . . HOTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then

TABTEX(20)
HWTB(1,1) . . . . . . . HWTB(NTABT,1)
.
.
HWTB(1,NTABP). . . . . . HWTB(NTABT,NTABP)
end WATER-OPTION

TABTEX(21)
TKGTB(1,1) . . . . . . . TKGTB(NTABT,1)
.
.
TKGTB(1,NTABP) . . . . . TKGTB(NTABT,NTABP)

TABTEX(22)
TKOTB(1,1) . . . . . . . TKOTB(NTABT,1)
.
.
TKOTB(1,NTABP) . . . . . TKOTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(23)
TKWTB(1,1) . . . . . . . TKWTB(NTABT,1)
.
.
TKWTB(1,NTABP) . . . . . TKWTB(NTABT,NTABP)
end WATER-OPTION

TABTEX(24)
SIGOGT(1,1). . . . . . . SIGOGT(NTABT,1)
.
.
SIGOGT(1,NTABP). . . . . SIGOGT(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(25)
SIGWGT(1,1) . . . . . . . SIGWGT(NTABT,1)
.
.
SIGWGT(1,NTABP) . . . . . SIGWGT(NTABT,NTABP)

TABTEX(26)
SIGWOT(1,1) . . . . . . . SIGWOT(NTABT,1)
.
.
SIGWOT(1,NTABP) . . . . . SIGWOT(NTABT,NTABP)
end WATER-OPTION

if FLUIDF contains substring ENTROPY, then


TABTEX(27)
SGTB(1,1) . . . . . . . SGTB(NTABT,1)
.
.
SGTB(1,NTABP). . . . . . SGTB(NTABT,NTABP)

TABTEX(28)
SOTB(1,1) . . . . . . . SOTB(NTABT,1)
.
.
SOTB(1,NTABP). . . . . . SOTB(NTABT,NTABP)

if FLUIDF also contains substring WATER-OPTION, then


TABTEX(29)
SWTB(1,1) . . . . . . . SWTB(NTABT,1)
.
.
SWTB(1,NTABP) . . . . . SWTB(NTABT,NTABP)
end WATER-OPTION
end if

The entropy data will be used if a Henry-Fauske type critical flow model is chosen for the flow through a valve. 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.
1. The Newtonian option (TYPE=COMPLEXFLUID and CFLUML=NEWTONIAN in the FLUID keyword) yields the original interpretation.
2. The power law model (TYPE=COMPLEXFLUID and CFLUML=POWERLAW in the FLUID keyword) yields the consistency factor, K.
3. The Bingham fluid model (TYPE=COMPLEXFLUID and CFLUML=BINGHAM in the FLUID keyword) yields the coefficient of rigidity.

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.

Example:

TABTEX(:)
VSOTB(1,1) . . . VSOTB(NTABT,1)
: :
VSOTB(1,NTABP) . . . VSOTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(:)
VSWTB(1,1) . . . VSWTB(NTABT,1)
: :
VSWTB(1,NTABP) . . . VSWTB(NTABT,NTABP)
end WATER-OPTION

if FLUIDF contains substring POWEXPL, then


TABTEX(:)
POWNTB(1,1) . . . POWNTB(NTABT,1)
: :
POWNTB(1,NTABP) . . . POWNTB(NTABT,NTABP)
end

if FLUIDF contains substring YIELDSTRL, then


TABTEX(:)
TAUITB(1,1) . . . TAUITB(NTABT,1)
: :
TAUITB(1,NTABP) . . . TAUITB(NTABT,NTABP)
end

if FLUIDF contains substring POWEXPW, then


TABTEX(:)
POWNWTB(1,1) . . . POWNWTB(NTABT,1)
: :
POWNWTB(1,NTABP) . . . POWNWTB(NTABT,NTABP)
end

if FLUIDF contains substring YIELDSTRW, then


TABTEX(:)
TAUIWTB(1,1) . . . TAUIWTB(NTABT,1)
: :
TAUIWTB(1,NTABP) . . . TAUIWTB(NTABT,NTABP)
end

TABTEX(:)
CPGTB(1,1) . . . CPGTB(NTABT,1)
: :
CPGTB(1,NTABP) . . . CPGTB(NTABT,NTABP)

Pump Data Files


 Pump Data Table for Centrifugal Pumps

 Pump Data Table for Displacement Pumps

Pump Data Table for Centrifugal Pumps


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

- head ratio - flow ratio

- speed ratio - torque ratio


where subscript R means rated value. Four sets of homologous curves are tabulated:

1. Single phase head HS


2. Two phase head HT
3. Single phase torque THS
4. Two phase torque THT

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.

!*************************************************************************************************
! Pump type and label
!*************************************************************************************************
TYPE = CENTRIFUGAL, LABEL = Label of the table
!
!*************************************************************************************************
! Table for single phase head HS
!*************************************************************************************************
! HS1
QOMEG = (x1, x2, … , xHS1)
HEADS1 = (y1, y2, … , YHS1)
! HS2
OMEGQ = (x1, x2, … , xHS2)
HEADS2 = (y1, y2, … , YHS2)
! HS3
OMEGQ = (x1, x2, … , xHS3)
HEADS3 = (y1, y2, … , YHS3)
! HS4
QOMEG = (x1, x2, … , xHS4)
HEADS4 = (y1, y2, … , YHS4)
!
!*************************************************************************************************
! Table for two phase head HT
!*************************************************************************************************
! HT1
QOMEG = (x1, x2, … , xHT1)
HEADT1 = (y1, y2, … , YHT1)
! HT2
OMEGQ = (x1, x2, … , xHT2)
HEADT2 = (y1, y2, … , YHT2)
! HT3
OMEGQ = (x1, x2, … , xHT3)
HEADT3 = (y1, y2, … , YHT3)
! HT4
QOMEG = (x1, x2, … , xHT4)
HEADT4 = (y1, y2, … , YHT4)
!
!*************************************************************************************************
! Table for single phase torque THS
!*************************************************************************************************
! THS1
QOMEG = (x1, x2, … , xTHS1)
TORQS1 = (y1, y2, … , YTHS1)
! THS2
OMEGQ = (x1, x2, … , xTHS2)
TORQS2 = (y1, y2, … , YTHS2)
! THS3
OMEGQ = (x1, x2, … , xTHS3)
TORQS3 = (y1, y2, … , YTHS3)
! THS4
QOMEG = (x1, x2, … , xTHS4)
TORQS4 = (y1, y2, … , YTHS4)
!
!*************************************************************************************************
! Table for two phase torque THT
!*************************************************************************************************
! THT1
QOMEG = (x1, x2, … , xTHT1)
TORQS1 = (y1, y2, … , YTHT1)
! THT2
OMEGQ = (x1, x2, … , xTHT2)
TORQS2 = (y1, y2, … , YTHT2)
! THT3
OMEGQ = (x1, x2, … , xTHT3)
TORQS3 = (y1, y2, … , YTHT3)
! THT4
QOMEG = (x1, x2, … , xTHT4)
TORQS4 = (y1, y2, … , YTHT4)
!
!*************************************************************************************************
! Table for two phase head multiplier
!*************************************************************************************************
VOID = (x1, x2, … , xHV)
HEADM = (y1, y2, … , YHV)
!
!*************************************************************************************************
! Table for two phase torque multiplier
!*************************************************************************************************
VOID = (x1, x2, … , xTV)
TORQM = (y1, y2, … , YTV)
!
!*************************************************************************************************
! End of the table
!*************************************************************************************************
END
!

NOTE ! The number of elements for each curve is limited to 10.

Pump Data Table for Displacement Pumps


The back flow rate, Qb , is a function of PI , DP, aI, nl , and N.

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
DP - Pa; Pump pressure increase
Qb - m3 / s; Volumetric back flow
nl - m2 / s; Liquid kinematic viscosity
aI - (-); Gas volume fraction
N - rpm. Pump speed

The units can also be specified by users.


The structure of the table is as shown in the example below. The reading of the input is based on keywords, but the sequence of the keywords must be as shown in the example.

The structure of the table is:


!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! Πυµπ τψπε ανδ λαβελ
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
ΤΨΠΕ = ∆ΙΣΠΛΑΧΕΜΕΝΤ, ΛΑΒΕΛ = Λαβελ οφ τηε ταβλε
!
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! Φιρστ πυµπ σπεεδ (1)
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ΠΥΜΠΣΠΕΕ∆ = Ν1
!
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! Φιρστ συχτιον πρεσσυρε (2)
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ΙΝΠΡΕΣΣΥΡΕ = Πλ,1
!
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! Λιστσ οφ ϖοιδφραχτιονσ ανδ δελταπ φορ φιρστ πυµπ σπεεδ ανδ
! συχτιον πρεσσυρε. (3)
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ςΟΙ∆ΦΡΑΧΤΙΟΝ = (aI,1, aI,2, , aI,J)
!
∆ΕΛΤΑΠ = (DΠ1, DΠ2, , DΠΚ)
!
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! Φιρστ ϖισχοσιτψ (4).
!
! Φορ εαχη ϖισχοσιτψ βαχκ φλοω ισ λιστεδ ασ φυνχτιον οφ ϖοιδ−
! φραχτιον ανδ DΠ. Εαχη ΒΑΧΚΦΛΟΩ εντρψ ισ φορ ονε
! DΠ ανδ ρυνσ οϖερ αλλ ϖοιδφραχτιονσ.
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ςΙΣΧΟΣΙΤΨ = nl,1
!
ΒΑΧΚΦΛΟΩ = (Θβ,1,1, Θβ,1,2, , Θ β,1,ϑ)
ΒΑΧΚΦΛΟΩ = (Θβ,2,1, Θβ,2,2, , Θ β,2,ϑ)
:
:
ΒΑΧΚΦΛΟΩ = (Θβ,Κ,1, Θβ,Κ,2, , Θ β,Κ,ϑ)
!
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! Σεχονδ ϖισχοσιτψ.
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ςΙΣΧΟΣΙΤΨ = nl,2
:
:
!
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! (2)+(3)+(4) ισ ρεπεατεδ φορ εαχη συχτιον πρεσσυρε
! ασσοχιατεδ ωιτη τηε φιρστ πυµπ σπεεδ.
! ∆ιφφερεντ ϖαλυεσ φορ ϖοιδφραχτιον, δελταπ ανδ ϖισχοσιτψ χαν
! βε υσεδ φορ εαχη συχτιον πρεσσυρε.
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ΙΝΠΡΕΣΣΥΡΕ = Πλ,2
!
:
:
!
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! (1)+(2)+(3)+(4) ισ ρεπεατεδ φορ εαχη πυµπ σπεεδ.
! ∆ιφφερεντ ϖαλυεσ φορ συχτιον πρεσσυρε, ϖοιδφραχτιον, δελταπ
! ανδ ϖισχοσιτψ χαν βε υσεδ φορ εαχη συχτιον πρεσσυρε.
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ΠΥΜΠΣΠΕΕ∆ = Ν2
!
:
:
!∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
! Ενδ οφ τηε ταβλε
!−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ΕΝ∆ΤΑΒΛΕ
!

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.

Restrictions and Limitations


Memory consumption
Flow Model Limitations
Fluid properties
Input/Output Limitations
Standard Conditions in OLGA
Important Numerical Recommendations

Memory consumption
OLGA will allocate memory for the simulation as needed. The memory usage will be a function of the total number of pipe sections in the case, any special modules used (for
instance: slug-tracking, inhibitor tracking, compositional tracking) and to some extent the number of plot variables (TREND, PROFILE). In particular, it is important to be aware that
the amount of memory required during the simulation will roughly be proportional to the total number of sections in the network. That is, double the number of sections for a given
case, and you will double the memory usage.

If the machine running the simulation is short on physical and virtual memory, this will ultimately lead to an unexpected program termination.

Limitations in the use of fluid properties


All fluid properties are normally assumed to be unique functions of temperature and pressure, and have to be input to OLGA in a particular file. Thus, the total composition (the mole
fractions of the components) of the multiphase mixture is assumed to be constant both in time and space. This limitation is important for mixtures with pronounced compositional
dependent properties. Note however, that one may use different fluid properties in different branches in a pipeline network. Network simulations are special cases where total
compositional changes in the pipeline may be important.

Due to the phase velocity differences, the fluid composition in a pipe is generally different from the fluid compositions used in the PVT table (for example during the depressurisation
of a pipeline). If only gas is released from the pipe, the total composition in the pipe will change. Condensate may accumulate in the lower parts of the pipe and result in large
compositional differences between sections.

This difference will not affect the steady state results provided that the inlet flowing fluid has the same composition as in the PVT table. In transient simulations 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.

As an alternative to PVT tables, it is possible to perform a simulation using compositional tracking, where the compositional data is provided in a feed file and the code calculates the
fluid properties internally. This means that the total composition may vary both in time and space, and that no special consideration is needed for a pipeline network. This procedure
is also more accurate in simulations where the fluid composition will change considerably with time, e.g., blowdown of pipelines. However, compositional tracking is more CPU
demanding and may prolong the simulation time significantly.
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

Fluid property assumptions


In addition to having some restrictions on the behaviour of fluids in pipes, OLGA also imposes some restrictions on the physical properties of a fluid, and the pressure and
temperature dependency of these. This is don in order to ensure the validity of the numerical models, and to try to avoid numerical instabilities. Unless stated otherwise these
restrictions applies to table-based fluids and compositional tracking.

 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.
-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
 Secondly OLGA checks if the viscosities are <10-9, and sets these viscosities to 10
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 are 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.

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.

Initial value pre-processor


OLGA contains a steady state pre-processor, that computes values to be used as initial conditions in dynamic computations. The pre-processor uses the OLGAS interface
iteratively over all pipe sections to calculate pressure gradients and other parameters in the flow network until a consistent steady-state solution has been found.
However, 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. See limitations in the steady state pre-processor chapter for an explanation for this.

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.

Plot file sizes


There are no formal program restrictions regarding the size of these files. The user implicitly controls the size through the data specified in the keyword statements PLOT, TREND
and PROFILE. The size is determined by the number of variables, sections and output time intervals. The file size limitation will be system dependent. For 32-bit operating systems, a
rule-of-thumb says that files should not exceed 2GB.

Standard Conditions in OLGA


”Standard conditions” are often defined in SI units as 1 bara and 15 °C, but the default value in OLGA it is defined as 1 atm/14.7 psia and 15.56 °C/60 F . This definition is the most
commonly used in the petroleum industry. The default value can only be overridden when using keyword based PVT table.

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

Flow Model Limitations


Generally, these limitations are difficult to assess. Their possible consequences, however, will normally not be influenced by the user input.

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 both 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 is described in Limitations in the use of fluid properties.

Important Numerical Recommendations


Time step
OLGA has time step control based on several criteria. They can all be given at user specified sections through the keyword statement DTCONTROL.

The first time step control is based on the transport criterion of Courant-Friedrich-Levy (CFL):

This criterion is by default switched on. This means that the time step is limited so that no mass is transported across a whole section in one time step. This is the maximum time step
allowed if a mass transient is to be followed correctly.

The 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.
Variable Mesh Length
Past experience indicates that the section lengths should not differ too much along the pipeline. A factor of 2 or less in length ratio between adjacent sections is recommended
although factors of 5-10 might work in some cases.

Pipe-Section Discretisation
In general, if either the inclination angle or the diameter of the pipes 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.

Wall Layer Thickness


The numerical solution of the wall temperatures in the wall layers is dependent on the wall layer discretisation. For steady state calculations, the wall layer discretisation can be quite
coarse, one layer for each material layer.

For transient calculations when the heat storage in the pipe walls can be important (cool down or heat up) a finer discretisation of the pipe walls may be necessary.

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.

Tools available with OLGA

Tool Started from Location of documentation


FEMThem Viewer File menu - > Tools within OLGA GUI F1 inside tool

File menu - > Tools within OLGA GUI or from


Fluid definition tool F1 inside tool
Well GUI

Geometry editor File menu - > Tools within OLGA GUI Click here or F1 inside tool

Mud property table File menu - > Tools within OLGA GUI F1 inside tool

Multiphase toolkit File menu - > Tools within OLGA GUI F1 inside tool

Start page, All Programs->SPT


OLGA viewer File menu - > Tools within OLGA GUI
Group-> OLGA 7->Documentation

OLGA command shell File menu - > Tools within OLGA GUI Click here

From Tools on the case toolbar within OLGA


Parametric study Click here or F1 inside tool
GUI
Start page, All Programs->SPT
Rocx File menu - > Tools within OLGA GUI
Group-> OLGA 7->Documentation

OLGA Command Prompt


Cases may be run without opening the GUI. Select the ‘OLGA Command prompt’ from the start menu (Start à All Programs àSPT Group à OLGA 7 à Tools à OLGA Command
Prompt). A command prompt is opened and allows for the use of the special ‘opi’ command. Type ‘opi /?’ to bring up help on all available options for this command. Here are some
examples of what can be done with the opi command:

Run a single simulation from the current folder


opi sample.opi

Run all cases in the current folder


opi *.opi

Run all cases that starts with the letter ‘a’ with a specific version of the OLGA engine
opi /recursive /version 7.0 a*.opi

The opi command may run opi-files, inp-files, key-files, geninp-files and genkey-files.

OLGA Viewer
The OLGA Viewer is a stand-alone animation tool that is installed and defined as an external tool by default; see the File menu/Tools –> External tools.

The PLOT keyword is needed by the OLGA Viewer, and it is always specified on case level:

In the Properties window for the PLOT, both the plotting frequency DTPLOT and the variables must be specified. All variables are plotted for all flowpaths (branches) and all sections
of the case.
A *.plt file is generated during the OLGA simulation. After opening the OLGA viewer, select the appropriate .plt file.

The figure below shows a snap-shot from the OLGA viewer. A separate help document is available from the Help menu within the tool.

Parametric study
A parametric study is a way to set up a series of OLGA cases based on a current case where each case has one or more parameters that change. A typical example is to define four
cases where everything is the same except for the mass inflow through the source. The inflow increases incrementally in each case. The parametric study makes it easy to define
and run these cases.

The Parametric studies page is opened from the case toolbar, where new studies can be added or previously performed studies reopened.

The input screen for parametric studies is shown below.

Studies can only be performed on the local machine; however, the number of simultaneous simulation can be given (#Parallel simulations). This can be useful for machines with
multiple processors or multithreading.

When saving the case, the parametric study is saved in a separate folder together with the Project/Case.

Naming of cases
The naming of the cases can be changed by selecting an alternative Decoration.

%N – will be replaced by case number


%1 – will be replaced by name of parameter 1

Custom decorations can be created. The name applied as a result of the selected decoration is displayed in the list below.
Creating a study
First, click on the button Add Study.
Secondly, decide how many parameters/properties that should be varied in the parametric study. Enter the number in the #Parameter field.

Then select the parameters to change by right-clicking in the header of the table, where it says <Right-click to select parameter>, then Select
Parameter… . In the dialogue that appears choose the flowpath, node, separator, controller, case or library to where the parameter to change
belongs.

Next choose the keyword from the list shown on the right by double clicking on the keyword or by using the arrows between the lists. Then, in the
list of selected keyword(s), click in the header where it says “Click to select parameter”. A list all parameters for the selected keyword will show,
only the keys shown in black can be selected. Select one parameter and press OK.
Note that for pipe, it is possible to choose several pipes. This means that the parameter chosen for this keyword will be commonly changed for
all pipes selected.
When all parameters to change have been selected, add values to the parameters. There are several ways of entering data:
 Typing values directly into the table. Right-clicking the case column will bring up the option to insert more cases.
 Right-click on one of the parameter headings and choose Set Value(s)… . This gives the option of giving a range of values; start, end and
step. The case table will then automatically be filled in for the selected parameter.
 Clicking on the Matrix… button. This option is only available if more than one parameter is given. In the matrix dialogue gives the option of
entering a list of values for each parameter, which then again will update the case table with all combinations of parameters specified.
When all data are specified, run the study. The Run Study Batch button will start a command shell which will run independently of the OLGA GUI
and only report status while running in the command shell window. While the Run Study button will start the simulations more integrated with
GUI, meaning that the status will be shown in the case table.
Note that only the cases with a check mark will be run. The check marks are removed after the simulations have completed if the Run Study
option is used.

Viewing results
After the parametric study has been run, several different plots can be used to view the results. Below is a short description for each of the options
Trend Plot
Click on the Trend Plot button and the Select variables… dialogue appear. The functionality here is similar to the one described in general for plots. Select the variables that should
be plotted, press OK and the plot will appear.

Profile Plot
Click on the Profile Plot button and the Select variables… dialogue appear. The functionality here is similar to the one described in general for plots. Select the variables that should
be plotted, press OK and the plot will appear.

XY Plot
Click on the XY Plot button and a dialogue will appear. First, select variable type, trend or profile. Then, select the parameter for the x-axis. Then select the 2nd parameter. This
parameter will be constant for each curve plotted, meaning that there will be a curve for each value of this parameter. The variable for the y-axis then needs to be selected, choose
one of the listed items in the left part of the dialogue. Press Plot and the plot will be created.
Within the XY plot, the time for trend plot variables and the time and pipeline length for profile variables can be changed by the dropdowns shown at the bottom of the plot. The option
Tabulate will show the value of the variable as function of parameter 1 and parameter 2 at selected time/pipeline length in a table. Several tables can be added. The values in the
tables can easy be copied out by clicking on the Copy tables button.

Note that this option only makes sense if one or more parameters are kept constant while other parameters are varying. This will be obtained if the Matrix… option is used to add data
to the case table.

Geometry Editor
The geometry editor is used for editing the flowpath profiles. The tool can be open in several ways:

· File menu page/Tools/Geometry Editor (opens with only default data) or


· Select the Property page for the active geometry or flowpath (opens with data for the selected geometry/flowpath)
· Double click on the flowpath in the diagram view
· Right click on flowpath in model view and select properties

Edit Geometries
When opening the Geometry Editor, two views are available; the graph of the profile and a table of pipes. The two windows can be viewed simultaneously by selecting for example,
the plot tab and drag it towards the bottom of the window (as has been done below).

Edit the table


New pipes are added, renamed or deleted, by right-clicking in the Pipe column and selecting the relevant action.

X and Y in the table give the data for the end point of the pipe. Changing Length-Elevation affects X-Y and vice-versa.

Units are changed by right clicking in the title cell (e.g. “Diameter [m]”) and selecting a unit.
Edit the graph
The Geometry can also be edited by the following actions under the Actions menu:

Normal (no change)


A: Add a point
M: Move a point
D: Delete a point

Restrictions on the graphic editor can be imposed (Actions -> Restrictions):

X Fixed (X remains fixed, Y can be changed)


X Bound (Point X-value cannot be moved upstream or downstream neighbours)
Y Fixed (Y remains fixed, X can be changed)
Y Bound (Point Y-value cannot be moved above or below neighbours)
Recursive (all points downstream will follow the point that is being moved)

Check angle distribution


The angle distribution of a Geometry can be checked by selecting Tools -> Check angle distribution. The angle groups that are used can also be seen by right clicking when in the
output window of the angle distribution calculation. These angel groups can also be changed.

The color of the bars and the % values in the output window indicate the difference between the average angle of the pipes within a group and the mean value of the angle group.
Green (and a low % deviation) means a good relevance of the angle group. The % value is a numerically calculated standard deviation divided by half of the angle group span.

Filter the data


Select Tools/Filter. There are two options: a Box filter or a preservation of angle distribution /total flowpath length.

Box filter: This filter is more relevant for removing relatively small disturbances from a pipeline survey. Enter the horizontal sample distance and the vertical sample height. These
values define a moving rectangle (a box) within which all data points will be filtered out. The filtered data appear as a new geometry which may be further filtered/ edited.

Angel distribution: Enter the maximum pipe length that shall be used to filter the profile while maintaining the angle distribution and the total pipe length.

When filtering has been completed it is a good idea to compare the angle distributions of the original geometry and the filtered ones. The filter with the best reproduction of the
original geometry should be used – keeping in mind that the angle groups should be representative.

Define sectioning
The pipe sectioning can be performed in two ways:

1. Manually enter number of sections in the “# Sections” column. This provides equally long sections for a given pipe.

2. By double clicking in the Length of Section list, a tool to distribute sections of various lengths over the pipe-length is provided.

The main rule is that the tool ensures that the sum of sections is equal to the pipe length. Moreover, open section lengths mean that the value above is repeated.

The "remaining of total" is the total pipe length minus length accumulated over the section lengths specified (including the open ones).

To start over again, set the # of sections to 0.

3. Use the discretization tool (Tools/Discretize). Then all pipes are given the same selected number of sections.

Use the new geometry


A new geometry may be imported to a case as follows:
Open the geometry files to use (it can be opened from the Geometry editor or in explorer). Right click on FLOWPATH or Piping in the Model View, select “Exchange Geometry” and
pick the desired geometry. The same Geometry file can be used for several branches however, the Geometries must be re-labelled to secure that the labels are genuine.

Geometries can also be exchanged between flowpaths in the same case. Select the flow path and its Property Page of the Geometry to be distributed to other flowpaths.

Menus
The Geometry Editor features the following menus:
File
New New geometry
Import Imports xy-data
Open Opens geometry file (*.geo)
Close Closes geometry
Save Saves geometry
Save As Saves geometry as new file
Print Prints active window
Print Preview
Print Setup
<Recent File>
Send
Exit
Edit
Undo
Cut
Copy
Paste
Configure Configures graph window
View
Global Overview
Standard
Restrictions
Graph
Status Bar
Labels Toggle the visualization of pipe labels
Walls Toggle the visualization of walls
Actions
Graphical Normal/Add/Move/Delete
Restrictions X Fixed/X Bound/Y Fixed/Y Bound/Recursive
Tools
Angle groups
Check Angle Distribution
Check section lengths Calculates the length ratio of adjoining sections.
Discretize Automatic pipe sectioning (all equal)
Filter Filter data
Reset Pipe Labels Use default pipe labelling
Reverse geometry Creates a geometry that is the mirror image of the
original geometry (in x-direction).
Window
New window New window with active data (works on same data
set)
New window Select graph or table representation
New Horizontal Tab Group
New Vertical Tab Group
More Windows
Help
Help Topics Not implemented
About Geometry Version Information

Enter a new profile


Working with an existing profile in the .xy-format can be done by selecting File/Import and opening the relevant xy-file with the browser.

The new Geometry must be given relevant sections, diameters, roughness and walls. This can also be copied directly from an Excel –worksheet:
Open the Geometry Editor and select File New. A new Geometry with one pipe and default values will be generated, as given below. The geometry is now presented in a tabular
format and allows for toggling between this and the graphic format by clicking on the relevant tab.

Open the Excel-file with the profile-data to input, select the X-Y columns and copy the data.

Select the Start Point 0, 0 in the Geometry Editor with the default geometry open and then Paste. A dialogue will be presented asking about the size of data being pasted into the
Geometry Editor. Answering yes will allow for the data to be passed directly over the existing open geometry.
Limitations
The following important limitation applies:

1. For export to Excel, dot (“.”) must be selected as decimal separator for Excel

Template descriptions
Empty Case
The OLGA Empty case template is used to create new case with no predefined content. All information must be given from scratch.

Basic Case
This template generates a complete basic case - ready for simulation. The case consists of a single flowpath with a closed inlet node and a pressure outlet node. A source is defined
in the first section of the pipeline.

Basic Network Case


This template generates a simple network case consisting of two flowpaths leading into an internal node which again is connected to a third flowpath. There are no sources, instead
the inlet nodes are massflow nodes.

Compressor Manual Controls


Compressor Manual Controls is a simple model to demonstrate compressors with a manual speed controller and a manual controller attached to the compressor recycle valve.

Case description
The model consists of a single branch with a compressor CMPR-1. A manual controller C-MAN-SPEED adjusts the speed of the compressor. The controller C-SCALE-SPEED
normalizes (scales the speed from rang MinRPM–MaxRPM to range 0-1) the speed input to the compressor. The manual controller CMAN-RECYCLE adjusts the opening of the
compressor recycle valve.

Signal connections
CMPR-1 ACSSIG – terminal for compressor anti-surge controller. Anti –surge signal in range 0 to 1. The terminal signal adjusts the compressor recycle valve.
CMPR-1 SPEEDSIG – terminal for compressor speed controller. Speed signal range 0 to 1. The terminal signal adjusts the compressor speed:
CompressorSpeed = MinRPM + (MaxRPM - MinRPM) * Speed Signal

Dynamic simulation
To test the performance of the compressor the speed is changed (set-point change in controller C-MAN-SPPED) at time 100 and 200 seconds and the recycle valve opening is
changed for closed to 0.1 at time 500 seconds.

OLGA Compressor Control


OLGA Compressor Control is a template case for a compressor with anti-surge and pressure performance controllers.
Case description
Model consists of a single branch with compressor CMPR-1.
PID controller C-PT controls compressor suction pressure by adjusting compressor speed. Note the speed signal is normalized in range 0 – 1 corresponding to range MinRPM -
MaxRPM.

Anti-surge controller C-ASC adjusts the opening of the recycle valve to avoid the compressor surges.

Signal connections
CMPR-1 ACSSIG (compressor input) is connected to C-ASC CONTR (controller output).

CMPR-1 SPEEDSIG (compressor input) is connected to pressure controller C-PT CONTR (controller output). Speed signal range 0 to 1. The terminal signal adjusts the compressor
speed:

CompressorSpeed = MinRPM + (MaxRPM - MinRPM) * Speed Signal

C-PT MEASRD (controller input) is connected to transmitter PT-1 with variable PT in unit bar.
C-ASC MEASRD (controller input) is connected to transmitter QG with variable QG in unit m3/s. Transmitter QG is placed at the same section boundary as the compressor.
The set point terminal of C-ASC SETPOINT (controller input) is connected to transmitter TM-3 with variable QGSURGE in unit m3/s. This is the set point to the anti-surge controller
and is the surge point for the compressor at the current operating conditions.

Dynamic simulation
To test the performance of the compressor control set point, changes to the pressure controller C-PT are introduced at times 200 and 400 seconds. The controller set point is changed
from 33 bar to 30 bar at time 200 seconds and from 30 to 25 bar at time 400 seconds.

To test the anti-surge controller, the flow through the compressor is lowered (changed in the source, SOUR-1). The source flow rate is lowered from 100 to 50 MMscf/d in the time
interval 800 to 900 seconds and from 50 to 30 MMscf/d in the time interval 1200 to 1300 seconds.

OLGA Single Separator 3-Phase Compressor


OLGA Single Separator 3-Phase Compressor is a template case for a three phase separator with a compressor at the gas outlet.

Case description
Single three phase separator model with compressor CMPR-1 at gas outlet.
PID controller C-PT-SEP controls separator pressure by adjusting compressor speed. Note the speed signal is normalized in range 0 – 1 corresponding to range MinRPM - MaxRPM.
Anti-surge controller C-ASC to adjust the opening of the recycle valve to avoid that the compressor surges.
PID controllers C-LC-OIL and C-LC-WAT controls separator levels by adjusting valves at separator liquid outlets.

Signal connections
CMPR-1 ACSSIG (compressor input) is connected to C-ASC CONTR (controller output).

CMPR-1 SPEEDSIG (compressor input) is connected to pressure controller C-PT-SEP CONTR (controller output). Speed signal range 0 to 1. The terminal signal adjusts the
compressor speed:

CompressorSpeed = MinRPM + (MaxRPM - MinRPM) * Speed Signal

C-PT-SEP MEASRD (controller input) is connected to transmitter TM-3 with variable PTSEP in unit bar.
C-ASC MEASRD (controller input) is connected to transmitter QG with variable QG in unit m3/s. Transmitter QG is placed on the same section boundary as compressor.
C-ASC SETPOINT (controller input) is connected to transmitter TM-5 with variable QGSURGE in unit m3/s, the set point to the anti-surge controller is the surge limit for the compressor
at the current operation conditions.
C-LC-OIL MEASRD (controller input) is connected to transmitter TM-1 with variable OILLV in unit mm.
C-LC-WAT MEASRD (controller input) is connected to transmitter TM-2 with variable WATLV in unit mm.
V-LV-OIL INPSIG (valve input signal) is connected to C-LV-OIL CONTR
V-LV-WAT INPSIG (valve input signal) is connected to C-LV-WAT CONTR

Dynamic simulation
To test the performance of the compressor, control set-point changes to the pressure controller C-PT-SEP are introduced at times 300, 1800 and 3600 seconds. The controller set-
point is changed from 25 bar to 20 bar at time 300 seconds, from 20 to 18 bar at time 1800 seconds and 18 to 16 bar at time 3600 seconds.

The anti-surge controller keeps the recycle valve slightly open to achieve sufficient constant margin to the surge line.
Well templates
The purpose of the well templates is to give a starting point for each of the well inflow models. The name of the templates reflect the inflow model used.

Well GUI templates


Please refer to the Well GUI documentation for a description of the Well GUI templates.

Sample cases
The OLGA installation includes a set of sample cases. They can be accessed from the Help page in the GUI. All sample projects can also be started from the start menu
(All Programs > SPT Group > OLGA 7 > OLGA Samples). These are located on the folder: C:\Users\Public\Public Documents\SPT Group\OLGA 7.

The sample cases are organized in projects as follows:

Advanced Thermal project:


Fluid bundle
Solid bundle

Compositional project:
Blackoil
Compositional Tracking
MEG Tracking
CO2 Tracking (Single component)
H2O Tracking (Single component)
H2O Tracking (Steam/Water–HC)
Tracer Tracking

FA-Models project:
2nd-order scheme
Advanced Well
Corrosion
Drilling Fluid
Hydrate Kinetics
Network
Wateroptions
Waxdeposition

OPC Server project:


Server demo with opc

Pigging project:
Pigging (with and w/o tracking of slug and with and w/o compositional tracking)

Process project:
Process Equipment
PID Controller
Simplified Pump
Centrifugal Pump
Displacement Pump
Pump Battery
Separator
Source, Leak and Choke
Well and Pressure Boost

Slugging project:
Start-up slug (with and w/o compositional tracking)
Hydrodynamic slugging (with and w/o compositional tracking)

Valve project:

Plug-in project:
Plug-in hydrate formation
Plug-in_sand in water

Sample case: 2nd-order scheme


The case Second-order-MEGsteps.opi illustrates the improved accuracy that can be achieved by applying a 2nd-order scheme when solving the mass equations.

The pipeline is 100 m long with a 50 m gain in elevation. Initially, the first 100 m of the pipe is filled with oil whereas the rest of the pipe is filled with water. Within the water, there are
three regions with various amounts of MEG, see Figure 1. As the simulation starts, oil is injected at the inlet, pushing the water out of the pipeline. What should be noted are the
differences in results when running the case using a 2nd-order scheme for the mass equations as compared to a 1st-order scheme. While numerical diffusion rapidly smears out the
MEG using the 1st-order scheme, pronounced peaks are preserved throughout the simulation using the 2nd-order scheme, see Figure 2.

Figure 1 Initial MEG fractions.


Figure 2 MEG fractions 85 s into the simulation. The black curve is using a 1st-order scheme for the mass equations whereas the red curve illustrates the use of a 2nd-order
scheme.

Case Comments:
CaseDefinition:

OPTIONS: The discretization scheme applied when solving the mass equations is determined by the key MASSEQSCHEME.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: The first 100 m of the pipe is filled with oil whereas the rest of the pipe contains only water. Within the water,
three regions containing different amounts of MEG are set up.

FLOWPATH — Boundary&InitialConditions — SOURCE: The mass source is ramped up to a steady mass flow of 53.34 kg/s over the first 8.5 seconds of the simulation. The
source temperature is 30°C.

FLOWPATH — Piping: The branch is a single pipe, 1 km long with an elevation of 50 m.

FLOWPATH — Output — PROFILEDATA: Variables of interest are hold-ups and inhibitor fractions.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of 4.5 MPa and a temperature of 30°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 100 seconds.

TREND: Trend variables are plotted every 0.1 seconds.

PROFILE: Profile variables are plotted every 5 seconds.

Sample case: Advanced well


The case AdvancedWell.opi demonstrates some of the features in the advanced well functionality. A 3500 m vertical well is producing from a gas reservoir through a 5.5" ID tubing.
The formation has a permeability of 500 mD and the Forchheimer inflow correlation is applied. This is a typical inflow correlation for a gas reservoir where the non-linear behavior
between the produced gas rate and flowing bottom hole pressure is important.

A wellhead choke is placed at the last section boundary of the branch.

Case Comments:
CaseDefinition:

OPTIONS: The steady state pre-processor is deactivated. The heat transfer number outside the wall have to be given.

INTEGRATION: The case is simulated form 0 to 5 hours with a maximum time step of 2 seconds. The minimum time step is set to 0.001 seconds.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: A linear ambient temperature profile is used for the well. An overall heat transfer coefficient of 10 W/m2K has
been used.

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: The pipeline is initialized with gas at 30°C. The mass flow is set to zero throughout the pipeline. The
pressure is set to 400 bar at the inlet, 300 bar at the outlet, and is interpolated vertically in between.

FLOWPATH — Boundary&InitialConditions — WELL: A gas well with reservoir pressure of 412 bara and reservoir temperature of 43.5°C is placed at the b ranch inlet. The well
production is calculated using the Forchheimer model and the linear model is used for injection. The reservoir permeability is 500 mD and the net pay from the zone is 14 m. The
mechanical skin is 3, and a turbulent non-Darcy skin of 0.01 1/mmscf/d is used.

FLOWPATH — ProcessEquipment — VALVE: A wellhead choke with 10% opening is placed at the outlet.

NODE: The inlet node is closed and the inlet flow is specified with a productivity correlation based on physical reservoir properties (see WELL). The outlet node is of type pressure.
The boundary conditions are constant through the simulation.

FLOWPATH — Piping: The 3500 m long vertical well is described by 9 pipes.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10000 seconds.
TREND: Trend variables are plotted every 100 seconds.

PROFILE: Profile variables are plotted every 6000 seconds.

Sample case: Blackoil


The case Blackoil.opi demonstrates the blackoil module. The case comprises of a single branch with one ascending pipe. The pipeline is 400 meters long and has an elevation of
10 meters. The pipeline is divided into 10 sections.

Case Comments:
CaseDefinition:

OPTIONS: To activate the blackoil module, the key COMPOSITIONAL has to be set to BLACKOIL.

INTEGRATION: The simulation end time is set to 100 seconds. The maximum and minimum time steps are 5 s and 0.01 s, respectively.

Compositional:

BLACKOILCOMPONENT: One gas component and one oil component is defined. The oil component is defined by a specific gravity of 0.8 whereas the gas component is defined by
a specific gravity of 0.7. The gas component is given a CO2 mole fraction of 0.1, and an N2 mole fraction of 0.02.

BLACKOILFEED: The BLACKOILFEED combines the two BLACKOILCOMPONENTs. The two components are combined to give a GOR of 200 Sm3/Sm3 at standard conditions.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: A constant ambient temperature of 6°C and an ambie nt heat transfer coefficient of 6.5 W/m2K is used.

FLOWPATH — Boundary&InitialConditions — SOURCE: The source has a constant flow rate throughout the simulation. The name of the fluid (feed) is given by the key
FEEDNAME. The flow rate is set to 1000 STB/d (in the FEEDSTDFLOW keyword).

FLOWPATH — Output — TRENDDATA: Pressure, volumetric oil holdup and volumetric water holdup are plotted at the first and last section of the pipe. The overall content of oil,
and overall content of water are plotted. The content is given as cubic meters for the entire pipeline.

FLOWPATH — Output — OUTPUTDATA: Pressure, temperature, volumetric holdup, gas mass flow and overall mass flow are written to the output file.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: There is a mass source at the inlet, the inlet node is therefore closed. There is a constant pressure condition at the outlet. The outlet node uses the BLACKOILFEED (set in
the FEEDNAME keyword).

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every hour.

TREND: Trend variables are plotted every 15 seconds.

PROFILE: Profile variables are plotted every 5 minutes.

PROFILEDATA: Pressure, temperature, liquid holdup, overall mass flow and gas mass flow are plotted.

Sample case: Centrifugal Pump


The case Pump-Centrifugal.opi demonstrates how OLGA can be used to model a centrifugal multiphase pump with recycle function and bypass lines.

The system consists of a 100 m long horizontal wellhead pipe followed by a 300 m m long pipe containing a pump inlet valve, a centrifugal pump, a pump outlet valve, and a check
valve at the outlet of that pipe. Following this is a 100 m long pipe leading up to a 200 m tall riser to the topside. A bypass pipeline is connected to the pump pipeline. This line has a
bypass valve on the inlet and a check valve on the outlet. A sketch of the model is shown in Figure 1.

Operation scenario:
In the first hour, the system's inlet pressure is 8 bar higher than its outlet pressure. The production is to go through the bypass line and the total flow rate is about 45 kg/s. In the
second hour, the inlet pressure is reduced to be the same as the outlet pressure so that no production is expected without a pump. Then, the pump line is opened, the bypass line
closed, and the centrifugal pump starts to increase the pump speed in order to yield the flow rate 50 kg/s.

Figure 1 Sketch of the model.


Case Comments:
CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The steady state pre-processor is turned off.

FILES: The characteristic data of the pump is found in the file ol-pumpc-2.tab.

Controller-models:

PIDCONTROLLER: C-PUMP-C-SP: This controller is required by the pump module. In this sample case, the pump speed is controlled by the total mass flow rate (PUMPGT) through
the pump. The total mass flow rate is measured by and defined in the Transmitter TM-2.

PIDCONTROLLER: C-PUMP-C-RE: This controller is required by the pump module. In this case, the pump recycle flow is controlled by the pump inlet pressure. The pump inlet
pressure is measured by Transmitter TRAN-B-PL-PT, and if the pump inlet pressure is lower than 38.12 bara, the recycle flow will be started. If no recycle flow is required, a manual
controller with SETPOINT=0 can be used for the recycle controller or the recycle diameter, RECDIAMETER, can be set to zero.

MANUALCONTROLLER: C-PUMP-C-BY: This controller is required by the pump module. However, the built-in bypass function of the pump module is obsolete since any bypass
line can be modeled using an additional flow-path. In this sample case, the bypass controller is a manual controller withSETPOINT=0, which means that the built-in bypass line is
closed.

MANUALCONTROLLER: C-PUMPV-1: This controller is optional. The controller is used to control the built-in valve in the centrifugal pump module to stop the flow if the pump is
deeded, e.g., if the pump is shut down and no back flow is allowed. In this sample case, this controller is defined as TYPE=MANUAL and SETPOINT=1, which means that the valve
is fully opened.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: Since the steady state pre-processor is not used, the initial conditions have to be given.

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The ambient temperature is set to 15°C. The heat t ransfer coefficient on outer walls is set to 500 W/m2K. The
minimum heat transfer coefficient on inner walls is set to 10 W/m2K.

FLOWPATH — ProcessEquipment — PUMP: The centrifugal pump is defined by following parameters: DENSITYR=900 kg/m3; EFFIMECH=0.7; FLOWRATED=0.15 m3/s;
HEADRATED=150 m; SPEEDR=1500 rpm; MAXSPEED=8000 rpm; RECDIAMETER=0.1 m (diameter of the built-in recycle pipe); BYDIAMETER=0 (bypass diameter, zero means
no bypass flow through the built-in bypass).

FLOWPATH — Piping: The pipeline consists of a 500 m long pipe horizontal pipe with a 0.2 m diameter which leads up to a 200 m tall riser. At topside a 100 m pipe leads to the
outlet. The bypass line, constituted by six sections, is 300 m long and has the same diameter, 0.2 m, as the rest of the pipe.

FLOWPATH — Output — TRENDDATA: Pump variables are plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 47 bara over the first hour and is then reduced to 39 bara. The inlet temperature is held constant at
30°C. The outlet pressure is held constant at 39 ba ra and the temperature is 20°C. Two internal nodes are used to connect the bypass around the pump.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10 hours.

TREND: Trend variables are plotted every second.

PROFILE: Profile variables are plotted every 30 minutes.

Sample case: CO2 Tracking (Single component)


Case: Single-CO2.opi
Purpose: "Walk around" the critical point.
Fluid: 100% CO2

The transient starts in the gas region, T=5°C and P =30 bar. After 60 seconds, the inlet temperature is increased and reaches 50°C after 120 seconds. A co rresponding increase in
outlet temperature follows. A temporary small increase in outlet flow rate occurs due to the lower density of gas at the increased temperature. The lower gas density leads to an
increase in volumetric flow rate.

After 10 minutes, the outlet pressure is increased to 80 bar, thereby moving into the dense phase region on the gas side. A temporary increase in outlet temperature occurs due to
compression of the gas and a temporary reduction in outlet flow rate can also be seen.

After 20 minutes, the inlet temperature is reduced to 5°C, thereby moving into the liquid side of the dense phase region. This leads to condensation of gas which slows down the
reduction in outlet temperature (release of heat due to condensation). The outlet flow rate of gas shows an oscillatory behavior and finally goes to zero when all the vapor is either
condensed or has left the pipe.

After half an hour, the outlet pressure is reduced to 30 bar, thereby crossing the saturation line from the liquid side to the gas side. A temporary drop in outlet temperature down to
about saturation temperature occurs due to the evaporation of water. There is also an overshoot in gas flow rate due to the volume increase.

Case Comments:
CaseDefinition:

OPTIONS: The single component module is activated by setting COMPOSITIONAL=SINGLE. TEMPERATURE=ADIABATIC (no heat exchange with walls)

Compositional:

SINGLEOPTIONS: CO2 is activated by setting COMPONENT=CO2. Time constants are set: TCONDENSATION=1.0, TBOILING=1.0.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: Liquid source delivering 2 kg/s. Temperature and pressure varies with time.

FLOWPATH — Piping: 100 m horizontal pipe, diameter=0.12 m, 20 sections

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.

Output:
ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 600 seconds.

TREND: Trend variables are plotted every second.

PROFILE: Profile variables are plotted every 5 minutes.

PROFILEDATA: Pressure, temperature, liquid holdup, overall mass flow and gas mass flow are plotted.

Sample case: Compositional tracking


The case CompTrack.opi comprises one branch with ascending and descending pipes. Initially the pipeline is filled with live crude and the fluid is under-saturated throughout the
pipeline.

After 30 hours, the system is shut-in and cooled down due to a low ambient temperature. Then, gas pockets are generated at the highest points of the pipeline. After 50 hours, oil is
injected at the inlet. This fluid is the same as the one the pipeline was filled with initially. The gas is dissolved in the under-saturated oil. After 51 hours all the gas has disappeared
and the system returns to the original steady state.

Figure 1 Schematic view of the pipeline geometry.

Case Comments:
CaseDefinition:

OPTIONS: To activate compositional tracking, the key COMPOSITIONAL has to be set to ON.

FILES: A feed file generated with PVTSim has be specified using the key FEEDFILE. The feed file contains information about the fluids and the components used in the simulation.

INTEGRATION: The simulation end time is set to 70 hours. The maximum and minimum time steps are 20 s and 0.1 s, respectively.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: The source produces the same fluid throughout the simulation, but the source flow rate and temperature changes. The
name of the fluid (feed) is given by the key FEEDNAME. The flow rate is specified in FEEDMASSFLOW. After 30 hours, the production is shut-in and the pipeline is closed. After
50 hours the source is restarted.

FLOWPATH — Output — PROFILEDATA: Standard variables are plotted. Mole fractions in the gas phase, liquid phase and overall are plotted.

FLOWPATH — Output — TRENDDATA: Mass fractions in the gas and liquid phases are plotted at the inlet and outlet. The overall mole fraction is also plotted at these positions.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed since there is a mass source at the inlet producing at varying flow rate. At the outlet, a constant pressure condition is applied. The same fluid is used
at both nodes (given by the key FEEDNAME).

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every hour.

TREND: Trend variables are plotted every three minutes.

PROFILE: Profile variables are plotted every hour.

Sample case: Corrosion


The case Corrosion.opi is an example illustrating the use of the corrosion model. The main pipeline starts with a 3.3 km long horizontal pipe ending in a 90 m riser followed by a
short horizontal pipe. The inner diameter of the pipe is 0.41 m. Heat transfer through pipe walls is calculated. The fluid composition is of a gas condensate type. The water cut is
about 80%.

Case Comments:
Library:

WALL: The pipe walls consist of steel (two layers) covered by one layer of insulation.

CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through pipe walls is used.

INTEGRATION: The simulation runs for five hours using a minimum time step of 0.01 s and a maximum one of 10 s. The initial time step is set equal to the minimum one.

FA-models:

WATEROPTIONS: Water flash and water slip are turned on.

FlowComponent:
FLOWPATH — Boundary&InitialConditions — SOURCE: The inlet boundary condition is a constant mass source with mass flow of 34.181 kg/s and temperature of 60°C. The
mass fraction of free water is set to 0.3. Since water flash is active, see WATEROPTIONS keyword, there is additional water in the vapor phase given by the water vapor mass
fraction in the PVT table. By default, the equilibrium is used to determine the gas source at the inlet.

FLOWPATH — FA-models — CORROSION: Both Model1 (NORSOK) and Model3 (de Waard 95) are activated on flow path B-INLET. The CO2 fraction, i.e., the ratio of CO2 partial
pressure to total pressure in the gas, is set to 5%. The fraction of glycol in the glycol/water mixture is set to 50% and the inhibitor efficiency is set to 90%. The presence of glycol
yields a reduction factor of the corrosion rate. The effect of a second inhibitor is given directly though the key INHIBITOREFFICIENCY. For the NORSOK model, only the largest of
these two factors is multiplied with the corrosion rate while for the de Waard 95 model, both factors are multiplied with the corrosion rate.

FLOWPATH — Piping: The pipeline is 3.3 km long. The total number of pipes, including topside, is 9. The pipes are divided into 58 sections. The pipe walls consist of steel (two
layers) covered with a layer of insulation.

FLOWPATH — Output — PROFILEDATA: Pressure, temperature, overall mass flow, gas velocity, and oil and water hold-up and velocities are profile plotted for all pipelines.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed. The outlet boundary condition is to a constant pressure of 24 bara and a temperature of 26°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.

TREND: Trend variables are plotted every 10 seconds.

PROFILE: Profile variables are plotted every 50 seconds.

Sample case: Displacement Pump


The case Pump-Displacement.opi demonstrates how OLGA can be used to model a displacement multiphase pump with recycle function and bypass lines.

The system consists of a 100 m long horizontal wellhead pipe followed by a 300 m m long pipe containing a pump inlet valve, a displacement pump, a pump outlet valve, and a check
valve at the outlet of that pipe. Following this is a 100 m long pipe leading up to a 200 m tall riser to the topside. A bypass pipeline is connected to the pump pipeline. This line has a
bypass valve on the inlet and a check valve on the outlet. A sketch of the model is shown in Figure 1.

Operation scenario:
In the first hour, the system's inlet pressure is 4 bar higher than its outlet pressure. The production is to go through the bypass line and the total flow rate is about 22.2 kg/s. In the
second hour, the inlet pressure is reduced to be the same as the outlet pressure so that no production is expected without a pump. Then, the pump line is opened, the bypass line
closed, and the displacement pump starts to increase the pump speed in order to yield the flow rate 30 kg/s.

Figure 1 Sketch of the model.

Case Comments:
CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The steady state pre-processor is turned off.

FILES: The characteristic data of the pump is found in the file ol-pump1-2.tab.

Controller-models:

PIDCONTROLLER: C-PUMP-D-SP: This controller is required by the pump module. In this sample case, the pump speed is controlled by the total mass flow rate (PUMPGT) through
the pump. The total mass flow rate is measured by and defined in the Transmitter TM-2.

PIDCONTROLLER: C-PUMP-D-RE: This controller is required by the pump module. In this case, the pump recycle flow is controlled by the pump inlet pressure. The pump inlet
pressure is measured by Transmitter TRAN-PUMP-IN-PT, and if the pump inlet pressure is lower than 38.2 bara, the recycle flow will be started. If no recycle flow is required, a
manual controller with SETPOINT=0 can be used for the recycle controller or the recycle diameter, RECDIAMETER, can be set to zero.

MANUALCONTROLLER: C-PUMP-C-BY: This controller is required by the pump module. However, the built-in bypass function of the pump module is obsolete since any bypass
line can be modeled using an additional flow-path. In this sample case, the bypass controller is a manual controller with set-point 0, which means that the built-in bypass line is
closed.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: Since the steady state pre-processor is not used, the initial conditions have to be given.

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The ambient temperature is set to 15°C. The heat t ransfer coefficient on outer walls is set to 500 W/m2K. The
minimum heat transfer coefficient on inner walls is set to 10 W/m2K.
FLOWPATH — ProcessEquipment — PUMP: The centrifugal pump is defined by following parameters: SPECAPACITY=0.01 m3/R; PREFSPEED=3000 rpm;
MAXSPEED=8000 rpm; RECDIAMETER=0.1 m (diameter of the built-in recycle pipe); BYDIAMETER=0 (bypass diameter, zero means no bypass flow through the built-in bypass).

FLOWPATH — Piping: The pipeline consists of a 500 m long pipe horizontal pipe with a 0.2 m diameter which leads up to a 200 m tall riser. At topside a 100 m pipe leads to the
outlet. The bypass line, constituted by six sections, is 300 m long and has the same diameter, 0.2 m, as the rest of the pipe.

FLOWPATH — Output — TRENDDATA: Pump variables are plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 43 bara over the first hour and is then reduced to 39 bara. The inlet temperature is held constant at
30°C. The outlet pressure is held constant at 39 ba ra and the temperature is 20°C. Two internal nodes are used to connect the bypass around the pump.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10 hours.

TREND: Trend variables are plotted every second.

PROFILE: Profile variables are plotted every 30 minutes.

Sample case: Drilling Fluid


The case DrillingFluid.opi demonstrates how OLGA models drilling fluid in a well clean-up case.

The system consists of a well tubing pipeline with 1875 m TVD and 2725 m MD and a 150 m long wellhead pipe. A source injects water based drilling mud from the well bottom hole
to fill-in the well tubing. The well production will push the drilling mud out of the tubing and start normal production. A sketch of the model is shown in Figure 1.

Operation scenario:
Water based drilling mud is injected from the well bottom hole during the first hour in order to fill-in the well tubing. The mud is then reduced to zero over half an hour. The well
production will push the drilling mud out of the tubing and start normal production.

Trend plots of the total mass flow rate at topside (GT), the total well flow rate (GTWELL), and mud source mass flow rate (GTSOUR) show the flow rate changing. Profile plots of the
mass fraction of mud (MFAMUD), liquid density (ROL) and hold-up show changes in the amount of mud and liquid in the pipeline.

Figure 1 Sketch of the model.

Case Comments:
Library:
DRILLINGFLUID: The drilling fluid, DRFL_LIQ_1, is defined with TYPE=WATER, MINDENSITY=600 kg/m3, MAXDENSITY=2400 kg/m3, MINVISCOSITY=10-4 Ns/m2 and
MAXVISCOSITY=1 Ns/m2

CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The steady state pre-processor is used to generate initial conditions.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The ambient temperature is vertically interpolated from 80°C at the bottom of the borehole to 20°C at the
wellhead. The heat transfer coefficient on outer walls is set to 500 W/m2K. The minimum heat transfer coefficient on inner walls is set to 10 W/m2K.

FLOWPATH — Boundary&InitialConditions — SOURCE: The mass source injects water based mud at the well bottom hole at a rate of 60 kg/s over the first hours. Over the next
half an hour, the rate is reduced to zero.

FLOWPATH — Boundary&InitialConditions — WELL: The reservoir pressure is 200 bara and reservoir temperature 80°C. Production and injection type is L INEAR.
AINJ=APROD=0, BINJ=10-8 kg/s/Pa and BPROD=3.5·10-6 kg/s/Pa.

FLOWPATH — Output — TRENDDATA: The mass fraction of mud is plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The outlet pressure held constant at 30 bara and the temperature is 4°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.
OUTPUT: OLGA variables are printed to the output file every 10 hours.

TREND: Trend variables are plotted every 10^#160;seconds.

PROFILE: Profile variables are plotted every 6 minutes.

Sample case: Fluid bundle


The case FluidBundle.opi demonstrates how OLGA can be used to simulate how a bundled pipeline initially filled with gas is heated up before production is started.

N.B., when importing similar cases from OLGA 5, a certain amount of manual labor is required. Please refer to the conversion documentation for a detailed description.

The pipeline consists of a 5480 m long pipe along the seabed followed by a 162 m vertical riser and a 100 m horizontal topside pipe. The pipe has a hydraulic diameter of 30.48 cm.

The part of the pipeline which is on the seabed is contained within a bundle where the carrier line contains heated water injected on the platform end. The carrier line water returns to
the platform through the return line before it is heated up again and reinjected into the carrier line.

The bundle also contains a methanol line. A sketch of the cross-section of the bundle is shown in Figure 1.

Figure 1 Cross-section of the bundle.

Case Comments:
Library:

MATERIAL: Carbon steel is the only material used in the pipe walls.

WALL: The flow line pipe wall is 2.54 cm thick and has been divided into 4 layers.

CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through the pipe wall has been used as this is required by the bundle module. The steady state initialization has
been turned off.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: The flow line is initially filled with gas and the pressure is set equal to the outlet pressure. The initial
temperature is 4°C both in the pipeline and bundle lines.

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The ambient conditions are constant along the whole system. For the part of the pipeline contained in the
bundle, the ambient conditions are exterior to the flow line.

FLOWPATH — Boundary&InitialConditions — SOURCE: During the initial heating up of the system, the source is turned off. Ramping up to a steady production flow rate is
commenced after 10 hours.

FLOWPATH — Piping: The pipeline along the seabed (5480 m) is described by seven pipes whereas the riser and topside are single pipes.

FLOWPATH — Output — OUTPUTDATA: In addition to standard OLGA variables, TBUN is printed to the output file.

FLOWPATH — Output — TRENDDATA: In addition to standard OLGA variables, TBUN is trended for the bundle lines at selected positions.

FLOWPATH — Output — PROFILEDATA: In addition to standard OLGA variables, TBUN is profiled for all bundle lines.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The flow line has a closed inlet node whereas the methanol line has a mass flow node on the inlet. Both these lines have pressure boundaries specified at the outlet. Inlet
temperatures are specified for the bundle lines. An internal node is used for the crossover from the carrier line to the return line. The water is going in a loop consisting of the carrier
and return lines where constant pressure and temperature is set on the platform side.

ThermalComponent:

FLUIDBUNDLE: The bundle consists of four pipelines (BundleComponents). One is defined as a FLOWPATH and the other three as LINEs. The pipe defined as FLOWPATH defines
that the bundle starts at the beginning of the second pipe and ends at the riser base.

The data of both fluid and line pipe walls are given so that OLGA calculates a u-value for each of the lines. The flow in the carrier line is counter current to the flow in the other lines
and in the flowpath.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file, every 10th hour.

TREND: Trend variables are plotted every minute.

PROFILE: Profile variables are plotted every hour.

Sample case: H2O Tracking (Single component)


Case: Single-H2O.opi
Purpose: "Walk around" the critical point.
Fluid: 100% H2O

The transient starts in the gas region, T=360°C and P=150 bar. After 60 seconds the inlet temperature is increased and reaches 450°C after 120 seconds. A corresponding increase
in outlet temperature follows. A temporary small increase in outlet flow rate occurs due to the lower density of gas at the increased temperature.

After 10 minutes, the outlet pressure is increased to 227 bar, thereby moving into the dense phase region on the gas side. A temporary increase in outlet temperature occurs due to
compression of the gas and a minor reduction in outlet flow rate can also be seen.

After 20 minutes, the inlet temperature is reduced to 360°C, thereby moving into the liquid side of th e dense phase region. This leads to condensation of gas which slows down the
reduction in outlet temperature. The outlet flow rate of gas shows an oscillatory behavior and finally goes to zero when all the vapor is either condensed or has left the pipe. During
the oscillations in outlet flow of vapor negative values can be seen, which is due to the oscillations being of numerical nature. The conditions are quite close to the critical point where
the behavior of the fluid properties is highly nonlinear.

After half an hour, the outlet pressure is reduced to 150 bar, thereby crossing the saturation line from the liquid side to the gas side. A temporary drop in outlet temperature down to
about saturation temperature occurs due to the evaporation of water. There is also an overshoot in gas flow rate due to the volume increase.

Case Comments:
CaseDefinition:

OPTIONS: The single component module is activated by setting COMPOSITIONAL=SINGLE. TEMPERATURE=ADIABATIC (no heat exchange with walls)

Compositional:

SINGLEOPTIONS: H2O is activated by setting COMPONENT=H20. Time constants are set: TCONDENSATION=1.0, TBOILING=1.0, TVAPORIZATION=1.0

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: Water source delivering 2 kg/s. Temperature and pressure varies with time.

FLOWPATH — Piping: 100 m horizontal pipe, diameter=0.12 m, 20 sections.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.

Sample case: H2O Tracking (Steam/Water–HC)


Case: SteamWater-HC.opi
Purpose: "Walk around" the critical point.
Fluid: 100% H2O

The transient starts in the gas region, T=360°C and P=150 bar. After 60 seconds the inlet temperature is increased and reaches 450°C after 120 seconds. A corresponding increase
in outlet temperature follows. A temporary small increase in outlet flow rate occurs due to the lower density of gas at the increased temperature.

After 10 minutes, the outlet pressure is increased to 227 bar, thereby moving into the dense phase region on the gas side. A temporary increase in outlet temperature occurs due to
compression of the gas and a minor reduction in outlet flow rate can also be seen.

After 20 minutes, the inlet temperature is reduced to 360°C, thereby moving into the liquid side of th e dense phase region. This leads to condensation of gas which slows down the
reduction in outlet temperature. The outlet flow rate of gas shows an oscillatory behavior and finally goes to zero when all the vapor is either condensed or has left the pipe. During
the oscillations in outlet flow of vapor negative values can be seen, which is due to the oscillations being of numerical nature. The conditions are quite close to the critical point where
the behavior of the fluid properties is highly nonlinear.

After half an hour, the outlet pressure is reduced to 150 bar, thereby crossing the saturation line from the liquid side to the gas side. A temporary drop in outlet temperature down to
about saturation temperature occurs due to the evaporation of water. There is also an overshoot in gas flow rate due to the volume increase.

Case Comments:
CaseDefinition:

OPTIONS: The steam\water–HC module is activated by setting COMPOSITIONAL=STEAMWATER-HC. TEMPERATURE=ADIABATIC (no heat exchange with walls)

Compositional:

COMPOPTIONS: Time constants are set: TCONDENSATION=1.0, TBOILING=1.0, TVAPORIZATION=1.0

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: Liquid source delivering 2 kg/s. Temperature and pressure varies with time.

FLOWPATH — Piping: 100 m horizontal pipe, diameter=0.12 m, 20 sections.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 600 seconds.

TREND: Trend variables are plotted every seconds.

PROFILE: Profile variables are plotted every 5 minutes.

Sample case: Hydrate Kinetics


The case HydrateKinetics.opi demonstrates how the hydrate kinetics model can be used in an OLGA simulation. The hydrate kinetics model enables approximate predictions of
where hydrate plugs might form in oil and gas pipelines.

The system consists of a well tubing pipeline with a 1875 m true vertical depth (TVD) and a 2725 m measured depth (MD), a 150 m long wellhead pipe, a 3150 m pipeline leading up
to a 391.2 m vertical riser and a 100 m long horizontal topside pipe. The total production is controlled by the wellhead choke. A sketch of the model is shown in Figure 1.

Operation scenario:
The well is a gas well. The fluid temperature may be below the hydrate temperature in the flow line. In order to avoid hydrate plugs, regions where the conditions might cause hydrate
plugs to form can be detected.
Figure 1 Sketch of the model.

Case Comments:
Library:

HYDRATECURVE: Definition of hydrate curve used by HYDRATECHECK.

CaseDefinition:

OPTIONS: Temperature calculations use heat transfer on the inside and outside of pipe walls as well as heat conduction, but no heat storage is accounted for. The initial conditions
are generated by the steady state pre-processor.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The inlet ambient temperature of the well is 50°C and outlet ambient temperature is 4°. The code will do a
vertical interpolation on ambient temperature along the tubing. In the flow line and riser, the ambient temperature is 4°C. The heat transfer coefficient on outer wall is set to 500
W/m2K. The minimum heat transfer coefficient on inner wall is set to 10 W/m2K.

FLOWPATH — Boundary&InitialConditions — WELL: The reservoir pressure is 200 bara and reservoir temperature 50°C. Production and injection type is L INEAR.
AINJ=APROD=0, BINJ=10-7 kg/s/Pa and BPROD=2.5·10-6 kg/s/Pa.

FLOWPATH — FA-models — HYDRATECHECK: Hydrate checking is activated in all flowpaths.

FLOWPATH — FA-models — HYDRATEKINETICS: The hydrate kinetics model is applied for all flowpaths.

FLOWPATH — Output — TRENDDATA: Hydrate variables are plotted.

FLOWPATH — Output — PROFILEDATA: Hydrate variables are plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The outlet pressure held constant at 50 bara and the temperature is 20°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10 hours.

TREND: Trend variables are plotted every 10 seconds.

PROFILE: Profile variables are plotted every hour.

Sample case: Hydrodynamic slugging


The cases HydrSlug-pvt.opi and HydrSlug-comp.opi illustrate slug-tracking using hydrodynamic slug initiation with and without and with compositional tracking, respectively. A
platform to platform transportation is simulated where the fluid enters into a short horizontal pipe before descending down a 173 m long riser. A 7.5 km pipeline through slight uphill
terrain leads up to the second, 140 m high, riser and a short horizontal topside pipe. A sketch of the pipeline geometry is shown in Figure 1.

Figure 1 Schematic illustration of the pipeline geometry.

Case Comments:
CaseDefinition:

OPTIONS: The two cases run with COMPOSITIONAL=OFF/ON, respectively. Temperature exchange with the walls are not accounted for, adiabatic flow is assumed.

FILES: The fluid is described by either a pvt-file or an equivalent feed-file depending on the type of simulation.
FA-models:

SLUGTRACKING: Hydrodynamic slug initiation is enabled (HYDRODYNAMIC=ON) is enabled through the entire simulation.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: The source introduces fluid into the pipeline at a constant rate of 130200 kg/h. The fluid temperature is 72.2°C.

FLOWPATH — FA-models — SLUGILLEGAL: The sections in the pipe TO-SEP are declared as illegal sections, i.e., no slugs can be initiated or propagate through these sections.

FLOWPATH — ProcessEquipment — VALVE: A valve with constant valve opening is put in the middle of the top-side pipe at the outlet.

FLOWPATH — Output — TRENDDATA: In addition to standard plotting variables such as liquid content, pressure, hold-ups, etc., various slug related properties are plotted. E.g.,
variables like HOLEXP show the instantaneous holdup at the position specified.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of 68.3 bara and a temperature of 20°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every hour.

TREND: Trend variables are plotted every second.

PROFILE: Profile variables are plotted every 10 minutes.

TRENDDATA: In addition to standard plotting variables, the number of slugs in the pipeline (NSLUG) and the accumulated number of slugs initiated (SLUPRO) are plotted.

Sample case: MEG Tracking


The case Meg-Tracking.opi demonstrates the features of the inhibitor tracking module. A horizontal pipeline with a source at the inlet is used to show that the concentration of MEG
can be changed during the simulation and how this can be tracked through the pipeline.

Case Comments:
FA-models:

WATEROPTIONS: Water flash and water slip are turned on.

CaseDefinition:

OPTIONS: To activate MEG tracking, the key COMPOSITIONAL has to be set to MEG.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: A mass source with constant mass flow is placed at the inlet. The MEG concentration in the aqueous phase changes
from 60% to 30% after 1.5 hours.

FLOWPATH — Piping: The branch consists of 11 pipes.

FLOWPATH — Output — TRENDDATA: The mole fractions of all three components in the gas and water phases are plotted.

FLOWPATH — Output — PROFILEDATA: The mole fraction of MEG in the water phase is plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: A closed node is placed at the pipe inlet. A constant pressure is applied at the outlet.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 2 hours.

TREND: Trend variables are plotted every 6 minutes.

PROFILE: Profile variables are plotted every 15 minutes.

Sample case: Network


The case Network.opi is a network case. Five wells merge into two different wellheads. The fluid is transported through two pipelines, one from each wellhead, to a processing
platform. Here, the flow merge into a common header and then flows through some horizontal piping before reaching the outlet.

Two wells merge at the first wellhead and the other three wells at the second one.

Two slightly different geometries are used for the wells. The boundary conditions vary between given pressure, given mass flow, and well productivity index.

The two pipelines have identical geometries.


Figure 1 Schematic view of the network.

Case Comments:

CaseDefinition:

OPTION: Temperature option "ADIABATIC" has been chosen. No heat transfer through the pipe walls is assumed.

INTEGRATION: The simulation end time is set to 3 hours. The maximum and minimum time steps are 10 seconds and 0.01 seconds, respectively.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: Branches 1 and 5 use constant mass sources. N.B., for Branch 1, the mass flow is specified in terms of volumetric flow
rate of liquid at standard conditions.

FLOWPATH — Boundary&InitialConditions — WELL: The reservoir pressure and temperature are given together with a linear productivity index for gas and liquid flow at the
midpoint of the first section in branch 3.

FLOWPATH — ProcessEquipment — VALVE: The wellhead choke in Branch 3 is fully open during the entire simulation.

FLOWPATH — Piping: The number of pipes and their coordinates are defined for each branch, x and z represent horizontal coordinates whereas y is the vertical axis. As a
verification of the input, the user may note the length and inclination of each pipe section as printed to the output file at the end of the initialization. Toward the end of the flow lines,
the section lengths are gradually reduced to the values in the riser.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: Branches 1, 3 and 5 have closed nodes at the inlets. Branches 2 and 6 have constant pressure nodes at the inlets. Branches 4 and 7 are connected to internal nodes and
have no terminal nodes. Branch 8 has a constant pressure node at the outlet.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file at the end of the simulation.

TREND: Trend variables are plotted every 30 seconds.

PROFILE: Profile variables are plotted every 15 minutes.

Sample case: server-demo-with-opc

Server-demo-with-opc.opi is a simple case with one horizontal flowpath, an ESD controller and a valve. There is a 50 bara pressure difference between the boundary nodes driving
the fluid towards the outlet. The ESD controller is set to close the valve whenever the upstream holdup goes above 0.8. Without user interaction the holdup stays around 0.65, leaving
the valve completely open.

Case Comments:

CaseDefinition:

SERVEROPTIONS : A modelname “ServerDemo” is specified. Defining this keyword is all that is needed to start the built in OPC server in OLGA.

INTEGRATION: SIMULATIONSPEED is set to 100, indicating the model is requested to simulate at 100 times real-time speed. Further, SIMULATIONSPEED is selected in the
EXPOSE key, which gives the possibility to change the requested simulationspeed using a connected OPC client.

Controller:

ESDCONTROLLER: An emergency shutdown controller is used to close the valve whenever the holdup upstream goes above the controller setpoint, which is set to 0.8. The setpoint
of the controller is selected in the EXPOSE key, meaning that it is possible to dynamically change the setpoint using an OPC client connected to the OLGA OPC server.

FlowComponent:

FLOWPATH –ProcessEquipment-VALVE: The valve is initially fully open and is regulated by the ESD controller.

Output:

SERVERDATA: SIMTIME, TIME, HT, SPEED is set. These will be visible on the OPC server.

OPC Interactivity:

Manipulation of input items:


Using a standard OPC client, the setpoint for the controller is changed to 0.5. This causes the valve to close.

Manipulation of server commands:

Saving a snap file: Specify a filename in the OPC item Toolkit.ServerDemo.SaveSnap.File, for instance “snap.rsw”. Then toggle the command item Toolkit.ServerDemo.SaveSnap to
‘true’. This causes a snap-file (a.k.a. restart file) to be saved to disk.
Loading a snap file into the running server: Specify the same filename as in the save-snap command argument, e.g. set Toolkit.ServerDemo.LoadSnap.File to “snap.rsw” and toggle
Toolkit.ServerDemo.LoadSnap to ‘true’. The snap-file is then loaded and the simulator state from the snap file is restored.
Toggeling Toolkit.ServerDemo.Stop to ‘true’ causes the simulation to shut down.
Sample case: Network-server
The case Network-server.opi is an OPC server version of the demo case Network.opi.

Case Comments:
Only server specific items are commented here. For other comments see the Network.opi sample.

CaseDefinition:
SERVEROPTIONS : A modelname “NetworkDemo” is specified. Defining this keyword is all that is needed to start the built-in OPC server in OLGA.
INTEGRATION: SIMULATIONSPEED is set to 15, indicating the model is requested to simulate at 15 times real-time speed. Further, SIMULATIONSPEED and MINDT are selected
in the EXPOSE key, which gives the possibility to change these input values using a connected OPC client.

FlowComponent:
FLOWPATH : BRAN-3-ProcessEquipment-VALVE: The valve OPENING is selected in the EXPOSE key. Thus, the valve opening can be set from a connected OPC client.
NODE: NODE-2: The node PRESSURE is exposed.
FLOWPATH : BRAN-1-Boundary&InitialiConditions-SOURCE: SOUR-1-1: All possible keys are selected as exposed. OLGA will automatically filter out any keys that cannot be
exposed and issue a harmless warning when the case starts. In this case the keys STDFLOWRATE, TEMPERATURE and WATERCUT are ultimately exposed on the OPC server.
FLOWPATH : BRAN-5-Boundary&InitialConditions-SOURCE: SOUR-2-1: MASSFLOW is exposed.
FLOWPATH – Output – SERVERDATA: VALVOP is selected for the valve. HOL and PT profile is selected for BRAN-8. GT trend is selected for position TOPSIDE-OUT in BRAN-8.

Output:
SERVERDATA: SIMTIME, TIME, HT, SPEED, LAGFACT, LAGIND is set. These will be visible on the OPC server.

OPC Interactivity:
Fiddling with the exposed input parameters, the running case can be manipulated. For instance, lowering Toolkit.NetworkDemo.NODE-2.PRESSURE from 243 to 40 will cause the
holdup in BRAN-8 to drop, setting the pressure back to 243 causes the same holdup to rise again.

Sample case: PID-net-gainsched-normrange-server


PID-net-gainsched-normrange-server.opi is a simple case with one flowpath modeling a pipeline riser system. At the bottom of the riser a valve labeled CHOKE-1-1 is included.
Upstream the valve a pressure transmitter is included. A controller C-1 acts on the valve CHOKE-1-1 to control the pressure upstream the valve.
The purpose with this sample case is to demonstrate the possibilities to interact with a PID controller through the OLGA OPC Server and exemplify how vectors can be addressed
through the OLGA OPC Server.

Case Comments:

CaseDefinition:

SERVEROPTIONS : The model name sub-key is set to “TEST” and the server name is set to OLGAOPCServer

INTEGRATION: SIMULATIONSPEED is set to 10, indicating the model is requested to simulate at 10 times real-time speed. Further, SIMULATIONSPEED is set in the EXPOSE key,
which gives the possibility to change the requested simulation speed through the OPC server.

Controller:
PIDCONTROLLER C-1: Controller C-1 is used to control the pressure at riser base (upstream the valve CHOKE-1-1) by adjusting the opening. The set-point to the controller is 75e5.
The controller measures the pressure in unit Pa. Note the use of controller sub-key NORMRANGE which is set to 1e5. The controller C-1 is a scheduling controller. It uses a table of
amplification factors, integral constants and derivative constants rather than one value for each. For further description of PID controller with scheduling functionality refer to the
OLGA PID controller documentation.
The EXPOSE key of controller C-1 is set to ALL. The OPC Server will then expose all input keys that are explicitly set in the controller. In this case the following keys are exposed as
input items on the OPC Server:
MAXSIGNAL, MINSIGNAL, AMPLIFICATION, BIAS, DERIVATIVECONST, ERROR, INTEGRALCONST,
NORMRANGE, SETPOINT, MODE, MANUALOUTPUT, OPENINGTIME, CLOSINGTIME

For further information of these keys see the description of PID controller.
Note that the keys: AMPLIFICATION, ERROR, INTEGRALCONST and DERIVATIVE CONST are vectors of size four in the definition of controller C-1.

FlowComponent:
FLOWPATH P1: One horizontal pipe followed by two downwards inclined pipes and a vertical riser, see figure below.
CHOKE-1-1: controller C-1 manipulates the CHOKE-1-1 and the initial output of the controller is 0.5
PTSIG: Measures the pressure upstream CHOKE-1-1. PTSIG is connected to the MEASRD terminal of controller C-1. The signal is pressure in unit Pa.

Output:
Global SERVERDATA keyword: Variables VOLGBL, HT, TIME, SPEED and SIMTIME are defined to be updated on the OPC server with DTPLOT set to 10 seconds.
SERVERDATA keyword defined on controller C-1: Variables CONTR, MEASVAR, SETPVAR, ERRVAR are defined to be updated on the OPC server with DTPLOT set to 10
seconds.

OPC Interactivity:
Manipulation of input items:
Start simulating the OLGA case by pressing one of the run buttons in the OLGA GUI. Then launch MatrikonOPC Explorer, connect to SPT.OLGAOPCServer.1, add a group and add
all items to the provided by the OLGA OPC server to the group. Then one will obtain a display similar to the one below.
Note that the values on the exposed keys automatically comes up with the values set in the model.

Manipulation of server inputs:


The engineer has the possibility to change the values of all the exposed keys. For instance decreasing the set-point of controller C-1 to 74e5 causes the controller to open the valve
from 5.8% to 6.6%. By further reduction in the set-point to 73e5 causes the controller to open the valve to 8.1%, etc.
Through the OPC Server the maximum, minimum constraint on the controller output can be changed through the MAXSIGNAL and MINSIGNAL keys. The rate of change constraints
on the output can be changed through OPENINGTIME and CLOSINGTIME.
The engineer can detune the controller either by reducing the amplification factors or increasing the integral constants. The amplification factor is scaled by dividing by the
NORMRANGE. By increasing the NORMRANGE the controller is thus detuned for all ERROR ranges. If the engineer wants to detune the controller for a specific error range one
need to adjust the corresponding element in the array of amplification factors or integral constants. By changing the elements in the array exposed as ERROR the engineer can
change the error ranges.

Sample case: PID Controller


The case PID-Controller.opi demonstrates pressure control at a riser base. The pipeline consists of 5 pipes. First a horizontal pipe and two weakly descending pipes before a
vertical pipe and a short horizontal pipe. A valve is used to control the pressure at the riser base.

Case Comments:
CaseDefinition:

OPTIONS: Temperature option ADIABATIC has been chosen. The pipeline is simulated without heat transfer through the pipe walls.

INTEGRATION: The simulation starts at t=0 s, and ends at time t=1.5 h. The time step starts at the minimum value of 0.01 s and is limited to a maximum value of 25 s.

Controller:

PIDCONTROLLER: A pressure control valve is used to control the pressure at the riser base. A PID controller is used to regulate the valve opening, which is 0.1 initially (see the
BIAS key). The pressure setpoint is 75 bara. The measured value is taken from the transmitter. A range of 50 bara is set for the controller (NORMRANGE key).

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: The inlet boundary condition is a constant mass source with mass flow 10.0 kg/s and a temperature of 62°C. The mass
fraction of free water is set to 0. By default, the equilibrium is used to determine the gas source at the inlet.

FLOWPATH — FA-models — DTCONTROL: The CFL criterion is used to limit the simulation time step. A safety margin of 20% is added to the CFL criterion to get a stable
simulation (CFLFACTOR = 0.8).

FLOWPATH — ProcessEquipment — TRANSMITTER: A transmitter is positioned at the riser base. The transmitter is used to collect the pressure from the pipeline, which is
transmitted to the controller. The section pressure is transmitted with unit bara.

FLOWPATH — ProcessEquipment — VALVE: A valve is placed before the riser but downstream the transmitter. The valve has the same maximum cross section as the pipeline.
The valve opening is regulated by the pressure controller.

FLOWPATH — Output — TRENDDATA: The valve opening is plotted.

FLOWPATH — Output — PROFILEDATA: Profiles of pressure, temperature, liquid holdup, liquid mass flow and gas mass flow are plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed. The outlet boundary condition is a constant pressure of 55 bara.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.

TREND: Trend variables are plotted every second.

PROFILE: Profile variables are plotted every 6 minutes.

Sample case: Pigging


The following cases illustrate the following pigging scenarios:
Pig-noSlug-pvt.opi Pigging of a pipeline using standard OLGA without tracking the liquid slug in front of the pig.
Pig-TrackSlug-pvt.opi Pigging of a pipeline using standard OLGA tracking the liquid slug in front of the pig.
Pig-noSlug-comp.opi Pigging of a pipeline using compositional tracking without tracking the liquid slug in front of the pig.
Pig-TrackSlug-comp.opi Pigging of a pipeline using compositional tracking, also tracking the liquid slug in front of the pig.

The pipeline has pressure nodes both on the inlet and outlet. At the inlet, the pressure is 117 bara and the temperature is 10°C. The temperature at the outlet is the same, but the
pressure is 100 bara. The pig is launched 1500ɢm into the pipeline and it is trapped at 75 m into the topside pipe. The geometry is shown in Figure 1.
Figure 1 Illustration of the pipe geometry. The launch and trap positions are indicated.

Case Comments:
CaseDefinition:

OPTIONS: The two cases run with COMPOSITIONAL=OFF/ON, respectively. Temperature exchange with the walls are not accounted for, adiabatic flow is assumed.

FILES: The fluid is described by either a pvt-file or an equivalent feed-file depending on the type of simulation.

Controller-models:

PIDCONTROLLER: A PID controller regulates the opening of the outlet valve based on the gas mass flow.

FlowComponent:

FLOWPATH — FA-models — PIG: A pig is launched after 300 s. Whether the liquid slug in front of the pig is tracked or not is determined by the key TRACKSLUG.

FLOWPATH — ProcessEquipment — TRANSMITTER: A transmitter is located in the second last boundary on topside, providing the PID controller with its input signal.

FLOWPATH — ProcessEquipment — VALVE: An outlet valve controlled by the PID controller is situated at the end of the topside pipe.

FLOWPATH — Piping: The branch is split into three pipes. A 10 km long horizontal pipe leads up to a 500 m riser. At topside, there is a 100 m horizontal pipe, in which the trap
position is located.

FLOWPATH — Output — TRENDDATA: In cases where the slug in front of the pig is tracked, its length is plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 117 bara and the outlet pressure is 100 bara. Both nodes have a temperature of 10°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 2 hours.

TREND: Trend variables are plotted every 3 seconds.

PROFILE: Profile variables are plotted every 30 seconds.

TRENDDATA: The velocity of the pig and its are plotted.


OLGA Plug-In hydrate formation
Test Case

Contents
1. Hydrate model TESTCASE.. .. 1
1.1 Case description.. 1
1.2 Physical effects modeled.. 3
1.2.1 Hydrate equilibrium curve.. 3
1.2.2 Formation of hydrate if the temperature drops below the hydrate equilibrium temperature 4
1.2.3 Increased oil viscosity.. 5
1.2.4 Hydrate PVT properties.. 5

1. Hydrate model TESTCASE


This is an example case for a pre-defined plug-in dll with a hydrate formation model.

The case consists of a single 500 m horizontal pipe. The pipe diameter is 0.11 m.

A hydrate phase has been added to calculate the following effects:


· Tracking the hydrate particles forming and following the flow
· Calculating the effects of hydrates on the viscosity of the water film

1.1 Case description

The physical models needed to handle the tasks listed above are included in the plug-in DLL “OlgaPlugInHydrateTutorial.dll” which is included in the executable folder for the OLGA 7
installation package.

1. The case name is HydrateTutorial.opi.

2. The DLL to use in this case is specified as follows:

In the GUI, under CaseDefinition, UDOPTIONS has been added. The dll name “OlgaPlugInHydrateTutorial.dll” has been entered in the PLUGINDLL field. The dll is
located in the same folder as the OLGA 7 engine executable, and it is thus not necessary to include path in this case.

3. The hydrate phase which is recognized by the DLL has been defined as follows:

The case uses internal models from the plug-in for hydrate heat capacity, enthalpy, density, thermal conductivity, and viscosity. Therefore we don’t need to give values
for heat capacity in the UDPHASE field. We do, however, need to set a dummy value for the hydrate particle density to bypass the input error check. The value is
overridden by the density model in the plug-in DLL. The “dummy” hydrate density is set to 940 kg/m3. The hydrate particle diameter is 0.001 m. See section 1.2.4 for
further info about the plug-in DLL PVT-property models.

Under Library, UDPHASE has been added. LABEL has been set to “HYDRATE”, TYPE=PARTICLE, PARTDIAMETER = 0.001 m and PARTDENSITY = 940 kg/m3.

4. The case is set up to use INITIALCONDITIONS. Initially the pipe is filled with gas, oil and water, and no hydrates. Thus, it is not necessary to specify any initial conditions
for hydrates in this case.
However, in order to illustrate the use of initial conditions, the model has explicitly been set to start with zero hydrates at time = 0.

At case level, UserDefined/UDGROUP has been added. UDGROUP label =” HYDRATE -INIT”

Under UDPhasesAndDispersions, UDFRACTION has been added:

LAYER=WALL, PHASE=HYDRATE, MASSFRACTION=0.0

Under FLOWPATH:BRAN-1/Boundary&InitialConditions/INITIALCONDITIONS[1]/User Defined, UDGROUP= HYDRATE-INIT has been chosen.

5. There is no inflow of hydrates in this case. Only hydrate formation within the pipeline. It is thus not necessary to specify hydrate inflow for the source. However, In order to
illustrate how to enter hydrates from a source, the hydrate inflow has explicitly been defined to zero for the source in the first pipe section, by using a zero hydrate
fraction for all layers.

At case level, UserDefined/UDGROUP has been added. UDGROUP label =” HYDRATE-SOURCE”

Under UDPhasesAndDispersions/UDFRACTION[1], TIME = 0, MASSFRACTION = 0 has been set. LAYER = GAS has been chosen. For PHASE, HYDRATE has been
chosen.

Under UDPhasesAndDispersions, UDFRACTION[2 ] has been added, TIME = 0, MASSFRACTION = 0. LAYER = OIL has been chosen. For PHASE, HYDRATE has
been chosen.

Under UDPhasesAndDispersions, UDFRACTION[3 ] has been added, TIME = 0, MASSFRACTION = 0. LAYER = WATER has been chosen. PHASE = HYDRATE.

Source entry: At FLOWPATH: BRAN-1/Boundary&InitialConditions/SOURCE:SOURCE-1-1, UDGROUP= HYDRATE -SOURCE has been chosen.

6. The hydrate curve information is provided through a table file which is read by the plug-in DLL. The format of the table file is dictated by the plug-in DLL. The hydrate
curve is given through the OLGA input in the FILES UDPVTFILE field. FILES UDPVTFILE is a string vector, so it is possible to give multiple input files in a simulation.
BRANCH and NODE both have a key named UDPVTFILE where the user can select which file is used. It is therefore possible to use different hydrate curves in different
branches of a network simulation.

Under CaseDefinition/FILES, “HydrateTutorial.tab” has been chosen through the UDPVTFILE file browser.

7. In order to refer to the hydrate curve for the fluid in a given branch, it is necessary to refer to the table file used by the plug-in DLL which is applied for the specific branch.

Under FlowComponent/FLOWPATH:BRAN-1/Piping/BRANCH, UDPVTFILE= HydrateTutorial.tab has been chosen.

8. Plotting of results:

The variables P-G, P-HOL, P-M, P-Q, P-U, P-US have been specified for FLOWPATH: BRAN-1/Output, PROFILEDATA. PHASE = HYDRATE. As we are going to
inspect the oil layer, FLOWLAYER = OIL has been specified in this case.

The hydrate formation and propagation through the pipeline can be inspected by plotting e.g. the following profile variable: P-HOL_HydrateInOil. The variable name is a
composite name based on the generic P-HOL (holdup for UD dispersed phase), the UD dispersion phase name (Hydrate) and the layer where it is located (InOil). The
other “P-“ variables have the same composite structure.

The effect of hydrate particles on oil viscosity can be seen by plotting the following profile variables in the same plot: VISHLEFF and VISHL.

1.2 Physical effects modeled


The hydrate reaction:

(1.1)

The value chosen for a is 6.87.

1.2.1 Hydrate equilibrium curve


The hydrate equilibrium is given as a tabulation of temperature and pressure. The hydrate curve must be user given. The following format is chosen:

<Hydrate curve (C, Bar)>


31
-10.00 3.29
-8.00 3.59
……….

Here “<Hydrate curve (C, Bar)>” is a tag telling how the temperature and pressure data is given. “31” is the number of data points given.

An example of a hydrate curve is given in the HydrateTutorial.tab. The HydrateTutorial.tab is used in the HydrateTutorial.opi.

1.2.2 Formation of hydrate if the temperature drops below the hydrate equilibrium temperature

When the fluid temperature ( ) drops below the hydrate equilibrium temperature ( ), hydrate particles will form according to the hydrate reaction.

Reaction rate:

(1.2)

Here, , is the gas mass reacted per time and section volume.

Mass limitation for hydrate formation rate:

(1.3)

(1.4)

(1.5)
Here is the stoichiometric constant in the hydrate reaction. is the time step and is the phase mass per section volume.

Distribution of phase mass on fields:


The reacted mass rates are given as overall phase values. These phase values must be distributed to fields. To distribute the phase values, we use the following logic:
· The hydrate particles is only present in the oil layer.
· Gas and water field masses are distributed based on field mass fractions (field mass / phase mass).
· If the gas or water phase mass is missing, the mass is distributed equally on all fields.

1.2.3 Increased oil viscosity


The effective viscosity of the hydrate-oil dispersion is higher than the pure oil viscosity. The effective viscosity is used in the friction calculations in OLGA, and the dispersion viscosity
will give a higher pressure drop over the pipeline. The effective oil viscosity will be modeled with the Krieger-Dougherty correlation.

Krieger-Dougherty correlation:

(1.6)

Where is the oil viscosity without particles, is the particle volumetric concentration in water and is the maximum concentration set to 0.65.

1.2.4 Hydrate PVT properties


Hydrate enthalpy:

(1.7)

Where is the enthalpy and is the constant heat of reaction assumed to be 4.088e6 J/kg. The heat capacity, partial enthalpy with respect to pressure, partial enthalpy with
respect to temperature and entropy is derived from the enthalpy equation.

Hydrate heat capacity:

(1.8)

Hydrate density:

(1.9)

Hydrate thermal conductivity:

(1.10)

Hydrate viscosity:

(1.11)

OLGA Plug-In sand model test case

Contents
1. SAND model TESTCASE.. .. 1
1.1 Case description 1
1.2 Physical effects modeled.. 3
1.2.1 Sand offset velocity due to density differences.. 3
1.2.2 Increased friction due to sand particles in the water 3
1.2.3 Bed formation.. 4

1. SAND model TESTCASE


The case consists of a single 2000 m pipe with an elevation of 150 m. The pipe diameter is 0.2 m. The case name is SandInWater.opi.

Water and sand is injected in the first pipe section.

The case is set up to use INITIALCONDITIONS. Initially the pipe is filled with water only.

The tasks in this case are as follows:


· Tracking the sand particles following the flow in the water layer
· Tracking the sand forming a bed.
· Calculating the effects of sand on the viscosity of the water film
· Calculating the slip velocity between suspended sand particles and the water in the water layer
1.1 Case description
The physical models needed to handle the tasks listed above are included in the plug-in DLL “OlgaPlugInSandWaterTutorial.dll”, which is included in the executable folder for the
OLGA 7 installation package. The UD phase specific input is described below:

1. The DLL is specified as follows:

In the GUI, under CaseDefinition, UDOPTIONS, the dll name “OlgaPlugInSandWaterTutorial.dll” has been entered in the PLUGINDLL field. The dll is located in the same
folder as the OLGA 7 engine executable, and it is thus not necessary to include path in this case.

2. The phase which is recognized by the DLL is defined as follows.

Under Library, UDPHASE has been added. LABEL has been set to “SAND”, TYPE=PARTICLE, PARTDIAMETER = 0.001 m and PARTDENSITY = 2000 kg/m3.

The case uses OPTIONS TEMPERATURE=OFF, and therefore we don’t need to model the sand heat capacity and enthalpy. The sand density is 2000 kg/m3. The sand
particle diameter is 0.001 m. Other sand properties are not required.

3. The case is set up to use INITIALCONDITIONS. Initially the pipe is filled with water only. Thus, it is not necessary to specify any initial conditions for sand in this case.

4. Sand is injected together with water in the first pipe section, with a constant mass fraction of sand = 0.1.

At case level, UserDefined/UDGROUP has been added. UDGROUP label =” SAND-SOURCE”

Under UDPhasesAndDispersions/UDFRACTION[1], TIME = 0, MASSFRACTION = 0.1 has been set.

LAYER = WATER has been chosen, as the sand should enter in the water layer.

The PHASE is referring to a UD phase, SAND has been chosen.

Source entry: At FLOWPATH: BRAN-1/Boundary&InitialConditions/SOURCE:SOURCE-1-1, UDGROUP=SAND-SOURCE has been chosen.

5. Plotting of results:

Sand propagates through the pipeline and forms an expanding bed, and the velocity of the sand particles in the water film is different from the water velocity. This can
be seen by inspecting e.g. the following profile plot variables:

P-HOL_SandInWater, P-HOL_SandAtBed, P-U_SandInWater, ULWT. The variable name P-U_SandInWater is a composite name based on a generic name, P-U, the
defined UD phase, (Sand), and the specified layer: (InWater). The other UD phase output variables have the same composite structure.

At FLOWPATH: BRAN-1/Output, PROFILEDATA, the variables P-HOL, P-U for FLOWLAYER = WATER, BED and PHASE = SAND have been specified to get the
output variables described above.

The effect of sand on water viscosity can be seen by plotting the effective viscosity of the water layer, VISWTEFF, and pure water viscosity from tables, VISWT in the
same plot.

1.2 Physical effects modeled


The three following physical effects has been modeled:
· Sand offset velocity due to density differences
· Increased friction due to sand particles in the water
· Bed formation

1.2.1 Sand offset velocity due to density differences


The density of the sand particles are larger than the water density, and the particles will, due to the pipe inclination, get a negative offset velocity. The offset velocity will be calculated
by Stokes’ law.

Stokes’ law:

(1.1)

Where ufall is the terminal settling velocity, ρp is the particle density, ρf is the fluid density, µf is the fluid viscosity, g is the gravity constant and rp is the particle radius.

The offset velocity then becomes:

(1.2)

Where uOffset is the offset velocity which will be used by OLGA, and θ is the pipe angle with the gravity vector.

The sand velocity (uSand) will then be:

(1.3)

Where uWater is the water film velocity.

1.2.2 Increased friction due to sand particles in the water


The effective viscosity of the water-sand dispersion is higher than the pure water viscosity. The effective viscosity is used in the friction calculations in OLGA, and the dispersion
viscosity will give a higher pressure drop over the pipeline. The effective water viscosity will be modeled with the Krieger-Dougherty correlation.

Krieger-Dougherty correlation:

(1.4)

Where is the water viscosity without particles, is the particle volumetric concentration in water and is the maximum concentration set to 0.65.

1.2.3 Bed formation


A dummy bed formation model is used to demonstrate how to set mass transfer rates. A fixed deposition rate to the bed is used. If the bed height is lower than 15% of the pipeline
diameter, sand mass will deposit on the bed. As a result, the bed should build up from zero to 0.03 m, in the SandAndWater.opi case.

The deposition rate can therefore be expressed as:


(1.5)

Where is the deposition rate [kg s-1 m-3], is the mass [kg m-3] of sand particles, and is the current time step [s]. Note that in OLGA the masses are divided with the section
volume, and thus are in units of [kg m-3].

The deposition rate is fixed to “0.1”, but the deposition rate is limited. A maximum of 50 mass percent of the particle mass can be deposited over the next time step. For the tutorial
case remember that the pipeline initially is filled with only water, i.e. there is no sand that can deposit and make a bed.

When the bed height is 15% of the pipeline diameter or higher, the deposition rate is set to zero. The bed height is calculated from the “Wetted angle”, β, that are given as input to the
entrainment/deposition and flash interface.

Figure 1: “Wetted angle”, β, and height, h, of water bed interface.

The bed height, h, is calculated as (See Figure 15):

(1.6)

Where rp is the pipe diameter.

Sample case: Process Equipment


The case Process-Equipment.opi is an example of a simulation with process equipment. The case shows examples of several types of process equipment, e.g., separator, valves,
compressor, and heat exchanger. A total of 5 PID controllers are used to stabilize the process. Figure 1 shows the process flow sheet.

One pipeline feeds the separator with a mixture of gas and liquid. This pipeline is 15100 meters long divided into 12 sections, and a diameter of 0.5 meters. The pipeline has a valve
close to the outlet. The valve is used to control the overall flow into the separator.

The separator has a gas and liquid outlet. The gas outlet is 400 m long, has a diameter of 1.0 m, and is divided into 7 sections. The gas line contain a compressor with recycle and
anti-surge control. The compressor speed is used to control the separator pressure. Downstream the compressor, a heat exchanger is included to cool the gas. The heat exchanger
is connected to a temperature controller.

The liquid outlet is 100 m long and has a diameter of 0.12 m. The liquid line contains a valve that is used for level control of the separator. The pipe has only two sections.

The simulation time is 20 hours. After 10 hours the separator feed is dropped from 70 to 50 kg/s.

Figure 1 Process flow sheet.

Case Comments:
CaseDefinition:

OPTION: Temperature option UGIVEN has been chosen. The pipelines are simulated with a constant outer heat transfer coefficient. The steady state pre-processor is deactivated.

INTEGRATION: The simulation start at t=0 s and ends at time t=20 h. The time step starts at the minimum value of 0.01 s, and is limited to a maximum value of 10 s.

Controller:

5 controllers are used to stabilize the process. All controllers are of type PID. One controller (FC) is used to manipulate the feed flow rate of the separator. One pressure controller
(PC) is used to control the pressure in the separator. A level controller (LC) is used to stabilize the liquid level of the separator. An anti-surge controller (ASC) is used to stabilize the
operation of the compressor. The ASC is an asymmetric PID controller, i.e., it has two amplification factors. A temperature controller is used to control the temperature at the outlet of
the gas pipeline.

FlowComponent:

FLOWPATH — ProcessEquipment — COMPRESSOR: The compressor is used to lift the gas from the separator. At steady state, the compressor lift from approximately 71 to
110 bara. A recycle valve with diameter 0.25 m is controlled by the ASC controller.

FLOWPATH — ProcessEquipment — HEATEXCHANGER: A controlled heat exchanger is used to manipulate the pressure out of the gas pipeline. The heat exchanger is given a
capacity of -3 MW.

FLOWPATH — ProcessEquipment — TRANSMITTER: Transmitters are used to transmit the temperature and overall flow from the pipeline to the controllers.

FLOWPATH — ProcessEquipment — VALVE: One valve is placed before the riser, but downstream the transmitter. The valve has the same maximum cross section as the
pipeline. A pressure controller is connected to the valve to manipulate the valve opening.

FLOWPATH — Output — TRENDDATA: Gas volume flow at the compressor boundary and the compressor surge flow setpoint for the ASC controller (QGSURGE) are trended.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The case has three nodes, all of type pressure. The inlet boundary condition is a constant pressure of 108 bara and temperature 40°C. The mass fraction of free water is set
to 0 and the gas faction to 0.7. The outlet boundary conditions for the gas and liquid outlets are constant pressures of 110 bara and 65 bara, respectively.

ProcessEquipment:

SEPARATOR — Output — TRENDDATA:

SEPARATOR: The separator is horizontal with length 15 m and diameter 2 m. It separates gas and liquid.

Output:
Pressure, temperature, and liquid level are trended.

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.

TREND: Trend variables are plotted every 20 seconds.

PROFILE: Profile variables are plotted every 30 minutes.

Sample case: Pump Battery


The case Pump-Battery.opi demonstrates how how OLGA can be used to model a pump battery.

The system consists of a 2 km long well tubing followed by a 150 m long wellhead pipe. A pump battery is installed downstream of the well bottom hole in order to increase the
production. The pump battery speed is controlled by the flow rate at the wellhead. A sketch of the model is shown in Figure 1.

Operation scenario:
Due to the reservoir conditions, this well can only produce a flow of 6 kg/s. After the pump battery is installed near the well bottom hole, the production can be increased to 10 kg/s or
higher.

Figure 1 Sketch of the model.

Case Comments:
CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The steady state pre-processor is turned off.

Controller-models:

PIDCONTROLLER: C-PUMP-SP: This controller is required by the pump module. In this sample case, the pump speed is controlled by the total mass flow rate at the wellhead as
measured by Transmitter TRAN-WH-TT.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: Since the steady state pre-processor is not used, the initial conditions have to be given.

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The ambient temperature is vertically interpolated from 80°C at the bottom of the borehole to 20°C at the
wellhead. The heat transfer coefficient on outer walls is set to 500 W/m2K. The minimum heat transfer coefficient on inner walls is set to 10 W/m2K.

FLOWPATH — Boundary&InitialConditions — WELL: The reservoir pressure is 200 bara and reservoir temperature 80°C. Production and injection type is L INEAR.
AINJ=APROD=0, BINJ=10-7 kg/s/Pa and BPROD=10-6 kg/s/Pa.

FLOWPATH — ProcessEquipment — PUMP: The pump battery is defined by following parameters: MAXCAPACITY=0.06 m3/s; MINCAPACITY=0 m3/s;
MAXPRESSURE=230 bara; MAXSPEED=8000 rpm; MINSPEED=0 rpm.

FLOWPATH — Output — TRENDDATA: Pump variables are plotted.


ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The outlet pressure held constant at 60 bara and the temperature is 20°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10 hours.

TREND: Trend variables are plotted every second.

PROFILE: Profile variables are plotted every 30 minutes.

Sample case: Separator


The case Separator.opi illustrates the use of a separator.

A 4100 m long pipe leads up to a 300 tall riser. On topside a 120 m pipe leads into a separator. The separator is 4 m long and has a diameter of 2.5 m. The separator has three
outlets, a gas outlet, an oil outlet, and an emergency drain. On the separator outlets, valves controlled by controllers are applied. The pressure is 50 bara at the gas outlet and
20 bara; at the oil outlet and emergency drain outlet.

Case Comments:
CaseDefinition:

OPTIONS: Full temperature calculations are enabled.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: The first 100 m of the pipe is filled with oil whereas the rest of the pipe contains only water. Within the water,
three regions containing different amounts of MEG are set up.

FLOWPATH — Boundary&InitialConditions — SOURCE: The mass source is ramped up to a steady mass flow of 53.34 kg/s over the first 8.5 seconds of the simulation. The
source temperature is 30°C.

FLOWPATH — Piping: The branch is a single pipe, 1 km long with an elevation of 50 m.

FLOWPATH — Output — PROFILEDATA: Variables of interest are hold-ups and inhibitor fractions.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of 4.5 MPa and a temperature of 30°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 100 seconds.

TREND: Trend variables are plotted every 0.1 seconds.

PROFILE: Profile variables are plotted every 5 seconds.

Sample case: Simplified Pump


The case Pump-Simplified.opi demonstrates how to model a simplified pump in OLGA.

The system consists of a 500 m long horizontal pipe followed by a 250 m tall vertical riser, and a 100 m long horizontal topside pipe. The inlet pressure is only 5 bara and the outlet
pressure is 50 bara. A pump is installed in order to deliver the water to a higher pressure tower. No speed controller is required for a simplified pump. A valve and check vale are
placed at the topside pipe. A sketch of the model is shown in Figure 1.

Figure 1 Sketch of the model.

Case Comments:
CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The initial conditions are determined by the steady state pre-processor.
FlowComponent:

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The ambient temperature is 20°C. The heat transfer coefficient on outer wall is set to 500 W/m2K. The minimum
heat transfer coefficient on inner wall is set to 10 W/m2K.

FLOWPATH — ProcessEquipment — PUMP: The simplified pump is defined with following parameters: DENSITYR=1000 kg/m3; FLOWRATED=600 m3/h; SPEEDR=2000 rpm;
DPRATED=70 bara. It is assumed that the pump pressure only depends on the pump flow rate.

FLOWPATH — Piping: Three pipes are defined for the geometry. The first pipe is a 500 m long horizontal pipe and the pump is placed at the second section boundary. Downstream
of the horizontal pipeline is a 250 m high vertical riser. At the top of riser is a 100 m long horizontal topside pipe. Pipe diameter is 12" and roughness 0.001 m

FLOWPATH — Output — TRENDDATA: Mass flow rates and pump variables are plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 5 bara and the outlet pressure is 50 bara. Both nodes have a temperature of 20°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10 hours.

TREND: Trend variables are plotted every second.

PROFILE: Profile variables are plotted every 30 minutes.

Sample case: Solid bundle


The case SolidBundle.opi demonstrates how OLGA can be used to simulate the transient and spatial distribution of temperatures in the solid interior of a complex bundle by means
of finite element calculations.

N.B., when importing similar cases from OLGA 5, a certain amount of manual labor is required. Please refer to the conversion documentation for a detailed description.

The branches 1 and 2 are identical with a 12.0 cm inner diameter. They consist of a 4300 m long pipeline on the seabed, a 300 m vertical riser, and a 100 m horizontal topside pipe.
They merge into branch 3, a 100 m horizontal topside pipe

The riser of branch 1 is contained within the inner fluid bundle where the carrier line contains heated water. The water is heated at the platform end, sent down into the carrier line,
and back up to the platform through the return line. This fluid bundle is contained within a solid bundle together with branch 2 and a methanol line. A sketch of the cross-section of the
bundle is shown in Figure 1.

Figure 1 Cross-section of the bundle. The outer border, i.e., the border of the solid bundle, is given by the shape specified under Library. The fluid bundle contained within the solid
bundle is marked in gray shading.

Case Comments:
Library:

MATERIAL: Carbon steel (MATER-1) and insulation (MATER-2) are the materials used for the pipe walls. HEATING and METHANOLFLUID are fluids used by the bundle module.

SHAPE: The shape defining the solid bundle, in this case a circle with radius 80 cm made of insulation.

WALL: Five different walls are used in the flowpaths and lines specified.

CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through the pipe wall has been used as this is required by both the bundle and FEMTherm modules. The steady
state initialization is turned on.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The ambient conditions are defined for all branches. The ambient heat transfer coefficient for the solid bundle is
assumed constant along the length of it. Its value is taken from the first component in the solid bundle definition, more specifically from its first section entering into the solid bundle.
The ambient temperature, on the other hand, may vary along the length of the solid bundle and the values are taken from its first constituent branch.

FLOWPATH — Boundary&InitialConditions — SOURCE: The sources at the inlet of each seabed pipeline is kept at a constant low rate for the first three hours, before being
ramped up to a higher rate during 10 minutes.

FLOWPATH — Piping: The pipeline along the seabed (4300 m) is described using three pipes whereas the riser and topside as single pipes. The topside branch consists of a single
pipe.

FLOWPATH — ProcessEquipment; VALVE: One valve is installed at the outlet of each of the parallel pipelines just upstream of the internal node. They are both fully open
throughout the simulation.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The two inlet nodes for the seabed branches are closed. These two branches lead up to an internal node where they merge into the topside branch which has a pressure
boundary at the outlet. Inlet temperatures are specified for the bundle lines. An internal node is used for the crossover from the carrier line to the return line. The water is going in a
loop consisting of the carrier and return lines where constant pressure and temperature is set on the platform side.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.
OUTPUT: OLGA variables are printed to the output file every 5 hours.

TREND: Trend variables are plotted every 10 seconds.

PROFILE: Profile variables are plotted every 20 minutes.

ThermalComponent:

SOLIDBUNDLE: The shape of the solid bundle containing all the pipes is defined through the Library keyword SHAPE. The shape is one out of four BundleComponents in this case.
The other components are a FLOWPATH, a LINE, and a FLUIDBUNDLE. The meshfineness (recommended value is between 128 and 640), calculation time step (DELTAT), and
time step for saving thermal data (DTPLOT) define the FEMTherm calculations.

Sample case: Source, Leak and Choke


The case Src-Leak-Choke.opi is a simple demonstration of a the simulation using a choke, a controlled sources and a leak. A horizontal pipe is initially at high pressure and closed
at both ends. The choke with a constant diameter is positioned at the middle of the pipe, the leak at the end and the source at the inlet. The outside pressure of the source is set
constant and equal to the initial pipe pressure. The outside pressure of the leak is also constant, but very low. All three devices are given a constant flow area. The simulation starts
with a rapid blow down of the pipe with critical flow in the leak. Inlet mass flow starts when the pipe pressure decreases and a steady state is obtained when the mass flows of the
source and the leak are equal. The temperature in the pipe decreases during the blow down and increases slowly as warm fluid enters through the inlet.

Figure 1 Schematic illustration of the simulated pipeline. The pipe is divided into four sections.

Case Comments:
CaseDefinition:

OPTION: The steady state pre-processor is not used since the initial state of the closed pipe is a fluid at rest. The temperature calculation is performed without heat transfer through
the wall.

Controller:

MANUALCONTROLLER: The controllers for the source (C-502) and the leak (C503) are specified as manual ones. The controller signals determine the flow area and are specified
using time series. The time that the devices need to adjust to a new set point (the actuator time) is 33.33 seconds.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: The fluid is initially at rest with constant pressure, void fraction and temperature.

FLOWPATH — Boundary&InitialConditions — SOURCE: The controller reference number for the source is C-502. The maximum flow area in the source equals the pipe area. The
outside pressure is held constant at 168 bar and the temperature is held constant at 73°C. The negativ e value of the gas mass fraction indicates that the phase mass fractions are
computed from the equilibrium gas mass fraction values in the fluid properties tables.

FLOWPATH — ProcessEquipment — LEAK: The controller reference number for the leak is C-503. The maximum flow area in the leak equals the pipe area. The relative leakage
area is increased from 0.03 to 0.1 after 35 seconds. Due to the actuator time, the leak will use 2.33 seconds before it reaches a relative opening area of 0.1. The outside pressure is
held constant at 2 bar.

FLOWPATH — ProcessEquipment — VALVE: The choke is positioned at boundary number 3. A time series for the flow area is given. The maximum flow area in the choke equals
the pipe area. The flow area specified is 3% of the maximum.

FLOWPATH — Piping: Only four sections are specified in the horizontal pipe. The pipe is 80 m long and parallel to the x-axis.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The pipe is closed at both ends.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10 seconds.

TREND: Trend variables are plotted every 0.1 second.

PROFILE: Profile variables are plotted every 6 seconds.

Sample case: Start-up slug


The cases StartupSlug-pvt.opi and StartupSlug-comp.opi illustrate tracking of a start-up slug without and with compositional tracking, respectively. The pipeline is symmetric with
two 200 meter long horizontal pipes leading up to a 50 meter long and 2 meter deep dip. The dip is filled with liquid and the pipe leading from the dip to the outlet is half filled. The
pipe leading up to the dip is filled with gas and the inlet is a gas source. The geometry and initial condition is shown in Figure 1.

Figure 1 Illustration of the pipe geometry and initial condition.

Case Comments:
CaseDefinition:

OPTIONS: The two cases run with COMPOSITIONAL=OFF/ON, respectively. Temperature exchange with the walls are not accounted for, adiabatic flow is assumed.

FILES: The fluid is described by either a pvt-file or an equivalent feed-file depending on the type of simulation.

FA-models:

SLUGTRACKING: Level slug initiation is enabled (LEVEL=ON). The initiation of slugs is limited to initiate a single start-up slug (MAXNOSLUGS=1) at the start of the simulation
(STARTTIME=0 s and ENDTIME=0.1 s).
FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: The pressure and temperature in the branch is set constant and equal to the conditions at the output node.
The pipe leading up to the dip is filled with gas, the dip is filled with liquid, and the pipe leading from the dip to the outlet is half filled.

FLOWPATH — Boundary&InitialConditions — SOURCE: The gas source is ramped up to a steady mass flow of 5.325 kg/s over the first 8.5 seconds of the simulation. The source
temperature is 30°C.

FLOWPATH — Piping: The branch is split into five pipes. A 200 m long horizontal pipe split into 20 sections lead up to the dip. The dip is constituted by two 25 meter long pipes split
into 5 m sections and the lowest point 2.17 m below the horizontal pipes. Two horizontal pipes, each 100 m and split into 20 sections, lead from the dip to the outlet.

FLOWPATH — Output — TRENDDATA: Various properties for the slug are plotted. Furthermore, the instantaneous values of the droplet volume fraction and droplet velocity are
plotted at boundaries

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of 4.5 MPa and a temperature of 30°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every minute.

TREND: Trend variables are plotted every 0.5 seconds.

PROFILE: Profile variables are plotted every 2.5 seconds.

TRENDDATA: The number of slugs in the pipe is plotted.

PROFILEDATA: Integrated additional pressure drops are plotted.

Sample case: Tracer Tracking


The case KHI-TracerTracking.opi demonstrates how OLGA can be used to model an inhibitor tracer tracking case.

The system consists of a well tubing pipeline with a 1875 m true vertical depth (TVD) and a 2725 m measured depth (MD), a 150 m long wellhead pipe, a 3150 m pipeline leading up
to a 391.2 m vertical riser and a 100 m long horizontal topside pipe. The KHI inhibitor is injected into the first section of the wellhead pipe. A wellhead choke and a check vale are
placed at the wellhead pipeline downstream of the KHI injection position. The total production is controlled by the wellhead choke. A sketch of the model is shown in Figure 1.

Operation scenario:
The well is a gas well. The fluid temperature may be below the hydrate temperature in the flow line. Therefore, a KHI tracer is injected at the wellhead to prevent hydrate formation.
The KHI flow rate and mass fraction in the water phase can be checked for different KHI age groups along the pipeline.

Figure 1 Sketch of the model.

Case Comments:
Library:

HYDRATECURVE: Definition of hydrate curve used by HYDRATECHECK.

TRACERFEED: Definition of the tracer feed TR-KHI.

CaseDefinition:

OPTIONS: Temperature calculations use heat transfer on the inside and outside of pipe walls as well as heat conduction, but no heat storage is accounted for. The steady state pre-
processor is turned off.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — INITIALCONDITIONS: Since the steady state pre-processor is not used, the initial conditions have to be given.

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: The inlet ambient temperature of the well is 50°C and outlet ambient temperature is 4°. The code will do a
vertical interpolation on ambient temperature along the tubing. In the flow line and riser, the ambient temperature is 4°C. The heat transfer coefficient on outer wall is set to 500
W/m2K. The minimum heat transfer coefficient on inner wall is set to 10 W/m2K.

FLOWPATH — Boundary&InitialConditions — WELL: The reservoir pressure is 200 bara and reservoir temperature 50°C. Production and injection type is L INEAR.
AINJ=APROD=0, BINJ=10-7 kg/s/Pa and BPROD=2.5·10-6 kg/s/Pa.

FLOWPATH — Boundary&InitialConditions — SOURCE: The tracer source injects tracer at a rate of 1 kg/s.

FLOWPATH — FA-models — HYDRATECHECK: Hydrate checking is activated in all flowpaths.

FLOWPATH — Output — TRENDDATA: Tracer variables are plotted.

FLOWPATH — Output — PROFILEDATA: Tracer variables are plotted.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The outlet pressure held constant at 30 bara and the temperature is 20°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file every 10 hours.

TREND: Trend variables are plotted every 10 seconds.

PROFILE: Profile variables are plotted every hour.

Sample cases: Valve Model


To demonstrate some of the model options for the valve, five simple valve cases have been created:

Sub_Critical_Valve_Flashing_Liquid.opi - Sub critical valve flow of a flashing liquid

Critical_Valve_Two_Phase.opi - Critical two phase valve flow.

Valve_Recovery.opi - Sub critical none flashing liquid valve flow.

Valve_Slip.opi - Two phase sub critical valve flow.

Valve_Termal_Equilibrium.opi - Three phase sub critical valve flow.

All these cases have the same geometry and configuration. The left boundary condition is a closed node and a mass flow source in the first section. The right boundary condition is a
gas pressure node. The geometry is described with one pipe divided in 10 equal sections. The pipeline is 400 m long and have an elevation of 10 m. The diameter is 0.12 m.
The cases differ in:
 source mass flow, phase fractions and temperature
 outlet pressure
 valve opening
 fluid table

Figure 1 GUI snapshot from the Sub_Critical_Valve_Flashing_Liquid.opi case.

Case Comments:
CaseDefinition:

OPTION: The steady state pre-processor is enabled. There are no heat transfer to the surroundings. The siumlation is adiabatic.

INTEGRATION: The simulation time is 3 minutes with a maximum time step of 5 seconds.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — Source: A constant mass source is positioned at the first section of the pipeline.

FLOWPATH — ProcessEquipment — Valve: The valve is positioned at the middle of the pipeline. The valve diamater is identical to the pipeline diameter.The HYDROVALVE
model is used.

FLOWPATH — Piping: One pipe is used to describe the pipeline. The pipeline is 400 m long, and have an overall elevation of 10 m. The pipeline diamater is 0.12 m. The pipeline is
split in 10 sections.

NODE: The pipe is closed at the inlet. The outlet node is a PRESSURE node. Gas at 25°C is used as boundary fluid.

Output:

OUTPUT: OLGA trend variables are printed to the output file every 15 seconds. Profile variables are plottet at the start and end of the simulation. Valve TREND variables included:
ICRIT, PVALVE, TVALVEOUT, VALVDP, THROATSLIP, TVALVE

Sample cases: Critical two phase valve flow


This case is created to demonstrate the possible effect of the valve model option EQUILIBRIUMMODEL. Running the case with EQUILIBRIUMMODEL FROZEN, HENRYFAUSKE
and EQUILIBRIUM will give a large difference in pressure drop. The EQUILIBRIUM option gives the largest pressure drop over the valve, and the FROZEN option gives the lowest
pressure drop. The HENRYFAUSKE option lies between the FROZEN and EQUILIBRIUM option.
Figure 1 Pressure profile for EQUILIBRIUMMODEL FROZEN/HENRYFAUSKE/EQUILIBRIUM at critical valve flow.

Case Comments:
See Valve Model for a more detailed description of the case.

CaseDefinition:

FILES: 2phase.tab

FlowComponent:
FLOWPATH — Boundary&InitialConditions — Source: Mass flow is set to 22 kg/s. The temperature is set to 90ºC, and the gas fraction is 0.1. No water is included in the source.
FLOWPATH — ProcessEquipment — Valve: The valve opening is set to 0.03.

NODE: The outlet node pressure is set to 50 bar.

Sample cases: Sub critical valve flow of a flashing liquid


This case is constructed to demonstrate the possible effect of the valve model option EQUILIBRIUMMODEL. Running the case with EQUILIBRIUMMODEL
FROZEN/HENRYFAUSKE and EQUILIBRIUMMODEL EQUILIBRIUM will give a large difference in pressure drop. The sub critical model for the FROZEN and HENRYFAUSKE
option are identical and will give the same pressure drop.
The reason for the difference in pressure drop, is due to the flashing of the liquid. The EQUILIBRIUM option includes flashing while the FROZEN option don't. In a non flashing case
the models will give very similar results. The pressure drop with the EQUILIBRIUM option is 9.6 bars larger than with the FROZEN option.

Figure 1 Pressure profile for EQUILIBRIUMMODEL FROZEN and EQUILIBRIUM.

Case Comments:
See Valve Model for a more detailed description of the case.

CaseDefinition:

FILES: 2phase.tab

FlowComponent:
FLOWPATH — Boundary&InitialConditions — Source: Mass flow is set to 18 kg/s. The temperature is set to 90ºC, and the gas fraction is 0. No water is included in the source.
FLOWPATH — ProcessEquipment — Valve: The valve opening is set to 0.05.

NODE: The outlet node pressure is set to 95 bar.

Sample cases: Thermal equilibrium in valve flow


This case is constructed to demonstrate the possible effect of the valve model option THERMALPHASEEQ. Running the case with THERMALPHASEEQ YES and NO will give a
difference in pressure drop due to the change in gas density for the valve model. This model option will affect the throat gas temperature (TVALVE) .
For this case the valve pressure drop (VALVDP) change when applying thermal equilibrium is approximaly 0.5 bar. The change in the lowest gas themperature in the valve (TVALVE)
is almost 16ºC.

Figure 1 Trend plot of VALVDP for THERMALPHASEEQ YES and NO.

Figure 2 Trend plot of TVALVE for THERMALPHASEEQ YES and NO.

Case Comments:
See Valve Model for a more detailed description of the case.

CaseDefinition:

FILES: 3phase.tab

FlowComponent:
FLOWPATH — Boundary&InitialConditions — Source: Mass flow is set to 22 kg/s. The temperature is set to 25ºC, and the gas fraction is 0.1. The total water fraction is stet to
0.2.
FLOWPATH — ProcessEquipment — Valve: The valve opening is set to 0.05.

NODE: The outlet node pressure is set to 120 bar.

Sample cases: Valve Recovery


This case is constructed to demonstrate the effect of the valve model option RECOVERY. Running the case with RECOVERY YES/NO will give a difference in pressure drop over
the valve. The pressure drop over the valve will witout recovery always be greater with recovery.
Figure 1 Trend plot of VALVDP with and witout pressure recovery.

Case Comments:
See Valve Model for a more detailed description of the case.

CaseDefinition:

FILES: 3phase.tab

FlowComponent:
FLOWPATH — Boundary&InitialConditions — Source: Mass flow is set to 20 kg/s. The temperature is set to 50ºC, and the gas fraction is 0. No water is included in the source.
FLOWPATH — ProcessEquipment — Valve: The valve opening is set to 0.25.

NODE: The outlet node pressure is set to 160 bar.

Sample cases: Valve slip


This case is constructed to demonstrate the possible effect of the valve model option SLIPMODEL. Running the case with SLIPMODEL NOSLIP and CHISHOLM will give a large
difference in pressure drop. The CHISHOLM model will apply a slip between gas and liquid in the valve.

Figure 1 Pressure profile for SLIPMODEL NOSLIP and CHISHOLM.

Figure 2 Trend plot of THROATSLIP (The slip ratio in the throat) for SLIPMODEL NOSLIP and CHISHOLM.

Case Comments:
See Valve Model for a more detailed description of the case.

CaseDefinition:

FILES: 2phase.tab

FlowComponent:
FLOWPATH — Boundary&InitialConditions — Source: Mass flow is set to 22 kg/s. The temperature is set to 30ºC, and the gas fraction is 0.1. No water is included in the source.
FLOWPATH — ProcessEquipment — Valve: The valve opening is set to 0.05.

NODE: The outlet node pressure is set to 50 bar.

Sample case: Wateroptions


The case WaterOptions.opi is an example of a three phase simulation using WATEROPTIONS. The main pipeline starts with a 3.3 km long horizontal pipe ending in a 90 m riser
followed by a short horizontal pipe. The inner diameter of the pipe is 0.41 m. Heat transfer through pipe walls is calculated.

Case Comments:
Library:
WALL: The pipe walls consist of steel (two layers) covered by one layer of insulation.

CaseDefinition:

OPTIONS: The full heat transfer calculation option with heat transfer through pipe walls is used.

INTEGRATION: The simulation runs for five hours using a minimum time step of 0.01 s and a maximum one of 10 s. The initial time step is set equal to the minimum one.

FA-models:

WATEROPTIONS: Water flash and water slip are turned on.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: The inlet boundary condition is a constant mass source with mass flow of 34.181 kg/s and temperature of 60°C. The
mass fraction of free water is set to 0.3. Since water flash is active, see WATEROPTIONS keyword, there is additional water in the vapor phase given by the water vapor mass
fraction in the PVT table. By default, the equilibrium is used to determine the gas source at the inlet.

FLOWPATH — Piping: The pipeline is 3.3 km long. The total number of pipes, including topside, is 9. The pipes are divided into 58 sections. The pipe walls consist of steel (two
layers) covered with a layer of insulation.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

NODE: The inlet node is closed. The outlet boundary condition is to a constant pressure of 24 bara and a temperature of 26°C.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.

TREND: Trend variables are plotted every 10 seconds.

PROFILE: Profile variables are plotted every 50 seconds.

Sample case: Wax deposition


The case WaxDeposition.opi demonstrates a simulation of wax deposition. The pipeline consists of an 8 km long horizontal pipe, a 110 m vertical riser, and 60 m long horizontal
topside pipe. The inner diameter is 0.17 m throughout the pipeline.

The fluid enters the pipeline with a temperature of 70°C, which is above the wax appearance temperatur e. On its way through the pipeline, the fluid is cooled and wax precipitation
and deposition starts once the temperature is low enough. This happens about 2 km from the inlet. Due to the thermal insulation effect of the wax layer, the fluid temperature
increases in the parts of the pipeline where wax is deposited. Furthermore, the wax layer makes the effective area of the pipe decreases, resulting in an increasing inlet pressure in
order to maintain a constant flow rate.

Case Comments:
Library:

WALL: The pipe wall consists of steel, concrete, and an insulating polypropylene layer.

CaseDefinition:

FILES: The wax properties are defined in the file wax_tab-1.wax.

OPTION: The steady state pre-processor is activated to generate the initial conditions. N.B., wax is not accounted for in the pre-processor. Full temperature calculation
(TEMPERATURE=WALL) is required when simulating wax deposition.

INTEGRATION: Since wax deposition is a slow process, the simulation time is set to 10 days. This is sufficient for a wax layer to start appearing.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — SOURCE: The flow rate at the inlet is set to 17.51 kg/s with a temperature of 70°C.

FLOWPATH — FA-models — WAXDEPOSITION: Deposition of wax is allowed in the entire pipeline. The wax porosity is set to 0.6 and the built in routine for calculating the
viscosity of oil with precipitated wax is used. Wax properties are taken from the table WAXTAB in the file wax_tab-1.wax. Contribution to the wall roughness from deposited wax is not
considered (WAXROUGHNESS=0 by default).

FLOWPATH — Output — PROFILEDATA: Variables of interest are pressure and temperature in addition to wax related variables, such as wax layer thickness (DXWX), mass of
wax dispersed and dissolved in oil (MWXDIP and MWXDIS, respectively) and the wax appearance temperature (WAXAP), which is pressure dependent.

ΦLOWPATH — Output —ΣΕΡςΕΡ∆ΑΤΑ: Server variables are available for plotting in interactive simulations.

FLOWPATH — Piping: For the horizontal part of the pipeline, sections of length 250 m are used. If higher accuracy of the position where the wax starts depositing is needed, shorter
sections should be used.

NODE: The inlet node is closed. A constant outlet pressure of 20 bara is applied.

Output:

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

OUTPUT: Pressure and temperature in all sections are written every 10 days. Four columns of results are printed on each page.

TREND: Trend variables are plotted every hour.

PROFILE: Profile variables are plotted every day.

Sample case: Well-PressureBoost


The case Well-PressureBoost.opi is a simple demonstration of a controlled PressureBoost pump. A typical geometry from well to platform is used. The PressureBoost pump is used
to increase the production. A controller is used to achieve a desired flow rate.
Figure 1 GUI snapshot from the Well-PressureBoost.opi case.

Case Comments:
CaseDefinition:

OPTION: The steady state pre-processor is enabled. The temperature calculation is performed using a constant overall heat transfer coefficient (UGIVEN).

INTEGRATION: The steady state pre-processor is enabled. The temperature calculation is performed with a heat transfer through the wall and heat accumulation in the wall.

Controller:

PIDCONTROLLER: The flow controller, FC, is used to achieve the desired flow rate of 10 kg/s. A flow transmitter, FT, is connected to the MEASRD terminal, suppying the measured
flow rate in the pipeline. The controller output is connected to the PressureBoost pump.The controller bias is set to zero, and the pressure increase of the Pressureboost pump is
therefore zero at time 0. The AMPLIFICATION and INTEGRALTIME is tuned to get a stable simulation.

FlowComponent:

FLOWPATH — Boundary&InitialConditions — HEATTRANSFER: A constant ambient temperature of 6°C, and a const ant ambient heat transfer of 6.5 W/m2/°C is used..

FLOWPATH — Boundary&InitialConditions — WELL: The reservoir pressure is set to 150 bara, and the reservoir temperature is set to 68°C. The producti on and injection model
is linear with AINJ = APROD = 0 and BINJ = BPROD = 6.0e-6.

FLOWPATH — ProcessEquipment — PRESSUREBOOST: The pump is given a maximum pressure increase of 60 bar. The isentropic efficiency is set to 0.9.

FLOWPATH — ProcessEquipment — TRANSMITTER: The flow transmitter, FT, is positioned close to the PressureBoost pump. FT measures the overall mass flow (GT) in the
pipe.

FLOWPATH — Piping: 9 pipes is used to describe the pipeline from the well to the platform. The pipeline is 6500 m long, and have an overall elevation of 1800 m.

FLOWPATH — Output —SERVERDATA: Server variables are available for plotting in interactive simulations.

NODE: The pipe is closed the inlet. The outlet node is a PRESSURE node, setting a pressure of 50 bara. Gas at 22°C is used as boundary fluid.

Output:

OUTPUT
OLGA variables are printed to the output file every 10 seconds.

ANIMATE: 3D plot of holdup for liquid along the pipeline is plotted every 10 seconds.

The controller output CONTR and the pressure increase PUMPDP is included among the TREND variables.

You might also like