Documente Academic
Documente Profesional
Documente Cultură
This is the OLGA 6 User Manual. The User Manual includes both information about the OLGA 6 engine and the graphical user interface (GUI). The complete program documentation includes - Release Document for OLGA 6.2 - OLGA 6 User Manual (this document) - OLGA 6 GUI User Manual - OLGA 6 Conversion Guide - Well GUI User Manual - Tutorial - Installation Guide All documents listed above are available from the Start Menu (Start - All Programs - SPT Group - OLGA 6.2 - Documentation). The OLGA 6 User Manual, OLGA 6 GUI User Manual, OLGA 6 Conversion Guide, Wells GUI User Manual and the Tutorial are also available from the Help menu in the GUI). User Manuals for other tools included with the OLGA 6 installation are available from the Help menus in the tools.
Release Information
Please refer to the Release Document for detailed release information for OLGA 6.2. The Release Document describes changes in OLGA 6.2 relative to OLGA 5 and OLGA 6.1, and should be read by all users of the program. The complete program documentation consists of the OLGA User Manual, OLGA 6 GUI User Manual, OLGA 6 Conversion Guide, Wells GUI User Manual, Tutorial, Installation Guide, and the Release Document. The program is available on PCs 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 center is available from the SPT Group Support Center 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 6 is the latest version in a continuous development which was started by the Institute for Energy Research (IFE) in 1980. The oil industry started using OLGA in 1984 when Statoil had supported its development for 3 years. Data from the large scale flow loop at SINTEF, and later from the medium scale loop at IFE, were essential for the development of the multiphase flow correlations and also for the validation of OLGA. Oil companies have since then supported the development and provided field data to help manage uncertainty, predominantly within the OLGA Verification and Improvement Project (OVIP). OLGA has been commercially available since the SPT Group started marketing it in 1990. OLGA is used for networks of wells, flowlines and pipelines and process equipment, covering the production system from bottom hole into the production system. OLGA
comes with a steady state pre-processor included which is intended for calculating initial values to the transient simulations, but which also is useful for traditional steady state parameter variations. However, the transient capabilities of OLGA dramatically increase the range of applicability compared with steady state simulators.
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 online 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.
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] 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.
Temperature
OLGA is particularly well suited for sophisticated thermal simulations. Since OLGA is one-dimensional (calculates along the pipe axis) any 2 and 3-dimensional effects must be modelled explicitly. The basic OLGA thermal model calculates the inner wall heat transfer coefficient. The built-in correlations are valid for natural- and forced convection and also for the transition between them. Flow pattern is accounted for. The user may specify pipe walls with material properties, including emissivity to account for radiation, and must give the ambient properties, i.e. temperature and heat transfer coefficient. Based on this the fluid temperature is calculated. Special features like Annulus, Solid- and Fluid bundles make it possible to simulate very complex structures of pipe-in-pipe and parallel pipes within structures of various solid materials. Taking into account that temperature is calculated along the pipes one obtains a combination of two-dimensional convective heat transfer within 3dimensional heat conducting structures. Solid bundle cross section of 4 vertical tubes within rock neighbour tubes are 2.5 m apart. The black "line" is a temperature iso-line. One clearly sees how the area between the tubes is subject to inter-tube heating.
Initial Conditions
The requirement for initial conditions is a fundamental difference between a transient and a steady state model, e.g. the results of a steady state calculation may serve as the initial condition (at t=0 ) for a transient simulation. With OLGA the user decides, and later specifies in the input, whether the simulation is to start from a user defined condition (for instance a specific shut-in condition), or from a steady state multiphase flowing situation calculated by the program. The steady state pre-processor in OLGA can be used to provide good initial values for most production situation. In addition, the user may specify the initial condition in detail, for example for a shut-in system, by defining the initial values for pressures, temperatures, mass flow and gas fractions. Tools for interpolation are available, for filling in the initial values in all numerical sections of the system. Finally, the restart capability may be used to start a simulation from conditions saved during a previous simulation.
Boundary Conditions
The boundary conditions define the interface between the simulated system and its surroundings and they are crucial to the relevance to any type of simulations. For a network of pipelines and wells there are several options available, but basically flow rate or pressure, in addition to temperature and gas-liquid ratio must be specified at each flow path inlet and outlet boundary (at least one pressure must be given). The boundary conditions, e.g. a pressure, can be given as time series to model a certain transient situation.
Moreover, the ambient temperature along the flow paths and ambient heat transfer coefficient (film heat transfer resistance) must be specified and OLGA provides a number of options for this, including water and air velocity profiles and seasonal variations of temperature. Inflow from reservoirs to well-bores define the most important boundary in a petroleum production network. In addition to various well-inflow correlations and options OLGA comes with an implicit coupling facility to the OLGA Rocx module which is a complete 3-D, 3-phase reservoir simulator. Separators, pumps, compressors and valves, all with controllers, can be modelled to improve the relevance of the outlet boundaries.
Fluid properties
The necessary fluid properties (gas/liquid mass fraction, densities, viscosities, enthalpies etc.) are normally assumed to be functions of temperature and pressure only, and have to be supplied by the user as tables in a special input file. Thus, the total composition of the multiphase mixture is assumed to be constant both in time and space for a given part of the network. The user may specify different fluid property tables for each flow path, but has to ensure that a realistic fluid composition has been used to make a table for a flow path with a fluid mixture coming from two or more pipeline branches merging upstream.
It is also possible to perform simulations using Compositional Tracking, where the basic information on the chemical components is provided in a separate text file and then OLGA calculates the fluid properties internally with PVT routines provided by Calsep A/S. This means that the total composition may vary both in time and space, and that no special considerations are needed for the downstream system. Special models are also available for tracking hydrate inhibitors like MEG and methanol. The numerical solution of the OLGA model is generally able to handle multi component fluid systems but will normally have problems with single component systems or systems with a very narrow phase envelope.
Rheology
The standard OLGA flow models assume a Newtonian rheology (viscosities are well defined fluid characteristics). Dispersions and non-Newtonian behavior are quite common in petroleum production and OLGA provides several semi-empirical models to account for more complex rheologies. In some cases the model takes care of the rheology with a minimum of user interference (e.g. for oil-water dispersions and also for waxy oils). For other systems the user needs to specify the various parameters for such fluids to describe e.g. Bingham or power law non-Newtonian behavior.
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 predefined 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.
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.
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.
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 When systems become more complex and critical e.g. with long and deep Flow lines/risers, start-up situations need to be forecasted on a short-term basis and OLGA is regularly being used for assistance at start-up. 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. Main effect 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 antisurge controllers, separators, heat exchangers, pumps and mass sources and sinks.
Pipeline pigging
OLGA can simulate the pigging of a pipeline. A user specified pig may be inserted in the pipeline in OLGA at any time and place. Any liquid slugs that are created by the pig along the pipeline can be followed in time. Of special interest is the determination of the size and velocity of a liquid slug leaving the system ahead of a pig that has been inserted into a shut-down flow line.
Hydrate 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
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 Library; MATERIAL, WALL, SHAPE, TABLE, DRILLINGFLUID, HYDRATECURVE Compositional; COMPOPTIONS, FEED, BLACKOILOPTIONS, BLACKOILCOMPONENT, BLACKOILFEED, SINGLEOPTIONS FA-models; CORROSION, FLUID, WATEROPTIONS, SLUGTRACKING, TUNING, SLUGTUNING Output; OUTPUT, TREND, PROFILE, PLOT, OUTPUTDATA, TRENDDATA, PROFILEDATA 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. 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
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
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
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 has special handling of terminals.
The CONNECTION keyword is also used for coupling signal components. CONNECTION TERMINALS = (FP_BRAN SOUR-1-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 SOUR-1-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.
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.
Introduction
With OLGA 5 a new graphical user interface (GUI) was introduced that replaced the OLGA 2000 GUI. OLGA 6 uses the same GUI as OLGA 5 with some additional features. The main new features in the OLGA 6 GUI are: Plot configurations (variables, colours, etc) may be saved as templates for easy recreation of plots Graphical configuration of signal network (controllers) New graphical configuration of Bundles New utility for running cases in batch (without having to start the GUI) The main new features of the OLGA 5 GUI compared with the OLGA 2000 GUI are: Graphical configuration and visualization of complex networks with Drag and drop Graphical copy paste Automatic detection and classification of internal nodes Positive flow direction can be indicated on flow path Pressure boundary nodes are distinguished Network coupling table with configuration capability Design time verification of model and listing missing items Errors are detected while the model is created Action buttons for missing items GEOMETRY Editor with spreadsheet type input Copy directly from Excel Both XY and Length-Elevation input are displayed. Automatic Sectioning without simplification Direct access to simplification procedure with new angle distribution details Automatic inversion of pipe profiles which facilitates e.g. annular models
New Plotting Functions Select variables from a complete list with descriptions Make your own standard sets of variables with units Within a graph - copy directly to and from Excel Spreadsheet type input and visualization of input series New Parametric study function New RESTART function Context sensitive help
New Project
A new project is defined by: Select File/New/Project Ctrl+Shift+N Click the New Case icon
When starting a new project a new folder can optionally be created by checking the Create folder box.
New case
A new case is defined in one of the following ways: Select File/New/Case (you will be taken into a dialog to create a new project if not already done) Ctrl+N Click the New Case icon Then, the window below appears:
Enter a case name (or use default), fill in location (or use default) and select template. OLGA Case File. This generates an empty case. OLGA Basic Case. This generates a complete basic case. Ready for simulation. OLGA Network case. This generates a complete basic case with an internal merge node.
Start page
When opening the OLGA graphical user interface the Start page will appear. The central window contains a list of recent projects and the date when they were last modified. A project can be opened by double clicking on the case name. A new project can be started from the New Project button at the bottom of the screen.
See also Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Model view
The Model View is used for navigation 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, Network Connections and Network Components. Case Definitions describe information common to the whole system 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 contains input to flow assurance models. Compositional has input to the compositional model. Advanced thermal contains input to the FEMTherm and bundle models and input to annulus calculations.
When selecting an object in the project explorer, 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.
See also Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
File view
The File View shows the input files of the project. By right clicking on a file the file can be removed or opened. If the file is a .opi-file (case-file) you get the option to open it as a text file. The text file is the OLGA 6 .keyformat which resembles the OLGA 2000 inp-format. You may edit the key-file, save it and then reopen the case from the edited key fileby selecting 'reload from text file'
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Component view
Simulation objects may be fetched from the Components window by Drag&Drop onto the Graphical Editor. Only objects available at the network level presented are available. This means that e.g. process equipment can be introduced this way only when the Flowpath is open.
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Property editor
The Properties window is a common interface to all simulation objects (keywords). Here the objects are defined setting values on the different keys. The left column gives the property name (currently the key name), the right its value. Units may be altered as shown in the figure. 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 the field at the bottom. Values may be inserted by typing or by selecting one or several values presented by the interface. The colours of the keys are the following meaning: Black : Key can be given but not required. Red : Key required. Grey : Key can not be given. Note that the colours will change as input is given. As an example: Two keys are mutually exclusive and one of them must be given. Both will then initially be red (required). When a value is given for one of the keys its colour will change to black (key is given and no more input required for that key) while the other key will turn grey (can not be given).
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 at the top bar of the property editor window.
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Network view
Below you see a snapshot from the GUI with the template case Case0 loaded. All the windows are described in the following sections. The windows may be moved around (outside or inside the frame) and may be docked as described in Moving windows .
Click left button on canvas and use mouse wheel to zoom in/out
The central view in the figure above shows the Network view with its Graphical editor functions. Zooming in and out is done by the mouse wheel. Moving the mouse while the left mouse button is held down will move the layout within the window. Pressing Q adjusts the graphical view to the frames. Holding Shift and pressing Q zooms out in steps. Focus is shifted away from selected objects by pointing to the background while holding down the Shift key. Nodes and flow lines are drawn schematically. Network components (Nodes and Flowpaths) can be dragged into this view from the Components window. Sources,
Pressure boundaries and Process equipment are visible and their properties may be entered or modified by selecting the object (left-click) and filling in their "Properties. In the figure the properties of the NODE OUTLET are shown to the right.
The window above is the 2-dimensional Flowpath view which shows one Flowpath at the time. The functions for "moving" the graph are the same as for the Network view, see flowpath view for more details. You can drag equipment to the canvas from the Process Equipment Components on the left. When e.g. a valve is dropped on the canvas it "attach" to the middle of the Flowpath as illustrated below. The actual position and other data for the valve can be entered in the Properties window for the Valve which now is in focus (to the right). By entering the data e.g. the PIPE and SECTIONBOUNDARY the valve will take its specified position on the Flowpath.
Each graphic view has its own tab and if you click on the Case0-tab (see below) you get back to the Network view.
We shall show how you make a new Flowpath: Start with dragging a Node from the Components window and drop it on the canvas, see above.
Then you make a new Flowpath by following the instructions in the drawing below:
The new Node and Flowpath also appears in the Model View window, see below:
Select a FLOWPATH and drag it to the canvas. Then drag a new node to the canvas.
Connecting Nodes and Flowpaths can be done as follows: Point to the red dot at one end of a Flowpath (the red dot indicates that this end of the Flowpath is not connected). Hold down the right mouse button, initially pointing to the blue square that has appeared at the end of the Flowpath. Move the mouse pointer to the Node which the Flowpath should be connected to and release. Select connect from the pop-up box that appears. The dot at the end of the Flowpath turns green, indicating that a connection is established. Alternatively: Right-click on the view background and select Network Connections. Select the "from-to" nodes for each Flowpath and click OK. The network should appear as specified.
Right-click within the blue square and move pointer towards NODE_0. Select Connect to and release mouse button.
Disconnect a Flowpath from a Node by left-clicking on the Flowpath and then point to the green dot at the end of the Flowpath. Hold down the left mouse button while moving the end of the Flowpath away from the node and release. The dot at the end of the Flowpath should now be red, indicating that it is not connected.
Left-click on Flowpath, select green dot (left-click) and drag endpoint away from Node.
Right-click while pointing to an object in the Network view brings up various menus depending on the object: - Add : Add items to the network object. - Verify : Checks input file and reports errors and missing input in the output window. - Copy : Copy selected item. - Paste : Past the copied item onto the currently selected item. - Delete : Delete selected object. - Properties : Starts property editor for selected object. For a Flowpath this would be to Geometry Editor while for other items it would typically be a time series editor. For example: pointing to a Flowpath gives the alternatives below.
Text labels in the Network view (which reside in their separate text boxes) can be rotated and scaled in addition to moved (except those for Flowpaths). Move is the default edit mode. You can either select the edit mode on the toolbar
or you can type one of the following letters to change the edit mode for the selected text box.
s:
Scale: (left-click in the triangle and drag while keeping the mouse button down)
r:
m:
You can add fixed points on a Flowpath by pressing Ctrl while double-clicking anywhere on it. A fixed point, indicated by a small square, appears on the Flowpath.
The fixed points can be moved to shape the Flowpath (this does not change the actual geometry of the Flowpath).
More points are added by repeating the Ctrl double clicking. You remove the fixed points by Ctrl double click within its blue square. Right-click in the Network view activates a menu with the following items:
A "Case.jpg" file with the Network view is copied to the folder where the project resides. Opens the network overview/connection window
Network plot allows for a quasi-animated plotting of profiles in the Network view.
Configure:
3D View described in Moving view in 3D . Show directions Direction arrows are displayed on each Flowpath.
Changes to 3D view as
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Flowpath view
The actual profile of the geometry may be viewed by opening the Flow path; double click FLOWPATH in the Model View. This opens a new tab in the Graphical Editor
showing the selected flow path only (including equipment). In the Flowpath view equipment may be added by drag and drop from the Components window (the available components are now the ones that are located on a specific Flowpath).
Focus an object by a left mouse click to bring up the Property editor, and the properties of the object can be entered or modified.
Focus is shifted away from selected objects by pointing to the background while holding down the Shift key. Zooming in and out is done by the mouse wheel and moving the mouse while the left mouse button is held down will move the layout within the window.
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Connection view
The connection view is used for showing connections for a single component or all connections in a case. The connection view can also be used to create new connections. The connection view has two modes. The above figure shows connections for a selected component. When a component is selected, all terminals for the component is shown in left column in the view. The column "Connected NC" shows the name of the network component which is connected. The column "Connected terminal" shows which terminal is used on the connected network component. In a signal connection a variable is given. This variable is shown in the column "Variable". Creating a new connection for a selected component: 1. Select a network component from the column "Connected NC". Only network components with compatible terminals are shown in the list of available network components. 2. Select a terminal on the component from the column "Connected Terminal". After selecting a terminal, the connection is made. 3. Select a variable (only for signal connections) from the column "Variable". The other mode is for showing all connections in the case. In this mode it is easier to see the direction of the signals (see figure below) Creating a new connection when showing all connections: 1. Select a network component in the column "From". 2. Select the out-signal (terminal) from this component in the column "Out". 3. Select a network component to receive the signal in the column "To". 4. Select the in-signal (terminal) in the column "In" 5. Select a variable (only for Transmitters) from the column "Variable".
Output window
The output window (not to be confused with the OUTPUT keyword/OUTPUT File) gives information about the state of the cases, modeling and simulations. The information comes out three categories:
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
The windows can be cleared from the context menu (right click). Text can be copied: Mark text Right click and copy
Which Output categories are active are indicated by the "orange" background around the category names in the top bar of the output window. A left mouse click on the text will activate and deactivate.
By default the output from the active case is shown. Output from other cases is selected from the pull-down menu at the top of the output window.
[1] Warnings from the OLGA interpretation of fluid files which takes place when the simulation has started are categorized as Information
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
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).
You can insert columns in the spreadsheet by right-clicking on a column-header, see below.
Selecting "cancel" nullifies all actions performed within the time series editor.
A trick: to fill in the same value for several time points: enter the value in the column for the last time-point and then enter.
See also Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Plotting
Trend and profile plot output as defined by the user can be viewed during and after simulation. The plotting buttons on the top menu will show red lines when plot files are available for the active case.
TREND Plot PROFILE Plot Plot PVT file Multi-case plotting General features of the plotting tool Export/import data
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
The default time unit for a Trend plot is Seconds which you change at the lower left.
You may now "play-back" the profile plot, either by dragging the slide or by clicking the green triangle. You may also freeze a curve by clicking the "needle"
button.
You get a frozen curve each time you click it. You "un-freeze" by disable the needle profiles simultaneously, but the speed will of course depend on your PC-capacity.
. The play-back is stopped by clicking the blue square. You may play-back several
Fluid properties
You can use the plot-tool to plot fluid-properties. Select PVT file plot with the buttons in the top menu (.tab). You then select the property or properties you want to see and proceed as usual.
You may use the freeze-function as for profile plots. You click the nail and then the green triangle. You repeat clicking the nail to freeze more curves. The default x-axis is temperature. You can change this 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.
Multi-case plotting
It is possible to plot results from several cases/projects simultaneously. For example you can plot data from all the cases in your project (use the Plot Project button in the select variables dialog), the in-active as well as the one active. You can open several results files by the Tools -> Plot menu (select several files, either trend (.tlp) or profile (.plt) or from within the plot tool itself by adding files, see below. You plot as for single cases.
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.
Un-zoom: Do as for zoom, but drag to the left (any start and end point works) Zoom in/zoom out/un-zoom buttons are also available
All the variables marked in the selection dialog are copied to separate columns in the Excel-worksheet. Profile:
When exporting profile variables, there are some options. First, choose the points in time that are of interest. Secondly, choose the output grouping. On time copies the variables sorted on time, while the On variable option copies the variables sorted on variables. See examples below:
Parametric Studies
Parametric studies are defined through Tools-Studies, where new studies can be added or previously performed studies reopened.
The number of parameters is given in the field labelled "#Parameters. At present studies can only be performed on the local machine, but the number of simultaneous simulation can be given (#Parallel simulations). This can be useful for machines with multiple processors or multithreading.
This results in the definition of 4 cases ready for running. You may save the study by clicking OK. The study is saved in a separate folder together with the Project/Case.
For more information on XY-plot and Matrix see the Tutorial (accessed from the Help menu).
Geometry editor
Activating Enter a new profile Edit Geometries Edit the table Edit the graph Check angle distribution Filter the data Complete the data Define sectioning Use the new geometry Menus Limitations
See also Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings
Activating
Pipeline profiles are edited in the Geometry Editor. The tool can be started like this: Tools/Geometry Editor (opens with only default data) or Select the Property page for the active geometry (opens with data for the selected geometry)
You may also select FLOWPATH (or GEOMETRY) in the Model-View and right click and then select Properties:
You will now see this graph of the default geometry for the single branch template:
You should save this new Geometry with a new label while in the Geometry Editor (e.g. GEOM-A. The saved geometry file has the extension .geo:
You must also give the new Geometry relevant sections, diameters, roughness and walls. How to do this is described below. You can also copy directly from an Excel worksheet: Open the Geometry Editor and select File New. You will get a new Geometry with one pipe and default values as given below. The geometry is now presented in a tabular format and you can toggle between this and the graphic format by clicking on the relevant tab.
Open the Excel-file with your profile-data, select the X-Y columns and copy.
Select the Start Point 0, 0 in the Geometry Editor with the default geometry open and then Paste. You will get the question below. Answer yes and the data will be pasted directly over to your open geometry.
Please observe that if your excel geometry contains fewer pipes than the one you paste over you must delete the obsolete pipes. You can now save this Geometry (e.g. GEOM-B) and use it for one or several Flowpaths in any model. First you must of course complete it with sections, diameters etc., see below.
Edit Geometries
When opening the Geometry Editor you have seen that two views are available i.e. the graph of the profile and a table of pipes. The two windows can be viewed simultaneously by selecting the e.g. plot tab and drag it towards the bottom of the window (as has been done below).
See also
Edit the table Edit the graph Check angle distribution Filter the data Complete the data Define sectioning Use the new geometry
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. r;Diameter [m]) and selecting a unit.
X Fixed (X remains fixed, Y can be changed) X Bound (Point X-value can not be moved upstream or downstream neighbors) Y Fixed (Y remains fixed, X can be changed) Y Bound (Point Y-value can not be moved above or below neighbors) Recursive (all points downstream will follow the point that is being moved)
2000 Grid Generator). 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 angel groups should be representative.
Define sectioning
The pipe sectioning can be performed in two ways: 1. 2. Manually enter number of sections in the r;# Sections column. This gives you equally long sections for a given pipe. If you double click in the Length of Section list you enter a tool to distribute sections of various lengths over the pipe-length.
Change (the nominal) no of sections to 3 and enter 4.75 m in Section 1 and click OK.
The main rule is that the tool ensures that you get a sum of sections which is equal to the pipe length. Moreover, open section lengths mean that you repeat the value above. The "remaining of total" is the total pipe length minus length accumulated over the section lengths specified (including the open ones).
You get the window below and you see that the remaining now is very close to zero.
To start over again you can set # of sections to 0. 3. Use the discretization tool (Tools/Discretize). Then all pipes are given the same selected number of sections.
Select destination FLOWPATH and click on Exchange Geometries and then on GEOM-1_2.
Menus
The Geometry Editor features the following menus: File New Import Open Close Save Save As Print Print Preview Print Setup <Recent File> Send Exit Edit Undo Cut Copy Paste Configure View Standard Restrictions Graph Status Bar Labels 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 calculate the length ratio of adjoining sections. Discretize Automatic pipe sectioning (all equal) Filter Filter data Reset Pipe Labels Use default pipe labeling 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 New geometry Import xy-data Open geometry file (*.geo) Close geometry Save geometry Save geometry as new file Print active window
Limitations
The following important limitation applies: 1. For export to Excel, dot (r;.) must be selected as decimal separator for Excel
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. If 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. If 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.
Hot keys
Ctrl+z z Leftshift+z Mouse wheel Delete Undo Enable zoom in graphical editor; mark area with mouse Enable un-zoom in graphical editor; mark area with mouse Zoom in or out in graphical editor Deletes object
Moving view in 3D
The following illustration shows how to navigate the camera in fly mode. In Orbit Mode left mouse button + moving the mouse will make the camera orbit around the pivot point. If you release the left mouse button you can use the key combinations to move around. Camera maneuvering: Mouse wheel Arrows Right shift Left shift Left mouse button Zoom in/out Move camera in/out/left/right Move up Move down (or: Insert move down) No selection: Rotate camera Network selected: Rotate network (see below)
Camera Movement Speed Slow to Fast Keys 1 9 Rotate/Move/Scale Rotate Move Scale Select object + key R+ left mouse button + move mouse Select object + key M + left mouse button + move mouse Select object + key S + left mouse button + move mouse
Scene View Shortcuts Fly Mode Key F Orbit Mode Key O Field of View Mouse wheel, or key Z + left mouse button + mark area, or key Z + left mouse click (zoom in) Left Shift + key Z + left mouse click (zoom out) Space Deselect interaction mode Escape Deselect objects Q (in 2D View) Zoom to extent Delete [Del] Delete selected object.
Graphic Configuration
The graphical layout of individual flow paths can be changed through the Graphical configuration dialog. The choices made her will affect only the selected flow path.
If one want to change the layout of all the flow paths, this can be done in Tools -> Options ->Graphics.
Menus
File
New > Project... New > Case... Open > Project... Open > Case... Save Case Save Case As... Duplicate Case... Save Project Close Project Print... Print Preview Print setup... Recent projects Recent cases Exit Create new project Create new case Open project Open case Save case Save a new case Makes a copy of the selected case Save project Close (and save) project Disabled Disabled List of projects recently opened List of cases recently opened Exit
Edit
Standard windows commands Undo Redo Cut Copy Paste Paste special...
Disabled Disabled
View
Select what windows and toolbars to be visible.
Project
Add New Item... Add Existing Item... Project Dependencies Close Project Same as New Case Open an existing file e.g. an .opi file Option to specify the dependencies between the cases
Simulation
Run Stop Pause Start simulation (Start simulation in batch- messages from simulation are sent to the Output window) Stop simulation. Returns to initial state Pause simulation. Simulation may be resumed (Not implemented for OLGA).
Start to run all cases in a project in a given order Start simulation in a DOS-control window. Start to run all cases in a project in a DOS-control window
Tools
The tools available are listed below.
Windows
Standard windows operations.
Help
Help topics GUI Manual Tutorial About OLGA OLGA User Manual Opens OLGA GUI USer Manual (pdf). Starts OLGA 6 Tutorial Release information
Toolbars
Standard
New case Open case Save Save Project Copy Paste Undo Redo Model view Property editor Components File view Output view Connection view
Saves Case
Disabled
Simulate
Start simulation Stop simulation. Returns to initial state. Disabled Run batch in DOS window Verify case
Plot
Plot current trend plot Plot current profile plot Plot current PVT file View current Output File
Layout
Fit window Move Moves a graphic object Scale Scales an object Rotate Rotates an object Circular For systems with defined Grid Nodes placed in grid Hierarchical type 1 Hierarchy Hierarchical type 2 Hierarchy Radial For systems with defined center V Layout algorithm direction is vertical. H Layout algorithm direction is horizontal. Layout of equipment Toggle between relative and sequential layout of inline equipment Snap to grid Toggle snap to grid
When the Solid Bundle is added, go to the property window and specify the required fields: DELTAT and DTPLOT. These parameters govern the frequency of updates of output from the FEMTherm computation (i.e. the computation of temperatures in the solid). The LABEL and MESHFINENESS fields may also be updated. A bundle in OLGA 6 consists of several components. The components of the bundle are flowpaths, shapes and possibly internal bundles. Note that all the components that constitute the bundle must be defined (added) elsewhere. Flowpaths and Lines must be defined as FlowComponents, Shapes must be defined under Library and bundles must be defined as ThermalComponents. Position labels to use for the specification of TO and FROM must be defined for each flowpath under "Piping".
To add a component to a bundle (i.e. to specify that it is a part of the current bundle) choose Add > BundleComponents > COMPONENT in the Model View as shown in the figure below.
In the property window for the new component, specify the required fields: The type of the component (specify either a FLOWPATH, a LINE, a FLUIDBUNDLE, an ANNULUS or a SHAPE) The start and stop position of the Bundle (TO and FROM) The geometric center of the component (XOFFSET and YOFFSET) The OUTERHVALUE of the component (optional) Note that the position of the origin of any cross-sectional coordinates is irrelevant as long as all coordinates within one and the same bundle refers to the same coordinate system. It is only the relative cross-sectional position that matters.
About SHAPES A SHAPE in OLGA 6 defines the circumference of an area where a cross-sectional temperature profile may be computed by the FEMTherm module. Within this area heat is assumed to be transported by conduction in the radial direction. To add a SHAPE to a case right click the Library in the Model View and choose Add > SHAPE. In the property window for the new shape, fill out the type of the shape (CIRCLE, ELLIPSE, RECTANGLE, POLYGON) and the material. For any type of SHAPE the layout of the cross-section must also be defined. As illustrated by the property window to the right, a Circle requires the specification of a radius, an ellipse requires a width and a height, a rectangle requires the specification of coordinates of the lower left and upper right corners, and a polygon must be defined by a series of coordinates.
About LINES A LINE in OLGA 6 is a flowpath for which a simplified one-phase computation is performed. LINEs can be connected in networks, just as regular flowpaths can, but in a LINE network all the network components must have the parameter LINE set to YES. A complete case may contain several LINE-networks and several multiphase networks, but the two types of networks can not be coupled to each other. To add a line to a case in the GUI, right click the FlowComponent in the Model View and choose Add > FLOWPATH. In the property window for the new flowpath select LINE=YES. Then select FLUIDTYPE (gas, oil or water). Connect the LINE to a node in the same manner as other flowpaths are connected. Note, however, that the connected nodes must also have the parameter LINE set to YES.
About CROSSOVER nodes A CROSSOVER node in Olga 6 is a special type of single phase node which can be used in LINE networks only. The CROSSOVER node is a pressure boundary node with the following additional features: It must be connected to two LINES, and it imposes a given pressure difference (called MAXPRESSUREBOOST) between these two lines (at the connection point). A crossover node is added to a case in the same manner as any node is added: right click the FlowComponent in the Model View and choose Add > NODE. In the property window for the new node select TYPE=PRESSURE and LINE=CROSSOVER, then enter the rest of the required fields.
3.
Choose one of the available terminals to connect from (only OUTSIG_1 is available in the figure above) and a terminal to connect to (MEASRD and SETPOINT is available in the figure above). A connection between the two components is created.
4.
Select variable to transmit. If the coupling is between a transmitter and a controller, a variable to be transmitted has to be given. Setting this variable must be done in the connection view
Coupling using the connection view The drag and drop technique for coupling components in the signal network is less practical when the case is large with many components. Dragging from one component to another may involve zooming to view both components, and thereby making the coupling difficult. It is possible to connect signal components using the connection view without seeing the other components. In the figure below the connections for a PID-controller is shown. All terminals (in-/out-signals) for controller CNTRL-1 are listed in column one (Terminal). Column two (Connected NC) and three (Connected terminal) lists which network components and terminals the controller is connected to. If a user-chosen variable is supposed to be transmitted column four (Variable) is used.
The connection view has two modes. The above figure shows connections for a selected component. The other mode is for showing all connections in the case. In this mode it is easier to see the direction of the signals (see figure below)
Hiding and deleting connections If there are many controllers the case may be too complicated to get a good overview. In such cases you may hide the controllers and their connections. Do this by right clicking on a controller and select 'Hide'. To hide all controllers select 'Hide all of this type'. If you have connected a controller by mistake you may delete the connection by selecting it and pressing the 'Delete' button. NOTE: If you delete a controller the connection is not deleted automatically - you have to select the connection and press the 'Delete' button.
Add another node to your case. Connect a flowpath from one of the separator outlets to the node as follows: 1. Click the separator and drag. 2. Release on the node. 3. A context menu will display which out-terminals on separator it is possible to connect from and which in-terminals on the node it is possible to connect to. In the figure below the flow path is connected from the gas outlet terminal of the separator to node 1. The oil outlet terminal of the separator is connected via another flowpath to node 2.
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
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 oilwater 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 gasoil 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 oilwater 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 gasoil 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 know about the production fluids. For instance, during planning or design one may use specific gravities and a gor typical of the geographical area. Later when production is established, one may insert the actual values, and possibly make use of the modules 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.
Blackoil Correlations
To calculate the solution gas-oil ratio RSGO and the bubble point pressure Pb, four different correlations are available in OLGA. They are based on fluids from different areas, and have recommendation for use as mentioned in Table 1. The default correlation is Lasater. Table 1: Blackoil correlations and their recommended usage. Standing /28/ API < 15 Based on fluids from California
Lasater /27/
Vazquez & Beggs /29/ Glas /30/
Based on fluids from Canada, U.S. and South America Similar as Lasater 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.: . 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 = specific gravity of oil o 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. (d)
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 . 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. (g)
For API > 30: , and . 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. (j) (k)
Glas Correlations
For known GOR, the bubble-point pressure is given implicitly by , and . Substitute RSGO for GOR and P for Pb to obtain . 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. (n) (l) (m)
Treatment of Water
Water is treated as inert in the current version, hence no water vapour enters the gas phase, and natural gas does not dissolve in the free water phase. With regard to the water density and viscosity, the blackoil module uses the same built-in routines for pure water property calculations as for the standard pvt table option.
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 . co is the isothermal compressibility of undersaturated oil. . (s) (r)
Units for Equations (o) to (s): Temperature is given in 0F, pressures in psia. BO is given in bbl/STB. The basis for calculating the gas density is the compressibility equation of state, viz.: pV = znRT. When other variables have units of psia, . 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: ft3, lbm, moles and
0R,
(t) the gas constant R has the value 10.72. Now, the gas volume formation factor, BG, can be expressed as (u)
Ppr = P/Ppc and Tpr = T/Tpc. Empirical equations exist for Ppc and Tpc, /28/, and we use them: , and . As already mentioned, the units are psia and 0R.
(w)
(x) (y)
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 Ppc = Ppc Tpc / (Tpc + B(1-B) ), where A = yCO2 + yH2S, = 120 (A0.9 B = yH2S (yCO2 and yH2S are mole-fractions), + 15 (B0.5 B4.0). (ab) (ac) (z) (aa)
A1.6)
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 , with A = (9.379 + 0.016Ma)T1.5 / (209.2 + 19.26Ma + T ) B = 3.448 + 986.4 / T + 0.01009Ma C = 2.447 - 0.2224B Ma = 29g (Ma is the apparent molecular weight) 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) (ai) (aj) (ak) (al) (ah)
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: , with default coefficients A1 = 30.0, A2 = 0.0 and A3 = 0.0. The above correlations are based on data from /31/ and /33/. (ap)
(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: . 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) (as)
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) 70 80 90 100 120 140 160 180 200 M Spec Tabp grav. 0.6 27 42 60 79 104 128 146 165 190 0.9 66 93 116 132 165 202 222 252 274
220
205 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)
(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.
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.
(a) where
Power law model (b) where K = consistency factor Newtonian fluid (c) where = viscosity When running standard OLGA, i.e., without slug tracking activated, the use of complex fluid yields an important improvement since the slug flow model includes the effects of the above rheologies and at the same time as it covers the range of Reynolds numbers from laminar to turbulent flow. This affects the bubble front velocity, and, consequently, the liquid accumulation. Furthermore, it yields a better model of the liquid flowing below the slug bubble as well as a better prediction of the slug fraction. Using this as basis for pressure drop predictions is a major difference from the complex viscosity model, which is very important for more viscous liquids. For stratified flow, the wall friction calculations should yield better results than when using an equivalent viscosity.
How to use
The Complex Fluid module is activated in the FLUID keyword by setting the key TYPE=COMPLEXFLUID. The fluid viscosity model to be used is determined by the keys CFLUML and CFLUMW for the liquid hydrocarbon phase and water phase, respectively. Except for the default Newtonian modeling, fluid viscosity can be modeled using either the Bingham model or the power law model. The parameters of the viscosity models can be given in two ways. If the key FULL=YES, the fluid viscosity parameters (yield stresses/power exponents) are read from the fluid property file as functions of pressure and temperature. If, on the other hand, FULL=NO, the yield stresses YIELDSRL and YIELDSTW or power exponents POWEXPL and POWEXPW have to be given if the liquid hydrocarbon or water viscosity model is set to BINGHAM or POWERLAW respectively. For both options, the viscosity given in the fluid file is interpreted as the plastic viscosity for Bingham fluids and as the consistency factor for Power law fluids.
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.
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. 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.
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.
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.
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.
(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. 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: is the
(b)
where is the local mass transfer term calculated by the equilibrium model and 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.
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.
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.
(d) or
(e) where tact,open tact,close - is the actuator time when increasing U - is the actuator time when decreasing U - is the time step - is previous output signal from the controller - is output signal from the controller - is the maximum output signal from the controller - 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.
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, a transmitter or some process equipment. 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 for the output from the transmitter. 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.
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.
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.
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.
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.
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: (a) 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:
(b) Where
(c) C = C1 C = C2 Sn Sn-1 Cp Cp,min Cp,max Ps Dt PM Tav C C1 C2 Cswitch if if |PM - Ps| > Cswitch |PM - Ps| Cswitch (d) (e)
setpoint of the secondary controller at the current time point setpoint of the secondary controller at the previous time point output from primary controller minimum of output from primary controller maximum of controller output from primary controller setpoint of the primary controller numerical time step (tn - tn-1) moving averaged of the primary controller variable P user defined (moving) averaging time period constant that can take two different values user defined constant user defined constant 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 Connecting the controllers for a example on how to connect a controller. The cascade control loop is built as two separate PID controllers, where the output from the primary controller is used as a setpoint of the secondary controller. The cascade controller require that the measurement terminal (MEASRD) and the setpoint terminal (SETPOINT) are connected. 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.
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.
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.
How to use
Give the required setpoint changes, and connect to a device variable. The manual controller dont require any of the signal terminals to be connect. Figure A shows the connection possibilities of the manual controller.
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.
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.
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.
(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: (c) 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 P controller 0.0 PI controller 0.0 PD controller > 0.0
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 td ti bias x xstp = AMPLIFICATION = DERIVATIVECONST = INTEGRALCONST = BIAS = VARIABLE = 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
(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.
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.
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.
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.
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 Connecting the controllers for an example on how to connect a controller. 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.
Purpose
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.
Limitations
Standard conditions, pressure = 1 atm and temperature = 60 (~15.5 must be included in the flui d table. F C),
How to use
To convert from mass flow at to volumetric flow rate at standard conditions:
Set correct phase in PHASE key. Specify the fluid in the FLUID or FEEDNAME keys. Specify the wanted GOR/CGR/WGR/WATERCUT/MOLWEIGHT, and the volumetric flow rate at standard conditions will be calculated. Connect the STDController output terminal OUTSIG to an PID controller MEASRD terminal.
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.
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.
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 e.g. 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.
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
When to use
The transmitters are used together with the controllers.
Transmitter - Limitations
The transmitters can only be connected to the flow path. For process equipment (Valve, Pump etc.) variables, connected the equipment directly.
How to use
The transmitter is positioned on the flow path, using pipe and section/section boundary or absolute position. It is possible to use one transmitter to for both PT (volume variable) and UL (boundary variable). Make the connection between the transmitter, and the receiving signal terminal. Use the Connections view to set variable name and unit. After making a connection from the transmitter (ex. OUTSIG_1), a new terminal will be made available (ex. OUTSIG_2). One transmitter can measure and transmit an arbitrary number of variables (from a single position).
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.
(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 threephase 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 and at high pH (above pH 5.5). The corrosi on rate will increase with temperature for both models up to a C) 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 limits are not exceeded. The top-of-line corrosion model does not account for increased corrosion due to presence of acetic acid in the gas, which can increase the solubility of iron in the condensed water and hence the top-of-line corrosion rate. If the gas contains acetic acid this should be evaluated separately. The CO2 corrosion models are not valid when the ratio between CO2 and H2S partial pressure (or the ratio between CO2 and H2S molar fraction in the gas phase) is lower than 20. The models should not be used when the H2S partial pressure is higher than 100 mbar. For partial pressures ratios of CO2 and H2S between 20 and 500, the models will give an upper bound for the corrosion rate, but may be conservative since iron sulphide films may be formed.
Drilling fluid
The Drilling Fluids option was developed to describe different fluids that are used in a drilling operation. For example, muds of different densities can be pumped into the well during the drilling operation. This option is also useful to simulate well clean-up operation or initial startup of a well after completion or workover. Drilling fluids are tracked in addition to production fluids from the well. It is possible to combine MEG tracking and drilling fluids. The drilling fluid can either be in oil, water, or gas phase. It is assumed that a drilling fluid is completely miscible with the phase it is specified to and immiscible with 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
When to use
The Drilling Fluid option can be used when it is desired to track one or more fluid in additional to the produced oil, water, and gas in simulating the process of one fluid displacing another. This option is often used to simulate drilling operations, well clean-up, deal oil ciculation and start-up with a mud filled well.
License requirements
Drilling and its associates are parts of the Wells Module that requires a separate license.
The masses and physical properties of the individual drilling fluids are tracked along the flow paths. The solubility of the drilling fluid into other phases than the miscible phase is neglected. Furthermore, the drilling fluids do not affect the phase behaviour of the produced fluids. The ideal mixing is assumed when different drilling fluids of the same phase are mixed with each other and with the production fluid. When the PVT table is used for a drilling fluid, the non-Newtonian behavior is accounted for through the apparent viscosity for flow calculations.
How to use
In order to invoke the Drilling Fluids, the key DRILLING in the OPTIONS keyword must be set to ON. Once the DRILLING option has been turned on, it cannot be turned off in a subsequent restart from a RESTART file. In addition at least one DRILLINGFLUID keyword must be defined on Library level, a type must be set to any of OILMUD, WATERMUD, or GASMUD. Since these labels are arbitrary identifiers, up to three drilling fluids may be specified in a simulation. The drilling fluid properties can be identified through a fluid property table in the *.tab file, use the FLUIDTABLE key to refer to the *.tab file that contains the drilling fluid properties. The fluid properties table referred must contain all liquid properties normally present in a *.tab file. As a result, a drilling fluid FLUIDTABLE is generally generated using PVTsim. Alternatively, and simpler, the 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 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. The primary means of getting drilling fluids into the system is through the SOURCE. Drilling Fluid inflow rates 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, density, and viscosity specified in the DRILLINGFLUIDS keywords. If drilling fluid backflow is possible at a pressure BOUNDARY, the drilling fluid used must be identified by label, just as for a SOURCE. As with the SOURCE, the label, density and viscosity in the must be consistent with the label, density, and viscosity specified in the DRILLINGFLUID keywords. 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 In addition the keywords below are useful: 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)
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.
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. 2. 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. 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. The current version of CSMHYK model (version 1) is more suitable for systems with small mass and heat transfer resistances inside of the pipeline. 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.
Hydrate reaction
The model assumes that induction time of gas hydrate is instantaneous after sufficient sub-cooling (SUBCOOLING). The default sub-cooling is 6.5 Theref ore the F. nucleation is currently assumed independent of any other thermodynamic properties except for the hydrate equilibrium temperature at the given system pressure. It is assumed that structure II hydrates are formed. The hydrate formation reaction will by default react gas (methane) hydrocarbons with liquid water to form hydrate particles (OILGUESTFRACTION=0 and GASGUESTFRACTION=1). The HYDRATEKINETICS key GASGUESTFRACTION is the mass fraction of gas available for hydrate formation to all the gas in a section, mg, i.e.,
(a) The HYDRATEKINETICS key OILGUESTFRACTION is the mass fraction of oil available for hydrate formation to all the oil in a section, m0. The hydrate reaction rate is limited to the mass available to react. First the gas mass will react, then the oil mass will react.
respectively). But it is possible to relate the hydrate velocity to both the oil and water velocity, uof and uwf, respectively,according to (b) An effective hydrate oil slurry viscosity, hos, is calculated by the Colorado School of Mines code:
(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. 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 HYDRATEKINETICS references a HYDRATCURVE that describe the hydrate equilibrium temperature.
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.
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%):
(2.199)
T M H W TMEGCONC TMEGCONC=0
= = = = = =
Hydrate depression, oF Molecular weight of inhibitor (MEG: 62.069 g/mol, MEOH: 32.042 g/mol, ETOH: 46.069 g/mol) Hammerschmidt constant, default value is 2335 delta F Weight per cent of the inhibitor in the liquid Calculated hydrate temperature 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.
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) 2) 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) 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: GASLIFTTTABLES can also be used for functionality 1. See Gas Lift Valve (GLV) for information about GLVs. 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.
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.
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 these fluid property models Compositional option Black oil module Rocx uses the OLGA PVT table for looking up fluid properties. Currently, only the three-phase fixed format OLGA PVT table can be used. The steady-state pre-processor in OLGA can not be applied in the integrated simulation. The simulation can be initialized by initial conditions or restart files. Rocx has its own restart file with the extension .rrs. Other limitations on the Rocx reservoir simulator are given in the Rocx User Manual.
How to use
Rocx is linked to OLGA through the NEARWELLSOURCE keyword. Rocx supports both radial and rectangular grids. The numerical and physical kernel code is not affected by the choice of grid. The flow and thermal equations of Rocx are solved fully implicitly, using the Newton-Raphson iterative method at each time step. Input data to Rocx are permeability and porosities of the porous medium, fluid transport properties, and thermal properties of the rock and fluids. Necessary boundary and initial conditions must be given to enable simulation. Like in OLGA, the boundary conditions of the reservoir model can also be specified in time series. Rocx reserves the skin option for the situation when the inflow deviation from its ideal can not be properly accounted for by the reservoir model itself, e.g. the perforation skin. The simulation input information is stored in a keyword based text file. Standard industry file formats are used for output. More details of the Rocx model can be found in the Rocx User Manual.
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.
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 No heat exchange with the surroundings
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
1. 2. 3. 4. 5. 6.
the pressure drop over a pig. the rate and total volume of liquid pushed out of a pipeline ahead of a pig. the liquid content of a pipeline before and after pigging. the flow restriction caused by a pig. the velocity of a pig. the time for a pig to traverse a pipeline.
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.
fw Up
= =
As the pig velocity, Up, increases, the wall friction force decreases due to less contact between the pig and the pipe wall. This effect is approximated by the wall friction factor. 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 = f2 Up = =
linear friction factor [Ns/m] quadratic friction factor [Ns2/m2] 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
leakage factor [-] pressure drop over the pig [Ns2/m2] 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
(d) where Up = pig velocity [m/s] Using this, the volumetric flow rate is then given by
(e) where D = Dp =
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.
Limitations
The calculation of the volume of wax dislodged by a pig and the additional forces required to push accumulated wax ahead of a pig is not available. It is not possible to simulate the melting of a hydrate plug since the pig mass is constant. It is not possible to simulate a pig traversing through a pipeline at the same time as slug tracking is enabled.
How to use
General
A pig is added to the simulation by declaring the PIG keyword on the flow-path where it is to be inserted.
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.
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.
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.
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
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 p1 p2 G = = = = (-) is the pressure ratio (N/m2) is the inlet pressure (N/m2) is the outlet pressure (kg/s) is the mass flow
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:
(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
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. decrease in the heat exchanger. The energy extracted through the heat exchanger is limited by the heat exchanger capacity.
is specific enthalpy
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.
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.
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.
Figure A:
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 user-given response curves (defined in LEAK/GASLIFTTABLES) using the calculated injection pressure (upstream the GLV) and production pressure (downstream). First, the code finds the two response curves with injection pressures that are closest (higher and lower) the current injection pressure. One gas rate is found for each curve by interpolating using the current production pressure, and then the resulting gas rate is found by interpolating between these two rates using the current injection pressure. If the current injection pressure is below the lowest given injection pressure, the curve for the lowest injection pressure is used directly and vice versa for injection pressure above the highest given injection pressure. That is, no extrapolation for injection pressures. Extrapolation is performed in the direction of decreasing production pressure to find the opening production pressure, if not given (allowed with a negative extrapolated value, as would be the case for the injection pressure of 790 psig in 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.
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 exchangers 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.
Pump
The PUMP keyword is used to model specific pump types of common commercial interest. Real commercial pumps may be classified into the following categories;
1. Rotodynamic pumps 2. Positive displacement (volume) pumps 3. Other types (jet pump, water hammer pump, etc). OLGA currently offers four different pump models; the centrifugal pump and the simplified centrifugal pump which belong to category 1 above, as well as the displacement pump and the pump battery which belong to category 2 above. No explicit OLGA models are yet implemented for the less-common types of specialized pumps listed in category 3 above. 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.
License requirements
The centrifugal and displacement pumps are part of the Multiphase Pump Module that requires a separate license. The pump battery model is used for drilling applications, and is only available with the Wells Module. The simplified centrifugal pump requires no additional license.
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 rg, 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 hp 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).
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 fullydegraded 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 A. This figure shows the single phase homologous head curves. Because the homologous curves are dimensionless, one set of curves can be used to describe a variety of different pumps (i.e., within a single OLGA model) by specifying the desired rated density, head, torque, flow rate and speed for each pump. In calculating the hydraulic torque, TH, the difference between actual fluid density and rated density must be corrected as:
(i)
Table 1: Dependence of Pump Head on Pump Speed and Flow Rate Curves Range Independent variables q/w Dependent variables
w > 0,
h/w2
q > 0,
w/q
h/q2
q < 0,
w/q
h/q2
w < 0,
q/w
h/w2
Table 2: Dependence of Pump Torque on Pump Speed and Flow Rate Curves Range Independent variables q/w Dependent variables
w > 0,
b/w2
q > 0,
w/q
b/q2
q < 0,
w/q
b/q2
w < 0,
q/w
b/w2
Figure A: 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 the heading Recycle and bypass flow below. For details of the energy balance across the OLGA Displacement Pump, see the heading Energy balance below.
Displacement pump
Theory and multiphase dynamics
For the displacement pump, the pump flow rate is the theoretical flow rate minus the backflow through the pump. The theoretical flow rate is a function of the pump speed and the characteristics of the pump, expressed through the specific flow rate. The backflow rate is a function of several parameters and is tabulated in a backflow table. This can be summarized as follows:
(j)
where Q0 Qb Qspc N DP aI nl PI - theoretical flow rate - back flow rate - pump specific flow rate - pump speed - pressure increase across the pump - void fraction at the pump inlet - liquid kinetic viscosity - 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, DP, aI, nl and PI. A default implementation of the backflow table is implemented in the displacement pump (and also documented in an external file that is linked to the example displacement pump in the pump.opi sample case installed with OLGA). Other backflow tables may be given by using the TABLE keyword.(See Pump Data Table for Displacement Pumps.) The OLGA displacement pump model also includes embedded numerical models for typical recycle and bypass lines, including user-specified orifices that may be linked to OLGA controllers. For more detail, see the heading Recycle and bypass flow below. For details of the energy balance across the OLGA Centrifugal Pump, see the heading Energy balance below.
Pump Battery
Accurate simulation of the pumps used for a standard drilling operation is important for the overall estimation of the pump power needed as well as the volume of mud/water required during the operation. Defining the total flow rates proportional to the rate of pump strokes simulates the battery of positive displacement pumps. We define the pump battery through a proportionality factor for the volume delivered at a certain pump rate: (k) where QP PFAC SPES = = = Volume delivered by the pump battery Pumping factor Strokes per time unit
The pump rate is normally controlled by the following set of controllers: Controller on the maximum hydraulic horsepower allowed Controller on the maximum pump rate Controller on the minimum pump rate Controller on the maximum pump pressure allowed If 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:
(l) where Qinj = Pump injection rate of mud or water (bbl/min) WHP = Pump injection pressure (bara)
(m) where Cd is the choke discharge coefficient and Ach the choke opening area. If the mass flow through the choke exceeds the critical flow rate, critical flow conditions will be used. The flow rate through a critical choke is governed by the choke upstream conditions and the choke opening. No forward flow is allowed in the recycle loop. The bypass flow, Gb, is controlled by a choke and calculated in the same way as for the recycle flow. If the bypass flow line is opened, the fluid flows from the pump inlet to the pump outlet in the normal pumping flow direction without going through the pump. Back flow is not allowed through the bypass line.
( 1 + E 1 ( N - Nr ) + E 2 ( Q - Qr ) ) ( 1 - E 3 a )
r
= Pump pressure increase at rated density ( bar ) = Pump pressure increase ( bar ) = Pump speed ( rpm ) = Flow rate ( m3/s ) = Gas volume fraction = Pump efficiency ( adiabatic ) = Specific density ( kg/m3 ) = Input coefficients for pressure increase = Input coefficients for efficiency r = rated
The power to the fluid is calculated in the following manner: a. 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:
(q) b. Outlet enthalpy is calculated from: Hd = Hs + H c. The power input to the fluid is calculated from: Wfluid = GTH (s) (r)
where Wfluid is in W, and GT is the total mass flow in kg/s. Total shaft power: Wtot = Wfluid / M Pump torque: = Wtot / Pump hydraulic torque: TH = M where = 2 N / 60, and the pump mechanical efficiency. (v) (u) (t)
Modeling in OLGA
Note that by setting the coefficients D1,2,3 and E1,2,3 = 0.0, a pump with a constant pressure increase will be simulated. If the user wants to obtain a certain flow rate in a simple way, one can either iterate on the input value for Pr or assume some value for D1 and let a controller determine the necessary speed.
Energy balance
Centrifugal and Simplified Centrifugal pumps
The total power input to the fluid from any pump (including the OLGA centrifugal, displacement, and simplified pumps described above) is:
(w) where TH is the pump hydraulic torque, w the pump speed and
M
Displacement pump
For the displacement pump, the hydraulic torque, TH, may not be available, and it is therefore difficult to calculate the term QPt. In this case, the total power input to the fluid is calculated by summing the mechanical work on the fluid and the different losses as following: The power used for mechanical work on the fluid, QPM, is calculated as: (x) where, Wl Ql rl Wg Qg rg - specific work delivered from pump into liquid - liquid flow rate - liquid density - specific work delivered from pump into gas - gas flow rate - gas density
(z) where, a - experiment coefficient for mechanical friction loss 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: (aa)
Limitations
The recycle flow and bypass flows around the OLGA centrifugal and displacement pumps are considered as flows through controlled chokes. Each flow is calculated with the given pressure difference between the two sides of the choke and the choke upstream conditions. The pipeline effect of the recycle flowline and bypass flowline is not considered.
The recycle flow can only flow from the pump downstream section to the upstream section, and the bypass flow can only flow from the pump upstream section to the downstream section. It is impossible to insert any component in the recycle flowline or bypass flowline, because no pipeline is considered. Pumps can not be positioned at the first or last section boundary of a flow path.
How to use
General setup (all pump types)
1 2 3 Add the PUMP keyword to the desired flowpath Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or POSITION (an alias) Choose a desired PUMPTYPE from the list below:
A Simplified Centrifugal to roughly simulate multiphase transient dP and efficiency with only three algebraic coefficients, as either constant or linearly sensitive to transient fluctuations in speed, flowrate, and void fraction. Centrifugal to more rigorously model the real nonlinear transient operation of a particular multiphase centrifugal pump (including recycle and bypass). OLGA B 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. C Displacement 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. D Pump Battery to simulate the special case of a battery of positive displacement liquid-phase drilling mud pumps. by specifying a proportionality constant relating operating speed to total volumetric flowrate, subject to specified control limits for minimum and maximum flowrate, as well as maximum hydraulic horsepower and outlet pressure. NOTE: The related topic Pump - When to use documents the differing OLGA module license requirements for each PUMPTYPE described above. 4 Choose any applicable means of controlling the pump speed, as described in detail at the bottom of this section.
Centrifugal setup
1 Like the Simplified Centrifugal Pump discussed above, the OLGA Centrifugal Pump also requires DENSITYR (same 900 kg/m3 default, or specified), plus FLOWRATED, and SPEEDR. 2 However, OLGA's full Centrifugal Pump model also requires you to specify HEADRATED and TORQR as a minimum, in order to scale the general transient response surface of either the built-in default or user-specified Homologous Centrifugal Pump Curves to your actual pump. 3 You may optionally enter custom transient centrifugal pump performance curves to precisely represent the exact transient response surface for your actual pump. However, note that most manufacturers do not publish pump curves directly in this format, and it may also be difficult to obtain degraded multiphase performance curves up to the maximum degraded Gas Volume Fraction (GVF) for your particular hardware and application (often somewhere in the range of 30 - 70% vapor volume).For more specific information about the theoretical basis of these special OLGA input requirements, consult Table 1, Table 2, and Figure A of the Pump - Methods and Assumptions topic. 4 The OLGA Centrifugal Pump will run without any further inputs, already representing a much more realistic transient modeling upgrade to the Simplified Centrifugal Pump model at only slightly greater modeling cost in setup time and runtime. 5 This PUMPTYPE also includes additional provisions for simple "branch-less" Bypass and Recycle modeling to further increase the realism of OLGA's transient responses for typical pump packages. The setup procedures and modeling assumptions for these Built-in Bypass and Recycle features are described in detail below.
Displacement setup
1 The OLGA Displacement Pump requires significantly different types of inputs than the Centrifugal or Simplified Pumps. For example, none of DENSITYR, FLOWRATED, HEADRATED, SPEEDR, or TORQR are used. 2 You must enter SPECAPACITY (the total specific volume displaced per revolution or displacement cycle). as well as MAXSPEED. OLGA will then multiply these two inputs to determine the (gross) theoretical volumetric flowrate displaced (before subtracting internal bypass). 3 The OLGA Displacement Pump will run without any further inputs, although equipment manufacturers or others with detailed knowledge may wish to override the defaults for one or more of ACOEFFICIENT, BCOEFFICIENT, MDISSIPATION, VDISSIPATION, etc in order to tune the model very precisely. 4 You may optionally enter custom transient displacement pump backflow (performance) curves to precisely represent the exact transient response surface for your actual pump. However, note that the required input format is a complex 5-dimensional matrix of internal backflow rates as a function of pump speed, head, void fraction, inlet pressure, and liquid viscosity - information normally only available from the manufacturer's experts, perhaps even requiring new eperimental work on a prototype pump for your particular fluid and operating conditions..For more specific information about the theoretical basis of these special OLGA input requirements, consult the Displacement Pump Theory topic in the Pump - Methods and Assumptions section. 5 Like the Centrifugal pump, this PUMPTYPE also supports additional provisions for simple "branch-less" Bypass and Recycle modeling to further increase the realism of OLGA's transient responses for typical pump packages. The setup procedures and modeling assumptions for these Built-in Bypass and Recycle features are described in detail below.
Optional Built-In Bypass and Recycle for Centrifugal and Displacement Pumps
To activate OLGA's simplified Bypass feature for any Centrifugal or Displacement Pump, specify BYDIAMETER and connect a bypass controller of your choice. No other bypass inputs are offered or required. To activate OLGA's simplified Recycle feature for any Centrifugal or Displacement Pump, specify at least RECDIAMETER and MAXRECYCLE, plus any non-default values for RECPHASE, MINRECYCLE, and ACCECOEFF. Then connect a recycle controller of your choice. Further details about the internal workings of these simplified Bypass and Recycle features are provided in the following text, equations, and block flow diagrams. A common multiphase transportation system with pump is shown in Figure B.
Figure B: Multiphase Transportation System with Pump Within OLGA, this system will be simplified as shown in Figure C. Note that in this implementation the pump is abstracted into a volume-less element on the section boundary J between section J-1 and section J. The recycle flow is out of section J and into Section J-1, and the bypass flow out of section J-1 and into section J. No-slip flow is assumed for all of gas, liquid, and droplets moving through section boundary J, as: Ug = U d = Ul = U OLGA also permits the user to add a separate VALVE keyword at the same section boundary where a centrifugal pump is located. The user may then close that optional OLGA Valve to block any possible backflow transients (that may otherwise occur due to higher downstream pressure at any moment when the centrifugal pump is shut down).
Figure C: 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.
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:
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 :
(ac) 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.
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.
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:
(a)
(b)
l EFFLOW: (c)
b)
Oil in water drain. The oil volume fraction in the water drain is determined by the following relation for separation efficiency:
(d) 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:
(e) 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:
(f) 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: (g) where U is the overall heat transfer coefficient, A is the surface area, Tsep is the separator temperature and Tamb is the ambient temperature. If adiabatic temperature option is given for the total flow network, U is set to zero for all separators in the network.
Limitations
The network separator is not intended for design purposes. It only simulates a predefined behaviour of a real separator. The separator is only treated as a simple volume tank with no internal separation equipment The separator efficiencies is user given No wall temperatures is calculated There are no time restrictions for calculation of the flash contributions. The total mass internally is taken into account and treated as at equilibrium. Due to the internal geometry of the separator, this might give incorrect results if the separator pressure or temperature suddenly changes.
How to use
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
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.
Choke model
The flow through the choke is assumed frictionless, homogeneous and adiabatic. The flowing phase fractions are frozen at inlet conditions. Phase change occur after the throat, and the fluid reaches equilibrium in position 2. The choke model in OLGA describe the pressure drop from upstream (position 1 in Figure A) to downstream (position 2 in Figure A) an orifice or other constriction in the pipeline. The model include pressure drop from position 1 to throat (position t in Figure A) and pressure recovery when the fluid expands from the throat to position 2. The pressure drop to throat Bernoulli and continuity equation Bernoulli Equation:
(a) where um m P mixture velocity (m/s) momentum density (kg/m3) pressure (Pa)
Momentum density:
(c) where M is the overall mass flow through the choke and Mg is the gas flow through the choke. Continuity equation: (d) where A is the cross sectional area. Recovery after throat Momentum and continuity equation Momentum equation: (e) The overall pressure drop over the choke is found by combining equations (a) through (e). Critical flow The critical flow through the choke is found at the maximum of equation (a). Differentiating equation (a) w.r.t. pressure and combining with equation (d) yields the following relation for the critical flow, MC, (f)
The throat area, At, is corrected with the choke discharge coefficient, Cd, to find the minimum flow area. 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:
(g)
(i) The liquid is assumed isothermal and the liquid throat temperature is therefore the same as the inlet temperature. Critical flow options Two options are available when calculating the critical flow through a choke: 1. Frozen: No mass transfer, isentropic expansion of gas. (Homogeneous frozen critical flow model) 2. HenryFauske: The Homogeneous frozen critical flow model corrected for mass transfer in the throat [3]. 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):
(j) The integration is performed in two steps, from P1 to P2 at T1 and from T1 to T2 at P2.
Controlled choke
In the case of a controlled choke, the choke area, Ao, is varied according to the controller signal us : (k) where (l) 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, (m) In the case of a fixed choke, the choke flow area is constant; (n) Note that it is possible to simulate a choke without a controller; the choke area is then given by a time series.
(o) where Q Cv G Flow rate (gallons/min.) Valve sizing coefficient (gal/min / psi 1/2) Specific gravity (-). Water = 1.
DP
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 A Ao Wtot Ui i Porf Discharge coefficient Pipe flow area Choke (orifice) flow area Total mass flux Velocity of flow field i, (film velocity, droplet velocity etc.) The volume fractions of flow field i 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 rg p1 Cg DP Cf Mass flow rate (lb/hr.) Gas density (lb/ft3) Upstream pressure (psi) Gas sizing coefficient (lb/hr / (psi lb/ft 3)1/2) Pressure drop (psi) 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
Q i Ui A AOrifice Cd POrifice
Is the fluid density Is the volumetric flow rate Volumetric fraction of mass field i Velocity of mass field i Pipeline area Orifice area Orifice discharge coefficient Orifice pressure drop
(b) Valve sizing coefficient (gal/min/psi1/2) Is the volumetric flow rate (gal)
Cv Q
Sizing pressure drop (psi) Specific gravity (-) Water density at 39F/4C and 1 atmosphere (998.840 kg/m3) Fluid density at reference conditions
(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 Henry-Fauske critical flow model (CRITFLOWMODEL = HENRYFAUSKE) make sure the entropy is given in the thermo tables. Otherwise the entropy must be integrated from the enthalpy and density data in the thermo tables. In some cases, this will slow down the simulation. Further, it is not allowed to position a valve at the first section boundary in a flowpath next to a closed node in OLGA 6. OLGA 5 does not have this restriction.
How to use
Position the valve. Valves can be inserted anywhere in the pipeline. Choose which valve model to use from available information in data sheet etc. If no Cv/Gg is given, use the choke model. The choke is used when the model option HYDROVALVE (keyword MODEL) is set. A discharge coefficient, CD and maximum choke diameter must be defined for the choke. If the discharge coefficient is unavailable, use the default value. Consider using the CRITFLOWMODEL option HENRYFAUSKE for two/three-phase simulations with flashing fluids. Otherwise use CRITFLOWMODEL = FROZEN. If Cv data are available, use the model option HYDROVALVE, and specify the Cv vs. valve opening in a table. The valve Cv can also be described as a function of valve pressure drop (DELTAP) and valve opening. If Cg data are available, use the model option GASSIZING (key MODEL). Specify the Cg vs. valve opening in a table. It is also possible to use the HYDROVALVE (MODEL key) to simulate a gas valve. 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.
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.
The buffer zone is bounded by the coordinates [Tlow, Psat(Tlow)], [Tlow, Pc], [Thigh, Pc], [Thigh, Psat(Thigh)].
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 S V = heat transfer coefficient at inner wall surface [kJ/m2sC] = inner surface area per unit volume of pipe [1/m] = section volume [m3]
(b) where
hsat,g = enthalpy of saturated gas [kJ/kg] hsat,l = enthalpy of saturated liquid [kJ/kg]
In order to reduce numerical problems, it is assumed that this mass transfer occurs over a time T. This yields the mass transfer rate
(c) The mass transfer per time step must not be larger than the available component mass of the diminishing phase.
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.OConnell: 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 SoaveRedlichKwong (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. N.B., if COMPONENT=OTHER, it is required to specify additional fluid properties such as 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) 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. 51 to 52 pressure and temperature points are used when generating the tables and 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 startup 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.
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.
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
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)
Flow regime
When slug tracking is activated, the flow regime indicator (ID) should be used with caution since the flow regime is forced to bubbly inside liquid slugs whereas it is forced to stratified in slug bubbles. Thus, the flow regime indicator will never indicate slug flow when slug tracking is activated.
(a) where
(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.
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 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.
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.
(b) where CDP = CDP0 = Lslug = f(,l) = Ucrit = tuning coefficient for slug front pressure drop given by key DPFACT tuning coefficient for onset of slug front pressure drop given by key DPONSET slug length additional pressure drop 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.
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.
Valve functionality
The valve-specific functionality is further described in the Valve section.
Indexes: tot ST g o liq w *
Density
Total At standard condition Gas phase Oil phase Liquid phase (water + oil) 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 ( PHASE = GAS and STDFLOWRATE = ) are known, use:
(b)
If WATERCUT, GOR and volume flow of liquid at standard condition ( PHASE = LIQUID and STDFLOWRATE =
(c)
If WATERCUT, GOR and volume flow of oil at standard condition ( PHASE = OIL and STDFLOWRATE =
(d) If WATERCUT, GOR and volume flow of water at standard condition ( PHASE = WATER and STDFLOWRATE = ) are known, use:
(e) If WATERCUT, GLR and volume flow of gas at standard condition ( PHASE = GAS and STDFLOWRATE = ) are known, use:
(f) If WATERCUT, GLR and volume flow of liquid at standard condition ( PHASE = LIQUID and STDFLOWRATE = (g) ) are known, use:
If WATERCUT, GLR and volume flow of oil at standard condition ( PHASE = OIL and STDFLOWRATE =
(h)
If WATERCUT, GLR and volume flow of water at standard condition ( 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 ( PHASE = GAS, STDFLOWRATE = ) and the mol weight of the total flow, , are known, use:
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.
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.
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.
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. The standard table based version of the code assumes that the gas phase is always saturated with steam (no mass balance for steam). Does not apply for MEG/MeOH/EtOH Tracking and Compositional Tracking as they have a steam mass balance. 2. There must be a gas phase otherwise water can not be evaporated. 3. OLGA can not deal with a single component system if the saturation line is crossed. This is due to the explicit coupling of volume balance and energy balance equations and the lack of a two phase region (two phase envelope) for a single component system.
The second limitation is not a real limitation as there will usually be some HC gas in situations where water is evaporating. The only situation where this limitation is real is if only water is present in the fluid and temperature and pressure conditions are such that the saturation line is crossed. The third limitation is related to the way the conservation equations are solved with an explicit coupling between volume (pressure) balance and energy (temperature) balance. This is solved by introducing time constants or delays in the evaporation/condensation process. The difference between the saturation temperature and the fluid temperature serves as a potential for phase mass transfer. Multiplying this temperature difference with a certain heat or energy transfer coefficient gives a certain energy transfer rate that can be used to estimate the mass transfer rate. In that case an asymptotic approach to equilibrium occurs. How fast this approach is depends on the size of the energy transfer coefficient. Also, this module gives more correct water/steam properties around the critical point and also in the supercritical region. See also: When to use Methods and assumptions How to use
When to use
The SteamWaterHC 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
SteamWaterHC is part of the Single Component Module that requires a separate license.
Oil, gas, water and vapor (steam) will all have the same temperature, TM. The pressure of the water phase will be equal to the total pressure. The pressure of vapor will be equal to the partial pressure of vapor in the gas phase and will be calculated assuming an ideal mix of vapor and hydrocarbon gas. Water saturation temperature, TSATW, will be calculated from the total pressure. Vapor saturation temperature, TSATV, will be calculated from the partial pressure of vapor. If the fluid temperature, TM, is higher than TSATW, flashing or boiling of water will take place. If TM is higher than TSATV but lower than TSATW, evaporation of water will take place. If TM is lower than TSATV, condensation of vapor will take place. Note that TSATV will always be less or equal to TSATW.
The inner pipe wall surface may be superheated or subcooled compared to TSATW or TSATV. Such a situation may lead to surface boiling or surface condensation in cases where water or vapor is in direct contact with the pipe wall. This additional mass transfer term will not be directly included but can be accounted for by an enhanced heat transfer due to surface boiling/condensation.
Saturation line
Below the critical point, PC and TC, (pressure and temperature), the saturation pressure, Psat (T), and saturation temperature, Tsat (P), at a given grid point, P,T, is determined from the saturation line. Above the critical point, PC = 221.2 bar and TC = 647.3 K, and to 676 K and 250 bar, a straight line is used to divide the single-phase or dense-phase region into vapor and liquid. Above 676 K and 250 bar, the boundary line between region 2 and region 3 is used as the division between vapor and liquid. The definition of the regions is described in ref. 1.
Physical properties.
Water properties: For pressures below 225 bar, water property equations for region 1 (see ref. 1) are used for water in the water region. In the vapor region, the properties for water are extrapolated from the saturation point: Enthalpy is based on thermal capacity at saturation temperature corresponding to a given pressure and the density according to the density derivative to pressure at the saturation pressure corresponding to a given temperature. All the other properties are from the saturation temperature. For pressures above 225 bar, water properties are calculated based on equations for the different regions specified in ref. 1. Thermal capacity and enthalpy for water is singular near the critical point. To avoid numerical problems in region 3 the water properties from region 1 instead of those for region 3 when the pressure is below 225 bar (the equations are very similar except when you are closer than <1C and 0.1 bar). The same is done for steam. Vapor properties: For pressures below 225 bar, vapor property equations for region 2 are used for vapor in the vapor region. In the water region, the vapor properties are extrapolated from the saturation point. Enthalpy is based on thermal capacity at saturation temperature corresponding to the given vapor pressure and the density according to the density derivative to pressure at the saturation pressure corresponding to the given temperature. All the other properties are from the saturation temperature corresponding to the vapor pressure. For pressures above 225 bar, vapor properties are calculated based on equations for the different regions. With this procedure, the vapor and water properties are continuous across the vapor-liquid (V-L) division line when pressure is above 225 bar. Vapor pressure: PVAP = P*Mvap/(Mvap + Mhc) where Mvap = MGVAP/MWH2O, kmoles of vapor/unit volume(m3) Mhc = MGHC/MWhc, kmoles of HC gas/unit volume(m3) MGVAP = Mass of vapor/unit volume MGHC = Mass of HCgas/unit volume MWH2O = Molweight of vapor = 18 kg/kmol MWhc = Molweight of HC gas
Flashing/Condensation
The driving force for flashing of water or condensation of vapor will be the difference between the saturation temperatures and the fluid temperature. The vapor saturation temperature will be directly related to the partial pressure of vapor assuming an ideal mixing of HC-gas and vapor. With the presence of HC-gas in the fluid, a gradual transfer of mass of H2O will take place as the partial pressure of vapor changes. With no HC-gas in the fluid the partial pressure of vapor will be equal to the total pressure and no bulk mass transfer takes place until either sub-cooled water reaches saturation temperature or superheated steam cools down below saturation temperature. The effect of local boiling on a hot wall surface or condensation on a cold wall surface will not be included directly in the mass balance of water and vapor but can be accounted for through an enhanced heat transfer at the pipe wall. The total energy available for generating vapor or condensing vapor to obtain saturated conditions is HTOTV. HTOTV = (mghc*cpgh + mlhc*cplh +mlwt*cpwt + mgv*cpv) *(TM-TSATV) where mghc = specific mass of HC-gas (kg/m3) mlhc = specific mass of HC-liq (kg/m3) mlwt = specific mass of water (kg/m3) mgv = specific mass of vapor (kg/m3) cpgh = specific heat of HC-gas (KJ/kgC) cplh = specific heat of HC-liq (KJ/kgC) cpwt = specific heat of water (KJ/kgC) cpv = specific heat of vapor (KJ/kgC)
The total mass transfer to obtain saturated conditions is: PSIVTOT = HTOTV / ( HSATV - HSATW ) In order to reduce numerical problems it will be assumed that this mass transfer will take a certain time TPSI. The mass transfer rate will then be: PSIV = PSIVTOT / TPSI ( kg/ m3sec ) The mass transfer per time step must not be larger than the available mass of the diminishing phase component.
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
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.
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: AddThermalComponentANNULUS 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: AddAnnulusComponentsCOMPONENT 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.
Figure A: Cross section grid In a FemTherm calculation, OLGA solves the following equations in two steps: 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. 1.
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 Tf rf Area of the pipe cross section Temperature of the fluid Density of the fluid Heat capacity of the fluid Tw rw Temperature of the first wall layer 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 used to impose the boundary condition for the Newtons law of cooling of external boundaries: (e) is the test function. The last term in this equation is
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, theith component, , of the last wall layer of each component is obtained by taking the average temperature in the FEM domain along the boundary of
(g)
where is the length of boundary i and the function superposition this can be written as:
is evaluated element by element along the boundary. By the linearity of the solution, using
(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, obtained from: ,
,within the FEM domain is a linear function of the nodal temperatures, the constantsaijcan easily be
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 layers in a pipe and use a time step that is below the smallest of these.
. Thus, one should determine this time constant for all the
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. Configurationwise, a SOLIDBUNDLE consists of an outer SHAPE that encloses one or several 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 SHAPE 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.
License requirements
Fluid bundle is part of the FEMTherm Module that requires a separate license.
Limitations
The diameters of the carrier line and all the interior pipelines have to be constant in the axial direction. 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: AddThermalComponentFLUIDBUNDLE 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: AddBundleComponentsCOMPONENT 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. In OLGA 6, 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 not supported in 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
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:
(a) where: D H lsoil hsoil = outer diameter of buried pipe = distance from centre of pipe to top of soil = soil heat conductivity = overall heat transfer coefficient for soil
The term cosh-1 (x) can 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:
(b) 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:
(c) 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 phase. For heat capacity, the value specified in HEATTRANSFER 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 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. The phase changing region is from 0 to -1 C. Then, one multiplier is used between 0 and -1 C, while another multiplier is used below -1 C. The multiplier between 0 and -1 C also takes into consideration the latent heat of fusion. As an example soil with 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 a multiplier of 29.4 in the range from 0 and -1 C. Thermal conductivity given in HEATTRANSFER 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 ADIABATIC UGIVEN WALL FASTWALL No temperature calculation initial temperatures must be specified with the INITIAL keyword statement No heat transfer to surroundings 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 user-defined thermal conductivities, specific heat capacities and densities for each wall layer 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.
Here G represents the sum of regular sources as well as the influence of entrainment and deposition of droplets. The age- and residence time-equation has an additional source term, which, in the case of aging, takes into account the amount of time the tracer is subject to sub-cooling relative to an equilibrium temperature (for instance the hydrate formation temperature in case of KHI tracking). The following assumptions are used: The presence of tracers is assumed to have no effect on the flow, i.e. tracers usually exist in amounts so small that the effect on the flow of the production fluids is negligible. The tracers/inhibitors are assumed to be carried in a carrying phase (condensate, water or gas). Partitioning of tracers/inhibitors to other phases than the carrying phase is not included in the current version of the model.
Limitations
The current corrosion model and hydrate kinetics model in OLGA do not take into account the inhibition effect of any tracer. Partitioning of tracers is not implemented in the current version. The distribution of ages (when applicable) is divided into a given number of groups. Each group has a user given low and high bound of age. All the inhibitors within each group are assumed to have the same age (average age).
It is not possible to specify an initial condition (by the keyword INITIALCONDITIONS) containing tracers, but the steady state preprocessor will compute an initial steady state tracer distribution. It will not be possible to specify the tracer content in negative sources. The amount of tracer going out will be based on the concentration of the tracer in the section from which the source originates. Production flows from wells will not contain any tracer. The injection flows will be treated in the same manner as negative sources. The tracer does not follow the water vapor phase. Any vaporization/condensation does not affect the tracer mass, but the concentration changes. If a section is totally emptied of the carrying phase, e.g. water, by vaporization, the remaining tracer is removed.
Tracer tracking can be combined with all other modules, but some limitations exist: Tracer tracking can be combined with slug tracking, but the tracer output variables are average values for a section. Tracer tracking can be combined with pig tracking (which is a special version of slug tracking), but distribution of tracer on each side of the pig might in some cases be inaccurate. Tracer functionality is not implemented in the near well module Rocx.
How to use
The following keywords and keys must be set to use tracer tracking. In the property window for the keyword OPTIONS choose: TRACERTRACKING=ON
Specify one TRACERFEED for each tracer: In the OLGA GUI, at the library level right click and choose Add->TRACERFEED.
In the property window for each TRACERFEED set the following keys: LABEL AGING CARRIERPHASE AGEBOUNDARIES LOWLOWBOUND HIGHLOWBOUND choose a label must be set to ON to track age distribution of the tracer specify the fluid phase on which the tracer is based must be set when AGING=ON (numbers separated by comma) age below LOWLOWBOUND is not plotted age below HIGHLOWBOUND is not plotted under certain conditions
Tracers may be fed into pipelines either via a SOURCE or via a MASSFLOW node. In the property window for a SOURCE or a node of type MASSFLOW set the following keys: SOURCETYPE TRACERFEED select TRACER set the name of the tracer feed in this source/node
specify the tracer mass flow specify the age of the tracer specify the residence time of the tracer
To compute aging of a kinetic hydrate inhibitor, specify the HYDRATECHECK keyword. Some output variables are available for plotting per tracer feed and per age group.
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.
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.
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.
Dispersion viscosities
With the dispersion viscosity option turned on (DISPERSIONVISC= ON), six different viscosity models can be chosen: Pal & Rhodes, Rnningsen, Pal & Rhodes
correlated with experimental data, Woelflin, Barnea & Mizrahi or table based model. The mixture viscosity for oil continuous dispersions (mhw) and water continuous dispersions (mwh) are expressed as: (a) (b) where mh [cP] is oil viscosity, mw [cP] is water viscosity and mrel [-] 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 Einsteins equation to also be valid for high concentrated dispersions. The correlation was published by Pal and Rhodes (1989) /15/ and is primarily developed for dispersions where coalescence and deposition has negligible influence on the pressure drop (and the apparent viscosity). The equations below show the Pal & Rhodes correlations for relative viscosity of an oil continuous dispersion (mrel,h) and a water continuous dispersion (mrel,w): (c)
(d)
where is the concentration of water droplets in the oil continuous dispersion, and the water continuous dispersion. mrel is limited upwards to 10000. The parameter
is the dispersed phase volume fraction for which the relative viscosity mrel 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 (Sntvedt et al., 1994). In the present version of the model, this correlation and the correlation parameters are also applied for water continuous dispersions using the analogous quantities. It is still left to investigate how to discriminate between oil and water continuous dispersions. With an experimental point, Frel (Fh or Fw depending on the inversion point) and mrel (mrel,w or mrel,h) 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. Rnningsen: Another correlation for relative viscosities of an oil continuous dispersion is the correlation by Rnningsen recommended for a shear rate of 500 1/s (2003) /17/: (f)
where = Relative viscosity (dispersion/oil) mrel,h 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 Rnningsen 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.
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.
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.
(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 =
for the MATZAIN model only. NSR is a flow regime dependent Reynolds number /12/:
Where
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, deposition [m2] and is the average density of the wax [kg/m3]. is the shear rate at the wall [1/s], A is the surface area available for
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
parameters D, E and F have the following values (viscosities in Pa s and shear rates in s-1) D= E= F= 18.12 405.1 7.876*106
In the PVTsim program from Calsep, it is possible to tune the wax-oil dispersion viscosity model to measurements. The resulting tuning parameters may be given directly as input to OLGA when using the Calsep viscosity model. Keys: VISCMULTD, VISCMULTE, VISCMULTF. These are multiplied with the D, E and F parameters, respectively. The shear rate used in the equation is limited to be 10 s-1 or larger to avoid division by zero. The resulting viscosity, , is limited to be or larger.
The influence of dispersed wax on the oil viscosity may also be given as a table (keys: VISCOPTION = TABULAR, VISMULTIPLIER, WAXVOLFRACTION). Wax layer properties: One may also give information about the porosity (oil volume fraction) of the wax layer, the roughness due to deposited wax (keys: WAXROUGHNESS and MAXROUGHNESS) and the thermal conductivity of pure wax. The conductivity may be set manually in the input file by using CONDUCTOPT = MANUAL and set CONDUCTIVITY, or it may be taken from the 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 viscosity kg/(m s). is the oil density [kg/m3], is the liquid velocity [m/s], is the inner pipe diameter including the
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 weight fraction of solid wax in the wax film. . is the
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.
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).
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.
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.
(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, time constant Tf can change with Pwf. Numerically, Equation (b) is solved by will be set to zero. The productivity index, PIf, as well as the
(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.
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.
(h) in oilfield units (stb/d/psi) where J kh n Bo re rw Productivity index [stb/d/psi] Effective permeability x net pay [mD ft] Oil viscosity [cP] Oil formation volume factor [Rft3/Sft3] Reservoir extension [ft] Wellbore radius [ft]
Mechanical skin
(j)
(k)
reservoir temperature [ (RESTEMPERATURE) R] gas viscosity at reservoir conditions [cP] (VISGRES) Gas z-factor at reservoir conditions (ZFACT) reservoir extension [ft] (RESEXT) wellbore radius [ft] (HOLES/2) mechanical skin [-] (SKINS) non-Darcy or turbulence skin [1/Sft3/d] (SKIND) reservoir permeability [mD] (KPERM) well effective net pay [ft] (HPAY)
For high pressure gas wells with limited draw down, pressure can be used instead of pressure-squared, in which case the Single Forchheimer equation is written: , (l)
[psi/(scf/d)]
(m)
(n)
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.
(p)
[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.
(t)
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.
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. Rnningsen Wax Deposition in offshore pipeline systems BHRGroup Multiphase Technology, Volume 31, Banff, Canada, June 1998 7. Calsep: PVTSIM Method documentation: Modelling of wax formation -> Viscosity of 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. Rnningsen, H. P.: Correlations for Predicting Viscosity of W/O Emulsions based on North Sea Crude Oils. SPE Paper 28968, presented at the SPE International Symposium on Oilfield Chemistry, San Antonio, Texas, US, February 14-17, 1995 17. Rnningsen, H. P.: Viscosity of live water-in-crude-oil emulsions: experimental work and validation of correlations. J. of Petroleum Science and Engineering 38, pp. 23-26 (2003) 18. Stein Olsen and Arne Dugstad: Corrosion under Dewing Conditions CORROSION/91, Paper No.472, NACE, 1991 19. Hammerschmidt, E.G.: Gas Hydrate Formations: A Further Study on Their Prevention and Elimination from Natural Gas Pipe Lines. GAS, Vol. 15, no. 5, pp. 30-35, May 1939 20. Winkler, H.W. and Eads, P.T.: Algorithm for More Accurately Predicting Nitrogen-Charged Gas-Lift Valve Operation at High Pressures and Temperatures. SPE 18871, March 1969 21. Pedersen, K. S., and Rnningsen H. P.: Effect of precipitated wax on viscosity Presentation at AIChE Spring National Meeting, Houston, TX, March 14-18, 1999. 22. Darby R., Melson J.: How to predict the friction factors for flow of Bingham plastics Chemical Engineering, December 28, 1981 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
Keywords
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A
ALGEBRAICCONTROLLER AMBIENTDATA ANNULUS ASCCONTROLLER
B
BLACKOILCOMPONENT BLACKOILFEED BLACKOILOPTIONS BRANCH
C
CASCADECONTROLLER CASE CHECKVALVE COMPOPTIONS COMPRESSOR COMPONENT CORROSION
D
DRILLINGFLUID DTCONTROL
E
ESDCONTROLLER
F
FEED FILES FLOWPATH FLUID FLUIDBUNDLE
G
GEOMETRY
H
HEATEXCHANGER HEATTRANSFER HYDRATECHECK HYDRATECURVE HYDRATEKINETICS
I
INITIALCONDITIONS INTEGRATION
L
LEAK LOSS
M
MATERIAL MANUALCONTROLLER
N
NEARWELLSOURCE NODE
O
OPTIONS OUTPUT OUTPUTDATA OVERRIDECONTROLLER
P
PHASESPLITNODE PIDCONTROLLER PIG PIPE PLOT POSITION PROFILE PROFILEDATA PSVCONTROLLER PUMP
R
RESTART
S
SCALERCONTROLLER SELECTORCONTROLLER SEPARATOR SHAPE SINGLEOPTIONS SLUGILLEGAL SLUGTRACKING SLUGTUNING SOLIDBUNDLE
T
TABLE TABLECONTROLLER TIMESERIES TOOLJOINT TRACERFEED TRANSMITTER TREND TRENDDATA TUNING
V
VALVE
W
WALL WATEROPTIONS WAXDEPOSITION WELL
time. PREFACTOR PRESSURE SOUND_CFL Real Symbol Symbol [0.8] ON | [OFF] ON | [OFF] Tuning factor for pressure criterion. Time-step control based on the second-order derivative of pressure w.r.t. time. Time-step control based on the speed of pressure waves.
COMPOSITIONAL
DEBUG
Symbol
ON | LIMITED | [OFF]
NOSLIP
Symbol
ON | [OFF]
TABLETOLERANCE
Symbol
ON | [OFF]
TEMPERATURE
Symbol
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).
ON | [OFF]
Real (Sm3/Sm3) String Real (Sm3/Sm3) Real (Sm3/Sm3) Symbol Symbol Real [BOFEED-1]
Gas/oil ratio. Alternative to GLR. Blackoil feed label. Liquid/gas ratio. Alternative to GLR (to be used for gas feeds). Oil/gas ratio. Alternative to GOR (to be used for gas feeds). Ref. to blackoil component label of type oil. Ref. to blackoil component label of type water. Watercut.
[0.0]
ON | [OFF] ON | [OFF]
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 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). Algorithm used in flash calculations. TWOPHASE is default if no aqueous components are part of the feed. SIMPLETHREEPHASE is default if there is at least one aqueous component in the feed. Time constant for mass transfer from liquid phase to gas phase due to boiling for components in COMPONENT. (Non-equilibrium delay constant). Only for STEAMWATER-HC. Time constant for mass transfer from gas phase to liquid phase (Nonequilibrium delay constant). When COMPOSITIONAL=ON, the default value is no delay and each value must have a corresponding component in 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 changes. Only for STEAMWATER-HC. Time constant for mass transfer from liquid phase to gas phase (Nonequilibrium delay constant). When COMPOSITIONAL=ON, the default value is no delay and each value must have a corresponding component in 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 viscosity correlation.
DENSITYLIMIT
Real
FLASHTYPE
Symbol
TBOILING
RealList (s)
TCONDENSATION
RealList (s)
TIME
RealList (s)
[0.0]
TVAPORIZATION
RealList (s)
VISCOSITYCORR
Symbol
LBC | [CORRSTATE]
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 MODE SIGNAL ACTIVATE OUTSIG_1..N (Required input) (Optional input) (Optional input) (Optional input) (Optional output)
MODE
SymbolList
[0] [0]
VARIABLEFUNCTION
SymbolList
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.
(Required input) (Optional input) (Optional input) (Optional input) (Optional input) (Optional output)
MAXCHANGE
Real
[0.2]
MAXSIGNAL MINSIGNAL
Real Real
MODE
SymbolList
Real Real (s) Real (s) RealList Real (s) RealList (s) Symbol OFF | [ON] [10.0] [10.0]
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 MODE SIGNAL SETPOINT ACTIVATE OUTSIG_1..N (Required input) (Optional input) (Optional input) (Optional input) (Optional input) (Optional output)
Key AMPLIFICATION AVERAGETIME BIAS CLOSINGTIME CONSTONE CONSTSWITCH CONSTTWO DEFAULTINPUT DELAY DERIVATIVECONST
Type Unit:( ) RealList Real (s) Real Real (s) Real (1/s) Real Real (1/s) Real Real (s) RealList (s)
Description PID amplification factor. If the non-linear option is chosen, this is an array as a function of the ERROR array. For use with EXTENDED CASCADE controller. Average time for the moving averaging function of the primary controller variable. Initial output signal. Time required to change valve settings or compressor speed from maximum to minimum value. For use with EXTENDED CASCADE controller: Constant C1. For use with EXTENDED CASCADE controller: Switching value for using C1 and C2. For use with EXTENDED CASCADE controller: Constant C2. Setpoint for INACTIVEMODE=DEFAULTMODE. Time from when the measured value is read to when it is used by the controller. Coefficient in front of the derivative term of PID controllers. If the nonlinear 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 values representing each value in ERROR. Error is the deviation. 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 the connected controller (Selector or Override). If the PID controller becomes 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. 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 the expression for the output signal. If the non-linear option is chosen, this is an array as a function of the ERROR array. Identification label for this controller. 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: 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.) Maximum setpoint for secondary controller in cascade control loop. Maximum output signal. Minimum setpoint for secondary controller in cascade control loop. Minimum output signal. AUTOMATIC: The setpoint is defined on the controller. MANUAL: The controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The controller output is given by the controller connected to the SIGNAL terminal. 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 measuring range for input to controller. Time required to change valve settings or compressor speed from minimum to maximum value. For use with EXTENDED CASCADE controller. Logging time interval for the primary controller variable. Time interval between each sampling of input. Activates digital controller option. Stroke or actuator time. Time required to change valve settings or compressor speed from minimum to maximum value or vice versa. Time series for the SETPOINT key. If TIMESTEPCONTROL=OFF the time step control is bypassed. If STROKETIME is less than DTMIN the time step control is also bypassed.
[10.0]
[0.0] [0.0]
ERROR EXTENDED
RealList Symbol
[0.0] ON | [OFF]
INACTIVEMODE
Symbol
MAXCHANGE
Real
[0.2]
[1.0] [0.0]
MODE
SymbolList
Real Real (s) Real (s) Real (s) Real (s) RealList (s) Symbol OFF | [ON] [10.0] [10.0]
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 MODE SIGNAL SETPOINT ACTIVATE OUTSIG_1..N (Required input) (Optional input) (Optional input) (Optional input) (Optional input) (Optional output)
MAXCHANGE
Real
[0.2]
MAXSIGNAL MINSIGNAL
Real Real
MODE
SymbolList
Real (s) Symbol RealList Real (s) RealList Real (s) RealList (s) Symbol
[10.0]
OFF | [ON]
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 SIGNAL SETPOINT ACTIVATE OUTSIG_1..N (Optional input) (Optional input) (Optional input) (Optional input) (Optional output)
MAXCHANGE
Real
[0.2]
MAXSIGNAL MINSIGNAL
Real Real
MODE
SymbolList
Real (s) Symbol Real (s) RealList Real (s) RealList (s) Symbol
[10.0] ON | [OFF]
[10.0]
OFF | [ON]
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 SIGNAL ACTIVATE INPSIG_1..N OUTSIG_1..N (Optional input) (Optional input) (Optional input) (Required input) (Optional output)
MODE
SymbolList
[10.0]
Time required to change valve settings or compressor speed from minimum to maximum value. Time interval between each sampling of input. Activates digital controller option. An override controller selects either minimum or maximum of the signals from all the subcontrollers. Key SELECTIONMODE determines the selection of minimum or maximum signal. Stroke or actuator time. Time required to change valve settings or compressor speed from minimum to maximum value or vice versa. Time series for the SETPOINT key.
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 MODE SIGNAL SETPOINT ACTIVATE WINDUP OUTSIG_1..N (Required input) (Optional input) (Optional input) (Optional input) (Optional input) (Optional input) (Optional output)
ERROR
RealList
[0.0]
INACTIVEMODE
Symbol
[1.0E+10] [PIDCONTROLLER_tag]
MAXCHANGE
Real
[0.2]
MAXCHANGE=0.2, the maximum discrepancy will be 0.4s.) MAXSIGNAL MINSIGNAL Real Real [1.0] [0.0] MANUAL | EXTERNALSIGNAL | EXTERNALSETPOINT | FREEZE | [AUTOMATIC] Maximum output signal. Minimum output signal. AUTOMATIC: The setpoint is defined on the controller. MANUAL: The controller output is given by key MANUALOUTPUT. EXTERNALSIGNAL: The controller output is given by the controller connected to the SIGNAL terminal. 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 measuring range for input to controller. Time required to change valve settings or compressor speed from minimum to maximum value. Time interval between each sampling of input. Activates digital controller option. Setpoint values. Stroke or actuator time. Time required to change valve settings or compressor speed from minimum to maximum value or vice versa. Time series for the SETPOINT key. If TIMESTEPCONTROL=OFF the time step control is bypassed. If STROKETIME is less than DTMIN the time step control is also bypassed.
MODE
SymbolList
Real Real (s) Real (s) RealList Real (s) RealList (s) Symbol OFF | [ON] [10.0] [10.0]
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 MODE SIGNAL SETPOINT ACTIVATE OUTSIG_1..N (Required input) (Optional input) (Optional input) (Optional input) (Optional input) (Optional output)
MAXCHANGE
Real
[0.2]
MAXSIGNAL MINSIGNAL
Real Real
MODE
SymbolList
OPENINGTIME OPENMODE
RealList Real (s) RealList Real (s) RealList (s) Symbol OFF | [ON] [10.0]
The valve closes if the input variable gets below or exceeds the reset value depending on OPENMODE. Time interval between each sampling of input. Activates digital controller option. Setpoint values. Stroke or actuator time. Time required to change valve settings or compressor speed from minimum to maximum value or vice versa. Time series for the SETPOINT key. If TIMESTEPCONTROL=OFF the time step control is bypassed. If STROKETIME is less than DTMIN the time step control is also bypassed.
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 OUTSIG_1..N (Required input) (Optional output)
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 SUBCONHIGH HIGHLIMITSIG_1..N LOWLIMITSIG_1..N MODE SIGNAL (Required input) (Required input) (Required input) (Required input) (Optional input) (Optional input)
ACTIVATE OUTSIG_1..N
HIGHLIMIT
RealList
INITIALCONTROLLER LABEL
Symbol String
LOWLIMIT
RealList
[1.0] [0.0]
MODE
SymbolList
[10.0]
[10.0]
STDCONTROLLER
Description ( See also: Keys)
The STDController converts mass flow rate to volumetric flow rate at standard conditions.
Set correct phase in PHASE key. Specify the fluid in the FLUID or FEEDNAME keys. Specify the wanted GOR/CGR/WGR/WATERCUT/MOLWEIGHT, and the overall mass flow rate will be calculated. Connect the STDController output terminal OUTSIG to an PID controller MEASRD terminal.
Real (kg/kmol) Symbol Symbol Real Real (Sm3/Sm3) Sm3/h | Sm3/d | scf/d | MMscf/d | STB/d | STB/M | scf/s | scf/h | MSm3/d | Mscf/d | [Sm3/s] GAS | OIL | WATER | LIQUID | ALL [-1.0] [-1.0]
density at standard conditions from the PVT table is used to determine the molecular weight. Unit of controller output. The phase for which the volumetric flow rate is specified. Water volume fraction in oil/water mixture. With a value of -1.0 the total water fraction is taken from the fluid table. Water-gas ratio.
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 1.5 <= SP < 2.5 2.5 <= SP < 3.5 . (Ni-0.5) <= SP unconstrained output A is set equal to controller at terminal INPSIG_N unconstrained output A is set equal to controller at terminal INPSIG_1 unconstrained output A is set equal to controller at terminal INPSIG_2 unconstrained output A is set equal to controller at terminal INPSIG_3
Where Ni is the number of connected input terminals INPSIG A switch controller has the following terminals: INPSIG_1..Ni MODE SIGNAL SETPOINT ACTIVATE OUTSIG_1..N (Required input) (Optional input) (Optional input) (Optional input) (Optional input) (Optional output)
MODE
SymbolList
[10.0]
[10.0]
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 OUTSIG_1..N (Required input) (Optional output)
Type of complex viscosity model of the water phase. Whether or not to use power exponent/yield stress as function of P and T from the fluid property file in a complex fluid model. Hydrocarbon liquid plastic viscosity, used in the complex viscosity model. Water plastic viscosity used in the complex viscosity model. Exponent for hydrocarbon liquid phase model, used in both the complex viscosity and complex fluid model. Exponent for water phase model, used in both the complex viscosity and complex fluid model.
Fluid model type. Yield stress for hydrocarbon liquid phase in the complex viscosity and complex fluid models. Yield stress for water phase in the complex viscosity and complex fluid models.
More details can be found in the description of the slug tracking module.
[0.0]
ON | [OFF]
DPFACT
DPONSET
Real
[1.0]
DISPMODEL EMAX ENTRAINMENTFACTOR FWLOW INVERSIONWATERFRAC PHI100 PHIREL VELOCITYDIFFERENCE VISCMOD VISCREL WATERCUT WATERSLIP
Symbol Real Real Real Real Real Real Real (m/s) RealList Real RealList Symbol
[0.0]
NODE
Description ( See also: Keys)
This statement defines the nodes in the flow network system. All nodes except CLOSED nodes need a fluid for fluid properties calculations. There are four types of nodes: CLOSED: The node represents a closed boundary (zero flow). This can be combined with a source or a well definition in the flow path. PRESSURE: The node represents a pressure boundary. Values for pressure, temperature and fluid must be given. INTERNAL: For definition of internal node. Fluid must be given. The model for internal nodes (merge/split nodes) uses more or less the same physics and the numerical methods as the sections in the pipes. Pressure, temperature and masses are calculated. Interphasial mass transfer is included in the node, but entrainment/deposition of liquid droplets are ignored.
The current implementation of internal nodes require a finite volume in the node. If no volume is specified (or given as less than or equal to zero), a default volume is calculated by OLGA based on the sizes of incoming and outgoing sections:
where i is taken over all incoming/outgoing sections. It should be noted that the node does not account for heat lost to the surroundings. MASSFLOW: The node represents a mass flow boundary. Values for pressure, temperature, fluid and mass flow or standard mass flow must be given. The behaviour of the MASSFLOW node is very similar to a mass source. The main exception is that the MASSFLOW node has an internal pressure calculation for obtaining the correct pressure that will set up the user given mass flow rate into the connected pipe.
GASFRACTION GLR GOR INFO INHIBFRACTION LABEL LINE MASSFLOW MAXPRESSUREBOOST MOLWEIGHT OILFRACEQ PHASE PRESSURE STDFLOWRATE
RealList RealList (Sm3/Sm3) RealList (Sm3/Sm3) String RealList String Symbol RealList (kg/s) RealList (Pa) RealList (kg/kmol) RealList Symbol RealList (Pa) RealList (Sm3/s)
[-1.0]
[-1.0]
STEAMFRACTION
RealList
[-1.0]
WATERFRACTION can be specified. CLOSED | PRESSURE | MASSFLOW | INTERNAL Boundary type. CLOSED: Closed inlet or outlet node. INTERNAL: Nodes or junctions that have one or more incoming and one or more outgoing branches (covers both MERGE and SPLIT nodes). PRESSURE: Inlet or outlet node with a pressure condition. MASSFLOW: Inlet or outlet node with a massflow condition. Viscosity of the drilling fluids for each time point. Must be within the min and max viscosity as specified in the keyword DRILLINGFLUID Volume of internal node. If specified volume is less than or equal to 0, OLGA will estimate the volume. Water volume fraction in oil/water mixture. With a value of -1.0 the total water fraction is taken from the PVT table. By default, the equilibrium water fraction of the total flow is used for the water flow in the compositional or the Black oil model (WATERFRACEQ=1). Mass fraction of free water in the total boundary fluid mixture. Either this key or TOTALWATERFRACTION can be specified. Scaling factor for determining the amount of wax forming components relative to HC mixture. The value must be in the range [0,1]. 1 means the amount of wax forming components is equal to values from the wax table. Requires WAXDEPOSITION=ON under OPTIONS and access to the waxdeposition module. Water-gas ratio. By default, WGR from the PVT table is used. x-coordinate of node in network. Used for 3D graphics only. y-coordinate (vertical axis) of node in network. Used for 3D graphics only. z-coordinate of node in network. Used for 3D graphics only.
TYPE
Symbol
RealList (Ns/m2) Real (m3) RealList RealList RealList [-1] [-1.0] [1.0]
WAXFRACTION
RealList
[1.0]
WGR X Y Z
Key VARIABLE
Default:[ ]
FLOWPATH
Description ( See also: Keys) This statement defines the label of the flow path.
FLUID GEOMETRY
INIFLOWDIR
Symbol
NEGATIVE | [POSITIVE]
AREA DIAMETER ELEVATION IDIAMETER LABEL LENGTH LSEGMENT NEQUIPIPE NSEGMENT ODIAMETER ROUGHNESS WALL XEND
[PIPE-1]
YEND ZEND
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.
TYPE
Symbol
CONTROLLED | [SETPOINT]
HENRYFAUSKE | [FROZEN]
ON | [OFF]
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 additional loss specified by the user for positive flow is:
The additional loss specified by the user for negative flow is:
Figure A
Simplified centrifugal pump 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. Pump battery The pump battery is used for pumping drilling fluid, e.g. muds in a drilling operation. The purpose is to get an overall estimate of pump power needed as well as the volume of mud pumped. The volume delivered iby the pump is proportional to the rate of pump strokes. (k) where QP PFAC SPES = = = Volume delivered by the pump battery Pumping factor Strokes per time unit
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. Note that a pump cannot be defined at the first or last section boundary of a pipeline. See also: Pump - Purpose
[3000]
PUMPTYPE RECDIAMETER RECPHASE SECTIONBOUNDARY SPECAPACITY SPEEDR TABLE TORQMAX TORQR VDISSIPATION
Symbol Real (m) Symbol Integer Real (m3/R) Real (rpm) Symbol Real (Nm) Real (Nm) Real (W)
Pump model. Choke diameter for recycle flow. For centrifugal and displacement pumps. Has to be 0.0 if PUMPTYPE=SIMPLIFIED.
Phase of recycle flow. For centrifugal and displacement pumps. Section boundary number where the pump is located. Pump specific volumetric capacity, Qspc. Used for displacement pumps. Rated pump speed. Used for centrifugal and simplified pumps. Name of the tables of pump back flow data or pump characteristic data. For centrifugal and displacement pumps. Maximum motor torque allowed. Can only be used for centrifugal pumps. Rated pump hydraulic torque. Used for centrifugal pumps. Viscous dissipation at nominal speed for a displacement pump.
[0.0]
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 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.
CF CRITFLOWMODEL DIAMETER LABEL MODEL OPENING PHASE PIPE POSITION SECTIONBOUNDARY STROKETIME TABLE TIME
Real Symbol Real (m) String Symbol RealList Symbol Symbol Symbol Integer Real (s) SymbolList RealList (s) 1 [0.0] [0.0] [VALVE-1] GASSIZING | [HYDROVALVE] [1.0] <None> | GAS | LIQUID HENRYFAUSKE | [FROZEN]
Ratio between gas and liquid sizing coefficient. Choice of critical flow model to be used. Homogenous frozen critical flow model or Henry-Fauske model. In addition, a forced subcritical option is available. Maximum valve diameter. Valve label. Default is valve number. Valve model. HYDROMODEL is used for chokes and valves with liquid/gas characteristics. GASSIZING can only be used to simulate valves with gas characteristics.' Relative openings in the valve opening timetable. The type of flow through the valve. For two or three phase flow, use LIQUID. Pipe label where the valve is located. Position where the valve is located. If this value is defined PIPE and SECTIONBOUNDARY should not be used. Section boundary number where the valve is located. Stroke time of the valve. Label of table for valve characteristics. Time series for valve opening table.
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.
CAPACITY
CONDUCTIVITY
RealList (W/m-C)
DENSITY
RealList (kg/m3)
EXPANSION
RealList (1/C)
RealList (W/m2-C) RealList (W/m2-C) Symbol Real (W/m2-C) Real (C) [0.0] AIR | WATER | OTHER | [HGIVEN]
[ALL] 0
TAMBIENTSERIES
SymbolList
TAMBSERIESFACTOR UVALUE
[1]
coefficient is only affected by the INTERPOLATION key when HOUTEROPTION = HGIVEN. Overall heat transfer coefficient at the outlet of the last pipe in a pipeline section where interpolation is used for overall heat transfer coefficient. Ambient temperature at the outlet of the last pipe in a pipeline section where interpolation is used for ambient temperature. Pipe label or pipe number (single or continuous range in the form x-y). Section number. Ambient temperature. Input can either be a single value (constant along range 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 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 TAMBIENTSERIES. Note that this key also introduces the unit of the function. Overall heat transfer coefficient given by user based on the inner pipe 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 value (constant along range of sections), two values (lengthinterpolated) 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 single value (constant along range of sections), two values (length-interpolated) or given explicitly for each section.
VELOCITY
RealList (m/s)
VISCOSITY
RealList (N-s/m2)
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.
FEEDNAME
SymbolList
FEED-1 | BOFEED-1
INSTEAMFRACTION
Real
[-1.0]
INTEMPERATURE
Real (C)
used. INTERPOLATION INVOIDFRACTION INWATERCUT MASSFLOW OUTINHIBFRACTION OUTPRESSURE Symbol Real Real RealList (kg/s) Real Real (Pa) [0.0] [0.0] <None> | HORIZONTAL | VERTICAL | [LENGTH] Type of interpolation used to calculate the initial conditions. Void fraction at the inlet to the first pipe in a branch where interpolation is used. Watercut at the inlet to the first pipe in a branch where interpolation is used. Total mass flow at each section boundaries. Mass fraction of inhibitor in water phase at the outlet of the last pipe in a pipeline section where interpolation is used. Pressure at the outlet of the last pipe in a branch where interpolation is used Fraction of total mass of h2o component in the gas phase outlet to the last pipe in a pipeline section where interpolation is used. By default (=1), the mass of h20 component is in the gas phase if the temperature is greater 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. Temperature at the outlet of the last pipe in a branch where interpolation is used. Void fraction at the outlet of the last pipe in a branch section where interpolation is used. Watercut at the outlet of the last pipe in a branch section where interpolation is used. Pipe label or pipe number (single or continuous range in the form x-y). Initial pressure in each section. Pipe label for REFPRESSURE. Reference pressure used if no pressure boundary condition is used. To be given for one section only. Section number for REFPRESSURE. Section number. Fraction of total mass of h2o component in the gas phase. By default (=1), the mass of h20 component is in the gas phase if the temperature is greater 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. Initial temperature in each section. Initial void fraction in each section. Initial watercut in each section.
OUTSTEAMFRACTION
Real
[-1.0]
Real (C) Real Real SymbolList RealList (Pa) Symbol Real (Pa) Integer IntegerList [ALL]
STEAMFRACTION
RealList
[-1.0]
[0.0]
When the mass flow rate is to be specified at the source temperature and pressure without compositional tracking, do the following:
Specify: Total mass flow rate (if option 1) Gas mass fraction in gas and oil mixture at the source temperature and pressure. Free water is excluded. As default, the gas mass fraction is determined from the PVT table. Mass fraction of free water in the gas-oil-water mixture at the source temperature and pressure. Default value is zero, i.e. no free water. Mass fraction of total water in the gas-oil-water mixture at the source temperature and pressure. Default value is zero. Only one of WATERFRACTION or TOTALWATERFRACTION could be defined. Mass fraction of inihibitor in water phase at source temperature and pressure. Only used together with inhibitor tracking, default value is zero for inhibitor tracking. Mass fraction of inhibitor in total water at source temperature and pressure. Only used together with inhibitor tracking, default value is zero for inhibitor tracking.
WATERFRACTION
TOTALWATERFRACTION
INHIBFRACTION TOTALINHIBFRACTION
When the mass flow rate is to be specified at the source temperature and pressure with compositional tracking, do the following: Use key: FEEDMASSFLOW GASFRACEQ OILFRACEQ WATERFRACEQ Specify: Total mass flow rate (if option 1) Fraction of gas mass flow relative to equilibrium flow at the source temperature and pressure. As default, the gas mass flow is equal to the equilibrium flow determined from the feed file (equilibrium gas mass fraction) and FEEDMASSFLOW: (GG = FEEDMASSFLOW * RSEQ * GASFRACEQ). Fraction of oil mass flow relative to equilibrium flow at the source temperature and pressure. Fraction of water mass flow relative to equilibrium flow at the source temperature and pressure.
Note: If GASFRACEQ, OILFRACEQ or WATERFRACEQ is lower than 1 (default value), the total flow will not add up to the specified FEEDMASSFLOW. When the volumetric flow rate at the standard conditions is given, do the following: Use key: STDFLOWRATE Specify: Volumetric flow rate at standard conditions for the specified phase (if option 1) The phase for which the volumetric flow rate is specified. The allowed options are GAS, OIL, WATER,
PHASE
LIQUID. The total source flow is determined so that the specified flow is obtained, for the phase in question, at standard conditions. If the total volumetric flow is meant to represent equivalent gas flow instead of the single gas phase flow, the molweight of the total flow must be given. Gas/oil ratio. By default, the GOR from PVT table is used. Gas/liquid ratio. Note that GOR and GLR can not be used at the same time. Water cut, i.e. water volume fraction in water and oil mixture. If the equivalent gas volumetric flow rate is specified, the molecular weight of the total flow should be given in order to account for the density of the equivalent gas. By default, the gas density at the standard condition from the PVT table is used.
Available units for standard volumetric flow rate, STDFLOWRATE, are listed in Conversion Factors. Default is (Sm3/s). When volumetric flow rate at standard conditions is used, the table for PVT-data must cover the standard conditions for pressure and temperature. Internal dependencies of keys: either BRANCH = 1 PIPE = 1 SECTION = [1] or POSITION = SOURCE-1 end TIME = (0, 100 ) If the mass flow rate is given, then CONTROLLER = C-101 ! Controls fraction of given mass flow either MASSFLOW = (0.0, 10.0) [kg/s] GASFRACTION = [(-1,-1)] PRESSURE = [Section pressure] either WATERFRACTION = [(0.0, 0.0)] INHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking or TOTALWATERFRACTION = [(0.0, 0.0)] either INHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking or TOTALINHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking end end if WAXDEPOSITION=ON in OPTIONS WAXFRACTION = [2:1.0] end if or STDFLOWRATE = (0.0, 1000) STB/D WATERCUT = (0.1, 0.1) PRESSURE = [Section pressure] PHASE = LIQUID If PHASE = GAS MOLWEIGHT = (20.5) ! If equivalent gas stdflowrate (gas+liquid) end if either GLR = (100, 100) or GOR = (120, 120) end if WAXDEPOSITION=ON in OPTIONS WAXFRACTION = [2:1.0] end if or if COMPOSITIONAL=ON in OPTIONS, then FEEDNAME = (FEED-1, FEED-3) either FEEDMASSFLOW = (20, 35.3, 20, 35.3) [kg/s] or FEEDMOLEFLOW = (50, 30.5, 50, 30.5) [kmol/s] end PRESSURE = [section pressure] GASFRACEQ = (0.5,0.5) ! override equilibrium phase fractions OILFRACEQ = (0,0) ! override equilibrium phase fractions WATERFRACEQ = (0,0) ! override equilibrium phase fractions or if the COMPOSITIONAL = BLACKOIL, then FEEDNAME = (BO-1, BO-3) STDFLOWRATE = (0.0, 0.0, 1000, 1000) STB/D PHASE = GAS || OIL or if DRILLING = ON, then MASSFLOW = (0.0, 10.0) [kg/s] PRESSURE = [Section pressure] DRILLINGFLUID = DRILLINGFLUID-1 if drillingfluid properties are NOT given in a separate file, then DENSITY = (1000, 1000)
VISCOSITY = (1, 1) cP end end end if If the mass flow is to be calculated based on the opening of the choke, then (standard conditions not allowed) CD = [0.84] DIAMETER = 0.45 CONTROLLER = C-101 PRESSURE = 2:40 bara either GASFRACTION = 2:-1 either WATERFRACTION = 2:0 INHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking or TOTALWATERFRACTION = 2:0 TOTALINHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking end or if COMPOSITIONAL = ON, (multiple time and feeds, see note below) FEEDNAME = (FEED-1, FEED-3) either FEEDMASSFRACTION = (0.7, 0.3, 0.7, 0.3) or FEEDMOLEFRACTION = (0.6, 0.4, 0.5, 0.5) end WATERFRACEQ = (0,0) ! override equilibrium phase fractions or if COMPOSITIONAL = BLACKOIL then FEEDNAME = (BO-1, BO-3) FEEDVOLFRACTION = ( 0.7, 0.3, 0.7, 0.3 ) or if DRILLING = ON then DRILLINGFLUID = DRILLINGFLUID-1 DENSITY = 2:1000 VISCOSITY = 2:1 cP end end if Note: For the subkeys FEEDMASSFLOW, FEEDMOLEFLOW, FEEDMASSFRACTION and FEEDMOLEFRACTION, the array is a function of both feed and time as shown below. FEEDMASSFRACTION = FEED-1 (T1), FEED-2(T1), FEED1(T2), FEED-2(T2))
COMPONENT
CRITFLOWMODEL DENSITY DIAMETER DRILLINGFLUID FEEDMASSFLOW FEEDMASSFRACTION FEEDMOLEFLOW FEEDMOLEFRACTION FEEDNAME FEEDSTDFLOW FEEDVOLFRACTION GASFRACEQ
Symbol RealList (kg/m3) Real (m) Symbol RealList (kg/s) RealList RealList (kmol/s) RealList SymbolList RealList (Sm3/s) RealList RealList
FEED-1 | BOFEED-1
[1.0]
sent into the pipeline. Gas mass fraction in gas and oil mixture. By default, the gas mass fraction from the PVT table is used for inflow (GASFRACTION<0). A list of both positive and negative values is not allowed. For outflow, the gas mass fraction can be specified as equal to the gas mass fraction in the source section by setting GASFRACTION<0. Gas/liquid volumetric flow ratio at standard conditions. [-1.0] [0.0] [SOUR-1] Gas/oil volumetric flow ratio at standard conditions. By default, GOR from the PVT table is used. Mass fraction of inhibitor in the water phase. Source label. Default is source number. Total mass flow rate for the time series. Molecular weight of equivalent gas (total flow). By default, the gas density at standard conditions from the PVT table is used to determine the molecular weight. By default, the equilibrium oil fraction of the total flow is used for the oil flow in the compositional or the Black oil model (OILFRACEQ=1), however the user may specify a fraction of the oil equilibrium flow to be sent into the pipeline. The phase for which the volumetric flow rate is specified. Pipe label. Position label where the source is located. If this is defined, PIPE and SECTION should not be used. Upstream pressure for a positive source (flow into pipeline). Downstream pressure for a negative source. Required key if pressure driven source. Section number where the source is located. Type of source. The type of the flow through the pressure driven source. For two or three phase flow, use LIQUID. Volumetric flow rate at standard conditions. 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 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. Stroke time of valve. Label of table for valve characteristics. Mixture temperature of the mass flow rate at all points in time specified. Points in time when the flow is to be changed. Note that the value used by the program is interpolated between the values specified by the given timetable. Mass fraction of inhibitor in total water (water phase+water vapor). Mass fraction of total water in the total source flow mixture. With a value of -1.0 the total water fraction is taken from the fluid table. Either this key or WATERFRACTION can be specified. For outflow, this key is ignored if GASFRACTION<0 (the water fraction in the source section is used). Age of tracer feed in source.One item per time and feed. Tracer feed name Mass rate for each tracer feed. One item per time and feed. Residence time of tracer feed in source. One item per time and feed. Valve model. The viscosity of the drilling fluid injected at a given time point. The viscosity must be at standard conditions and within the min and max viscosity as specified in the keyword DRILLINGFLUID Water volume fraction in oil/water mixture. With a value of -1.0 the total water fraction is taken from the fluid table. By default, the equilibrium water fraction of the total flow is used for the water flow in the compositional or the Black oil model (WATERFRACEQ=1), however the user may specify a fraction of the water equilibrium to be sent into the pipeline. Mass fraction of free water in the total source flow mixture. Either this key or TOTALWATERFRACTION can be specified. For outflow, this key is ignored if GASFRACTION<0 (the water fraction in the source section is used). 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 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. Water-gas ratio. By default, WGR from the PVT table is used.
GASFRACTION
RealList
[-1.0]
RealList (Sm3/Sm3) RealList (Sm3/Sm3) RealList String RealList (kg/s) RealList (kg/kmol)
OILFRACEQ
RealList
Symbol Symbol Symbol RealList (Pa) Integer Symbol Symbol RealList (Sm3/s)
STEAMFRACTION
RealList
[-1.0]
STROKETIME TABLE TEMPERATURE TIME TOTALINHIBFRACTION TOTALWATERFRACTION TRACERAGE TRACERFEED TRACERMASSFLOW TRACERRESIDENCETIME VALVEMODEL VISCOSITY WATERCUT
Real (s) SymbolList RealList (C) RealList (s) RealList RealList RealList (s) SymbolList RealList (kg/s) RealList (s) Symbol RealList (N-s/m2) RealList
[0.0]
[-1.0]
WATERFRACEQ
RealList
[1.0]
WATERFRACTION
RealList
WAXFRACTION
RealList
[1.0]
WGR
RealList (Sm3/Sm3)
[-1.0]
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))
AINJ
RealList
APROD
RealList
BINJ
RealList
BOOIL BPPRESSURE
BPROD
RealList
CGR CINJ
FEEDNAME
SymbolList
FEED-1 | BOFEED-1
RealList RealList (Pa) Real (m) RealList RealList (Sm3/s/Pa) [0.0] [-1.0]
Real (Pa) Real (s) RealList (Sm3/Sm3) RealList (m) RealList (m) RealList (Sm3/s/Pa) LINEAR | QUADRATIC | SINGLEFORCHHEIMER | FORCHHEIMER | BACKPRESSURE | UNDERSATURATED | VOGELS | TABULAR | NORMALIZEDBACKPR [1.0] [-1.0]
conditions. Requires PRODOPTION=TABULAR. Time constant for the gas front movement. Requires PRODOPTION=TABULAR. Gas/oil volumetric ratio. By default, GOR from the PVT table is used. Hole size (diameter). Normally given in inches (in). Net pay from inflow zone. Injectivity. Given at std conditions - uses GOR from the PVT table (or the specified GORST) and the PHASE to calculate the split between the phases.
INJOPTION
Symbol
INJPOSTFRACFACTOR
Real
INJPREFRACFACTOR INJTABLE INJTHRESHOLD ISOTHERMAL KPERM LABEL LOCATION OFRTC OILDIS OILINJ OILPLIMIT PHASE PIPE POSITION
Real Symbol RealList (Pa) Symbol RealList (mD) String Symbol Real (s) Real (m) RealList (Sm3/s/Pa) Real (Pa) Symbol Symbol Symbol RealList (Sm3/s/Pa)
[1.0]
Multiplier for injection rate when BH pressure is above fracture pressure. If BH pressure has been above fracture pressure this is a multiplier when BH pressure is above INJTHRESHOLD as well. Multiplier for injection rate when BH pressure is below fracture pressure. If the BH pressure has been above fracture pressure this is a multiplier only below INJTHRESHOLD. Table reference for negative well flow performance. Option for supporting coning. The table variables must be given at reservoir conditions. Pressure. If BH pressure has been above fracture pressure the injection rate multiplied by the INJPOSTFRACFACTOR will be used when the BH pressure is above INJTHRESHOLD. Turn on or off isothermal. Effective permeability. Well label. Well location in the well section. MIDDLE if the reservoir pressure at the middle of the zone is specified. BOTTOM if the reservoir pressure given is at the bottom of the zone. Time constant for the oil front movement. Requires PRODOPTION=TABULAR. Distance oil front has to travel before it reaches the well bore. Requires PRODOPTION=TABULAR. Linear injectivity index for oil entering the well section. Normally given in (Sm3/d/bar). Pressure at which the oil front will be at the well bore at steady-state conditions. Requires PRODOPTION=TABULAR. The phase for which productivity index or absolute open flow rate is given. Pipe number for well. Position where the well is located. If POSITION is defined, BRANCH, PIPE, and SECTION should not be used. Productivity index for linear inflow equation. Normally given in (Sm3/d/bar). Given at std conditions - uses GOR from the PVT table (or the specified GORST) and the PHASE to calculate the split between the phases.
PRODI
PRODOPTION
Symbol
LINEAR | QUADRATIC | SINGLEFORCHHEIMER | FORCHHEIMER | BACKPRESSURE | UNDERSATURATED | VOGELS | TABULAR | NORMALIZEDBACKPR [1.0] [1.0]
PRODPOSTFRACFACTOR PRODPREFRACFACTOR PRODTABLE QMAX RESEXT RESPRESSURE RESTEMPERATURE ROGST ROLST SECTION SKIND SKINS
Real Real Symbol RealList (Sm3/s) RealList (m) RealList (Pa) RealList (C) Real (kg/Sm3) Real (kg/Sm3) Integer RealList (1/Sm3/s) RealList
Multiplier for production rate after the reservoir is fractured. Use when the well parameters are given for conditions before the reservoir is fractured. Multiplier for production rate before the reservoir is fractured. Used when the well parameters are given for conditions after the reservoir is fractured. Table reference for positive flow performance. Option for supporting coning. The table variables must be given at reservoir conditions. Maximum flow in Vogels and Normalized Backpressure inflow equation. Reservoir extension. Reservoir pressure. Reservoir temperature. Gas density at standard conditions. By default value from PVT table is used. Oil density at standard conditions. By default value from PVT table is used. Section number for well. Turbulent non-darcy skin. Normally given in (1/MMSCF/d). 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
[-1.0] [-1.0] 0
STEAMFRACTION
RealList
[-1.0]
TIME
RealList (s)
[0.0]
WATDIS
Real (m)
WATERCUT
RealList
[-1.0]
WATERFRACTION
WATINJ WATPLIMIT
WAXFRACTION
RealList
[1.0]
greater 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 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. With a value of 1, the total water fraction is taken from the fluid table. Either this key or WATERFRACTION can be specified. Viscosity of gas reservoir conditions. By default value from PVT table is used. 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-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 taken from the fluid table. Mass fraction of free water in the total flow mixture of the reservoir. Either this key or TOTALWATERFRACTION can be specified. For outflow, this key is ignored if GASFRACTION<0 (the water fraction in the source section is used). Linear injectivity index for water entering the well section. Normally given in (Sm3/d/bar). Pressure at which the water front will be at the well bore at steady-state 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 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 water option is available. Requires PRODOPTION=TABULAR. Water-gas ratio. By default, WGR from the PVT table is used. Gas compressibility factor.
COMPONENT
SymbolList
BOCOMP-1
This statement defines the variables to be printed to the output file (*.out). Global variables are not available on this level.
COMPONENT
SymbolList
BOCOMP-1
COMPONENT
SymbolList
BOCOMP-1
COMPRESSOR HEATEXCHANGER HYKPID LAYER LEAK NEARWELLSOURCE PIG PIPE POSITION PUMP SECTION SLUGID SOURCE TRACERFEED VALVE VARIABLE WELL
SymbolList SymbolList IntegerList IntegerList SymbolList SymbolList SymbolList SymbolList SymbolList SymbolList IntegerList IntegerList SymbolList SymbolList SymbolList SymbolList (ValueUnitPair) SymbolList
0 [0]
INHIBITOREFFICIENCY
Real
[0.0]
WCWET
Real
[30.0]
[0.8] ON | [OFF] 0
SOUND_CFL
Symbol
ON | [OFF]
HAMMERSCHMIDT
Symbol
ON | [OFF]
HYDRATECURVE
SymbolList
PRESSOVERRIDE
Real (Pa)
[-5000000]
TEMPOVERRIDE
Real (C)
[-50]
WATERLIMIT
Real
[0]
Real Real Real (m) Real Real Real (C) Symbol Real
Scaling factor for the first reaction coefficient Scaling factor for the second reaction coefficient. Mean droplet diameter Mass fraction of hydrate guest molecules in oil phase Monomer size Subcooling from hydrate equilibrium before nucleation. Default 6.5 F. NO: The routines embedded in the olga executable are used. YES: csmhyddll.dll is used. Distribution coefficient for gas velocity. Used when DRIFTFLUX = YES
[PIG-1]
LEAKAGEFACTOR
Real
WPPOROSITY
Real
[-1]
exhibit Bingham fluid behavior. 1 implies using internal model for estimating the yield stress. See 2.2.6 for further details. Only available with the wax module. Coefficient C in wax breaking force equation, see eq. in sec. 2.2.6. Only available with the wax module. Wax removal efficiency. Only available with the wax module. Yield stress of wax layer on the wall. 1 imples that the internal yieldstress correlation is used, see sec. 2.2.6. Only available with the wax module.
ILLEGALSECTION
Symbol
OFF | [ON]
[0.0]
ON | [OFF]
AREA DIAMETER ENTRAINMENT GROUGHNESS LAM_LGI LAM_WOI MASSTRANSFER OILDENSITY OILVISC PIPE POSITION
REHIGH
RealList
RELOW
RealList
[2300]
[1.0]
Tuning coefficient for inner wall roughness. NOTE: Cannot be applied on individual sections. Pipe level and higher is allowed. Section or section boundary numbers where the tuning parameters will be applied. Tuning coefficient for ambient temperature. Tuning coefficient for water density Tuning coefficient for water viscosity
AGEINGOPT
Symbol
AGEING | [CONSTANT]
DISSOLPRESS
RealList (Pa)
DISSOLRATE
RealList (kg/s-m2)
[1.e+12]
DISSOLTDIFF
RealList (C)
[0.0]
DISSOLUTION
Symbol
ON | [OFF]
HARDPOROSITY
RealList
[0.2]
INITPOROSITY
RealList
[0.8]
porosity with time due to ageing. Branch-wise input. 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 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. Branch-wise input. The maximum limit for the calculated porosity is given by this key. Used when INSTPOROSITYOPT=AUTOMATIC. The porosity of new deposits is calculated by OLGA and an volume averaging of the porosity of new and old layers will be performed. Branch-wise input. Maximum wax layer roughness allowed. Branch-wise input. The minimum limit for the calculated porosity is given by this key. Used when INSTPOROSITYOPT=AUTOMATIC. The porosity of new deposits is calculated by OLGA and an volume averaging of the porosity of new and old layers will be performed. Branch-wise input. Wax deposition model. Tuning multiplier for empirical constant C2 in MATZAIN wax deposition model. Branch-wise input. Tuning multiplier for empirical constant C3 in MATZAIN wax deposition model. Branch-wise input. Tuning multiplier for the D parameter in the internal non-Newtonian viscosity correlation. Only used when VISCOPTION=CALSEP. Branchwise input. Tuning multiplier for the E parameter in the internal non-Newtonian viscosity correlation. Only used when VISCOPTION=CALSEP. Branchwise input. Tuning multiplier for the F parameter in the internal non-Newtonian viscosity correlation. Only used when VISCOPTION=CALSEP. Branchwise input. Option for calculating the wax/oil dispersion viscosity TABULAR: Viscosity multiplier given as function of volume fraction of wax. 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 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. Porosity of new deposits in wax layer. Used when INSTPOROSITYOPT=MANUAL. Branch-wise input. Fraction of wax layer thickness that is interpreted as wax layer roughness (i.e. wall roughness). Limited by MAXROUGHNESS. Branchwise input. Name of wax table. Branch-wise input. 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 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.
INSTPOROSITYOPT
Symbol
MANUAL | [AUTOMATIC]
VISCMULTE
Real
[1.0]
VISCMULTF
Real
[1.0]
VISCOPTION
Symbol
TABULAR | [CALSEP]
VISMULTIPLIER
RealList
[0.6] [0.0]
WAXVOLFRACTION
RealList
COLUMNHEADER
Default:[ ] [TABLE-1] ON | [OFF] Injection pressure at which the GLV curve is defined. Table label. 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 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 table (x1, y1, x2, y2, ...). Table where XLOOKUPVARIABLE input is sampled. Name of x variable Independent variable name
OPENING
Real
YVARIABLE
XVAR | [YVAR] NOTGIVEN | OPEN | DELTAP | LEVEL | PRODUCTIONPRESSURE NOTGIVEN | CV | FLOW | GASFL | LIQFL | PILIQ | WATFR | OILTC | GASTC | WATTC | STDGASFLOW | VOLUME
COMBINETYPE
Symbol
FACTOR INTERPOLATION LABEL PERIOD PERIODIC SERIES SERIESREF TIME TIME0 TRANSITION TRANSITIONTIME
RealList Symbol String Real (s) Symbol RealList SymbolList RealList (s) Real (s) Symbol RealList (s)
<None> | ON | [OFF]
TYPE
Symbol
[2] ON | [OFF]
[0.0]
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: TP: PP: C: S:
Printed output variable (to be specified with keyword OUTPUT). Trend plot variable (to be specified with keyword TREND). Profile plot variable (to be specified with keyword PROFILE). Controller signal input variable (to be specified as the controlled variable for a controller, input group CONTROLLER). Only for server output
Variables belonging to different groups cannot be specified together in the input for trend plotting (except the boundary and volume variable groups). A new TRENDDATA entry has to be specified for each variable group.
COMPONENT
SymbolList
BOCOMP-1
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 Terminal = OIL Terminal = WATER Terminal = LIQUID Terminal = DRYGAS Terminal = MIXTURE - gas +droplets - oil bulk - water bulk - oil and water bulk - gas only - 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
STEAMFRACTION
Real
[-1.0]
Real (C) Real Real (m3) Real Real (m) Real (m) Real (m) [-1] [0.0] [0] [0] [0]
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
FEED-1 | BOFEED-1
[0.0] [SEPARATOR_tag]
ANNULUS
Description ( See also: Keys)
Annulus is a network component. See ANNULUS COMPONENT for more description. See also ANNULUS COMPONENT Keys
Key LABEL
Description Network component label (if nothing is given the NC tag is used).
FLUIDBUNDLE
Description ( See also: Keys)
FLUIDBUNDLE is a network component. See FLUIDBUNDLE COMPONENT for details. See also FLUIDBUNDLE COMPONENT 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 c temperature is measured to be 25 C and the soil t emperature 1 m under the ground is 20 C. The soil temperature reading 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 3.
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. 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
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
Figure A Side view and cross section of flow path with upsets
[TOOLJ-1]
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 (EVR) EVR = Vactual / Vmax Vactual = Usg + Usl + Usd Vmax Rons C C = C / (Rons)1/2 =[
g
Usg +
l(Usl
= 100 for U in ft/s and in Lb/ft3 = 121.99 for U in m/s and in kg/m3
Name
Units
Definition
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
ACCGAG ACCGAQ ACCGT ACCLIG ACCLIQ ACCOIG ACCOIQ ACCWAG ACCWAQ CFLFACT DPZA DPZF DPZG DS DUG DUL EVR FRRG FRRH FRRW GASMFRBOUN GD GDHL GDWT GG GL GLHL GLRST GLT GLTHL GLTWT GLWT GLWV GLWVT GORST GT HOLHLNS HOLNS HOLWTNS HTOT ID INHIBMFRBOUN
KG M3 KG KG M3 KG M3 KG M3 PA/M PA/M PA/M M/S2 M/S2 KG/M3-S KG/M3-S KG/M3-S KG/S KG/S KG/S KG/S KG/S KG/S SM3/SM3 KG/S KG/S KG/S KG/S KG/S KG/S SM3/SM3 KG/S W -
Accumulated gas mass flow Accumulated gas volume flow Accumulated total mass flow Accumulated liquid mass flow Accumulated liquid volume flow Accumulated oil mass flow Accumulated oil volume flow Accumulated water mass flow Accumulated water volume flow Local CFL factor Additional pressure drop gradient Frictional pressure drop gradient Gravitational pressure drop gradient Distribution slip ratio Time derivative of gas velocity Time derivative of liquid velocity Erosional velocity ratio Gas wall drift friction factor Oil wall drift friction factor Water wall drift friction factor Gas mass fraction at boundary Droplet mass flow Mass flow rate of oil in droplet field Mass flow rate of water in droplet field Gas mass flow Liquid bulk mass flow Mass flow rate of oil in film Gas/liquid ratio at standard conditions Total liquid mass flow Mass flow rate of oil Mass flow rate of water excluding vapour Mass flow rate of water in film Mass flow rate of water vapour Total mass flow rate of water including Vapour Gas/oil ratio at standard conditions Total mass flow No-slip oil volume fraction No-slip liquid volume fraction No-slip water volume fraction Total Enthalpy flow rate Flow regime: 1=Stratified, 2=Annular, 3=Slug, 4=Bubble. Inhibitor mass fraction in water at boundary
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
MDHLCONV MDHLSLOPE MDWTCONV MDWTSLOPE MGCONV MGSLOPE MLHLCONV MLHLSLOPE MLWTCONV MLWTSLOPE PSID PSIE QD QDHL QDWT QG QGST QL QLHL QLST QLT QLTHL QLTWT QLWT QOST QT QWST REGIMETYPE SHRHL SHRWT SLAG SLAI SLAIGHL SLAIHLWT SLAIWTG SLAL SLALHL SLALWT SLGH SLGW SLHG SLWG STDROG STDROHL STDROWT TAUWG TAUWHL TAUWWT TINHIBMFRBOUN TWATMFRBOUN UD UDHL UDO UDWT UG UHLCONT UL ULHL ULWT UO USD USDHL USDWT USG USL USLHL USLT USLTHL USLTWT
KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3-S KG/M3-S M3/S M3/S M3/S M3/S SM3/S M3/S M3/S SM3/S M3/S M3/S M3/S M3/S SM3/S M3/S SM3/S 1/s 1/s KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3-S KG/M3 KG/M3 KG/M3 PA PA PA M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S
Specific convective mass of oil droplets Specific mass adjustment of oil droplets Specific convective mass of water droplets Specific mass adjustment of water droplets Specific convective mass of gas Specific mass adjustment of gas Specific convective mass of oil in film Specific mass adjustment of oil in film Specific convective mass of water in film Specific mass adjustment of water in film Deposition rate Entrainment rate Droplet volume flow Volumetric flow rate oil droplets Volumetric flow rate water droplets Gas volume flow Gas volume flow at standard conditions Liquid bulk volume flow Volumetric flow rate oil film Liquid volume flow at standard conditions Total liquid volume flow Volumetric flow rate oil Volumetric flow rate water Volumetric flow rate water film Oil volume flow at standard conditions Total volume flow Water volume flow at standard conditions Slug-trac regime: 0=Free, 1=LiquidSlug, 2=SlugBubble Oil film - shear strain rate Water film - shear strain rate Gas friction coefficient Interfacial friction coefficient Gas/oil film interfacial friction factor Oil film/water film interfacial friction factor Water film/gas interfacial friction factor Liquid friction coefficient Oil film wall friction factor Water film wall friction factor Oil wall friction due to gas Water wall friction due to gas Gas wall friction due to oil Gas wall friction due to water Standard gas density Standard oil density Standard water density Gas - max. wall shear stress Oil film - max. wall shear stress Water film - max. wall shear stress Inhibitor mass fraction in water+vapour at boundary Total water mass fraction at boundary Droplet velocity Oil droplet velocity Relative velocity droplets Water droplet velocity Gas velocity Oil continuous velocity Liquid velocity Oil film velocity Water film velocity Relative velocity Superficial velocity droplets Superficial oil droplet velocity Superficial water droplet velocity Superficial velocity gas Superficial velocity film Superficial oil film velocity Superficial velocity liquid Superficial velocity oil Superficial velocity water
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
USLWT USTOT UWTCONT WATMFRBOUN WCST WD WDHL WDWT WG WL WLHL WLWT WTOT
M/S M/S M/S KG/S-M2 KG/S-M2 KG/S-M2 KG/S-M2 KG/S-M2 KG/S-M2 KG/S-M2 KG/S-M2
Superficial water film velocity Total volume flux Water continuous velocity Water mass fraction at boundary Water cut at standard conditions Droplet mass flux Mass flux of oil in droplet field Mass flux of water in droplet field Gas mass flux Liquid mass flux Mass flux of oil in film Mass flux of water in film Total mass flux
Branch Variables
Description ( See also: Variables)
Name
Units
Definition
TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP
DPABR DPBR DPFBR DPGBR DTBR GASC GASCFR GASCST GASIN GASMASS GASOUT LIQBC LIQC LIQCFR LIQDC LIQIN LIQMASS LIQOUT MASOUT MASSIN MAXPTBR MAXPTBRCT MAXPTPOS MAXTMBR MAXTMBRCT MAXTMPOS MDPHYD MDPPOS MDTHYD MDTPOS MEANPTBRCT MEANTMBRCT MINPTBR MINPTBRCT MINPTPOS MINTMBR MINTMBRCT MINTMPOS
PA PA PA PA C M3 M3 KG KG KG M3 M3 M3 KG KG KG KG KG PA PA M C C M PA M C M PA C PA PA M C C M
Additional pressure drop Total pressure drop Frictional pressure drop Gravitational pressure drop Total temperature drop (inlet minus outlet) in branch Gas content in branch Gas volume fraction in branch Gas content in branch converted to standard conditions Accumulated gas flow inlet boundary Gas mass in branch Accumulated gas flow outlet boundary Liquid bulk content in branch Total liquid content in branch Liquid volume fraction in branch Liquid droplet content in branch Accumulated liquid flow inlet boundary Total liquid mass in branch Accumulated liquid flow outlet boundary Accumulated mass flow outlet boundary Accumulated mass flow inlet boundary Maximum pressure in branch since start Maximum pressure in branch at current time Distance from branch inlet where maximum pressure since start occurs Maximum temperature in branch since start Maximum temperature in branch at current time Distance from branch inlet where maximum temperature since start occurs Maximum difference between section and hydrate pressure since last write Distance where section and hydrate pressure differs most since last write Maximum difference between hydrate and section temp since last write Distance where section and hydrate temperature differs most since last write Mean pressure in branch at current time Mean temperature in branch at current time Minimum pressure in branch since start Minimum pressure in branch at current time Distance from branch inlet where minimum pressure since start occurs Minimum temperature in branch since start Minimum temperature in branch at current time Distance from branch inlet where minimum temperature since start occurs
TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP
OILBC OILC OILCFR OILCST OILDC OILIN OILMASS OILOUT RGASIN RGASOUT RLIQIN RLIQOUT RMASIN RMASOUT ROILIN ROILOUT RWATIN RWATOUT RWINHIBTOT WATBC WATC WATCFR WATCST WATDC WATIN WATMASS WATOUT
M3 M3 M3 M3 KG KG KG KG KG KG KG KG KG KG KG KG KG M3 M3 M3 M3 KG KG KG
Oil film content in branch Total oil content in branch Oil volume fraction in branch Total oil content in branch converted to standard conditions Oil droplet content in branch Accumulated oil flow inlet boundary Total oil mass in branch Accumulated oil flow outlet boundary Accumulated gas flow after restart at inlet boundary Accumulated gas flow after restart at outlet boundary Accumulated liquid flow after restart at inlet boundary Accumulated liquid flow after restart at outlet boundary Accumulated mass flow after restart at inlet boundary Accumulated mass flow after restart at outlet boundary Accumulated oil flow after restart at inlet boundary Accumulated oil flow after restart at outlet boundary Accumulated water flow after restart at inlet boundary Accumulated water flow after restart at outlet boundary Total mass fraction in water phase in branch for inhibitor Water film content in branch Total water content in branch Water volume fraction in branch Total water content in branch converted to standard conditions Water droplet content in branch Accumulated water flow inlet boundary Total water mass in branch Accumulated water flow outlet boundary
Bundle Variables
Description ( See also: Variables)
Bundle variables can only be used when a SOLIDBUNDLE, a FLUIDBUNDLE or an ANNULUS is given
Name
Units
Definition
TP/PP/C
Volume Variables
LINEGT
KG/S
Bundles: line inner wall heat transfer coefficient Bundles: line outer wall heat transfer coefficient Bundles: line heat flux Bundles: line temperature Line fluid velocity Bundles: line overall heat transfer coefficient
Use as
Check valve Variables
Name
Units
Definition
TP/C/GTP
CHECK
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)
Name
Units
Definition
TP/GTP
Boundary Variables
CMTOT
KG
Component mass rate in oil droplets Component mass rate in water droplets Component mass rate in gas phase Component mass rate in oil phase Component mass rate in oil film Component mass rate in water film Component mass rate in water phase Partial pressure in gas phase
TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP
CGPSI CHPSI CMG CMHD CMHL CMWD CMWL CWPSI DMGE DMHE DMWE MWGAS MWOIL MWWAT XG
KG/M3-S KG/M3-S KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3-S KG/M3 KG/M3 KG/M3 KG/KMOL KG/KMOL KG/KMOL -
Mass rate of flashing to gas phase Mass rate of flashing to oil phase Mass in gas phase Mass in oil droplets Mass in oil film Mass in water droplets Mass in water film Mass rate of flashing to water phase (Equilibrium mass - mass) in gas phase (Equilibrium mass - mass) in oil phase (Equilibrium mass - mass) in water phase Mole weight of gas phase Mole weight of oil phase Mole weight of water phase Mole fraction of gas phase
TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP TP/PP
Leak Variables
Equilibrium mole weight in gas phase Mass fraction in gas phase Equilibrium mole weight of gas phase Mole fraction of oil phase Equilibrium mole weight of gas phase Mass fraction in oil phase Equilibrium mass fraction in oil phase Mole fraction in water phase Equilibrium mole fraction in water phase Mass fraction in water phase Equilibrium mass fraction in water phase Total molar composition Total mass composition
TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP
Separator Variables
CGGLEAK CGHLEAK CGTLEAK CGWLEAK GLTWTLEAK XGLEAK XGMLEAK XHLEAK XHMLEAK XWLEAK XWMLEAK ZLEAK ZMLEAK
Leak mass rate in gas phase Leak mass rate in oil phase Leak mass rate in all phases Leak mass rate in water phase Leak mass rate in water phase Leak mole fraction in gas phase Leak mass fraction in gas phase Leak mole fraction in oil phase Leak mass fraction in oil phase Leak mole fraction in water phase Leak mass fraction in water phase Leak mole fraction in all phases Leak mass fraction in all phases
SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP
CAEDLM CAEDOM CAEDWM CAGOGM CAGOLM CAGOOM CAGOTM CAGOWM CAODLM CAODOM CAODWM CATDGM CATDLM CATDOM CATDTM CATDWM CAWDLM CAWDOM CAWDWM CEDLMF CEDOMF CEDWMF CGOGMF CGOLMF CGOOMF CGOTMF CGOWMF CODLMF CODOMF CODWMF CTDGMF CTDLMF CTDOMF CTDTMF CTDWMF CWDLMF CWDOMF CWDWMF
KG KG KG KG KG KG KG KG KG KG KG KG KG KG KG KG KG KG KG KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S
ACCUMULATED EMERGENCY DRAIN LIQUID MASS FLOW ACCUMULATED EMERGENCY DRAIN OIL MASS FLOW ACCUMULATED EMERGENCY DRAIN WATER MASS FLOW ACCUMULATED GAS OUTLET GAS MASS FLOW ACCUMULATED GAS OUTLET LIQUID MASS FLOW ACCUMULATED GAS OUTLET OIL MASS FLOW ACCUMULATED GAS OUTLET TOTAL MASS FLOW ACCUMULATED GAS OUTLET WATER MASS FLOW ACCUMULATED OIL DRAIN LIQUID MASS FLOW ACCUMULATED OIL DRAIN OIL MASS FLOW ACCUMULATED OIL DRAIN WATER MASS FLOW ACCUMULATED TOTAL DRAIN GAS MASS FLOW ACCUMULATED TOTAL DRAIN LIQUID MASS FLOW ACCUMULATED TOTAL DRAIN OIL MASS FLOW ACCUMULATED TOTAL DRAIN TOTAL MASS FLOW ACCUMULATED TOTAL DRAIN WATER MASS FLOW ACCUMULATED WATER DRAIN LIQUID MASS FLOW ACCUMULATED WATER DRAIN OIL MASS FLOW ACCUMULATED WATER DRAIN WATER MASS FLOW EMERGENCY DRAIN LIQUID MASS FLOW EMERGENCY DRAIN OIL MASS FLOW EMERGENCY DRAIN WATER MASS FLOW GAS OUTLET GAS MASS FLOW GAS OUTLET TOTAL LIQUID MASS FLOW GAS OUTLET OIL MASS FLOW GAS OUTLET TOTAL MASS FLOW GAS OUTLET WATER MASS FLOW OIL DRAIN LIQUID MASS FLOW OIL DRAIN OIL MASS FLOW OIL DRAIN WATER MASS FLOW TOTAL DRAIN GAS MASS FLOW TOTAL DRAIN LIQUID MASS FLOW TOTAL DRAIN OIL MASS FLOW TOTAL DRAIN TOTAL MASS FLOW TOTAL DRAIN WATER MASS FLOW WATER DRAIN LIQUID MASS FLOW WATER DRAIN OIL MASS FLOW WATER DRAIN WATER MASS FLOW
Well Variables
TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP
Source Variables
CGGWELL CGHWELL CGTWELL CGWWELL GLTWTWELL XGMWELL XGWELL XHMWELL XHWELL XWMWELL XWWELL ZMWELL ZWELL
Well mass rate in gas phase Well mass rate in oil phase Well mass rate in all phases Well mass rate in water phase Well mass rate in water phase Well mass fraction in gas phase Well mole fraction in gas phase Well mass fraction in oil phase Well mole fraction in oil phase Well mass fraction in water phase Well mole fraction in water phase Well mass fraction in all phases Well mole fraction in all phases
TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP TP/GTP
CGGSOUR CGHSOUR CGTSOUR CGWSOUR GLTWTSOUR XGMSOUR XGSOUR XHMSOUR XHSOUR XWMSOUR XWSOUR ZMSOUR ZSOUR
Source mass rate in gas phase Source mass rate in oil phase Source mass rate in all phases Source mass rate in water phase Source mass rate in water phase Source mass fraction in gas phase Source mole fraction in gas phase Source mass fraction in oil phase Source mole fraction in oil phase Source mass fraction in water phase Source mole fraction in water phase Source mass fraction in all phases Source mole fraction in all phases
Name
Units
Definition
TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP
CMGFSB CMGFSL CMGTSB CMGTSL CMHDFSB CMHDFSL CMHDTSB CMHDTSL CMHLFSB CMHLFSL CMHLTSB CMHLTSL CMWDFSB CMWDFSL CMWDTSB CMWDTSL CMWLFSB CMWLFSL CMWLTSB CMWLTSL
KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3
Component mass in gas phase ahead of slug front Component mass in gas phase behind slug front Component mass in gas phase behind slug tail Component mass in gas phase ahead of slug tail Component mass in oil droplets ahead of slug front Component mass in oil droplets behind slug front Component mass in oil droplets behind slug tail Component mass in oil droplets ahead of slug tail Component mass in oil film ahead of slug front Component mass in oil film behind slug front Component mass in oil film behind slug tail Component mass in oil film ahead of slug tail Component mass in water droplets ahead of slug front Component mass in water droplets behind slug front Component mass in water droplets behind slug tail Component mass in water droplets ahead of slug tail Component mass in water film ahead of slug front Component mass in water film behind slug front Component mass in water film behind slug tail Component mass in water film ahead of slug tail
Compressor Variables
Description ( See also: Variables)
Name
Units
Definition
Compressor recycle heat exchanger Enthalpy Compressor mass flow rate Compressor recycle mass flow rate Compressor enthalpy Compressor recycle enthalpy Corrected compressor surge flow Compressor speed
Controller Variables
Description ( See also: Variables)
Name
Units
Definition
GTP/C GTP/C GTP/C GTP/C GTP/C GTP/C GTP/C GTP/C GTP/C GTP/C GTP/C
ACTIVATED CONTR ERRVAR INTGVAR MEASVAR MODE PMCAS RATELIMITED SATURATED SETPOINT SETPVAR
Controller activate signal Controller output Controller error signal Controller integral signal Controller measured variable Controller mode: 1=Automatic, 2=Manual, 3=External signal, 4=External setpoint, 5=Freeze Moving averaged of primary controller variable Controller rate limited signal Controller saturated signal Setpoint of extended cascade controller Controller setpoint variable
1/rpm s
0.016667
1/ANGULAR_VELOCITY
M h d 1/m3/s 1/ft3/s 1/m3/h 1/ft3/h 1/bbl/d 1/m3/d 1/bbl/M 1/m 1/ft 1/cm 1/in 1/MILES 1/km 1/mm 1/Sm3/s 1/MSm3/s 1/Sm3/d 1/MSm3/d 1/scf/d 1/MMscf/d 1/scf/s m/s2 ft/s2 cm/s2 in/s2 DEGREE rad rad/s2 R/s2 rpm rad/s 1/s m2 ft2 cm2 in2 Sm3/Sm3 STB/SCF m3/m3 SCF/SCF STB/MMSCF mm/y kg/m3 lb/ft3 g/cm3 lb/in3 kg/m-N s2/m2 kg/m3-K kg/m3-C kg/m3-s m2/s cm2/s N-s/m2
60 1440 35.3107 3600 127119 543396 86400 377.358 3.28084 100 39.3701 0.000621371 0.001 1000 1e-06 86400 0.0864 3.05e+06 3.05 0.0283 0.3048 0.01 0.0254 57.2958 6.2832 9.549 60 0.0929 0.0001 0.0006451 5.61458
1/FLOWRATE
1/LENGTH
1/STDFLOWRATE
ACCELERATION
ANGLE
ANGULAR_ACCELERATION
ANGULAR_VELOCITY
AREA
CGR
5.61458e-06
CORROSION_RATE
DENSITY
DENSITY/PRESSURE
0.0001
DYNAMIC_VISCOSITY
lb/ft-h CP kg/m-h J Btu cal J/kg Btu/lb cal/kg J/mol Btu/lbmol cal/mol J/mol-K Btu/lbmol-R J/m3 Btu/ft3 cal/m3 J/K Btu/R cal/K J/kg-K Btu/lb-R cal/kg-K J/kg-C J/mol-K Btu/lbmol-R cal/mol-K J/m3-K Btu/ft3-R cal/m3-K N dyn kgf lbf % 1/s 1/M 1/h Hz Ns/m Sm3/s Sm3/h Sm3/d scf/d MMscf/d STB/d STB/M scf/s scf/h MSm3/d Mscf/d m3 ft3 cm3 L USgal
0.0004134 0.001 0.0002778 1055 4.187 2326 4.187 2.326 4.187 4.187 37260 4.187 1899 4.187 4187 4.187
ENTHALPY
ENTHALPY/MASS
ENTHALPY/MOL
ENTHALPY/MOL-TEMP
ENTHALPY/VOLUME
ENTROPY
ENTROPY/MASS
ENTROPY/MOL
4187 4.187 37260 4.187 1e-05 9.819 4.4482 0.01 0.016667 0.000277778
ENTROPY/VOLUME
FORCE
FRACTION
FREQUENCY
FRICTION_FACTOR
GAS_STDFLOWRATE
0.00027778 1.1574e-05 3.2774e-07 0.32774 1.8401e-06 0.002651 0.0283169 7.8667e-06 11.574 0.000327778 0.02832 1e-06 0.001 0.003786
GAS_VOLUME
bbl m3/s ft3/s m3/h ft3/h bbl/d m3/d bbl/m Sm3/Sm3 SCF/STB m3/m3 SCF/SCF MMSCF/STB W/m Btu/s-ft kW/m W/m2 kW/m2 W/cm2 Btu/ft2-s Btu/in2-s m2/s CST FT2/HR in2/s m ft cm in MILES km mm Sm3/s Sm3/h Sm3/d scf/d MMscf/d STB/d STB/M scf/s scf/h MSm3/d Mscf/d m3 ft3 cm3 L USgal bbl m3/s ft3/s m3/h ft3/h bbl/d m3/d bbl/m N/m2 kg lb
GAS_VOLUME/TIME
GOR
178110 3461 1000 1000 10000 11360 1.635e+06 1e-06 2.5806e-05 0.00064516 0.3048 0.01 0.0254 1609 1000 0.001 0.00027778 1.1574e-05 3.2774e-07 0.32774 1.8401e-06 0.002651 0.0283169 7.8667e-06 11.574 0.000327778 0.02832 1e-06 0.001 0.003786 0.158987 0.02832 0.00027778 7.8667e-06 1.841e-06 1.1574e-05 0.002651
HEAT_TRANS./LENGTH
HEATFLUX
KINEMATIC_VISCOSITY
LENGTH
LIQ_STDFLOWRATE
LIQ_VOLUME
LIQ_VOLUME/TIME
LOGARITHMIC_FRICTION_FACTOR
0.4536
MASS
g oz t kg/m2 g/m2 g/cm2 kg/ft2 g/ft2 g/in2 kg/s lb/s kg/h lb/h kg/s-m2 kg/s-cm2 lb/s-m2 kg/h-m2 lb/h-m2 kg/s-Pa lb/s-psi mol lbmol kmol mol/kg lbmol/lb mol/g mol/m3 lbmol/ft3 mol/cm3 mol/L kmol/s lbmol/s mol/s mol/m4 lbmol/ft4 mol/cm4 mol/m3-K kg/kmol lb/lbmol kg/mol g/mol mD D W hp Btu/h kW W/m hp/m Btu/h*m kW/m k M G T Pa bara
0.001 0.02835 1000 0.001 10 10.7639 0.010764 1.55 0.4536 0.00027778 0.000126 10000 0.4536 0.00027778 0.000126 6.5788e-05 453.6 1000 1000 1000 16020 1e+06 1000 0.4536 0.001 52550 1e+08
MASS/AREA
MASS/TIME
MASS/TIME-AREA
MASS/TIME-PRESSURE
MOL
MOL/MASS
MOL/VOLUME
MOLAR_RATE
MOLCONC/METER
MOLDEN/TEMPERATURE
MOLECULAR_WEIGHT
1000
PERMEABILITY
1000 745.7 0.2931 1000 745.7 0.2931 1000 1000 1e+06 1e+09 1e+12 100000
POWER
POWER/LENGHT
POWERS_OF_TEN
PRESSURE
psia atm bar KP/cm2 kPa psig barg kgf/cm2 Pa/m psi/ft Pa/s bar/s psi/s atm/s Pa bara psia atm bar KP/cm2 kPa psig barg kgf/cm2 Pa-s/kg psi-s/lb Ns2/m2 s M h d SPGR API Rm3/Sm3 m3/R ft3/R J/kg-C J/kg-K Btu/lbm-R Btu/lbm-F Sm3 SCF Scm3 SL Sgal MMscf Mscf Sbbl kg/Sm3 Sm3/s/Pa Sm3/d/bar scf/d/psi STB/d/psi N/m DYNE/cm C R
6895 101300 100000 98066.5 1000 6895 100000 98066.5 22621 100000 6895 101300 100000 6895 101300 100000 98066.5 1000 6895 100000 98066.5 15200.3
PRESSURE/DISTANCE
PRESSURE/TIME
PRESSURE_DIFFERENCE
PRESSURE-TIME/MASS QUADRATIC_FRICTION_FACTOR
RATE_PER_UNIT_TIME
0.02832
SPECIFIC_HEAT
STANDARD_VOLUME
STD_DENSITY
STDFLOWRATE/PRESSURE
SURFACE_TENSION
TEMPERATURE
K F
TEMPERATURE/TIME
0.555556 0.5556
C/s R/s K/s C R K F W/m2-C W/m2-K Btu/ft2-h-F cal/m2-h-C W/m-K W/m-C Btu/ft-h-R cal/m-h-K 1/C 1/R 1/K 1/F s M h d 1/rpm Nm ft-lb m/s ft/s m/h ft/h MILES/h m3/kg ft3/lb cm3/g in3/lb m3/mol ft3/lbmol cm3/mol L/mol m3/R ft3/R m3 ft3 cm3 L USgal bbl
TEMPERATURE_DIFFERENCE
0.555556 0.555556
THERMAL_CONDUCTANCE
5.678 0.001163
THERMAL_CONDUCTIVITY
1.731 0.001163 1.8 1.8 60 3600 86400 60 1.35582 0.3048 0.0002778 8.467e-05 0.447 0.06243 0.001 3.613e-05 6.243e-05 1e-06 0.001 0.02832 0.02832 1e-06 0.001 0.003786 0.158987
THERMAL_EXPANSION
TIME
TORQUE
VELOCITY
VOLUME/MASS
VOLUME/MOL
VOLUME/REVOLUTION
WAX_VOLUME
Corrosion Variables
Description ( See also: Variables)
Corrosion variables can only be used when the CORROSION keyword is given.
Use as
Volume Variables
Name
Units
Definition
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
COBICARB CONDRATE CORR1 CORR2 CORR3 CORRW1 CORRW2 CORRW3 GLYCOL INHIB IONIC PCO2 PH1 PH2 PH3 SOLFE
Bicarbonate concentration (Molar) Conden.rate in pipe upper half Corrosion rate Corrosion rate Corrosion rate Corr. rate, full water wet. Corr. rate, full water wet. Corr. rate, full water wet. Glycol concentration Inhibitor efficiency Ionic strength concentration (Molar) Partial pressure of CO2 pH for model 1 pH for model 2 pH for model 3 Saturated iron concentration in PPM
PA
Drilling Variables
Description ( See also: Variables)
Drilling variables can only be used when DRILLING=ON in the OPTIONS keyword.
Name
Units
Definition
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
Volume Variables
DRLFROGSTD GDOMUD GDPH2O GDPHC GDWMUD GGGMUD GGOMUD GGPH2O GGPHC GGWMUD GLOMUD GLPH2O GLPHC GLTPH2O GLTPHC GLWMUD GTOMUD GTPH2O GTPHC GTWMUD
KG/M3 KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S
Flowing standard gas density Mass flow rate of oil-based mud in droplet Mass flow rate of produced water in droplet Mass flow rate of produced hc in droplet Mass flow rate of water-based mud in droplet Mass flow rate of gas-based mud Mass flow rate of oil-based mud in gas phase Mass flow rate of produced water in gas phase Mass flow rate of produced hc in gas phase Mass flow rate of water-based mud in gas phase Mass flow rate of oil-based mud in film Mass flow rate of produced water in film Mass flow rate of produced hc in film Mass flow rate of produced water in film and droplets Mass flow rate of produced hydrocarbons in film and droplets Mass flow rate of water-based mud in film Total mass flow rate of oil-based mud Total mass flow rate of produced water Total mass flow rate of produced hc Total mass flow rate of water-based mud
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
MDOMUD MDPH2O MDPHC MDWMUD MFAMUD MFGMUD MFOMUD MFPH2O MFPHC MFWMUD MGGMUD MGOMUD
Specific mass of oil-based mud in droplet Specific mass of produced water in droplet Specific mass of produced hc in droplet Specific mass of water-based mud in droplet Mass fraction of all muds in total mass Mass fraction of gas-based mud in total mass Mass fraction of oil-based mud in total mass Mass fraction of produced water in total mass Mass fraction of produced hc in total mass Mass fraction of water-based mud in total mass Specific mass of gas-based mud Specific mass of oil-based mud in gas phase
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
MGPH2O MGPHC MGWMUD MLOMUD MLPH2O MLPHC MLWMUD MTAMUD MTOMUD MTPH2O MTPHC MTWMUD
KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3
Specific mass of produced water in gas phase Specific mass of produced hc in gas phase Specific mass of water-based mud in gas phase Specific mass of oil-based mud in film Specific mass of produced water in film Specific mass of produced hc in film Specific mass of water-based mud in film Specific mass of all muds Specific mass of oil-based mud Specific mass of produced water Specific mass of produced hc Specific mass of water-based mud
Global Variables
Description ( See also: Variables)
Name
Units
Definition
TP/C/GTP GTP/GO GTP/GO TP/C/GTP GTP/GO GTP/GO GTP/GO GTP/GO TP/C/GTP GTP/GO GTP/GO GTP/GO GTP/GO GTP/GO GTP/GO GTP/GO GTP/GO GTP/GO
ABSMASSERR HT HTCRIT HTCRITSEC NINTGR REDEL REERR RELGT RELMASSERR RETOT RETOT0 RMDEL RMERR RMLGT RMOUT RMTOT RMTOT0 VOLGBL
KG S
J J J KG KG KG KG -
Absolute mass error Time step The current criterion used to limit the time step Section causing time step limitation Number of time steps Relative changes of energy from start Accumulated energy balance error Total amount of energy Relative mass error Total amount of energy time integrated Initial total amount of energy Relative changes of mass from start Accumulated mass balance error Total amount of mass Cumulative mass release pipeline exit Total amount of mass time integrated Initial total amount of mass Global max volume error since last write
Name
Units
Definition
TP/C/GTP
DHCOOL
Name
Units
Definition
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
Boundary Variables
BEHYD CPHYD GASRATE HHYD HYDFRAC HYDMASS HYDPT HYDTM HYKPLIST NPARTICLE PSIHYD SAREA VISRATIO
Hydrate volume fraction Specific heat of hydrate phase Hydrate gas consumption rate Hydrate enthalpy Hydrate volume fraction in slurry Specific hydrate mass Hydrate formation pressure Hydrate formation temperature CSMHYK parameter Number of hydrate monomer particles Hydrate formation rate per unit volume Hydrate formation area per per unit volume Hydrate slurry viscosity ratio
KG/M3-S 1/M -
Hydrate mass flow Shear rate used for hydrate kinetic model Hydrate slurry velocity Hydrate mass flux
KG PA M C M M3
Hydrate mass in branch Current maximum difference between section and hydrate pressure Current distance where section and hydrate pressure differs most Current maximum difference between hydrate and section temperature Current distance where section and hydrate temperature differs most Hydrate volume in branch
Inhibitor Variables
Description ( See also: Variables)
Inhibitor variables can only be used when COMPOSITIONAL key in the OPTIONS keyword is MEG, MEOH or ETOH.
Name
Units
Definition
TP/C/GTP
INHIBMASS
KG
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.
Name
Units
Definition
TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP
ACGLK ACGLKEX ACHLLK ACHLLKEX ACMLK ACQGLKEX ACQOLKEX ACQWLKEX ACWTLK ACWTLKEX DPPROD GGLEAK GGLKEX GLHLLK GLLEAK GLLKEX GLVTEMP GLWTLK GOLKEX GTLEAK GWLKEX HLEAK LMLEAK PTLEAK PTLKUP QGLKEX QGSTLK QLSTLK QOLKEX QOSTLK QTLKEX QWLKEX QWSTLK TLEAEX TLEAK WLLEAK
KG KG KG KG KG M3 M3 M3 KG KG PA KG/S KG/S KG/S KG/S KG/S C KG/S KG/S KG/S KG/S W KG PA PA M3/S SM3/S SM3/S M3/S SM3/S M3/S M3/S SM3/S C C KG/S-M2
Leakage accumulated released gas mass upstream Leakage accumulated released gas mass downstream Leakage accumulated released oil mass upstream Leakage accumulated released oil mass downstream Leakage accumulated released mass Accumulated gas volume downstream of leakage Accumulated oil volume downstream of leakage Accumulated water volume downstream of leakage Leakage accumulated released water mass upstream Leakage accumulated released water mass downstream GLV change in opening production pressure Gas mass flow upstream of leakage Gas mass flow downstream of leakage Oil mass flow upstream of leakage Liquid mass flow upstream of leakage Liquid mass flow downstream of leakage GLV bellows temperature Water mass flow upstream of leakage Oil mass flow downstream of leakage Leakage total mass flow rate Water mass flow downstream of leakage Leakage enthalpy Leakage accumulated released liquid mass upstream Leakage downstream pressure Leak upstream pressure Gas volume flow rate downstream of leakage Leak gas volume flow at standard conditions Leak liquid volume flow at standard conditions Oil volume flow rate downstream of leakage Leak oil volume flow at standard conditions Total volume flow rate downstream of leakage Water volume flow rate downstream of leakage Leak water volume flow at standard conditions Fluid temperature downstream of leakage Fluid temperature upstream of leakage Leakage liquid mass flux
Node Variables
Description ( See also: Variables)
In addition to the NODE variables are many VOLUME variables available for the node
Name
Units
Definition
N N N N N N
Gas mass flow derivative w.r.t. pressure Oil mass flow derivative w.r.t. pressure Water mass flow derivative w.r.t. pressure Pressure derivative w.r.t. gas mass flow Pressure derivative w.r.t. oil mass flow Pressure derivative w.r.t. water mass flow
Pig Variables
Description ( See also: Variables)
All the variables that are available for Slug tracking can be used with Pig. However, not all of the variables are relevant. The pig variables with their equivalent slugtracking variables are listed below. Pig variable ALGL ALGR HOLHLL HOLHLR HOLWTL HOLWTR UPIG ZPIG Equivalent slugtracking variable ALTSB ALTSL BEHLTSB + GAHLTSB BEHLTSL BEWTTSB + GAWTTSB BEWTTSL UST ZTSL
When the key TRACKSLUG=ON, the PIG may be without slug, be a slug tail (pig to the left of the slug) or be a slug front (pig to the right of the slug) TRENDDATA PIG=PIG-1, VARIABLE=UST (same as UPIG) TRENDATA PIG=PIG-1, VARIABLE= BEHLTSB This should be used with caution. If the pig is a slug tail, BEHLTSB represents the holdup to the left of the pig. If the pig is a slug front, BEHLTSB represents the holdup to the right of the pig. TRENDDATA PIPE=PIPE-1, SECTION=5, VARIABLE=HOLEXP This works the same way as for slugtracking.
Name
Units
Definition
Void behind pig Void ahead pig Droplet fraction behind pig Droplet fraction ahead pig Oil holdup behind pig Oil holdup ahead pig Water holdup behind pig Water holdup ahead pig Flow regime behind pig (only valid without TRACKSLUG)
TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP
IDR LIQCDOWN LIQCUP PIGM PIGSTA REMDIST REMTIME_AVRG RPIG UPIG UPIG_AVRG ZPIG ZZPIG
M3 M3 KG M S M/S M/S M M
Flow regime ahead pig (only valid without TRACKSLUG) Liquid content between plug and trap position Liquid content between launch position and plug Pig mass Pig status: 0=Not pigging, 2=Pigging Remaining distance for pig Averaged remaining travel time for pig Pig leakage factor Pig velocity Averaged velocity for pig Pig position in branch Pig total distance travelled
Pump Variables
Description ( See also: Variables)
Name
Units
Definition
TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP
PUBYGG PUBYGL PUBYGT PUMPDP PUMPGG PUMPGL PUMPGT PUMPHEAT PUMPHP PUMPQB PUMPQG PUMPQL PUMPQT PUMPSPEED PUMPTH PUMPTT PUREGG PUREGL PUREGT PUREGW
KG/S KG/S KG/S PA KG/S KG/S KG/S W W M3/S M3/S M3/S M3/S RPM NM W KG/S KG/S KG/S KG/S
Gas mass flow through bypass line Liquid mass flow through bypass line Total mass flow through bypass line Pressure difference between pump outlet and inlet Gas mass flow through the pump Liquid mass flow through the pump Total mass flow through the pump Heat added to fluid in pump Hydraulic horsepower Pump back flow (volume) Gas volume flow through the pump Liquid volume flow through the pump Total volume flow through the pump Pump speed Pump hydraulic torque Total pump power Recycle gas mass flow Recycle liquid mass flow Total recycle mass flow Recycle water mass flow
Separator Variables
Description ( See also: Variables)
QGSTxD, QLSTxD, QOSTxD and QWSTxD (x = E, D, O and W) are given at standard conditions (60 oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is, mass transfer between the phases from in-situ to standard conditions is taken into account. The gas is not dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform the conversion. It should be noted that for simulations using PVT tables (not CompTrack), the variables for each drain is not accurate since the flashing is performed using the PVT tables for the total composition. Note: These variables are CPU demanding for Compositional Tracking simulations since a flash must be performed for each section and time they are plotted, and should be used with care. In addition to the SEPARATOR variables are many VOLUME variables available for the separator
Name
Units
Definition
SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP SEP
ACMDGS ACMDHL ACMDWT ACMGDGS ACMODHL ACMODWT ACMWDHL ACMWDWT ACVDGS ACVDHL ACVDWT ACVGDGS ACVODHL ACVODWT ACVWDHL ACVWDWT GGGDCONVST GNGDGS GNGDHL GNGDWT GNINDHL GNINDWT GNINGS GNINLHL GNINLWT GNODHL GNODWT GNWDHL GNWDWT GTDGS GTDHL GTDWT LIQLV OILLV PTBOTTUMN PTSEP QGSTGD QGSTOD QGSTWD QLSTGD QLSTOD QLSTWD QNGD QNOD QNWD QOSTGD QOSTOD QOSTWD QTDGS QTDHL QTDWT QWSTGD QWSTOD QWSTWD SEPEFF TMSEP WATLV
KG KG KG KG KG KG KG KG M3 M3 M3 M3 M3 M3 M3 M3 SM3/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S M M PA PA SM3/S SM3/S SM3/S SM3/S SM3/S SM3/S M3/S M3/S M3/S SM3/S SM3/S SM3/S M3/S M3/S M3/S SM3/S SM3/S SM3/S C M
Separator: accumulated gas mass flow gas outlet Separator: accumulated total oil mass drain Separator: accumulated total water mass drain Separator: accumulated gas mass flow gas outlet Separator: accumulated oil mass flow oil drain Separator: accumulated water mass flow oil drain Separator: accumulated oil mass flow water drain Separator: accumulated water mass flow water drain Separator: accumulated gas volume flow gas outlet Separator: accumulated total oil volume drain Separator: accumulated total water volume drain Separator: accumulated gas volume flow gas outlet Separator: accumulated oil volume flow oil drain Separator: accumulated water volume flow oil drain Separator: accumulated oil volume flow water drain Separator: accumulated water volume flow water drain Separator gas train gas mass rate divided by standard conditions density Separator: gas mass flow rate gas outlet Separator: oil mass flow rate gas outlet Separator: water mass flow rate gas outlet Separator: oil droplet mass flow rate inlet Separator: water droplet mass flow rate inlet Separator: gas mass flow rate inlet Separator: oil film mass flow rate inlet Separator: water film mass flow rate inlet Separator: oil mass flow rate oil drain Separator: water mass flow rate oil drain Separator: oil mass flow rate water drain Separator: water mass flow rate water drain Separator: total gas mass flow gas outlet Separator: total oil mass drain rate Separator: total water mass drain rate Separator liquid level Separator oil level Pressure at liquid outlets Separator pressure Separator gas train gas volume flow at standard conditions Separator oil train gas volume flow at standard conditions Separator water train gas volume flow at standard conditions Separator gas train liquid volume flow at standard conditions Separator oil train liquid volume flow at standard conditions Separator water train liquid volume flow at standard conditions Separator: flow rate at gas outlet Separator: oil drain flow rate Separator: water drain flow rate Separator gas train oil volume flow at standard conditions Separator oil train oil volume flow at standard conditions Separator water train oil volume flow at standard conditions Separator: total gas volume flow gas outlet Separator: total oil volume drain rate Separator: total water volume drain rate Separator gas train water volume flow at standard conditions Separator oil train water volume flow at standard conditions Separator water train water volume flow at standard conditions Separator efficiency Separator temperature Separator water level
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. Note: A table containing slug statistics will be written to the .out file for positions where LSLEXP has been defined in TREND, see Chapter 2.3.1.1. 4. Modified "standard" OLGA variables accounting for the effects of the slug tracking option at a specified section boundary: ALEXP, BEEXP, BEHLEXP, BEWTEXP, GAEXP, GAHLEXP, GAWTEXP, HOLEXP, HOLHLEXP, HOLWTEXP, UGEXP, ULEXP, ULHLEXP, ULWTEXP, UDEXP, UDHLEXP, UDWTEXP
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
Name
Units
Definition
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
ALEXP BEEXP BEHLEXP BEWTEXP GAEXP GAHLEXP GAWTEXP HOLEXP HOLHLEXP HOLWTEXP
Void fraction in slug (no slug: AL) Liquid film fraction in slug (no slug: BE) Oil film fraction in slug (no slug: BEHL) Water film fraction in slug (no slug: BEWT) Liquid droplet fraction in slug (no slug: GA) Oil droplet fraction in slug (no slug: GAHL) Water droplet fraction in slug (no slug: GAWT) Liquid holdup in slug (no slug: HOL) Oil holdup in slug (no slug: HOLHL) Water holdup in slug (no slug: HOLWT)
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
Slug Variables
LSBEXP LSLEXP QFEXP QTEXP SIDEXP SLTYPFEXP SLTYPTEXP UDEXP UDHLEXP UDWTEXP UGEXP ULEXP ULHLEXP ULWTEXP USFEXP USTEXP ZSFEXP ZSTEXP
M M M/S M/S
Bubble length (no slug: 0) Slug length (no slug: 0) Volume flux through slug front (no slug: 0) Volume flux through slug tail (no slug: 0) Slug identification (no slug: 0) Type of slug front Type of slug tail Droplet velocity in slug (no slug: UD) Oil droplet velocity in slug (no slug: UDHL) Water droplet velocity in slug (no slug: UDWT) Gas velocity in slug (no slug: UG) Liquid velocity in slug (no slug: UL) Oil film velocity in slug (no slug: ULHL) Water film velocity in slug (no slug: ULWT) Slug front velocity (no slug: 0) Slug tail velocity (no slug: 0) Slug front position (no slug: 0) Slug tail position (no slug: 0)
TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP
ALFSB ALFSL ALTSB ALTSL BEFSB BEFSL BEHLFSB BEHLFSL BEHLTSB BEHLTSL BETSB BETSL BEWTFSB BEWTFSL BEWTTSB BEWTTSL DPSB DPSBF DPSL DPSLF DPSLG GAFSB GAFSL GAHLFSB GAHLFSL GAHLTSB GAHLTSL GATSB GATSL GAWTFSB GAWTFSL GAWTTSB GAWTTSL HOLFSB HOLFSL HOLHLFSB HOLHLFSL HOLHLTSB HOlHLTSL HOLTSB HOlTSL HOLWTFSB HOLWTFSL HOLWTTSB HOlWTTSL JSLF JSLT LSB LSL
Void fraction ahead of slug front Void fraction behind slug front Void fraction behind slug tail Void fraction ahead of slug tail Liquid film fraction ahead of slug front Liquid film fraction behind slug front Oil film fraction ahead of slug front Oil film fraction behind slug front Oil film fraction behind slug tail Oil film fraction ahead of slug tail Liquid film fraction behind slug tail Liquid film fraction ahead of slug tail Water film fraction ahead of slug front Water film fraction behind slug front Water film fraction behind slug tail Water film fraction ahead of slug tail Total pressure gradient in slug bubble Frictional pressure gradient in slug bubble Total pressure gradient in liquid slug Frictional pressure gradient in liquid slug Gravitational pressure gradient in liquid slug Droplet fraction ahead of slug front Droplet fraction behind of slug front Oil droplet fraction ahead of slug front Oil droplet fraction behind of slug front Oil droplet fraction behind slug tail Oil droplet fraction ahead slug tail Droplet fraction behind slug tail Droplet fraction ahead slug tail Water droplet fraction ahead of slug front Water droplet fraction behind of slug front Water droplet fraction behind slug tail Water droplet fraction ahead slug tail Liquid holdup ahead of slug front Liquid holdup behind slug front Oil holdup ahead of slug front Oil holdup behind slug front Oil holdup behind slug tail Oil holdup ahead of slug tail Liquid holdup behind slug tail Liquid holdup ahead of slug tail Water holdup ahead of slug front Water holdup behind slug front Water holdup behind slug tail Water holdup ahead of slug tail Section number of slug front Section number of slug tail Slug bubble length Slug length
M M
TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP TP
Global Variables
PTJF PTJT SID SLTYPF SLTYPT SLUQF SLUQT UDFSB UDFSL UDHLFSB UDHLFSL UDHLTSB UDHLTSL UDTSB UDTSL UDWTFSB UDWTFSL UDWTTSB UDWTTSL UGFSB UGFSL UGTSB UGTSL ULFSB ULFSL ULHLFSB ULHLFSL ULHLTSB ULHLTSL ULTSB ULTSL ULWTFSB ULWTFSL ULWTTSB ULWTTSL USF UST ZFSL ZTSL
PA PA
Pressure at slug front Pressure at slug tail Slug id Type of slug front Type of slug tail Volume flux throgh slug front Volume flux throgh slug tail Droplet velocity ahead of slug front Droplet velocity behind slug front Oil droplet velocity ahead of slug front Oil droplet velocity behind slug front Oil droplet velocity behind slug tail Oil droplet velocity ahead of slug tail Droplet velocity behind slug tail Droplet velocity ahead of slug tail Water droplet velocity ahead of slug front Water droplet velocity behind slug front Water droplet velocity behind slug tail Water droplet velocity ahead of slug tail Gas velocity ahead of slug front Gas velocity behind slug front Gas velocity behind slug tail Gas velocity ahead of slug tail Liquid velocity ahead of slug front Liquid velocity behind slug front Oil velocity ahead of slug front Oil velocity behind slug front Oil velocity behind slug tail Oil velocity ahead of slug tail Liquid velocity behind slug tail Liquid velocity ahead of slug tail Water velocity ahead of slug front Water velocity behind slug front Water velocity behind slug tail Water velocity ahead of slug tail Slug front velocity Slug tail velocity Slug front position Slug tail position
M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M/S M M
GTP/GO GTP/GO
NSLUG SLUPRO
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.
Name
Units
Definition
Gas mass flow derivative w.r.t. pressure Oil mass flow derivative w.r.t. pressure Water mass flow derivative w.r.t. pressure Pressure derivative w.r.t. gas mass flow
TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP
DPDGLTHLS DPDGLTWTS GGSOUR GLHLMA GLSOUR GLWTMA GTSOUR HSOURC PTSOUR QGSTSOUR QLSTSOUR QOSTSOUR QWSTSOUR TMSOUR TSOUR USGSOU
Pa-s/kg Pa-s/kg KG/S KG/S KG/S KG/S KG/S W PA SM3/S SM3/S SM3/S SM3/S C C M/S
Pressure derivative w.r.t. oil mass flow Pressure derivative w.r.t. water mass flow Source gas mass rate Source oil mass rate Source liquid mass rate Source water mass rate Source mass rate Source enthalpy Valve-source pressure Source gas volume flow at standard conditions Source liquid volume flow at standard conditions Source oil volume flow at standard conditions Source water volume flow at standard conditions Valve-source temperature Source temperature Source superf. gas velocity
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.
Name
Units
Definition
PA PA C C
Saturation pressure at fluid temperature Partial pressure of vapor Saturation temperature at system pressure Vapor temperature
TracerTracking Variables
Description ( See also: Variables)
Tracer tracking variables can only be used when TRACERTRACKING=ON in the OPTIONS keyword.
Name
Units
Definition
KG/S KG S S S
Conc. wrt. oil carrier phase of tracer feed Conc. wrt. water carrier phase of tracer feed Total mass flow rate of tracer feed Mass of tracer feed Droplet residence time of tracer feed Film residence time of tracer feed Residence time of tracer feed
Specific droplet mass of tracer feed Specific film mass of tracer feed Specific mass of tracer feed Average age of tracer feed Mass fraction wrt. oil carrier phase of tracer feed Mass fraction wrt. water carrier phase of tracer feed
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
Source Variables
AGEDTRACER AGEFTRACER AGETRACER CONCTRACEROIL CONCTRACERWATER GDHLTRACER GDTRACER GDWTTRACER GGTRACER GLHLTRACER GLTHLTRACER GLTRACER GLTTRACER GLTWTTRACER GLWTTRACER GTTRACER MDTRACER MGTRACER MLHLTRACER MLTHLTRACER MLTRACER MLTTRACER MLTWTTRACER MLWTTRACER MTRACER SMDTRACER SMGTRACER SMLHLTRACER SMLTHLTRACER SMLTRACER SMLTTRACER SMLTWTTRACER SMLWTTRACER SMTRACER XTRACEROIL XTRACERWATER
S S S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG/S KG KG KG KG KG KG KG KG KG KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 -
Droplet age of tracer age group Film age of tracer age group Age of tracer age group Conc.wrt. oil carrier phase of tracer age group Conc. wrt. water carrier phase of tracer age group Mass flow rate of oil in droplet field of tracer age group Droplet mass flow of tracer age group Mass flow rate of water in droplet field of tracer age group Gas mass flow of tracer age group Mass flow rate of oil in film of tracer age group Mass flow rate of oil of tracer age group Liquid bulk mass flow of tracer age group Total liquid mass flow of tracer age group Mass flow rate of water excluding vapour of tracer age group Mass flow rate of water in film of tracer age group Total mass flow rate of tracer for tracer age group Droplet mass of tracer age group Mass of gas of tracer age group Mass of oil in film of tracer age group Mass of oil of tracer age group Film mass of tracer age group Total liquid mass of tracer age group Mass of water in film of tracer age group Mass of water excluding vapour of tracer age group Mass of tracer age group Specific droplet mass of tracer age group Specific mass of gas of tracer age group Specific mass of oil in film of tracer age group Specific mass oil of of tracer age group Specific film mass of tracer age group Specific total liquid mass of tracer age group Specific mass of water in film of tracer age group Specific mass of water excluding vapour of tracer age group Specific mass of tracer age group Mass fraction wrt. oil carrier phase of tracer age group Mass fraction wrt. water carrier phase of tracer age group
TP/GTP
GSTRACER
KG/S
Valve Variables
Description ( See also: Variables)
Name
Units
Definition
M2 KG/S KG/S PA
Choke area Valve CV (0 for chokes) Critical mass flow rate Valve mass flow Valve critical flow: 0=subcrit, 1=crit Valve pressure
Critical temperature at throat Valve temperature Critical velocity at throat Valve velocity Valve sub-critical coefficient Valve flow area Subcritical pressure drop across valve Relative valve opening Critical mass flux at throat
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.
Name
Units
Definition
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C/N/SEP TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C/N/SEP TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C/N/SEP
ACCDPZA ACCDPZF ACCDPZG ACCLIQBR ACCOILBR ACCWATBR AL ANGLE BE BEHL BEHLCONT BEHLDISP BEWT BEWTCONT BEWTDISP CPG CPHL CPWT CVOL DIAM DPHYD DPZ DRGP DRHLDP DRWTDP DTHYD DTM GA GAHL GASMFR GAWT HDIAM HG HL HOL HOLHL HOLWT HTK HTKO IDIAM INCL INHIBMFR MACH MD MDHL
PA PA PA M3 M3 M3 -
Integrated additional pressure drop along branch Integrated frictional pressure drop along branch Integrated gravitational pressure drop along branch Accumulated liquid volume along branch Accumulated oil volume along branch Accumulated water volume along branch Void (gas volume fraction) Pipe angle Liquid film volume fraction Oil film volume fraction Oil continuous fraction Oil dispersed in water fraction Water film volume fraction Water continuous fraction Water dispersed in oil fraction Specific heat of gas phase Specific heat of oil phase Specific heat of water phase volume error control factor Pipe diameter Difference between section and hydrate pressure Space derivative of pressure Pressure derivative of gas density Pressure derivative of oil density Pressure derivative of water density Difference between hydrate and section temperature Time derivative of temperature Liquid droplet volume fraction Oil droplet volume fraction Gas mass fraction relative to the mass from all phases Water droplet volume fraction Hydraulic diameter Enthalpy gas Enthalpy liquid Holdup (liquid volume fraction) Oil volume fraction Water volume fraction Heat transfer coefficient of inner wall Ambient heat transfer coefficient Inner diameter Inclination from horizontal Inhibitor mass fraction in water Mach number Specific mass droplet Specific mass of oil droplets
J/KG-C J/KG-C J/KG-C M PA PA/M KG/M-N S2/M2 S2/M2 C C/S M J/KG J/KG W/M2-C W/M2-C M DEGREE KG/M3 KG/M3
TP/PP/C/N/SEP TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C/N/SEP TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
MDWT MG MHLCONT MHLDISP ML MLHL MLT MLTHL MLTWT MLWT MWTCONT MWTDISP OILMFR PSI PSIHL PSIWT PT PTMAX PTMIN Q2 QM ROG ROHL ROL ROWT RS RSW SECLENGTH SEG SEL SIG SSP TCONG TCONHL TCONWT TINHIBMFR TM TMMAX TMMIN TU TW TWATMFR TWS TWSO UHLDISP UWTDISP VISG VISHL VISHLEFF VISHLTAB VISL VISWT VISWTEFF VISWTTAB VOL WACBEWA WACWA WALLROUGH WATMFR WC
KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3 KG/M3-S KG/M3-S KG/M3-S PA PA PA W/M2-C W/M KG/M3 KG/M3 KG/M3 KG/M3 M J/KG-K J/KG-K N/M M/S W/M-K W/M-K W/M-K C C C C C C C M/S M/S N-S/M2 N-S/M2 N-S/M2 N-S/M2 N-S/M2 N-S/M2 N-S/M2 N-S/M2 -
Specific mass of water droplets Specific mass gas Specific oil continuous mass Specific oil dispersed in water mass Specific mass liquid Specific mass of oil in film Total liquid mass Specific mass oil Specific mass water Specific mass of water in film Specific water continuous mass Specific water dispersed in oil mass Oil mass fraction relative to the mass from all phases Mass rate of flashing to gas phase Mass rate of flashing to oil phase Mass rate of flashing to water phase Pressure Maximum pressure Minimum pressure Overall heat transfer coefficient Heat loss per unit length from pipe wall to fluid Density of gas Oil density Density of liquid Water density Gas mass fraction relative to hydrocarbon liquid and gas mass; (MG/ (MG+MLTHL))from PVT table Mass fraction of water vapour in gas Section Length Gas entropy Liquid entropy Surface tension Speed of sound in fluid Thermal conductivity of gas phase Thermal conductivity of oil phase Thermal conductivity of water phase Total inhibitor mass fraction in water+ vapor Fluid temperature Maximum Fluid temperature Minimum Fluid temperature Ambient temperature Temperature in center of gravity of wall (-100 C for non-existing layers) Total water mass fraction Inner wall surface temperature Outer wall surface temperature Oil dispersed in water velocity Water dispersed in oil velocity Gas viscosity Oil viscosity including wax/meg/mud effects Effective oil viscosity including dispersion effects Oil viscosity from fluid tables Liquid viscosity (no water-slip) Water viscosity including wax/meg/mud effects Effective water viscosity including dispersion effects Water viscosity from fluid tables Volume error Volume fraction of free water to total liquid film Volume fraction of free water to total water in film Pipe wall roughness Water mass fraction relative to the mass from all phases Water cut (In-situ)
Waxdeposition Variables
Description ( See also: Variables)
Wax deposition variables can only be used when WAXDEPOSITION=ON in the OPTIONS keyword.
Name
Units
Definition
KG KG KG KG M3
Mass of dissolved wax in branch Mass of suspended wax in branch Total mass of wax in branch Wax deposit mass in branch Wax deposit volume in branch
KG KG KG/S KG/S
Accumulated dissolved wax mass flow Accumulated suspended wax mass flow Mass flow rate of wax dispersed in oil Mass flow rate of wax dissolved in oil
TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C TP/PP/C
BEWX DXWX GAWX LEWIS MWXDIP MWXDIS MWXWAL SCHMIDT TWSWX WAX_TCOND WAXAP WAXPOROSITY WXAVDC WXCDCDR WXCDIFFC WXCMCDB WXCMCDW WXDIFFC WXDR WXMPREC WXMTRW WXMTRWD WXMTRWS
Volume fraction of wax dispersed in oil film Thickness of wax layer deposited at wall Volume fraction of wax dispersed in oil droplet field Lewis number Mass of wax dispersed in oil Mass of wax dissolved in oil Specific wax mass at wall Schmidt number Inner wall surface temperature adjusted for wax layer Thermal conductivity of wax film, porosity included Wax appearance temperature Wax porosity (oil volume fraction in wax film) Molar average wax diffusion coefficient Concentration gradient of dissolved wax near wall Wax component diffusion coefficient Molar concentration of dissolved wax components in bulk Molar concentration of dissolved wax near wall Apparent wax diffusion coefficient Laminar boundary layer thickness Wax mass precipitation rate Net wax mass transport rate to wall (diffusi+ shear) Wax mass transport rate to wall due to diffusion Wax mass transport rate to wall due to shear
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.
Name
Units
Definition
M KG/S KG/S
Well source gas cone front Well source steady-state gas mass flow rate Well source gas mass flow rate
TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP TP/C/GTP
GHLWST GLHLWE GLTWST GLWELL GLWTWE GTWELL GWTWST HWELL OILFRT QGSTWELL QLSTWELL QOSTWELL QWSTWELL WATFRT
KG/S KG/S KG/S KG/S KG/S KG/S KG/S W M SM3/S SM3/S SM3/S SM3/S M
Well source steady-state oil mass flow rate Well source oil mass flow rate Well source steady-state liquid mass flow rate Well source liquid mass flow rate Well source water mass flow rate Well source mass flow rate Well source steady-state water mass flow rate Well source enthalpy Well source oil cone front Well gas volume flow at standard conditions Well liquid volume flow at standard conditions Well oil volume flow at standard conditions Well water volume flow at standard conditions Well source water cone front
See also
Fluid properties file Compressor data file Pump data Files Wax table file Hydrate curve definition file OLGA Rocx input file
G = inlet mass flow (kg/s) (kg/s) GSURGE = surge mass flow 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 IDENTF NCOMTA COMPID(I) Unit Definition
File identification (40 characters) (-) Number of compressors Compressor identification, compressor(I) (40 characters) Note! All characters after a blank in a character string are omitted. (I = 1, NCOMTA)
NTABWG(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.
13. 14. 15
Comment lines start with an !. If the temperature is above the cloud point temperature, oil properties should be used.
The wax file is generated in PVTSim. NOTE! The following requirements need to be fulfilled when using multiple fluids in networks: Same pseudo-components (number of components and lumping) for all fluids. All fluids in one wax data file. Procedure for generating PVT tables in PVTSIM: 1. 2. 3. 4. Add the inlet fluids as separate fluids. Use Fluids-> Same pseudos (Select the resulting fluids for inlets. Resulting fluids with same pseudos available at bottom of fluid table from database) Use Mix to mix r;same pseudos inlet fluids in proper ratios 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.
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.
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.
See also
The syntax of the keyword Table Structure Keyword PVTTABLE Examples
Table Structure
A table is defined through the keyword: PVTTABLE The structure of the fluid property table is as follows: For each of the tables PVTTABLE LABEL = fluid-1, etc For each of the pressure and temperature points PVTTABLE POINT = () End of pressure and temperature points End of tables The values of all parameters except POINT must be written in a single line. Fluid properties for each pressure/temperature point must subsequently be specified through the PVTTABLE POINT structure, repeated for each pressure/temperature point.
See also
Keyword PVTTABLE
Keyword PVTTABLE
Key LABEL PHASE EOS[1] Type Unit: ( ) str. sym str. Parameter set Default: [ ] [TWO] | THREE Description Name of the table. Two or three phase table Equation of state used in generating the pvt table. Optional. [STANDARD] | STANDARD: Both temperature
MESHTYPE
sym.
FREEPRES | FREETEMP
str.l.
r.l.
r.l. (kg/m3)
r.l. (g/mol)
r. (Pa) r. ( C) r. (Sm3/Sm3)
[ 1 ATM] [15.5 C]
GLR1
DEWTEMPERATURES
r.l. ( C)
NOPRES
i.l.
TEMPERATURE
r.l. ( C)
and pressure points are fixed independently FREEPRES: Temperature points are fixed first and the pressure points are specified for each of the individual temperature points. FREETEMP: Pressure points are fixed first and the temperature points are specified for each of the individual pressure points. List of names of the components in the composition. Optional. Mole fraction for each of the components in the composition. Optional. Density for each of the components in the composition. Set to 999 if not available. Optional. Molecular weight for each of the components in the composition. Optional. Pressure at standard conditions (1 atm) . Optional Temperature at standard conditions (15.5 oC). Optional. Gas/oil ratio at standard conditions. For two-phase flow, GOR is interpreted as gas/liquid ratio, i.e. it is ratio of gas volume fraction to the liquid volume fraction at standard conditions. For cases where there is no oil/liquid, set GOR = -999. Gas/liquid ratio at standard conditions. For cases where there is no liquid, set GLR = 999. Water cut standard conditions, for three-phase table only. Gas density at standard conditions. Oil density at standard conditions. Water density at standard conditions. Mass fraction of water component in the composition. Dewpoint pressures. The subkeys DEWPRESSURES and DEWTEMPERATURES are optional. Leave out these two subkeys if no dew point curve is found Dewpoint temperatures c orresponding to the dewpoint pressure given in keyword DEWPRESSURES. Bubble point pressures Bubble point temperatures corresponding to the bubble point pressures given in keyword BUBBLEPRESSURES The subkeys BUBBLEPRESSURE and BUBBLETEMPERATURE are optional. Leave out these two subkeys if no bubble point curve is found. Pressure at the critical point Temperature at the critical point. The subkeys CRITICALPRESSURE and CRITICALTEMPERATURE are optional. If the critical point is not found, either set the values of critical pressure and temperature to 999, or leave out these two subkeys. Number of pressure points for each of temperature points given in subkey TEMPERATURE. Only if MESHTYPE = FREEPRES Temperature points if
NOTEMP
i.l.
PRESSURE COLUMNS
r.l. (pa) sym.l. The default unit is given in parenthesis TM ( C) PT (Pa) RS (-)
MESHTYPE = FREEPRES or STANDARD Number of temperature points for each of pressure points given in subkey PRESSURE. Only if MESHTYPE = FREETEMP Pressure points if MESHTYPE = FREETEMP or STANDARD Specify orders and units of parameters for a table point.
Temperature Pressure Gas mass fraction in gas/oil mixture RSW (-) Water vapour mass fraction in 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 Description Derivative of oil density w.r.t pressure Derivative of oil density w.r.t temperature Water density.2 Derivative of water density w.r.t pressure.2 Derivative of water density w.r.t temperature.2 Gas thermal conductivity. Oil thermal conductivity. Water thermal conductivity. Gas thermal capacity. Oil thermal capacity. Water thermal capacity.2 Gas enthalpy. Oil enthalpy. Water enthalpy.2 Gas viscosity. Oil viscosity. Water viscosity.2
Key
Type Unit: ( )
Parameter set Default: [ ] DROHLDP (s2/m2) DROHLDT (kg/m3 C) ROWT (kg/m3) DROWTDP (s2/m2) DROWTDT (kg/m3 C) TCG (W/m C) TCHL (W/m C) TCWT (W/m C) CPG (J/kg C) CPHL (J/kg C) CPWT (J/kg C) HG (J/kg) HHL (J/kg) HWT (J/kg) VISG (Ns/m2) VISHL (Ns/m2) VISWT (Ns/m2) SEG (J/kg C) SEHL (J/kg C) SEWT (J/kg C) SIGGHL (N/m)
POINT
r.l.
Gas entropy. Oil entropy. Water entropy.2 Surface tension between gas and oil. SIGGWT (N/m) Surface tension between gas and water. 2 SIGHLWT Surface tension between oil and (N/m) water.2 Values of parameters, see note 1 and 2 below.
Note 1: The pressure and temperature values must be the same as specified in the keys PRESSURE and TEMPERATURE for mesh type STANDARD. Pressure must be the same as specified in the keys PRESSURE for mesh type FREETEMP. Temperature must be the same as specified in the keys TEMPERATURE for mesh type FREEPRES. Note 2: The order and the units must be the same as specified in the key COLUMNS. Note 3: The use of pressure and temperature dependant values in the complex fluid module is not yet implemented.
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,)
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.
[LC]
... ,LAB_NCOMP)
NTABP NTABT RSWTOTB (-) (-) (kg/kg) Number of pressure points in the table Number of temperature points in the table Total water mass fraction for the feed. Optionally, default value = 0 (Only used together with three-phase tables) Pressure step in the table Temperature step in the table Pressure values in the table, I=1,NTABP Temperature values in the table, J = 1, NTABT Bubble point pressures, J = 1, NTABT Dew point pressures, J = 1, NTABT For temperatures in the table which indicate single phase flow for the whole range of pressures (all points are outside the two-phase envelope for a specific temperature, see 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
TABTEX(L)
(-)
NB! For all tables below, J = 1, NTABT and I = 1, NTABP ROGTB(J,I) (kg/m3) Gas densities ROOTB(J,I) Oil densities (kg/m3) ROWTB(J,I) Water densities (kg/m3) DRGPTB(J,I) (s2/m2) Partial derivatives of gas densities with respect to pressure DROPTB(J,I) (s2/m2) Partial derivatives of oil densities with respect to
RSWTB(J,I) VSGTB(J,I) VSOTB(J,I) VSWTB(J,I) CPGTB(J,I) CPOTB(J,I) CPWTB(J,I) HGTB(J,I) HOTB(J,I) HWTB(J,I) TKGTB(J,I) TKOTB(J,I) TKWTB(J,I) SIGOGT(J,I) SIGWGT(J,I) SIGWOT(J,I) SGTB(J,I) SOTB(J,I) SWTB(J,I)
pressure Partial derivatives of water densities with respect to pressure. (kg/m3C) Partial derivatives of gas densities with respect to temperature (kg/m3C) Partial derivatives of oil densities with respect to temperature (kg/m3C) Partial derivatives of water densities with respect to temperature. (kg/kg) Gas mass fraction in gas and oil mixture; the gas mass divided by the gas and oil mass. All values in this table must be set to a constant (between 0 and 1) (for all points) in case of no interphase mass transfer. ( = 0 gives single phase liquid, =1 gives single phase gas). REMARK: The gas may also contain water vapour. (kg/kg) Water vapour mass fraction in the gas phase (s2/m2) (Ns/m2) (Ns/m2) (Ns/m2) (J/kgC) (J/kgC) (J/kgC) (J/kg) (J/kg) (J/kg) (W/mC) () (W/mC) (N/m) (N/m) (N/m) (J/kgC) (J/kgC) (J/kgC) Dynamic viscosities for gas Dynamic viscosities for oil Dynamic viscosities for water Gas heat capacities at constant pressure Oil heat capacities at constant pressure Water heat capacities at constant pressure Gas enthalpies Oil enthalpies Water enthalpies Gas thermal conductivities Oil thermal conductivities Water thermal conductivities Surface tension between gas and oil Surface tension between gas and water Surface tension between water and oil Gas specific entropy Oil specific entropy 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 DP DT PP(1) TT(1)
RSWTOTB
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.
The fluid property file contains a table of the power law exponent for the oil phase. The fluid property file contains a table of the power law exponent for the water phase. The fluid property file contains a table of yield stress for the oil phase. 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(:)
- head ratio
- flow ratio
- speed ratio - torque ratio where subscript R means rated value. Four sets of homologous curves are tabulated: 1. 2. 3. 4. Single phase head HS Two phase head HT Single phase torque THS Two phase torque THT
Each set of homologous curves consists of four curves, 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.
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 aI N - m2 / s; - (-); - rpm. Liquid kinematic viscosity Gas volume fraction Pump speed
The units can also be specified by users. The structure of the table is as shown in the example below. The reading of the input is based on keywords, but the sequence of the keywords must be as shown in the example. The structure of the table is: !************************************************************************* ! Pump type and label !************************************************************************* TYPE = DISPLACEMENT, LABEL = Label of the table ! !************************************************************************* ! First pump speed (1) !------------------------------------------------------------------------------------PUMPSPEED = N1 ! !************************************************************************* ! First suction pressure (2) !------------------------------------------------------------------------------------INPRESSURE = Pl,1 ! !************************************************************************* ! Lists of voidfractions and deltap for first pump speed and ! suction pressure. (3) !------------------------------------------------------------------------------------VOIDFRACTION = (aI,1, aI,2, , aI,J) ! DELTAP = (DP1, DP2, , DPK) ! !************************************************************************* ! First viscosity (4). ! ! For each viscosity back flow is listed as function of void! fraction and DP. Each BACKFLOW entry is for one ! DP and runs over all voidfractions. !------------------------------------------------------------------------------------VISCOSITY = nl,1 ! BACKFLOW = (Qb,1,1, Qb,1,2, , Qb,1,J) BACKFLOW = (Qb,2,1, Qb,2,2, , Qb,2,J) : : BACKFLOW = (Qb,K,1, Qb,K,2, , Qb,K,J) ! !************************************************************************* ! Second viscosity. !------------------------------------------------------------------------------------VISCOSITY = nl,2 : : ! !************************************************************************* ! (2)+(3)+(4) is repeated for each suction pressure ! associated with the first pump speed. ! Different values for voidfraction, deltap and viscosity can ! be used for each suction pressure. !------------------------------------------------------------------------------------INPRESSURE = Pl,2 ! : : ! !************************************************************************* ! (1)+(2)+(3)+(4) is repeated for each pump speed. ! Different values for suction pressure, voidfraction, deltap ! and viscosity can be used for each suction pressure. !------------------------------------------------------------------------------------PUMPSPEED = N2 ! : : !************************************************************************* ! End of the table !------------------------------------------------------------------------------------ENDTABLE ! NOTE! The number of pump speeds and suction pressures is limited to 5, while the number of voidfraction, deltap and viscosity entries is limited to 10.
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.
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.
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.
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.
Sample cases
The OLGA 6 installation includes a set of sample cases. These are located in the .\SPT Group\OLGA 6.2\Samples\OLGA 6 folder in the installation directory (by default this is either C:\Program Files or C:\Program Files (x86) depending on the Windows installation). All sample projects can also be started from the start menu (All Programs > SPT Group > OLGA 6.2 > OLGA 6 Samples). 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/WaterHC) Tracer Tracking FA-Models project: 2nd-order scheme Advanced Well
Corrosion Drilling Fluid Hydrate Kinetics Network Wateroptions Waxdeposition 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 Slugging project: Start-up slug (with and w/o compositional tracking) Hydrodynamic slugging (with and w/o compositional tracking)
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 2ndorder 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. 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: 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.
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 The mass flow is set to zero throughout the pipeline. C. 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 is placed at the b ranch inlet. C 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. Output: 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.
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 and an ambie nt heat transfer coefficient of 6.5 W/m2K is C 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. 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: 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.
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. 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 with set-point 0, which means that the built-in bypass line is closed. MANUALCONTROLLER: C-PUMP-V-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 The heat t ransfer coefficient on outer walls is set to C. 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. 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 The outlet pressure is held const ant at 39 bara and the temperature is 20 Two int ernal nodes are used to connect the bypass around the pump. C. C. Output: 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.
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 NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.
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.
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. 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: 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.
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. 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: 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.
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. 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 The heat t ransfer coefficient on outer walls is set to C. 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. 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 The outlet pressure is held const ant at 39 bara and the temperature is 20 Two int ernal nodes are used to connect the bypass around the pump. C. C. Output: 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.
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 at the bottom of the borehole to 20 at C C 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 Production and injection type is L INEAR. C. AINJ=APROD=0, BINJ=10-8 kg/s/Pa and BPROD=3.510-6 kg/s/Pa. FLOWPATH Output TRENDDATA: The mass fraction of mud is plotted. NODE: The outlet pressure held constant at 30 bara and the temperature is 4 C. Output: 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.
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 both in the pipeline and bundle lines. C 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. 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: 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.
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 NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.
Case Comments:
CaseDefinition: OPTIONS: The steam\waterHC 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 NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.
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 and outlet ambient temperature is 4 The code will C . do a vertical interpolation on ambient temperature along the tubing. In the flow line and riser, the ambient temperature is 4 The heat transfer coeffi cient on outer wall is C. 2K. The minimum heat transfer coefficient on inner wall is set to 10 W/m 2K. set to 500 W/m
FLOWPATH Boundary&InitialConditions WELL: The reservoir pressure is 200 bara and reservoir temperature 50 Production and injection type is L INEAR. C. AINJ=APROD=0, BINJ=10-7 kg/s/Pa and BPROD=2.510-6 kg/s/Pa. FLOWPATH FA-models HYDRATECHECK: Hydrate checking is activated in all flow-paths. FLOWPATH FA-models HYDRATEKINETICS: The hydrate kinetics model is applied for all flow-paths. FLOWPATH Output TRENDDATA: Hydrate variables are plotted. FLOWPATH Output PROFILEDATA: Hydrate variables are plotted. NODE: The outlet pressure held constant at 50 bara and the temperature is 20 C. Output: 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.
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. 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: 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.
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. NODE: A closed node is placed at the pipe inlet. A constant pressure is applied at the outlet. Output: 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.
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. 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: 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.
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, whcih 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. NODE: The inlet node is closed. The outlet boundary condition is a constant pressure of 55 bara. Output: 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.
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. 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: 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.
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. NODE: The case has three nodes, all of type pressure. The inlet boundary condition is a constant pressure of 108 bara and temperature 40 The mass fraction of free C. 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:
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 at the bottom of the borehole to 20 at C C 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 Production and injection type is L INEAR. C. 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. NODE: The outlet pressure held constant at 60 bara and the temperature is 20 C. Output: 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.
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. 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: 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.
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 preprocessor. FlowComponent: FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient temperature is 20 The heat transfer coefficient on outer wall is set to 500 W/m2K. C. 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 dependeds 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. 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: 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.
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. 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. 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.
Figure 1 Schematic illustration of the 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 The negative value of the gas mass fraction ind icates that the C. 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. NODE: The pipe is closed at both ends. Output: OUTPUT: OLGA variables are printed to the output file every 10 seconds.
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 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: 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.
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 and outlet ambient temperature is 4 The code will C . do a vertical interpolation on ambient temperature along the tubing. In the flow line and riser, the ambient temperature is 4 The heat transfer coeffi cient on outer wall is C. 2K. The minimum heat transfer coefficient on inner wall is set to 10 W/m 2K. set to 500 W/m FLOWPATH Boundary&InitialConditions WELL: The reservoir pressure is 200 bara and reservoir temperature 50 Production and injection type is L INEAR. C. AINJ=APROD=0, BINJ=10-7 kg/s/Pa and BPROD=2.510-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 flow-paths. FLOWPATH Output TRENDDATA: Tracer variables are plotted. FLOWPATH Output PROFILEDATA: Tracer variables are plotted. NODE: The outlet pressure held constant at 30 bara and the temperature is 20 C. Output:
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.
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. 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: 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.
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.
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: 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.
Troubleshooting
Below is a list of problems with some suggestion of what has gone wrong and/or how to solve the problem. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Simulation state is not runnable Simulation state is runnable, but the simulation will not run Geometry Editor problems Problem showing the graphics Update Graphical driver GUI uses a lot of Memory Plots - no units are shown What to do when the layout gets screwed up License issues Inp files associated with GUI Mouse pointer changed to an unrecognize symbol
License issues
Specifying the OLGA license file: 1. Start the License Handler from the start menu -> All programs -> SPT Group-> License Handler. 2. In the license handler select the type of license you use. Then click 'Configure' 3a) If you are using a local license server, specify the location of the license folder. This folder should contain your license file(s). As long as you have the .lic extension on your license file you can have several license files.NB! Make sure you do not have any invalid licenses in the license folder (e.g. expired licenses) 3b) If you are using a network license server, specify the location of the license server on the format <port>@<host>. Please note that OLGA licenses by default does not specify a port number (previously they used port 7570). I.e. the location of the license server will normally be on the format @<host> (e.g.: @myserver). 3c) If you are using a demo license file, specify the full path to the license file, including the name of the license file. 4. If the local license server status is green (up and running), you press close. However, if it is not, you can try to select the Restart license server and/or Uninstall license server followed by Install license server (for local license servers only). 5. If you still cannot get the local license server status green (up and running), please contact olgasupport at olgasupport@sptgroup.com.
Specifying the PVTsim license file: 1. Start the license Manager from the start menu -> All programs -> Calsep -> License Manager -> Calsep License Manager. 2. Choose FlexLm and press OK. 3. Next time you start PVTsim you will be asked to give the path to the license file.