PythonToolkit User Guide
PythonToolkit User Guide
PythonToolkit User Guide
Copyright © 2017 Schlumberger. All rights reserved. This work contains the confidential and proprietary trade secrets
of Schlumberger and may not be copied or stored in an information retrieval system, transferred, used, distributed,
translated or retransmitted in any form or by any means, electronic or mechanical, in whole or in part, without the
express written permission of the copyright owner.
Trademarks Service Marks
Schlumberger, the Schlumberger logotype, and other words or symbols used to identify the products and services
described herein are either trademarks, trade names or service marks of Schlumberger and its licensors, or are the
property of their respective owners. These marks may not be copied, imitated or used, in whole or in part, without
the express prior written permission of Schlumberger. In addition, covers, page headers, custom graphics, icons, and
other design elements may be service marks, trademarks, and/or trade dress of Schlumberger, and may not be copied,
imitated, or used, in whole or in part, without the express prior written permission of Schlumberger. Other company,
product, and service names are the properties of their respective owners.
An asterisk (*) is used throughout this document to designate other marks of Schlumberger.
Security Notice
The software described herein is configured to operate with at least the minimum specifications set out by Schlum-
berger. You are advised that such minimum specifications are merely recommendations and not intended to be limiting
to configurations that may be used to operate the software. Similarly, you are advised that the software should be op-
erated in a secure environment whether such software is operated across a network, on a single system and/or on a
plurality of systems. It is up to you to configure and maintain your networks and/or system(s) in a secure manner. If
you have further questions as to recommendations regarding recommended specifications or security, please feel free
to contact your local Schlumberger representative.
The PIPESIM Python Toolkit includes Enthought Canopy, a Python development environment. You may also develop
your own python code and run them on your local machine using the same Python environment. However, as a
precaution, avoid writing any distributed applications accessible to external machines, or running any Python code
from unknown sources to avoid any potential security risks.
PIPESIM Python Toolkit Documentation
Release 2017.2
CONTENTS:
1 Overview 1
1.1 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 Enthought Canopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Upgrading from OpenLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.6 Toolkit Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.7 Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Introduction 3
2.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Model Contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Model Context Nuances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Model Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Quick Start 10
4.1 Open, Save and Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Query the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3 Read and Write Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 Read and Write Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.5 Add and Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.6 Copy, Convert, and Rename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.7 Connect and Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.8 Manipulate Fluids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.9 Import and Export Wells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.10 Catalog and GIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.11 Simulation Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.12 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.13 Units of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.14 Data Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.15 Batch Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.16 Utility Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6 Quick Reference 29
6.1 Model Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.2 About Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
i
6.3 Simulation Settings Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.4 Fluids Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.5 Compositional Fluid Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.6 Simulation Tasks Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.7 Simulation Result Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.8 Nodal Analysis Result Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.9 Definitions Sub-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7 Important Notes 35
7.1 Component Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.2 Component Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3 Nodal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9 Example Code 44
9.1 Example Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.2 Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10 Troubleshooting 48
10.1 Python Toolkit fails to install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.2 PIPESIM Tab does not appear in Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.3 Excel starts with error after machine reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.4 Integrated Excel script fails to run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11 Known Issues 54
11.1 Boundary Simplification Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
12 Reference Documentation 55
12.1 sixgill package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
12.2 API Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
ii
CHAPTER
ONE
OVERVIEW
The PIPESIM Python Toolkit is a software development kit (SDK) for working with PIPESIM. It uses the Python
programming language, one of the most common scripting languages. The SDK provides classes and methods for
working with PIPESIM models so that typical PIPESIM tasks can be scripted and automated. It also includes inte-
gration with Microsoft Excel in a VBA style environment so that data can be shared easily between workbooks and
PIPESIM models. With respect to PIPESIM Classic, PIPESIM Python Toolkit is the equivalent to the OpenLink
programming interface.
1.1 Functionality
1.2 Prerequisites
1.3 Python
Python is an open source scripting language available from several different distributions and well documented both
online and in literature. It has many third party extensions, referred to as modules, which can be downloaded and
1
PIPESIM Python Toolkit Documentation, Release 2017.2
installed. It is one of the top ten languages in use around the world with active development and maintenance. The
open source nature and large library of third party extensions makes it popular among the scientific community.
The PIPESIM Python Toolkit is included as part of Canopy, the Python distribution from Enthought. You must install
the specific Canopy release from Schlumberger as included in the PIPESIM installer. It is not possible to have multiple
installations of Canopy on the same computer.
You may manually install the file into other Python packages such as Continuum Anaconda or CPython.
The PIPESIM Python Toolkit is the equivalent to the PIPESIM Classic OpenLink interface. It was designed and
developed from the ground up as part of PIPESIM and is not a reimplementation of the former interface. While both
aim to provide programmatic ways of interacting with PIPESIM, they differ substantially in their methodology. As
such there is no direct comparison between their respective classes and methods, though some key points are:
• OpenLink uses an object orientated representation of PIPESIM where model components and operations are
operated on. Updating a value involves manipulating the objects and their properties. Data is always passed
between the model and Excel as single values.
• PIPESIM Python Toolkit is an input/output (I/O) interface that sends and receives information about the model.
Updating a value involves calling a function to set the component parameter to a value. Data is passed between
the model and Excel as single values and as DataFrames. The toolkit may be used independently of Excel, for
example, as scripts run from the desktop.
The first release of the PIPESIM Python Toolkit is with PIPESIM 2017.1. Every aspect has been developed from
scratch, including the underlying application programming interface (API), modules, classes and methods. While
validated in testing, feedback is key in driving future development. Changes to the way the interface works may be
implemented based on the real world usage of the SDK. These changes will occur in a two year cycle starting with
PIPESIM 2018.
1.7 Licensing
The PIPESIM Python Toolkit requires the PIPESIM Development SDK license option. Additional third party software
is included in the PIPESIM Python Toolkit and is covered under this license. This software includes Canopy, PyXLL
and EnPyXLL, as distributed by Enthought, Inc.
TWO
INTRODUCTION
The PIPESIM Python Toolkit is a collection of Schlumberger proprietary and publicly available Python modules. It
is deployed through Canopy, a Python distribution from Enthought, a third party distributor. Canopy includes an
integrated development environment (IDE) for Python and bundles together many data and scientific Python modules,
such as Numpy, SciPy and pandas. You can easily download additional Python modules using the Canopy Package
Manager.
This User Guide documents the usage of the PIPESIM Python Toolkit. It includes reference documentation for the
Schlumberger proprietary modules with introductions to the publicly available modules. The publicly available Python
modules are well documented both online and in literature. Links to existing Python documentation are included where
applicable.
The key Python modules included in the PIPESIM Python Toolkit are:
• Sixgill (Proprietary): The primary Python programming classes and functions provided by the PIPESIM Python
Toolkit.
• Manta (Proprietary): A low level Python interface with PIPESIM. Reference documentation is included but you
are not expected to typically use this module.
• PyXLL: (Public): Pronounced ‘pixel’, it is a Python module for interfacing with Excel.
• xlwings: (Public): A Python module for interfacing with Excel.
• EnPyXLL: (Public): An extension to the PyXLL library.
• pandas: (Public): A Python module for working with data sets and arrays.
The Canopy IDE is provided as part of the installation and you can use any editor to develop scripts. For example, you
may choose to edit scripts using Atom, Visual Studio, Visual Studio Code, PyCharm, NotePad or NotePad++.
You can run the PIPESIM Python Toolkit scripts from the desktop or you can embed them in Excel workbooks. If
Excel is installed, a tab is added to the Toolkit ribbon during the installation process. The functionality provided by the
ribbon is designed to replicate the VBA features and includes tools to edit, import/export, execute and assign scripts
to command buttons.
2.1 Components
The PIPESIM Python Toolkit runs independent of the PIPESIM user interface (UI). It opens a PIPESIM model,
referred to as a session, and starts interacting with the model. It is not possible to edit a model through both the
PIPESIM UI and PIPESIM Python Toolkit simultaneously. The PIPESIM Python Toolkit can, however, open any
number of sessions and work on many models at the same time.
The underlying technology for interacting with the PIPESIM model is the web API. This is a RESTful interface
that allows third party vendors to integrate with PIPESIM. The PIPESIM Python Toolkit is a software development
3
PIPESIM Python Toolkit Documentation, Release 2017.2
kit (SDK) and you use it to interact with the PIPESIM web API. The web API implementation is proprietary to
Schlumberger and is documented separately.
A PIPESIM Python Toolkit session can be considered an input/output (I/O) communications channel with a PIPESIM
model. You can query the model for its contents and parameters; add, delete and modify the model components; and
perform tasks on the model. The Sixgill module of the PIPESIM Python Toolkit is designed to easily perform these
actions with a similar user perspective to the PIPESIM UI. The Manta module is a direct reflection of the underlying
PIPESIM domain model and is more complex but provides more control.
The Sixgill module is implemented as a stable interface for working with PIPESIM. As PIPESIM evolves with new
features and architecture improvements, the Sixgill module adapts and maintains a constant programming interface.
This ensures that scripts are compatible across PIPESIM releases.
The PIPESIM Python Toolkit has been developed around the concept of querying the model and performing actions
on the data. The key points to this are:
• Context: This can be considered the area of interest when performing the query. It could be an area of the
model (for example, Well-01), a set of similar components (for example, choke valves), or variations thereof
(for example, all the choke valves on wells).
• Parameter: This is a property of a model component within the context. You do not need to consider which
PIPESIM object the property belongs to, just that it is presented as part of the context. For example, you can
search for bean sizes on wells, and the toolkit will query for chokes on wells, knowing that bean size is a choke
valve property.
• Value: This is the value of the parameter. It could be a single value (for example float), or a table (for example,
array).
The context method was designed to present the complex PIPESIM domain model in a simplified method similar to
the user interface. In particular, there are domain aspects that exist in the data model but not in the UI which can
be both confusing and add complexity. Through the context method, you do not need to consider on what object a
parameter resides. You only need to present a query that identifies the parameter.
Context queries are built up using the model components. For example:
# Find all the wells
Well=ALL
Keyword Argument is the typical entry method where you enter the component type along with the search value
(for example, Well=’Well01’). You can chain keyword arguments together and enter several at once (for example,
Well=’Well01’, Completion=ALL).
find(Well='Well01', Tubing=ALL)
2.2.2 Dictionary
Dictionary is the Python dictionary equivalent to the keyword argument, for example, {‘Well’:’Well01’, ‘Comple-
tion’:ALL}. You can pass a dictionary in through the Python expansion, and a few methods can take dictionary
directly:
find(**{'Well':'Well01', 'Completion':ALL})
2.2.3 String
You can uniquely identify individual components by a context string with a path style representation. This uses the
colon delimiter to indicate the hierarchy in the model. For example, “Well01:VertComp” identifies the completion
VertComp on Well01.
find(context="Well01:VertComp")
The Sixgill core catalog uses the AbstractModelContext() class for cataloging and context manipulations. The model
context object can be passed to any method that requires a context as an argument.
The context is a powerful method for filtering and finding components through its different search methods.
The string context identifies one unique component in the model. Methods that use it will only manipulate that one
component. It is therefore useful for specific updates to specific components, or for providing the specific context as a
parameter. Examples are setting the fluid on a source, or making connections between components.
The keyword argument is the most versatile with identifying anything from the full model through to individual
components. Each component in the model is tagged with keywords and the looking up the context returns all the
components that are tagged with the keywords.
To find a specific named component, pass in the name:
>>> model.find(Name='Well')
It is recommended to use unique names for all top level items in the PIPESIM model. If there are several items named
‘Well’, it will list them all.
>>> model.find(Name='TopsyTurvy')
['TopsyTurvy', 'TopsyTurvy', 'TopsyTurvy']
The difference between passing the ‘Name’ and component is also present for subsurface equipment. Any component
in a well is considered part of the well context and is therefore returned:
>>> model.find(Well="ESP_Well")
[
'ESP_Well',
'ESP_Well:Casing',
'ESP_Well:ESP_7',
'ESP_Well:Packer',
'ESP_Well:Source 1',
'ESP_Well:Tubing',
'ESP_Well:VW_7',
'ESP_Well:VW_7:IPRBACKPRESSURE',
'ESP_Well:VW_7:IPRDARCY',
'ESP_Well:VW_7:IPRFETKOVITCH',
'ESP_Well:VW_7:IPRFORCHHEIMER',
'ESP_Well:VW_7:IPRHYDRAULICFRACTURE',
'ESP_Well:VW_7:IPRJONES',
'ESP_Well:VW_7:IPRPIModel',
'ESP_Well:VW_7:IPRVERTICALPI',
'ESP_Well:VW_7:VW_7:IPRVERTICALPI'
]
This is useful for querying and manipulating parameters on a high level, without needing to specify the exact compo-
nent:
>>> model.get_value(Well='ESP_Well', parameter='IPRModel')
'IPRHydraulicFracture'
All the available model components can be found through the context. The find(Name=ALL) method provides a list
of all of the components. The list includes the context for everything that is considered an object in PIPESIM, such as:
• Surface equipment such as pumps, separators, heat exchangers and flowlines.
• Subsurface items such as casings, completions and ESPs.
• Compositional fluid components, both predefined and psuedocomponents.
• Sources, sinks and junctions.
THREE
Changes on PIPESIM Python Toolkit API between versions are necessary for either enhancements or bug fixes. This
section describes the changes that may affect the scripts that are created with previous versions of Python Toolkit.
In 2017.1, two parameters: CLUSTEREDLATITUDE and CLUSTEREDLONGITUDE, are used to define the non-
cluster location in GIS canvas, which displays equipment when cluster checkbox is toggled off in UI. In 2017.2, two
new parameters: NONCLUSTEREDLATITUDE and NONCLUSTEREDLONGITUDE, are added to reflect their true
meanings. The old parameters are deprecated and should be replaced with new parameters in your python code. The
old parameters will be removed in PIPESIM 2018.1
In 2017.1, junction name is changed when it is converted to a well, source, or sink. Although it is the same behavior
as PIPESIM UI, it may cause inconveniences in subsequent user’s code. In 2017.2, the new equipment converted from
junction will have the same name and user can set it to a desired name by using (assuming that junction is converted
to a source)
>>> model.set_value(Source=<junction_name>,
parameter="Name",
value=<new_name>)
In 2017.1, PIPESIM defines POWER that represents power for one unit. In 2017.2, PIPESIM defines TOTALPOWER
that represents total power for all parallel units, to be consistent with OneSubsea Wet Gas Compressor. The parameter
POWER is deprecated and should be replaced with TOTALPOWER, and the value should be replaced by the (POWER
* number of units) when setting the value. The parameter POWER will be removed in Python Toolkit 2018.1.
PIPESIM UI has an option to Run or Restart a network simulation. When Restart is clicked, the results in the restart
file captured from previous run can be reused as initial estimates for a subsequent simulation run. Restart can improve
the network solving speed significantly and is most effective when running many similar scenarios with only small
8
PIPESIM Python Toolkit Documentation, Release 2017.2
variations. However, if network topology changes, such as new pipes added, wells added/deleted, well or source
activated/deactivated, etc. Run and Restart may converge to different solutions, so it should be used with caution.
In 2017.1, when running a network simulation in Python Toolkit, Restart is always used for subsquent runs if a restart
file is available or is saved with the model. In 2017.2, the default option is changed to Run from scratch. If Restart
option is desired to improve the speed of subsquenct network simulation runs, you can enable this setting by adding
an environment variable in your python code:
>>> import os
>>> os.environ['UseRestartFile'] = "true"
FOUR
QUICK START
The following section provides a quick reference guide to the properties, methods and classes available in the PIPESIM
Python Toolkit. Working example scripts can be found in the PIPESIM installation under the Python Toolkit folder.
The easiest way to investigate a model is through an interactive Python session. Code is executed as it is entered and
the results are immediately seen.
From the Windows Start menu, open Enthought Canopy and start Canopy. Type the following commands into the
interactive window to see the effect of performing them.
Open a model:
>>> from sixgill.pipesim import Model
>>> model = Model.open('C:/Temp/examples/models/CSN_301_Small Network.pips')
Open a model and use the SI units of measurement for passing data:
>>> model = Model.open(
filename='C:/Temp/examples/models/CSN_301_Small Network.pips',
units=Units.SI)
10
PIPESIM Python Toolkit Documentation, Release 2017.2
>>> model.open_ui()
Operations on the model start by providing the context for the operation. The context defines what model components
are then acted on. The simplest method is find() which returns a list of the model components within the context.
List out all the components in the model:
>>> model.find(Name=ALL)
Find the context for all the completions on all the wells:
>>> model.find(Well=ALL, component=ModelComponents.COMPLETION)
Large models can be reduced into smaller models through a filtered model which contains just those items in the
context. The filtered model has all the same methods available as the full model. For example, selecting a well to
perform actions on:
>>> wellmodel = model.filter(Well="Well_1")
>>> wellmodel.find(component=ModelComponents.COMPLETION)
The parameters for the model components are accessed through the get_value() and set_value() methods to read and
write values respectively. There are also get_values() and set_values() methods to read and write many parameter
components at the same time.
Get the bean size of a choke:
In this case the context for the choke is the same as its name, so alternatively:
>>> model.get_value('Choke', Parameters.Choke.BEANSIZE)
The Parameters static class defines the parameters as strings, and these can be used:
>>> model.get_value('Well_1:VertComp', 'GeometryProfileType')
Parameters can be referenced from the top level context, so long as they are unique. To set a new reservoir pressure on
Well_1 with only one completion:
>>> model.set_value(
Well='Well_1',
parameter='Parameters.Completion.RESERVOIRPRESSURE',
value='3210')
To retrieve multiple parameters from multiple components, the get_values() method is used. For example to get
specific parameters for the choke:
>>> model.get_values(
Name='Choke',
parameters=[Parameters.Choke.BEANSIZE,
Parameters.Choke.CRITICALPRESSURERATIO])
This returns a dictionary of the components, each having a dictionary of the parameters. To retrieve the parameters
from all the chokes:
>>> model.get_values(
Choke=ALL,
parameters=[Parameters.Choke.BEANSIZE,
Parameters.Choke.CRITICALPRESSURERATIO])
Passing in an empty parameter list or not passing in a list returns all the parameters for the context. To get all the
parameters for all the compressors in the model:
>>> params = model.get_values(Compressor=ALL)
To update the compressors with new parameters, pass in a dictionary of the compressor parameters:
>>> updated_params = {'CentComp': {
'HonourStonewallLimit': True,
'Route': CompressorThermodynamics.ADIABATIC,
'Efficiency': 100.0,
'IsActive': True,
'PressureDifferential': 2400.0}
>>> model.set_values(updated_params)
The set_value() method sets the value for a single component and will throw an error if there is more than one
component in the context. To set the same parameter value for all the items in the context, use the set_all_value()
method:
>>> model.set_all_value(
Choke=ALL,
parameter="Beansize",
value=2)
Parameters such as well trajectories, flowline geometries, and geothermal surveys are handled as arrays. The data is
passed to and from PIPESIM as pandas DataFrames so that it can be easily manipulated.
To read a flowline geometry using its context:
>>> model.get_geometry(context="F_10")
There are corresponding methods for setting the data tables. The methods take the context and the DataFrame with
the tabulated data. The method to set a flowline geometry is:
>>> model.set_geometry(context="F_20", dataframe=df)
Where df is the pandas DataFrame containing the tabulated flowline profile data. The DataFrame must be in the same
format that the corresponding get() function uses, must have the same column headings, and must be indexed from 0.
For getting a pressure/flowrate curve on a source:
>>> model.get_pq_curve(Source="SRC1")
Parameters.Choke.BEANSIZE:2,
Parameters.Choke.SUBCRITICALCORRELATION:SubCriticalFlowCorrelation.ASHFORD
})
For downhole equipment, pass in the context and aspects such as measured depth:
>>> model.add(
component=ModelComponents.ESP,
name="ESP1",
context="Well 2",
parameters=
{
Parameters.ESP.TOPMEASUREDDEPTH:1500,
Parameters.ESP.OPERATINGFREQUENCY:60,
Parameters.ESP.MANUFACTURER:"ALNAS",
Parameters.ESP.MODEL:"ANA580",
Parameters.ESP.NUMBERSTAGES:100,
Parameters.ESP.HEADFACTOR:1,
Parameters.ESP.POWERFACTOR:0.95,
Parameters.ESP.USEVISCOSITYCORRECTION:True
})
PIPESIM uses ports to reference the inlet and outlet to components. To connect, specify the source (from) components,
the destination (to) components, and the port to be connected where applicable.
To connect a well ‘Well_1’ to a flowline ‘FL-1’:
>>> model.connect('Well_1', 'FL-1')
Separators have two or three outlet ports hence outlet connections from a separator need to explicitly state which is
used:
>>> model.connect(
source='MBD101',
destination='FL-PMP-1',
source_port=Connection.Separator.TOP)
The model connections for a context are provided as a dictionary. This can be converted into a pandas DataFrame for
convenient reviewing. Omitting the context will list all the connections in the model:
>>> model.connections(context='MBD-101')
>>> # Or to see it as a nicely formatted list
>>> import pandas as pd
>>> pd.DataFrame(model.connections(context='MBD-101'))
The get_connections() method provides a list of the connections for each item in the context. This method is easier to
code in what is connected to a model component
>>> mbd101_connections = model.get_connections(context="MBD-101")
>>> mbd101_connections[Connections.SOURCE]
>>> mdb101_connections[Connections.Separator.TOP]
Black oil and compositional fluids are treated as any other model component. To select fluid type and compositional
fluid details use a fluid method.
Create a black oil fluid:
>>> model.add(ModelComponents.BLACKOILFLUID, "BK111")
Set the properties of the black oil fluid using, the set_value() method, for example:
>>> model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.GOR,
value=200)
>>> model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.WATERCUT,
value=5)
>>> model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.GASSPECIFICGRAVITY,
value=0.7)
>>> model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.WATERSPECIFICGRAVITY,
value=1.05)
>>> model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.API,
value=21)
Set calibration data for black oil fluid using, the set_values() method, for example:
>>> selected_components = [
MultiflashComponent.METHANE,
MultiflashComponent.ETHANE,
MultiflashComponent.HEXANE,
MultiflashComponent.ETHANOL,
MultiflashComponent.PROPANE,
MultiflashComponent.WATER,
"C7Plus",
]
>>> model.fluids.compositional.select_components(selected_components)
You can import and export Wells to/from individual PIPESIM models. To export a well to a PIPESIM model:
>>> model.export_well(context="Well_1",
folder="C:/temp/myproject/wells")
If the folder is not provided then it will export to the same folder as the currently open PIPESIM model.
Import a PIPESIM well model into the currently open model:
>>> model.import_well(filename="C:/temp/myproject/Well.pips", name="Well_1")
To overwrite the existing “Well_1” in the current model with the imported well:
>>> model.import_well(
filename="C:/temp/myproject/Well.pips",
name="Well_1", overwrite_existing=True)
Reading entries from the catalog. Parameters required for the look-up such as Manufacturer, series, etc. must have
been set on the component first:
>>> model.read_catalog("PCP")
You can operate on the simulation settings through both a dictionary and individual properties.
Get the current simulation settings as a dictionary:
>>> model.sim_settings()
>>> model.sim_settings.ambient_temperature
The local flowline correlations are accessed through context based get/set methods.
>>> model.sim_settings.get_flow_correlations(Flowline=ALL)
If the context is left empty then it returns all the flowline and well trajectories that be specified:
>>> model.sim_settings.get_flow_correlations()
To set the flow correlations for a flowline, pass in the dictionary of parameters for the flowlines or wells to be set:
>>> multiphase = Parameters.FlowCorrelation.Multiphase
>>> model.sim_settings.set_flow_correlations({
"FL_10": {
Parameters.FlowCorrelation.OVERRIDEGLOBAL: True,
multiphase.Vertical.CORRELATION:
Constants.MultiphaseFlowCorrelation.BakerJardine.BEGGSBRILL,
multiphase.Horizontal.CORRELATION:
Constants.MultiphaseFlowCorrelation.BakerJardine.BEGGSBRILL
}})
The heat transfer options use the same methodology. To get the global heat transfer options:
>>> model.sim_settings.global_heat_transfer_options()
"FL_10": {
Parameters.HeatTransferOptions.OVERRIDEGLOBAL: True
Parameters.HeatTransferOptions.PIPEBURIALMETHOD: Constants.PipeBurialMethod.METHOD2009
}})
The list of available simulation setting properties is provided in the Quick Reference section below.
4.12 Simulations
Simulations are performed through the tasks class. Each task has the same core methods available, with additional
methods depending on the task being performed.
Get the current boundary conditions for a network simulation:
>>> model.tasks.networksimulation.get_conditions()
Update the boundary conditions for the default network simulation study:
>>> boundaries =
{"Well:VertComp":
{
Parameters.Boundary.PRESSURE:NAN,
Parameters.Boundary.TEMPERATURE:150,
Parameters.Boundary.FLOWRATETYPE:FlowRateType.LIQUIDFLOWRATE,
Parameters.Boundary.LIQUIDFLOWRATE:200
}
}
>>> model.tasks.networksimulation.set_conditions(boundaries = boundaries)
To reset the boundary conditions to those of the model for the default study:
>>> model.tasks.networksimulation.reset_conditions()
4.12. Simulations 20
PIPESIM Python Toolkit Documentation, Release 2017.2
The study conditions can be passed into the run_simulation() method. This allows simulations to be queued up, each
with their own study conditions:
>>> results = model.tasks.networksimulation.run(
boundaries=boundaries,
system_variables=system_variables, profile_variables=profile_variables)
Predefined results variable lists are available as available in the PIPESIM UI:
>>> results = model.tasks.networksimulation.run(
boundaries=boundaries,
system_variables=OutputVariables.System.FLOW_ASSURANCE,
profile_variables=OutputVariables.Profile.FLOW_ASSURANCE)
The simulation results is an object with three properties: system, node and profile. For network simulations, the node
and system results are dictionaries of each node or system point respectively while the profile is a dictionary of each
branch. In a PT Profile simulation the system points is also a dictionary of the sensitivities.
The node results for a network simulation as a dataframe:
>>> pd.DataFrame(results.node)
The run() method executes concurrently and the results are returned when it finishes. To run the simulation in the back-
ground, use the start_simulation() method. This allows the Python script to continue executing while the simulation is
running:
>>> simulation_id = model.tasks.networksimulation.start(
profile_variables=profile_variables,
system_variables=system_variables)
And when finished, the simulation message and results are retrieved:
>>> message = model.tasks.networksimulation.get_messages(simulation_id)
>>> results = model.tasks.networksimulation.get_results(simulation_id)
Note that the simulations using start() are queued by the PIPESIM engine and are run concurrently. The simulations
are not run in parallel, only that the Python script can continue running while each simulation finishes.
PT Profile simulations are performed in the same manner. The arguments passed to the study and simulation methods
are accordingly different:
>>> parameters = {
"StartNode":"Well",
"InletPressure":2600, #psia
"OutletPressure":200, #psia
"LiquidFlowRate":3000, #stb/d
"FlowRateType":"LiquidFlowRate",
"CalculationVariableType":"calcCustom",
"CalculateVariable": {
4.12. Simulations 21
PIPESIM Python Toolkit Documentation, Release 2017.2
"Component":"FL-1",
"Variable":"InnerDiameter",
"MinValue":1,
"MaxValue":10,
}
}
>>> results = model.tasks.ptprofilesimulation.run(
parameters=parameters,
profile_variables=profile_variables,
system_variables=system_variables)
If Component is a OneSubsea wet gas compressor and Variable is PressureRatio or Speed, ApplyAll can be set to true
such that the sensitivity values are applied to all OneSubsea wet gas compressors in that branch:
>>> parameters = {
"StartNode":"Well",
"InletPressure":2600, #psia
"OutletPressure":200, #psia
"CalculationVariableType":"calcFlowrate",
"FlowRateType":"GasFlowRate",
"SensitivityVariable": {
"Component": "WetGasCompressor",
"Variable": "PressureRatio",
"Values": [1.2, 1.3, 1.4],
"ApplyAll": True
}
}
With a PT Profile simulation, the list of available components and variables for a producer is found from:
>>> model.tasks.ptprofilesimulation.get_sensitivity_variables("Well_1")
4.12. Simulations 22
PIPESIM Python Toolkit Documentation, Release 2017.2
A nodal point can be applied to a nodal analysis simulation when getting the parameters of a nodal analysis study.
For surface nodal point:
>>> na_sim, inlet_conds = model.tasks.nodalanalysis.get_conditions(
"Well 1",
nodal_point_settings = {
Parameters.NodalPoint.NODALTYPE: Constants.NodalPointType.SURFACE,
Parameters.NodalPoint.EQUIPMENT: 'Choke',
Parameters.NodalPoint.NAME: 'NA1'
})
Update the general and inlet conditions as well as nodal point settings for a nodal analysis simulation:
>>> model.tasks.nodalanalysis.set_conditions(
"Well 1"
parameters={
Parameters.NodalAnalysisSimulation.LIMITINFLOW: True,
Parameters.NodalAnalysisSimulation.LIMITOUTFLOW: False,
Parameters.NodalAnalysisSimulation.OUTFLOWPOINTS: 40,
Parameters.NodalAnalysisSimulation.INFLOWPOINTS: 50,
Parameters.NodalAnalysisSimulation.MAXFLOWRATETYPE:
Constants.FlowRateType.GASFLOWRATE,
Parameters.NodalAnalysisSimulation.OUTLETPRESSURE: 3000,
Parameters.NodalAnalysisSimulation.MAXGASRATE: 300,
Parameters.NodalAnalysisSimulation.MAXOUTFLOWPRESSURE: 400,
Parameters.NodalAnalysisSimulation.BRANCHTERMINATOR: "Choke"
},
inlet_conditions={
"Well1.Comp1":{"Pressure":NAN,
"Temperature":200,
"GasRatioType":"LiquidFlowRate",
}
},
nodal_point_settings={
Parameters.NodalPoint.NODALTYPE: Constants.NodalPointType.DOWNHOLE,
Parameters.NodalPoint.DEPTH: 1000,
Parameters.NodalPoint.WELLSTRINGTYPE: Constants.TubingSectionType.TUBING,
Parameters.NodalPoint.NAME: 'NA2'
})
4.12. Simulations 23
PIPESIM Python Toolkit Documentation, Release 2017.2
Parameters.NodalAnalysisSimulation.BRANCHTERMINATOR: "Choke"
}
nodal_point_settings = {
Parameters.NodalPoint.NODALTYPE: Constants.NodalPointType.SURFACE,
Parameters.NodalPoint.EQUIPMENT: 'Choke',
Parameters.NodalPoint.NAME: 'NA4'
}
profile_variables=OutputVariables.Profile.GASFIELD,
system_variables=OutputVariables.System.GASFIELD)
Note that system variables that are related to nodal analysis simulation are generated in results by default no matter
whether they are provided in system_variables or not.
Additional information speical to nodal analysis simulation such as inflow curves, outflow curves, operating points,
operating envelope and fuild base can also be obtained from the results.
Get the information of inflow curve in the first case:
>>> result.inflow_curves[0].case
>>> curve = result.inflow_curves[0].curve_data
>>> liquid_curve = curve[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_LIQUID_STOCKTANK]
>>> mass_curve = curve[SystemVariables.NODAL_POINT_MASS_FLOWRATE_FLUID]
>>> gas_curve = curve[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_GAS_STOCKTANK]
>>> presure_curve = curve[SystemVariables.NODAL_POINT_PRESSURE]
>>> units = result.inflow_curves[0].units
Get the operating envelope for gas phase. Note that operating envelope is generated when there is only one case in
simulaiton results.
>>> max_drawdown = result.operating_envelope.max_drawdown
>>> max_drawdown[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> max_drawdown[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> res_pres = result.operating_envelope.reservoir_pressure
>>> res_pres[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> res_pres[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> ero_velocity = result.operating_envelope.erosional_velocity
>>> ero_velocity[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> ero_velocity[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> aofp = result.operating_envelope.aofp
>>> aofp[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> aofp[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> inversion_point = result.operating_envelope.inversion_point
>>> inversion_point[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> inversion_point[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> liquid_loading = result.operating_envelope.liquid_loading
>>> liquid_loading[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> liquid_loading[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
Get the operating point data for each phase and units in the first case:
>>> point = result.operating_points[0].point_data
>>> point[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_LIQUID_STOCKTANK]
>>> point[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_GAS_STOCKTANK]
>>> point[SystemVariables.NODAL_POINT_MASS_FLOWRATE_FLUID]
>>> point[SystemVariables.NODAL_POINT_PRESSURE]
>>> units = result.operating_points[0].units
>>> units[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_LIQUID_STOCKTANK]
>>> units[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_GAS_STOCKTANK]
>>> units[SystemVariables.NODAL_POINT_MASS_FLOWRATE_FLUID]
>>> units[SystemVariables.NODAL_POINT_PRESSURE]
4.12. Simulations 24
PIPESIM Python Toolkit Documentation, Release 2017.2
The console messages, summary and state of the simulation after it has finished are properties on the results. This
include errors and warnings that you would ordinarily see in the PIPESIM console.
To get the final state of the simulation:
>>> results.state
The method returns the list of files that has been generated.
The model parameters can be exported to a csv file. Note that this does not include the tabulated data such as trajecto-
ries at this time:
>>> model.export_parameters(filename="C:/Temp/myproject/ExportedParams.csv")
Operations such as get/set are performed immediately and independently on the model. Each command must finish
before the next one can start. There is an overhead on performing each operation through the underlying web API.
The batch update method caches the operations and perform them as a single operation on the web API. This provides
improved performance over doing individual operations.
The syntax for using the batch operation is:
>>> with model.batch_update():
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.GOR,
value=200)
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.WATERCUT,
value=5)
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.GASSPECIFICGRAVITY,
value=0.7)
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.WATERSPECIFICGRAVITY,
value=1.05)
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.API,
value=21)
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.FRACTIONCO2,
value=0.05)
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.FRACTIONH2S,
value=0.001)
model.set_value(
BlackOilFluid="BK111",
parameter=Parameters.BlackOilFluid.FRACTIONN2,
value=0.1)
The following utility functions are included in the PIPESIM Python Toolkit.
Method Description
convert_tubing_bmd() Convert bottom measured depth to top measured depth and length.
The PIPESIM data model uses top measured depth (TMD) and length as the parameters for tubing, casing and liners.
Data is often provided, however, as bottom measured depth (BMD). The method converts a list of BMD to a dictionary
of TMD and length for setting as parameters.
>>> from sixgill.utilities import convert_tubing_bmd
>>> tmd_param = convert_tubing_bmd([2000.0, 2400.0, 2800.0, 3500.0])
>>> model.add(ModelComponents.CASING, "Csg1", context="Well1", \
parameters=tmd_param[0]
FIVE
The Python Toolkit provides complete access to the underlying data model through the function calls. In many areas
there are several ways to access the same data.
For instance, to use the surface conditions of a well for the boundaries:
>>> model.tasks.networksimulation.use_surface_conditions = True
28
CHAPTER
SIX
QUICK REFERENCE
6.1.1 Properties
Property Description
api PipesimSession. The web API object connected to PIPESIM
context AbstractModelContext. The full (root) context of the model
is_open Boolean. Whether the model is open (True) or not (False)
filename String. The full path and filename of the model.
6.1.2 Methods
Method Description
about() Return the details about the model and PIPESIM version
add() Add a component to the model
batch_update() Cache the model updates and apply as a single operation
close() Close the model
connect() Connect two model components
connections() List the connections in the model
convert() Convert a component to a different type
copy() Copy a model component
delete() Delete a component from the model
delete_simulation() Delete the simulation results
describe() Get the details of a parameter, such as units of measurement
disconnect() Disconnect two model components
export_well() Export a well to a PIPESIM model file
export_parameters() Export the model parameters to a csv file
filter() Filter the model for a specific context
find() Find components in the model
get_completion_test_points() Get the completion test points
get_elevation() Get the elevation for a latitude / longitude location
get_elevations() Get elevations for multiple latitude / longitude locations
get_geometry() Get the flowline geometry
get_geothermal_profile() Get the geothermal profile
get_pq_curve() Get the well performance curve
get_trajectory() Get the well trajectory
Continued on next page
29
PIPESIM Python Toolkit Documentation, Release 2017.2
6.2.1 Properties
Property Description
filename String. The full path and filename of the model.
toolkit_version String. The release number of the PIPESIM Python Toolkit.
units_system String. The units of measurement system.
webapi_version String. The PIPESIM Web API release number
6.2.2 Methods
6.3.1 Properties
Property Description
ambient_temperature Float. The ambient temperature
atmospheric_pressure Float. The atmostpheric pressure.
corrosion_efficiency Float. The corrosion efficiency
corrosion_model String. The corrosion model (CorrosionModel static class)
erosional_velocity_constant Float. The erosional velocity constant.
wind_speed Float. The wind speed.
soil_type String. The soil type (SoilType static class).
soil_conductivity Float. The soil conductivity
metocean_data_location String. The Metocean data location. (MetoceanDataLocation static class).
max_report_interval_length Float. The maximum report interval length for pipe segmentation.
print_computation_segment_result Boolean. Print the computational segment result for pipe segmentation.
max_computation_segment_length Float. The maximum computational segment length for pipe segmentation.
network_solver_method String. The network solver method (NetworkSolverMethod static class).
network_solver_tolerance Float. The network solver tolerance.
network_solver_max_iterations Integer. The network solver maximum number of iterations.
single_branch_keywords String. Single branch engine keywords.
network_keywords_top String. Network engine top keywords.
network_keywords_bottom String. Network engine bottom keywords.
gis_elevation_interval Float. GIS elevation interval.
gis_elevation_max_points Integer. GIS elevation maximum number of points.
gis_elevation_data_source String. GIS elevation data source (GISDataSource static class).
use_global_flow_correlation Boolean. Use the global flow correlations.
use_global_heat_transfer Boolean. Use the global heat transfer settings.
6.3.2 Methods
There are no methods on the SimulationSettings() class. The model.sim_settings() can return a dictionary, or be treated
as a dictionary. See the examples under the Quick Start section.
6.4.1 Properties
Property Description
fluid_type The type of fluid used (FluidType static class).
6.4.2 Methods
6.5.1 Properties
Property Description
equation_of_state String. Equation of state (EquationOfState static class).
pvt_package String. PVT Package (PVTPackage static class).
salinity_model String. Salinity model (SalinityModel static class).
acf_correlation String. ACF Correlation (ACFCorrelationMethod static class).
critical_property_correlation String. Critical Property Correlation (CriticalPropertyCorrelationMethod
class).
thermal_coefficient_correlation String. Thermal Coefficient Correlation (ThermalCoefficientCorrelation-
Method class).
6.5.2 Methods
Property Description
add_pseudocomponent() Add a pseudocomponent.
delete_pseudocomponent() Delete a pseudocomponent.
select_components() Select components for the compositional fluid.
unselect_components() Unselect components for the compositional fluid.
The properties and methods are accessed by prefixing with model.tasks. There is a class for each of the supported
tasks.
6.6.1 Classes
Class Description
networksimulation Methods for running network simulation studies.
ptprofilesimulation Methods for running PT profile simulation studies.
nodalanalysis Methods for running nodal analysis simulation studies.
6.6.2 Methods
Property Description
delete_results() Delete the simulation results.
generate_engine_files() Generate the engine files for a study
get_calculated_variables() PT Profile. Get the available calculated variables.
get_conditions() Get the study boundary conditions.
get_messages() Get the simulation messages of the simulation.
get_results() Get the simulation results.
get_sensitivity_variables() PT Profile. Get the available sensitivity variables.
get_state() Get the running state of the simulation.
get_use_surface_conditions() Get whether the model is using surface conditions.
reset_conditions() Reset the study boundary / inlet conditions.
run() Run a simulation task and wait for it to finish.
set_conditions() Set the study boundary conditions or general conditions.
set_use_surface_conditions() Set whether the model is using surface conditions.
start() Start a simulation task.
6.7.1 Properties
Property Description
system Dictionary. System results of a simulation run. .
node Dictionary. Node results of a simulation run.
profile Dictionary. Profile results of a sumulation run.
profile_units Dictionary. Profile variables and units mapping.
cases List. A list of sensitivity cases for a single branch simulation run.
messages List. A list of engine console messages from a simulation run.
summary Dictionary. A summary of a simulation run status, including errors and
warnings.
state String. The state of a simulation run: RUNNING, COMPLETED, FAILED.
6.7.2 Methods
6.8.1 Properties
Property Description
inflow_curves List. A list of inflow curves, one per each inflow case.
outflow_curves List. A list of outflow curves, one per each outflow case.
operating_points List. A list of operation points, one per each sensitivity case.
inflow_cases List. A list of inflow case names.
outflow_cases List. A list of outflow case names.
fluid_base String. The fluid base of nodal simulation results: GAS, LIQUID, or
MASS.
operating_envelope Operating envelope of nodal analysis simulation.
6.8.2 Methods
The definitions sub-module within Sixgill provides static classes for the model operations and parameterization. The
enumerations of parameters such as EmulsionViscosityMethod.CONTINUOUSPHASE translating to ‘Continuous-
Phase’ is provided for autocompletion and code editing intellisense.
SEVEN
IMPORTANT NOTES
The Python Toolkit only supports converting junctions, which can only be converted to a Well, Source or Sink.
Inflow and outflow sensitivity cannot be set up with Python Toolkit in 2017.2. If desired, please set them up with
PIPESIM UI.
35
CHAPTER
EIGHT
Python has many libraries for working with Excel. Included with the PIPESIM Python Toolkit are the following
packages that each bring various features:
• pyxll provides excellent features with user defined functions.
• xlwings makes reading and writing Excel worksheets easy.
• enpyxll provides features for integrated workbooks.
Python scripts and interactive Python can interact with Excel workbooks directly. In addition, they can be included in
the Excel workbooks in a manner similar to VBA. Scripts can read and write data, format sheets, and be assigned to
VBA features such as buttons.
Reading and writing Excel ranges is done through the xlwings Python module, often abbreviated to xw. The following
examples are provided for information with many more methods and features available in xlwings. See the xlwings
documentation for more help.
Reading and writing tabulated data formats are subject to the following considerations:
• Pandas DataFrames can be written to Excel.
• Lists of lists or dictionaries cannot be written to Excel (as of xlwings 0.10.2).
• To read tabulated data formats from Excel you must use the utility functions provided in the PIPESIM Python
Toolkit (see section below) for converting the lists of lists into DataFrames and dictionaries.
The PIPESIM Python Toolkit allows scripts to be embedded in workbooks, but any script can interact with Excel
workbooks. The interactive Python command line is typically the easiest way to try out code.
Open a new workbook:
>>> import xlwings as xw
>>> app = xw.App()
Activate a worksheet:
>>> bk.sheets('Sheet1').activate()
Writing to a cell:
36
PIPESIM Python Toolkit Documentation, Release 2017.2
The PIPESIM tab on the Excel ribbon provides development environment features for working with Python and Excel.
• Add
– New: Create a new script within the Excel workbook.
– Import: Import an existing Python script to the Excel workbook.
• Scripts
– Editor: Select which editor to use.
– Script: Select a Python script from the workbook.
– Edit: Edit the selected script.
– Remove: Delete the selected script from the workbook.
– Export: Export the selected script to a Python file.
• Functions
– Select: Select the function to run.
– Run: Run the selected function.
– Stop: Stop running the selected function.
• Show
– Log: Display the Python messages console.
– Settings: Change the Python editor settings.
– Help: Open the PIPESIM Python Toolkit help documentation in a web browser.
You can embed Python scripts in Excel workbooks in a way similar to embedding Visual Basic scripts. You can edit
the scripts in a text editor of the your choice. You can run the macros from the PIPESIM tab, from an interactive
Python session, or from objects, such as buttons, associated with actions in the workbook.
The key similarities and differences between VBA and Python macros are:
Feature Visual Basic Python
Workbook Saved as macro workbooks (.xlam). Saved as standard workbook (.xlsx).
Suffix
Save Macros are automatically saved when Excel is Scripts need to be saved before Excel is
saved. saved.
Editor Edited within the VBA Editor Any editor can be used.
On the PIPESIM tab in the Functions group, you can run and stop macros. Methods that have been assigned are in the
dropdown list. See “Assigning Functions to the PIPESIM tab” below for more details: - Click Run to run the selected
macro. - Click Stop to stop the selected macro.
On the PIPESIM tab in the Show group, click Log. The Log Viewer shows one tab per open workbook, with each tab
showing the log messages issued by the scripts in the workbook. An additional tab shows the pyxll error log that may
contain further information about running the embedded scripts.
To add custom log messages within scripts see the Logging section below.
1. On the PIPESIM tab in the Show group, click Settings and select the Editor tab.
2. From the list of editors, highlight the editor to be the default.
3. Click OK.
To open the PIPESIM Python Toolkit help documentation in a web browser, on the PIPESIM tab in the Show group,
click Help.
The “excel_macros_functions.xlxs” example found under the Python Toolkit examples under the PIPESIM installation
folder, has examples of the following features.
The Python methods and messages in the embedded scripts are made available in Excel by applying Python decorators.
You can designate a Python method as a VBA macro. In the script, enter the ‘@xl_macro‘ decorator on the line
preceding the definition of the method. The macro can be associated with actions on the worksheets such as buttons.
The syntax is:
from pyxll import xl_macro
@xl_macro
def open_model():
""" Open the model """
mymodel = Model.open('C:/Temp/Test/MyModel.pips')
Within Excel, the macro can be associated with a button, for example.
You can designate a Python method as a custom function in Excel. In the script, enter the ‘@xl_func‘ decorator on the
line preceding the definition of the method. The method can then be used as a function in an Excel cell.
from pyxll import xl_func
@xl_func
def MultiplyByTwo(x):
""" Multiply the number entered by two """
result = x * 2
return result
You can assign a Python method to appear in the dropdown list in the Functions group of the PIPESIM tab. Select-
ing the function and clicking Run will run the function. In the script, enter the @entry_point decorator on the line
preceding the definition of the method.
You can send errors to the Log Viewer. In the script, enter the ‘@log_error‘ decorator on the line preceding the
definition of the method.
import logging
logger = logging.getLogger(__name__)
If there are several decorators this must be the one immediately preceding the def() statement, i.e. the last one listed:
@xl_macro
@log_error
def open_model():
logger.info("Opening the model...")
mymodel = Model.open('C:/Temp/Test/MyModel.pips')
The PIPESIM Python Toolkit includes utility functions for working with Excel.
Method Description
active_sheet() Return the currently active Excel worksheet
current_folder() Return the folder (path) to the currently open Excel workbook.
get_model_session() Get the model associated with the workbook, opening it if necessary
range_to_dataframe() Convert an Excel range to a Pandas DataFrame
range_to_dictionary() Convert an Excel range to a dictionary
worksheet_last_row() Return the last row of the worksheet
worksheet_last_column() Return the last column of the worksheet
The Python variable __file__ returns the script location, but this is not the same as the Excel workbook folder. The
current_folder() method returns the folder of the Excel workbook.
>>> from sixgill.utilities import current_folder()
>>> workbook_folder = current_folder()
Where spreadsheets have several functions that operate on models, the get_model_session() method can handle con-
nections to the required models. It will open the model, if necessary, or simply pass back the model object if it is
already open.
In the following example, a user can run readparameters(), writeparameters() and savemodel() and the opening of the
model is handled automatically:
from sixgill.utilities import get\_active\_session
model_filename = 'C:/temp/mymodel.pips'
def readparameters():
model = get_model_session(model_filename)
print(model.get_values("Well"))
def writeparameters():
model = get_model_session(model_filename)
new_param = range_to_dictionary(xw.Range('B4').expand().value)
model.set_values(new_param)
def savemodel():
model = get_model_session(model_filename)
model.save()
Further examples for get_model_session() can be found in the PIPESIM Python Toolkit Case Studies.
Use this for passing PIPESIM tabulated data such as trajectories, geometries, and such.
To convert the list of lists read in from an Excel range into a Pandas DataFrame, follow this example:
>>> from sixgill.utilities import range\_to\_dataframe
>>> geometry = xw.Range('B4').expand().value
>>> df = range_to_dataframe(geometry)
The worksheet_last_row() returns the last row with data in it. Likewise, worksheet_last_column() returns the last
column with data.
>>> from sixgill.utilities import worksheet_last_row, worksheet_last_column
>>> last_row = worksheet_last_row()
>>> last_column = worksheet_last_column()
NINE
EXAMPLE CODE
The PIPESIM Python Toolkit includes example scripts that cover all of its available methods, classes and properties.
The scripts demonstrate the features and usage, which is indicated in the name of the script. They are located in the
PIPESIM installation folder, under Development Tools/Python Toolkit.
Along with the example scripts there are also several Case Studies. These are designed to demonstration potential use
cases for the PIPESIM Python Toolkit with more in depth code and and scripting. The case studies are located in the
PIPESIM installation folder, under Case Studies/Python Toolkit.
Before running the scripts or case studies, it is necessary to copy the Case Studies and Development Tools folders
from the Program Files location into your Documents home folder. This is because the typical security settings for
Windows limit read and write access in Program Files.
The following example scripts are included with the PIPESIM Python Toolkit.
Script Description
add_and_delete.py Add and delete model components.
add_well.py Create a new model and add a well.
check_model_components.py Open the Oil Network case study and review the model components.
connect_disconnect.py Connect and disconnect model component connections.
connections.py Display model connections.
convert.py Convert a junction into a well or source.
copy_well.py Copy (duplicate) a well.
create_black_oil_fluid.py Create a black oil fluid.
create_compositional_fluid.py Create a compositional fluid.
create_GIS_network.py Create a network model with GIS coordinates.
create_network.py Create a network model.
create_well_from_template.py Create a well from a template.
describe.py Display engineering units for parameters.
elevation.py Get the elevations of GIS locations.
elevations.py Get the elevations of a list of GIS locations.
excel_macros_functions.xlsx Excel workbook with macros, functions and logging.
export_parameters.py Export model component parameters.
find.py Find model components.
generate_engine_files.py Generate engine files for network and PT profile studies.
get_set_batch_update.py Perform a batch update on component parameters.
get_set_black_oil.py Update black oil fluid parameters.
Continued on next page
44
PIPESIM Python Toolkit Documentation, Release 2017.2
The following Case Studies are included with the PIPESIM Python Toolkit.
Case Study Complex- Description
ity
Build Network Model Complex Builds a network model from data in an Excel workbook.
Daily Production Simple Runs simulations for each day of production data.
Export Flowline Simple Exports the flowline geometries from a model.
Geometries
GIS Model Conversion Complex Converts junctions into model components after a GIS shape file
import.
Network Simulation Moderate Uses Excel as a simple interface for network simulations.
Nodal Analysis Complex Uses Excel as a simple interface for nodal analysis simulations.
PT Profile Simulation Moderate Uses Excel as a simple interface for PT Profile simulations.
Slug Catcher Sizing Moderate Performs multiple simulations for a slug catcher sizing study.
Well Model Management Simple Imports and exports individual well models from a network model.
The data for a PIPESIM model can come from many different sources. Typically this is available in a database, or in
a document such as Excel workbook.
In this case study the model data has been provided in a formatted Excel workbook. The script reads the workbook
and automatically builds the PIPESIM model from the data. The user can update the parameterization, add or remove
model components, and change the specified parameters in the workbook without needing to edit the script. The final
model is opened in the PIPESIM UI for verification and review.
PIPESIM is sometimes used for production allocation and product metering verification. In these situations some
of the production data is used as the boundaries in the PIPESIM model, with the remaining data compared to the
PIPESIM simulation results.
The case study takes field data and runs the PIPESIM model using these as boundary conditions. The PIPESIM
results are provided to compare with the field flow rates. This will highlight discrepancies in meter allocation, model
calibration, or differences due to flow assurance issues.
The GIS feature in PIPESIM provides elevation data capture from online data sources. After capturing the elevation
data the profile is often wanted in other documents such as reports and calculations.
The script exports the geometry for all the flowlines in the model into individual csv (comma separated value) files as
well as printing it to the interactive window. The csv files then can be easily opened in Excel, for example, or imported
into corporate databases.
PIPESIM can import GIS shape files to automatically lay out the flowlines and junctions. After import, the junctions
can be converted to the equipment that exists in the field, such as well, sources and sinks.
This case study takes a PIPESIM model file created from a shape file import and uses Excel data to do a search and
replace on the model components. The components are matched against the latitude and longitude of the junctions.
The script is run from the desktop or through an interative Python window. While it reads the Excel workbook, it
demonstrates that scripts do not need to be embedded in order to interact with Excel.
Excel can be used as simplified user interface for running PIPESIM network simulations. Pertinent data can be
exposed and updated without danger of the user damaging the underlying PIPESIM model. Boundary conditions and
equipment data can be updated, simulations performed, and the results reviewed.
This case study uses Excel as an interface for performing network simulations. The boundary conditions and specific
equipment data is exposed for user updates. The simulation can be run and results retrieved for analysis.
Excel can be used as simplified user interface for running PIPESIM nodal analysis simulations. Pertinent data can be
exposed and updated without danger of the user damaging the underlying PIPESIM model. Boundary conditions and
equipment data can be updated, simulations performed, and the results reviewed.
This case study uses Excel as an interface for performing batch nodal analysis simulations. The boundary conditions
is exposed for user updates, the simulation run and results retrieved for visualization and analysis.
Excel can be used as simplified user interface for running PIPESIM PT profile simulations. Pertinent data can be
exposed and updated without danger of the user damaging the underlying PIPESIM model. Boundary conditions and
equipment data can be updated, simulations performed, and the results reviewed.
This case study uses Excel as an interface for performing PT Profile simulations. The boundary conditions is exposed
for user updates, the simulation run and results retrieved for analysis.
PIPESIM is often used on projects during the concept and front end engineering design (FEED) phases for equipment
sizing.
In this use case, a parametric study is performed on a PIPESIM model to determine the size of a slug catcher at an
onshore receiving facility. It varies the flow correlation, Equation of State and liquid / gas ratio for pigging and ramp
up scenarios. It is based on the paper presented at Pipeline Simulation Interest Group, PSIG1603.
A use case for model management is to model wells individually and to import them into a single PIPESIM file for
a network simulation. It allows you to maintain individual well models, while being able to easily run a single large
network simulation.
This case study provides an Excel interface for managing the well models. It will export all the wells in a PIPESIM
model to individual files and import them again on the click of a button. The well names in the model are also listed.
TEN
TROUBLESHOOTING
10.1.1 Symptoms
10.1.2 Resolutions
48
PIPESIM Python Toolkit Documentation, Release 2017.2
10.2.1 Symptoms
10.2.2 Resolutions
10.3.1 Symptoms
After the machine is rebooted, the first time you start Excel, it may fail to start with an error dialog “There was a
problem sending the command to the program”. After you close the dialog, Excel may hang or is very slow to open.
10.3.2 Resolutions
Close Excel and restart Excel again, and the problem should be fixed automatically. If the problem persists, please
check that PIPESIM is installed properly and and a valid Python Toolkit license is available.
10.4.1 Symptoms
• The assignment of a method using @entry_point appears in the Scripts dropdown list but clicking on it gives a
cryptic error message.
• Assigning a macro to a button prefixes the method name with the Excel workbook name, e.g. ‘MyExcelWork-
book’!mymacro, and fails to run.
• A function defined using @xl_func fails to run and gives a #NAME? error in the cell.
10.4.2 Resolutions
• Coding indentation and spelling errors for code sections that are not part of a method or property.
Edit the script in Canopy and click on the “Run” button on the toobar. This will do the same action and provide error
messages as to the problem in the code.
ELEVEN
KNOWN ISSUES
11.1.1 Description
The “Use Surface Conditions” feature specifies the boundary at the wellhead rather than the downhole completion,
allowing you to set the well outlet flow or pressure. The methodology in the PIPESIM data model is not yet included
by the Python Toolkit and, as a result, this feature is not fully supported at this time.
Changing the “Use Surface Conditions” using the set_use_surface_conditions() method will make the corresponding
change in the model. The catalog of model components is not updated, however, hence the list of boundary conditions
is out of sync with that required. In addition, the catalog does not correctly identify all the boundary conditions when
“Use Surface Conditions” is toggled on.
Note that the “Treat As Source” parameter on a junction is similar but the catalog is properly updated.
11.1.2 Workarounds
Ensure that the “Use Surface Conditions” boundary specification are set in the model through the UI before the model
is used in the Python Toolkit.
Be aware that when “Use Surface Conditions” is turn on, the well boundary is a source within the well, with a context
“wellname:Source 1”. The properties for the source can be accessed through the get/set_values() method by passing
the string context (e.g. “Well:Source 1”) or the component context (e.g. Well=”Well”)
Be aware that for a junction with the “Treat As Source” parameter set to True, the boundary is a source with the context
“junctionname: junctionname_SimpleSource”. The properties for the source can be access through the get/set_values()
methods by passing the string context (e.g. “J1:J1_SimpleSource”) or the component context (e.g. Junction=”J1”).
This issue will be resolved in the next release of the Python Toolkit.
54
CHAPTER
TWELVE
REFERENCE DOCUMENTATION
The pipesim module maintains the high level classes and methods for the PIPESIM Python Toolkit. This includes
aspects such as the Model() class for creating a session with a PIPESIM model as well as the static classes that
enumerate the options that are available.
class sixgill.pipesim.Model(pipesim_session, model_file, unit_system)
Bases: object
The Model() class defines a session for working with a PIPESIM model. It maintains the connection details
of the session while the Manta module performs the actual interaction with the PIPESIM model. Users should
open a PIPESIM model using the Model.open() which takes care of handling the low level Manta calls.
Parameters
• pipesim_session (manta.server.manager.PipesimManager) – The
pipesim_session object from the Manta module.
• model_file (str) – The full folder and filename of the pipesim file.
• unit_system (str) – The engineering units system being used for reading and writing
the values, as defined by the Units static class.
Returns The PIPESIM model session object.
Return type Model
Examples
>>> mymodel=Model.open("C:/ProjectX/Models/PIPESIM/ProjectXModel.pips")
is_open
Whether the pipesim model is open (True) or not (False)
api
The low level Manta library API
filename
The model file name and path
static open(filename: str, units: typing.Union[str, NoneType] = ‘PIPESIM_FIELD’)
Open a PIPESIM model
55
PIPESIM Python Toolkit Documentation, Release 2017.2
Examples
Examples
Examples
save(filename=’‘)
Save the PIPESIM model
Saves the PIPESIM model. If the filename is not specified then it peforms a save; if the filename is specified
then it performs a Save As. the suffix “pips” may be omitted.
Parameters filename (str) – Optional. The full path and name of the file to save.
Examples
>>> model.save()
>>> model.save("C:/Temp/MyModel2.pips")
close()
Close the PIPESIM model
Closes the PIPESIM model.
Examples
>>> model.close()
context
The root context of this model.
Returns Returns the model context object that matches the entirety of the model.
Return type AbstractModelContext
find(context: typing.Union[str, NoneType] = None, component: typing.Union[str, NoneType] =
None, model_context: typing.Union[sixgill.core.model_context.AbstractModelContext, NoneType]
= None, **context_keywords: str) → typing.List[]
Find the model components in the context.
Find the specified components in the model.
Parameters
• context (str) – Optional. The context (identifier) of the item to look for.
• component (str) – Optional. The model component to look for.
• model_context (AbstractModelContext) – Optional. The model context object
to look for.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Returns Returns a list of the component contexts (identifiers) of the model components that
match the specified criteria.
Return type list
Examples
Examples
Examples
Parameters
• context (str) – Optional. The context (identifier) of the item to look for.
• parameter (str) – Required. The parameter that needs to be described.
• component (str) – Optional. The model component to look for.
• model_context (AbstractModelContext) – Optional. The model context object
to look for.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Returns The object with the descriptions.
Return type Description
Examples
>>> eu = model.describe(context="Well",
parameter=Parameters.Well.TESTRACKTEMPERATURE).units
Parameters
• context (str) – Optional. The context (identifier) to search for.
• parameter (str) – Optional. The parameter on the item to return the value of.
• component (str) – Optional. The type of the item.
• model_context (AbstractModelContext) – The model context object to search
for.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Returns The value of the specified parameter.
Return type var
Examples
Examples
>>> model.set_value(context="Choke23",
parameter=Parameters.Choke.BEANSIZE, value=4.5)
>>> model.set_value(Well="Well 23", Choke="CK1",
parameter=Parameters.Choke.BEANSIZE, value=5)
Examples
>>> model.set_all_value(Source=ALL,
parameter=Parameters.Source.ASSOCIATEDBLACKOILFLUID,
value = 'BK111')
Examples
Examples
>>> model.set_values(dict=values)
Examples
>>> df = model.get_trajectory(context="Well-1")
>>> dfw = model.get_trajectory(Well="Well 23")
Sets well trajectory to the values specified in the DataFrame. It will fail if more than one item is found by
the context.
Parameters
• value (DataFrame) – Required. The data frame to set to the well trajectory.
• context (str) – Optional. The context string to look for the well.
• model_context (AbstractModelContext) – Optional. The context to search in.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Examples
Examples
>>> df = model.get_completion_test_points(context="Well-1:VertComp")
• value (DataFrame) – Required. The data frame to set to the well completion test points
• context (str) – Optional. The context string to look for the completion
• model_context (AbstractModelContext) – Optional. The context to search in.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Examples
Examples
>>> df = model.get_pq_curve(context="Source_1")
>>> dfw = model.get_pq_curve(Source="Source 23")
Examples
Examples
>>> df = model.get_geometry(context="fl-1")
>>> dfw = model.get_geometry(Flowline="fl-2")
Examples
Examples
>>> df = model.get_geothermal_profile(context="fl-1")
>>> dfw = model.get_geothermal_profile(Well="well-1")
Examples
Examples
>>> model.read_catalog(context="Pump-1")
batch_update()
Apply batch updates to the model
Ordinarily changes to the model through set...() are immediately applied. The batch update allows a
series of updates to be cached and then updated as group. This is useful where many changes need to be
applied, which can be bundled together and applied all at once. This has a performance improvement over
individual updates.
Returns
Return type None
Examples
about
Return information about the current PIPESIM version.
Returns the versions of PIPESIM, web API and PIPESIM Python Toolkit that are being used. Called
as a function about() it returns a dictionary of the version information. It will also return the individual
properties of the ModelAbout() class.
Parameters None –
Returns Information about the PIPESIM version.
Return type dict
Examples
Examples
get_elevations(locations)
Get the elevation of a array of location points with latitude longitude
Returns an array of location points with latitude, longitude and elevation.
Parameters location (array[dic{Longitude:value,Latitude:value},
...]) – Required. Location array with longitude and latitude points.
Returns array[dic{Longitude – The location array with latitude, longitude and elevetion values
for each point. Raise ValueError exception if the location is invalid.
Return type value,Latitude:value, Elevetion:value}, ...]
Examples
Examples
sim_settings
The simulation settings
fluids
The fluid settings, primarily setting up compositional fluids
tasks
The simulation tasks
export_well(context: typing.Union[str, NoneType] = None, folder: typing.Union[str, NoneType] =
None, model_context: typing.Union[sixgill.core.model_context.AbstractModelContext,
NoneType] = None, **context_keywords: str) → typing.List[]
Export the specified well(s) into PIPESIM files
Exports the specified well(s) in to individual PIPESIM files in the specified folder. The filename will match
the well name. If the well name is not specified then all the wells in the model are exported. If folder is
not specified, then the wells are exported to the current working folder
Parameters
• context (str) – Optional. The context string to search for well.
• folder (str) – Optional. The folder location to save the files into.
• model_context (AbstractModelContext) – Optional. The context to search in.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Returns The list of filenames with full path of each well exported.
Return type list
Examples
Examples
Examples
>>> model.delete(context="Sep01")
Examples
Parameters
• context (str) – The existing model component to be duplicated.
• name (str) – The name of the duplicate. If this already exists then it will append a suffix
to the name.
• use_template (Boolean) – Optional. Duplicate the item from the the catalog, if it
exists.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Examples
Examples
Parameters
• source (dict or str) – The source model component (starting point for the connec-
tion). This can either be a context string or a context dictionary.
• destination (dict or str) – Optional. The destination model component (ending
point of the connection).
• port (str) – Optional. The port to be disconnected on the source model component.
Note that some model components (e.g. Junction, Heat Exchange, Choke) do not have
indentifiable inlet and outlet ports hence should need to use the destination argument in-
stead.
Examples
Examples
>>> model.connections(Well=ALL)
look-up table to find the inlets and outlets of specific model components. If no context is provided, then
the information of all connections is returned.
Parameters
• context (str) – Optional. The context string to search for Source or Destination.
• component (str) – Optional. The model component to look for Source or Destination.
• model_context (AbstractModelContext) – Optional. The context to search in.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Returns Returns a dictionary of dictionaries. Each dictionary contains connection information
including Source, Source Port, and Destination
Return type Dict[Dict]
Examples
>>> model.get_connections("MBD-101")
Examples
class sixgill.pipesim.ModelAbout(model)
Bases: object
Provides details about the model, web API and Python Toolkit
webapi_version
The PIPESIM web API version
filename
The model folder and file name
toolkit_version
The PIPESIM Python Toolkit version
unit_system
The engineering unit system
class sixgill.pipesim.Task(model)
Bases: object
networksimulation
ptprofilesimulation
nodalanalysis
class sixgill.pipesim.AbstractSimulation(model)
Bases: object
get_state(simulation_id)
Returns the state of the simulation
Returns the state from the simulation.
Parameters simulation_id (str) – Required. The id of the simulation returned from
start_simulation call.
Returns The state of the simulation. sim_status indicates whether the simulation is still running.
messages contains the simulation messages returned by the simulator.
Return type SimulationState
Examples
get_messages(simulation_id)
Returns the simulation progress message of the simulation
Returns the simulation progress message from the simulation.
Parameters simulation_id (str) – Required. The id of the simulation returned from
start_simulation call.
Returns messages – The simulation messages returned by the simulator.
Return type list
Examples
get_summary(simulation_id)
Returns the warning, info and error messages of the simulation
Returns the warning, info and error messages from the simulation.
Parameters simulation_id (str) – Required. The id of the simulation returned from
start_simulation call.
Returns summary – The keys of the dictionary are “Error”, “Info” and “Warning” and their
values are a list of corresponding messages as shown in Stingray UI
Return type dictionary
Examples
get_results(simulation_id)
Returns the results from the simulation.
Returns the results from the simulation.
Parameters simulation_id (str) – Required. The id of the simulation returned from
start_simulation call.
Returns The simulation results.
Return type dict
Examples
delete_results(simulation_id)
Delete a simulation.
Delete a simulation.
Parameters simulation_id (str) – Required. The id of the simulation returned from
start_simulation call.
Returns Whether the simulation is deleted or not.
Return type bool
Examples
>>> model.tasks.networksimulation.delete_results(simulation_id)
class sixgill.pipesim.NetworkSimulation(model)
Bases: sixgill.pipesim.AbstractSimulation
get_use_surface_conditions(study: typing.Union[str, NoneType] = None)
Returns the value of use surface conditions.
Returns the value of use surface conditions for the specified study. If the network simulation task does not
exist in the study, a new one will be created.
Parameters study (str) – Optional. The name of the study. If no name is specified and there
is one default study, the default study will be used. If there are multiple studies in the model,
study name is required.
Returns The value of use surface conditions.
Return type bool
Examples
Examples
>>> model.tasks.networksimulation.
set_use_surface_conditions(True)
>>> model.tasks.networksimulation.
set_use_surface_conditions(False, study = "Study 1")
Examples
Examples
>>> model.tasks.networksimulation.set_conditions(
boundaries={"Well:VertComp":{"Pressure":NAN, "Temperature":150,
"FlowRateType":"GasFlowRate", "GasFlowRate":5}})
>>> model.tasks.networksimulation.set_conditions(use_surface_condition=False,
boundaries={"Well:VertComp":{"Pressure":NAN, "Temperature":150,
"FlowRateType":"GasFlowRate", "GasFlowRate":5}},
study = "Study 1")
Examples
>>> model.tasks.networksimulation.reset_conditions()
>>> model.tasks.networksimulation.reset_conditions(study = "Study 1")
• folder_path (str) – Optional. The folder location where the generated files are writ-
ten to. If not specified, the files will be written to current pipesim model file folder.
• study (str) – Optional. The study name.
Returns The list of engine files generated.
Return type List[str]
Examples
Examples
profile_variables=OutputVariables.Profile.GASFIELD,
system_variables=OutputVariables.System.GASFIELD)
Examples
class sixgill.pipesim.PTProfileSimulation(model)
Bases: sixgill.pipesim.AbstractSimulation
get_conditions(producer, study: typing.Union[str, NoneType] = None)
Returns the study conditions.
Returns the PT profile simulation conditions for the specified study. If the PT profile simulation task does
not exist in the study, a new one will be created.
Parameters
• producer (str) – Required. The name of the producer for the PT profile simulation
task
• study (str) – Optional. The name of the study. If no name is specified and there is one
default study, the default study will be used. If there are multiple studies in the model,
study name is required.
Returns The PT profile settings in a dictionary format.
Return type dict
Examples
Examples
• study (str) – Optional. The name of the study. If no name is specified and there is one
default study, the default study will be used. If there are multiple studies in the model,
study name is required.
Returns Whether the reset succeeded (True) or not (False).
Return type bool
Examples
Examples
Examples
Examples
• study (str) – Optional. The name of the study. If no name is specified and there is one
default study, the default study will be used. If there are multiple studies in the model,
study name is required.
Returns The simulation results.
Return type dict
Examples
Examples
Parameters.PTProfileSimulation.SensitivityVariable.VALUES:
[2000,3000,4000]}
}
profile_variables=OutputVariables.Profile.GASFIELD,
system_variables=OutputVariables.System.GASFIELD)
class sixgill.pipesim.NodalAnalysisSimulation(model)
Bases: sixgill.pipesim.AbstractSimulation
get_conditions(producer, nodal_point_settings: typing.Union[dict, NoneType] = None, study: typ-
ing.Union[str, NoneType] = None)
Returns the nodal analysis general conditions in one dictionary and inlet condtions in anohter dictionary.
Returns the nodal analysis general conditions for the specified study. If the nodal analysis task does not
exist in the study, a new one will be created. If the producer is a well and nodal point settings are not
provided, a default nodal point at bottom hole will be created. If nodal point settings are provided, a new
nodal point will be created and be applied to the existing or newly created nodal analysis task.
Parameters
• producer (str) – Required. The name of the producer for the nodal analysis simulation
task
• study (str) – Optional. The name of the study. If no name is specified and there is one
default study, the default study will be used. If there are multiple studies in the model,
study name is required.
• nodal_point_settings (dict) – Optional. The settings for nodal point to be cre-
ated. The new nodal point is applied to the existing or newly created nodal analysis task.
Returns Nodal analysis simulation settings in the first dictionary, and inlet conditions in the
second dictionary
Return type dict
Examples
Sets the nodal analysis profile simulation task conditions for the specified study. If the nodal analysis
simulation task does not exist in the study, a new one will be created.If the producer is a well and nodal
point settings are not provided, a default nodal point at bottom hole will be created. If nodal point settings
are provided, a new nodal point will be created and be applied to the existing or newly created nodal
analysis task.
Parameters
• producer (str) – Required. The name of the producer for the nodal analysis simulation
task.
• parameters (dict) – Required. The conditions for nodal analysis task to be set on the
study.
• inlet_conditions (dict) – Optional. The inlet conditions for nodal analysis task
to be set on the study.
• nodal_point_settings (dict) – Optional. The settings for nodal point to be cre-
ated. The new nodal point is applied to the existing or newly created nodal analysis task.
• study (str) – Optional. The name of the study. If no name is specified and there is one
default study, the default study will be used. If there are multiple studies in the model,
study name is required.
Returns The exisitng or created nodal analysis operation
Return type Nodal analysis operation
Examples
>>> model.tasks.nodalanalysis.set_conditions(
"Well 1"
parameters={
Parameters.NodalAnalysisSimulation.LIMITINFLOW: True,
Parameters.NodalAnalysisSimulation.LIMITOUTFLOW: False,
Parameters.NodalAnalysisSimulation.OUTFLOWPOINTS: 40,
Parameters.NodalAnalysisSimulation.INFLOWPOINTS: 50,
Parameters.NodalAnalysisSimulation.MAXFLOWRATETYPE:
Constants.FlowRateType.GASFLOWRATE,
Parameters.NodalAnalysisSimulation.OUTLETPRESSURE: 3000,
Parameters.NodalAnalysisSimulation.MAXGASRATE: 300,
Parameters.NodalAnalysisSimulation.MAXOUTFLOWPRESSURE: 400,
Parameters.NodalAnalysisSimulation.BRANCHTERMINATOR: "Choke"
},
inlet_conditions={
"Well1.Comp1":{"Pressure":NAN,
"Temperature":200,
"GasRatioType":"LiquidFlowRate",
}
},
nodal_point_settings={
Parameters.NodalPoint.NODALTYPE: Constants.NodalPointType.DOWNHOLE,
Parameters.NodalPoint.DEPTH: 1000,
Parameters.NodalPoint.WELLSTRINGTYPE: Constants.TubingSectionType.TUBING,
Parameters.NodalPoint.NAME: 'NA2'
}
)
>>> model.tasks.nodalanalysis.set_conditions(
producer="Well 1", study="Study 2",
parameters={
Parameters.NodalAnalysisSimulation.OUTLETPRESSURE: 3000,
Parameters.NodalAnalysisSimulation.BRANCHTERMINATOR: "Choke"
Parameters.NodalAnalysisSimulation.NODALMEASUREMENTPOINT: "NA2"
})
>>> model.tasks.nodalanalysis.set_conditions(
producer="Well 1", study="Study 2",
nodal_point_settings = {
Parameters.NodalPoint.NODALTYPE: Constants.NodalPointType.SURFACE,
Parameters.NodalPoint.EQUIPMENT: 'Choke',
Parameters.NodalPoint.NAME: 'NA4'
})
Examples
>>> model.tasks.nodalanalysis.reset_conditions()
>>> model.tasks.nodalanalysis.reset_conditions(study = "Study 1")
Examples
Examples
Examples
Returns The system result is a nested dictionary. The key of outer dictionary is the name of
system variable, and it’s value is a nested ordered dictionary, the first item in the dictionary
is the unit of the result with ‘Unit’ as the key, and other items are system results with key of
case name (for single branch operation) or branch name (for network simulation).
Return type defaultdict(OrderedDict)
Examples
node
Node (equipment) result of simulation.
Returns
• defaultdict(OrderedDict) for network simulation – The node result for network simulation
is a nested dictionary. The key of outer dictionary is the name of system variable and it’s
value is a nested ordered dictionary, the first item in the dictionary is the unit of the result
with ‘Unit’ as the key, and other items are system results with key of equipment name.
• defaultdict(collections.OrderedDict)) for single branch simulation – The node result for
Examples
profile
Profile result of simulation.
Returns The node result for single branch simulation is a dictionary of a collection of nested
dictionaries. The key of outer dictionary is case name for single branch simulation and
branch name for network simulation. The value is a collection of nested ordered dictionaries.
Each single nested dictonary is defaultdict(OrderedDict) with key of profile variable name
and value of profile results.
Return type defaultdict(collections.OrderedDict))
Examples
profile_units
Units of simulation profile result.
Returns The key is the profile variable name and value is the corresponding unit.
Return type Dict
Examples
>>> print(result.profile_units)
>>> {'BranchEquipment': '',
'Elevation': 'ft',
'Pressure': 'psia',
'Temperature': 'degF',
'TotalDistance': 'ft'}
cases
Case names for single branch simulation.
Returns The case names of single branch simulation. The order is the same as the sequence
shown in PIPESIM UI.
Return type List
Examples
>>> print(result.cases)
>>> ['PWSTATIC=2000 psia Flowrate=4035.663 sbbl/day',
'PWSTATIC=3000 psia Flowrate=6423.735 sbbl/day',
'PWSTATIC=4000 psia Flowrate=8874.929 sbbl/day']
messages
Console messages from engine for the simulation. The messages are the same as those shown under Engine
console tab when running simulation in PIPESIM UI.
Returns A list of engine console messages
Return type List[str]
Examples
>>> result.messages
summary
Summary of simulation status. The summary contains general information as well as warnings and errors,
which are the same messages shown in message center in PIPESIM UI after running simulation.
Returns summary[’Info’] is a list of information messages about simulation status. sum-
mary[’Error’] is a list of error messages about simulation status. summary[’Warning’] is
a list of warning messages about simulation status.
Return type Dict
Examples
>>> result.summary['Info']
>>> result.summary['Error']
>>> result.summary['Warning']
state
Simulation state, which can be SimulationState.RUNNING, SimulationState.COMPLETED or Simula-
tionState.FAILED.
Returns The state of simulation
Return type str
Examples
>>> result.state
inflow_curves
Inflow curves of nodal analysis simulation.
Returns
A list of curve objects. Each curve object contains case name, curve data and units. The
curve data has the results for inflow gas flowrate, mass flowrate and liquid flowrate and nodal
point pressure as well their units. Fluid base from results can be used to select which phase
of inflow curve data is desired.
For simulation with multiple inflow curves, the order of the list is the same as the sequence
shown in PIPESIM UI.
Return type List(Curve)
Examples
outflow_curves
Outflow curves of nodal analysis simulation.
Returns
A list of Curve objects. Each Curve object contains case name, curve data and units. The
curve data has the results for outflow gas flowrate, mass flowrate and liquid flowrate and
nodal point pressure as well their units. Fluid base from results can be used to select which
phase of outflow curve data is desired.
For simulation with multiple outflow curves, the order of the list is the same as the sequence
shown in PIPESIM UI.
Return type List(Curve)
Examples
operating_envelope
Operating envelope of nodal analysis simulation. The envelope is only generated for simulation with a
single case.
Returns: OperatingEnvelope
OperatingEnvelope object has total of six lines for max drawdown, reservoir pressure, erosional
velocity, aofp, inversion point and liquid loading, respectively. Each line has coordinates and
units for each phase, including gas flowrate and corresponding pressure, liquid flowrate and cor-
responding pressure, mass flowrate and corresponding pressure. Fluid base from results can be
used to select which phase of each envelope line is desired.
Examples
>>> res_pres[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> # gas phase erosional velocity line
>>> ero_velocity = result.operating_envelope.erosional_velocity
>>> ero_velocity[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> ero_velocity[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> # gas phase aofp line
>>> aofp = result.operating_envelope.aofp
>>> aofp[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> aofp[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> # gas phase inversion point line
>>> inversion_point = result.operating_envelope.inversion_point
>>> inversion_point[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> inversion_point[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
>>> # gas phase liuquid loading line
>>> liquid_loading = result.operating_envelope.liquid_loading
>>> liquid_loading[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATE]
>>> liquid_loading[Parameters.NodalOperatingEnvelopePlot.GASFLOWRATEPRESSURE]
operating_points
Operating points of nodal analysis simulation.
Returns: List(OperationPoint)
A list of OperationPoint objects. Each OperationPoint object contains case name, point data and
units. The point data has the results for gas flowrate, mass flowrate, liquid flowrate, nodal point
pressure as well as their units. Fluid base from results can be used to select which phase of
operating point data is desired.
For simulation with multiple operating points, the order of the list is the same as the sequence
shown in PIPESIM UI.
Examples
>>> # operating point data for each phase and units in the first case
>>> point = result.operating_points[0].point_data
>>> point[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_LIQUID_STOCKTANK]
>>> point[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_GAS_STOCKTANK]
>>> point[SystemVariables.NODAL_POINT_MASS_FLOWRATE_FLUID]
>>> point[SystemVariables.NODAL_POINT_PRESSURE]
>>> units = result.operating_points[0].units
>>> units[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_LIQUID_STOCKTANK]
>>> units[SystemVariables.NODAL_POINT_VOLUME_FLOWRATE_GAS_STOCKTANK]
>>> units[SystemVariables.NODAL_POINT_MASS_FLOWRATE_FLUID]
>>> units[SystemVariables.NODAL_POINT_PRESSURE]
fluid_base
The fluid base of nodal simulation results. The fliud base can be gas, mass or liquid, which can be used to
select which phase of flow curves, operating envelope and operating point data are desired.
Returns: str
The fluid base of nodal simulation results.
Examples
>>> result.fluid_base
inflow_cases
Case names for inflow curves.
Returns The case names of inflow curves. The order is the same as the sequence shown in
PIPESIM UI.
Return type List
Examples
>>> result.inflow_cases
outflow_cases
Case names for outflow curves.
Returns The case names of outflow curves. The order is the same as the sequence shown in
PIPESIM UI.
Return type List
Examples
>>> result.outflow_cases
class sixgill.compositional.FluidSettings(model)
Bases: object
Primary class for operating on fluids
fluid_type
The current fluid type set for the model
Returns One of the fluid mode defined in definitions FluidType class
Return type FluidType
compositional
The compositional fluid settings
class sixgill.compositional.CompositionalFluidSettings(model)
Bases: object
pvt_package
The compositional fluid package set for the model
Returns One of the fluid flash package type defined in definitions PVTPackage class
Return type PVTPackage
equation_of_state
The compositional fluid equation of state
Returns One of the fluid equation of state defined in definitions EquationOfState class
Return type EquationOfState
viscosity_correlation
The compositional fluid viscosity correlation method
Returns One of the fluid viscosity correlation method defined in definitions ViscosityCorrela-
tionMethod class
Return type ViscosityCorrelationMethod
volume_shift_correlation
The compositional fluid volume shift correlation method
Returns One of the fluid volume shift correlation method defined in definitions VolumeShift-
CorrelationMethod class
Return type VolumeShiftCorrelation
critical_property_correlation
The compositional fluid critical property correlation method
Returns One of the fluid critical property correlation method defined in definitions CriticalProp-
ertyCorrelationMethod class
Return type CriticalPropertyCorrelation
thermal_coefficient_correlation
The compositional fluid thermal coefficient correlation method
Returns One of the fluid thermal coefficient correlation method defined in definitions Thermal-
CoefficientsCorrelationMethod class
Return type ThermalCoefficientsCorrelation
acf_correlation
The compositional fluid Acf correlation method
Returns One of the fluid Acf correlation method defined in definitions AcfCorrelationMethod
class
Return type ThermalCoefficientsCorrelation
salinity_model
The compositional fluid sanity model type
Returns One of the fluid salinity model type defined in definitions SalinityModel class
Return type SalinityModel
select_components(selected_components: list) → None
Select the components that will be used by the compositional fluid in the model.
Parameters selected_components (list) – The list of fluid component names based on
the fluid flash package.
Returns
Return type None
unselect_components(unselected_components: list)
Unselect the components that are no longer used by the compositional fluid in the model.
Parameters unselected_components (list) – The list of fluid component names based
on the fluid flash package.
Returns If a component cannot be unselected, a ValueError will be raised to tell the reason.
Return type None
add_pseudocomponent(component_name, parameters={}) → None
Add a user defined fluid component that will be used by the compositional fluid in the model.
Parameters
• component_name (str) – The name of the new component.
• parameters (dict) – Optional. The parameters for the user defined component.
Returns If the component cannot be added, a ValueError will be raised to tell the reason.
Return type None
delete_pseudocomponent(component_name)
Delete a user defined fluid component that is no longer used by the compositional fluid in the model.
Parameters component_name (str) – The name of the user defined component.
Returns If the component cannot be deleted, a ValueError will be raised to tell the reason.
Return type None
get_composition(context: typing.Union[str, NoneType] = None, model_context: typ-
ing.Union[sixgill.core.model_context.AbstractModelContext, NoneType] =
None, **context_keywords) → pandas.core.frame.DataFrame
Return fluid composition in the context.
Returns fluid composition in the context. It will fail if no item or more than one item is found in the
context.
Parameters
• context (str) – Optional. The context string to look for compositional fluid.
• model_context (AbstractModelContext) – Optional. The context to search in.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Returns The fluid composition data frame includes the following columns: Component, Speci-
fiedFraction (indexed by Component)
Return type pandas.DataFrame
Examples
>>> df = model.fluids.compositional.get_composition(context="C-Fluid")
>>> dfw = model.fluids.compositional.get_composition(
CompositionalFluid="C-Fluid")
Parameters
• value (DataFrame or dict) – Required. The data frame or dict to set to the fluid
composition The fluid composition data frame includes the following columns: Compo-
nent, SpecifiedFraction (indexed by Component) If dict is used, keys are considered as
Component and values are considered as SpecifiedFraction
• context (str) – Optional. The context string to look for the compositional fluid.
• model_context (AbstractModelContext) – Optional. The context to search in.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Examples
class sixgill.model_setting.ModelSetting(model)
Bases: dict
A class to get and set the model and simulation settings
get(key, default=None)
items()
keys()
values()
pop(*args, **kwargs)
popitem(*args, **kwargs)
clear(*args, **kwargs)
update(*args, **kwargs)
setdefault(*args, **kwargs)
fromkeys(*args, **kwargs)
ambient_temperature
atmospheric_pressure
wind_speed
soil_type
soil_conductivity
metocean_data_location
erosional_velocity_constant
corrosion_model
corrosion_efficiency
max_report_interval_length
print_computation_segment_result
max_computation_segment_length
network_solver_method
network_solver_tolerance
network_solver_max_iterations
single_branch_keywords
network_keywords_top
network_keywords_bottom
gis_elevation_interval
gis_elevation_max_points
gis_elevation_data_source
use_global_flow_correlation
use_global_heat_transfer
global_flow_correlation
Return global flow correlation settings as a dictionary
global_heat_transfer_option
Return global heat transfer options as a dictionary
get_flow_correlations(context: typing.Union[str, NoneType] = None, component:
typing.Union[str, NoneType] = None, model_context: typ-
ing.Union[sixgill.core.model_context.AbstractModelContext, NoneType]
= None, **context_keywords: str) → dict
Return flow correlation settings for wells or flowlines that match the given context. If no context specified,
return all flow correlation settings for wells and flowlines.
Parameters
• context (str) – Optional. The context string to search in.
• component (str) – Optional. The type of the item.
• model_context (AbstractModelContext) – Optional. The context to search in.
• context_keywords (str) – Comma separated list of context search criteria in the
form of component=’value’, where component is the model component of the item, and
value is the value of the model component. Values can also be ANY (matches any value)
or NONE (matches no value).
Returns A dictionary that contains flow correlation settings.
Return type dict
Examples
Examples
set_flow_correlations(flow_correlations)
Set flow correlation settings for well and flowlines from a dictionary. The key of the dictionary is the
name of flowline or well that flow correlation is associated with and the value is a sub dictionary that
contains flow correlation settings. If name is “Default”, it is considered the global default flow correlation.
The keys of sub dictionary are: VerticalMultiphaseSource: Vertifical multiphase flow correlation source
VerticalMultiphaseCorrelation: Vertifical multiphase flow correlation name VerticalMultiphaseHoldup-
Factor: Vertifical multiphase flow correlation holdup factor VerticalMultiphaseFrictionFactor: Vertifical
multiphase flow correlation fricition factor HorizontalMultiphaseSource: Horizontal multiphase flow cor-
relation source HorizontalMultiphaseCorrelation: Horizontal multiphase flow correlation name Horizon-
talMultiphaseHoldupFactor: Horizontal multiphase flow correlation holdup factor HorizontalMultiphase-
FrictionFactor: Horizontal multiphase flow correlation fricition factor SwapAngle : Vertical and horizontal
swap angle SinglePhaseCorrelation : Single phase flow correlation name SinglePhaseFactor : Single phase
flow correlation factor
set_heat_transfer_options(heat_transfer_options)
Set heat transfer option settings for well and flowlines from a dictionary. The key of the dictionary is
the name of flowline or well that heat transfer option is associated with and the value is a sub dictionary
that contains heat transfer options. If name is “Default”, it is considered as global heat transfer options.
The keys of sub dictionary are: PipeBurialMethod: Pipe burial method InsideFilmCoeffMethod: Inside
film coefficient method UValueMultiplier: U value multiplier EnableHydrateSubcoolCalc: boolean flag
indicating whether to enable hydrate subcooling calculation
class sixgill.model_setting.GlobalFlowCorrelation()
Bases: object
The utilities submodule provides useful methods for working with Excel.
sixgill.utilities.active_sheet()
Return the currently active Excel worksheet
sixgill.utilities.range_to_dataframe(excel_range=[], entriesbyrow=False)
Convert an excel range which is a list of lists to a panda DataFrame
sixgill.utilities.range_to_dictionary(excel_range=[], entriesbyrow=False)
Convert an excel range which is a list of lists to a dictionary of dictionaries
sixgill.utilities.current_folder()
Return the folder (path) for the workbook
sixgill.utilities.worksheet_last_row(worksheet=None)
Return the last row with data given a specified column
sixgill.utilities.worksheet_last_column(worksheet=None)
Return the last row with data given a specified column
sixgill.utilities.get_model_session(filename, units=’PIPESIM_FIELD’)
Return the active model session that the workbook is connected to
sixgill.utilities.convert_tubing_bmd(bmd: typing.List[T])
Convert tubing BMD to TMD and length
The definitions sub-module maintains the enumerations and static classes that are available in the PIPESIM Python
Toolkit.
class sixgill.definitions.Units
Bases: object
Available unit of measurement categories
METRIC = ‘PIPESIM_METRIC’
SI = ‘PIPESIM_SI’
FIELD = ‘PIPESIM_FIELD’
class sixgill.definitions.Tasks
Bases: object
Available PIPESIM simulation tasks
NETWORKSIMULATION = ‘NetworkSim’
PTPROFILESIMULATION = ‘PTProfileSim’
NODALANALYSISOPERATION = ‘NodalAnalysisOp’
class sixgill.definitions.Connection
Bases: object
SOURCE = ‘Source’
DESTINATION = ‘Destination’
SOURCEPORT = ‘Source Port’
class Separator
Bases: object
TOP = ‘Top Port’
BOTTOM = ‘Bottom Port’
BOOT = ‘Boot Port’
class sixgill.definitions.SimulationState
Bases: object
RUNNING = ‘Running’
COMPLETED = ‘Completed’
FAILED = ‘Failed’
class sixgill.definitions.ModelComponents
Bases: object
Available model components
BLACKOILFLUID = ‘BlackOilFluid’
BOUNDARY = ‘Boundary’
CASING = ‘Casing’
CHECKVALVE = ‘CheckValve’
CHOKE = ‘Choke’
COMPLETION = ‘Completion’
COMPLETIONCONINGPOINT = ‘CompletionConingPoint’
COMPLETIONMODEL = ‘CompletionModel’
COMPOSITIONALFLUID = ‘CompositionalFluid’
COMPRESSOR = ‘Compressor’
ENGINEKEYWORDS = ‘EngineKeywords’
ESP = ‘ESP’
EXPANDER = ‘Expander’
FILEBASEDFLUID = ‘FileBasedFluid’
FLOWLINE = ‘Flowline’
FLUIDCOMPONENT = ‘FluidComponent’
GASLIFTINJECTION = ‘GasLiftInjection’
GENERICEQUIPMENT = ‘GenericEquipment’
GRAVELPACK = ‘GravelPack’
HEATEXCHANGER = ‘HeatExchanger’
INJECTOR = ‘Injector’
IPRBACKPRESSURE = ‘IPRBackPressure’
IPRDARCY = ‘IPRDarcy’
IPRFETKOVITCH = ‘IPRFetkovitch’
IPRFORCHHEIMER = ‘IPRForchheimer’
IPRHORIZONTALPI = ‘IPRHorizontalPI’
IPRHYDRAULICFRACTURE = ‘IPRHydraulicFracture’
IPRJONES = ‘IPRJones’
IPRPIMODEL = ‘IPRPIModel’
IPRPSSBABUODEH = ‘IPRPSSBabuOdeh’
IPRSSJOSHI = ‘IPRSSJoshi’
IPRVOGEL = ‘IPRVogel’
JUNCTION = ‘Junction’
LINER = ‘Liner’
MEASUREMENTPOINT = ‘MeasurementPoint’
MFLFLUID = ‘MFLFluid’
MULTIPLIERADDER = ‘MultiplierAdder’
MULTIPHASEBOOSTER = ‘MultiphaseBooster’
GENERICBOOSTER = ‘GenericBooster’
ONESUBSEABOOSTER = ‘OneSubseaBooster’
WETGASCOMPRESSOR = ‘WetGasCompressor’
OPEN_HOLE = ‘OpenHole’
PACKER = ‘Packer’
PCP = ‘PCP’
PUMP = ‘Pump’
PVTFLUID = ‘PVTFluid’
RODPUMP = ‘RodPump’
SINGLEPHASESEPARATOR = ‘SinglephaseSeparator’
SINK = ‘Sink’
SLIDINGSLEEVE = ‘SlidingSleeve’
SOURCE = ‘Source’
STUDY = ‘Study’
SUBSURFACESAFETYVALVE = ‘SubsurfaceSafetyValve’
THREEPHASESEPARATOR = ‘ThreePhaseSeparator’
TUBING = ‘Tubing’
TUBINGPLUG = ‘TubingPlug’
TWOPHASESEPARATOR = ‘TwoPhaseSeparator’
WATERTEMPVELOCITYSURVEY = ‘WaterTempVelocitySurvey’
WELL = ‘Well’
NETWORKSIMULATION = ‘NetworkSim’
PTPROFILESIMULATION = ‘PTProfileSim’
NODALANALYSISOPERATION = ‘NodalAnalysisOp’
class sixgill.definitions.Parameters
Bases: object
Available parameters by model component
class Location
Bases: object
LATITUDE = ‘Latitude’
LONGITUDE = ‘Longitude’
CLUSTEREDLATITUDE = ‘SchematicLatitude’
CLUSTEREDLONGITUDE = ‘SchematicLongitude’
NONCLUSTEREDLATITUDE = ‘SchematicLatitude’
NONCLUSTEREDLONGITUDE = ‘SchematicLongitude’
ELEVATION = ‘Elevation’
class Parameters.SchematicPosition
Bases: object
X_COORD = ‘X’
Y_COORD = ‘Y’
class Parameters.DownholeLocation
Bases: object
TOPMEASUREDDEPTH = ‘TopMeasuredDepth’
BOTTOMMEASUREDDEPTH = ‘BottomMeasuredDepth’
class Parameters.ModelComponent
Bases: object
NAME = ‘Name’
ISACTIVE = ‘IsActive’
class Parameters.DownholeComponent
Bases: sixgill.definitions.ModelComponent,
sixgill.definitions.DownholeLocation
class Parameters.SurfaceComponent
Bases: sixgill.definitions.ModelComponent,
sixgill.definitions.Location, sixgill.definitions.SchematicPosition
class Parameters.DownholeOrSurfaceComponent
Bases: sixgill.definitions.ModelComponent,
sixgill.definitions.DownholeLocation,
sixgill.definitions.Location, sixgill.definitions.SchematicPosition
class Parameters.AbstractTubingSection
Bases: sixgill.definitions.DownholeComponent
ISFLOWPRESENTINSIDE = ‘IsFlowPresentInside’
TOPMEASUREDDEPTH = ‘TopMeasuredDepth’
GRADE = ‘Grade’
DENSITY = ‘Density’
BOREHOLEDIAMETER = ‘BoreholeDiameter’
CEMENTTOP = ‘CementTop’
CEMENTDENSITY = ‘CementDensity’
ANNULUSMATERIALTYPE = ‘AnnulusMaterialType’
ANNULUSMATERIALDENSITY = ‘AnnulusMaterialDensity’
INNERDIAMETER = ‘InnerDiameter’
ROUGHNESS = ‘Roughness’
WALLTHICKNESS = ‘WallThickness’
LENGTH = ‘Length’
class Parameters.AssociatedToFluid
Bases: object
ASSOCIATEDBLACKOILFLUID = ‘AssociatedBlackOilFluid’
ASSOCIATEDCOMPOSITIONALFLUID = ‘AssociatedCompositionalFluid’
ASSOCIATEDMFLFLUID = ‘AssociatedMFLFluid’
class Parameters.CanBeTemplate
Bases: object
ISTEMPLATE = ‘IsTemplate’
ISBUILTINTEMPLATE = ‘IsBuiltinTemplate’
class Parameters.SharedPumpParameters
Bases: object
EFFICIENCY = ‘Efficiency’
POWER = ‘Power’
PRESSURE = ‘Pressure’
PRESSUREDIFFERENTIAL = ‘PressureDifferential’
PRESSURERATIO = ‘PressureRatio’
USECURVES = ‘UseCurves’
class Parameters.SharedPumpCatalogParameters
Bases: object
MANUFACTURER = ‘Manufacturer’
MODEL = ‘Model’
BASESPEED = ‘BaseSpeed’
OPERATINGSPEED = ‘OperatingSpeed’
SHOWPOWER = ‘ShowPower’
class Parameters.FluidLink
Bases: object
RESERVOIRPRESSURE = ‘ReservoirPressure’
RESERVOIRTEMPERATURE = ‘ReservoirTemperature’
COMPLETIONTESTTYPE = ‘CompletionTestType’
USETESTDATA = ‘UseTestData’
USECONINGDATA = ‘UseConingData’
CONEDGASSG = ‘ConedGasSG’
USEGASRATIO = ‘UseGasRatio’
USEWATERRATIO = ‘UseWaterRatio’
GOR = ‘GOR’
OGR = ‘OGR’
GLR = ‘GLR’
LGR = ‘LGR’
GWR = ‘GWR’
WGR = ‘WGR’
WATERCUT = ‘WaterCut’
USEFLUIDOVERRIDES = ‘UseFluidOverrides’
OVERRIDESINITIALIZED = ‘OverridesInitialized’
class Parameters.Fluid
Bases: sixgill.definitions.CanBeTemplate, sixgill.definitions.FluidLink
COMMENT = ‘Comment’
HASOVERRIDE = ‘HasOverride’
class Parameters.FileBasedFluid
Bases: sixgill.definitions.Fluid
FLUIDFILENAME = ‘FluidFileName’
class Parameters.About
Bases: object
TOOLKITVERSION = ‘ToolkitVersion’
WEBAPIVERSION = ‘WebAPIVersion’
MODELFILENAME = ‘ModelFilename’
UNITSYSTEM = ‘UnitSystem’
class Parameters.SimulationSetting
Bases: object
AMBIENTTEMPERATURE = ‘AmbientTemperature’
ATMOSPHERICPRESSURE = ‘AtmosphericPressure’
WINDSPEED = ‘WindSpeed’
SOILTYPE = ‘SoilType’
SOILCONDUCTIVITY = ‘SoilConductivity’
METOCEANDATALOCATION = ‘MetoceanDataLocation’
EROSIONALVELOCITYCONSTANT = ‘ErosionalVelocityConstant’
CORROSIONMODEL = ‘CorrosionModel’
CORROSIONEFFICIENCY = ‘CorrosionEfficiency’
PIPESEGMENTATIONMAXREPORTINGINTERVAL = ‘PipeSegmentationMaxReportingInterval’
PIPESEGMENTATIONPRINTSEGMENTATIONRESULT =
‘PipeSegmentationPrintSegmentationResult’
PIPESEGMENTATIONMAXSEGMENTLENGTH = ‘PipeSegmentationMaxSegmentLength’
NETWORKSOLVERMETHOD = ‘NetworkSolver’
NETWORKSOLVERTOLERANCE = ‘NetworkSolverTolerance’
NETWORKSOLVERMAXITERATIONS = ‘NetworkSolverMaxIterations’
SINGLEBRANCHKEYWORDS = ‘SingleBranchKeywords’
NETWORKTOPKEYWORDS = ‘NetworkTopKeywords’
NETWORKBOTTOMKEYWORDS = ‘NetworkBottomKeywords’
GISELEVATIONINTERVAL = ‘GISElevationInterval’
GISELEVATIONMAXPOINTS = ‘GISElevationMaxPoints’
GISELEVATIONSOURCETYPE = ‘GISElevationSourceType’
USEGLOBALFLOWCORRELATIONS = ‘UseGlobalFlowCorrelations’
USEGLOBALHEATTRANSFER = ‘UseGlobalHeatTransfer’
class Parameters.FlowCorrelation
Bases: object
SWAPANGLE = ‘SwapAngle’
OVERRIDEGLOBAL = ‘OverrideGlobal’
class SinglePhase
Bases: object
CORRELATION = ‘SinglePhaseCorrelation’
FACTOR = ‘SinglePhaseFactor’
class Parameters.FlowCorrelation.Multiphase
Bases: object
class Vertical
Bases: object
SOURCE = ‘VerticalMultiphaseSource’
CORRELATION = ‘VerticalMultiphaseCorrelation’
HOLDUPFACTOR = ‘VerticalMultiphaseHoldupFactor’
FRICTIONFACTOR = ‘VerticalMultiphaseFrictionFactor’
class Parameters.FlowCorrelation.Multiphase.Horizontal
Bases: object
SOURCE = ‘HorizontalMultiphaseSource’
CORRELATION = ‘HorizontalMultiphaseCorrelation’
HOLDUPFACTOR = ‘HorizontalMultiphaseHoldupFactor’
FRICTIONFACTOR = ‘HorizontalMultiphaseFrictionFactor’
class Parameters.HeatTransferOption
Bases: object
PIPEBURIALMETHOD = ‘PipeBurialMethod’
INSIDEFILMCOEFFMETHOD = ‘InsideFilmCoeffMethod’
UVALUEMULTIPLIER = ‘UValueMultiplier’
ENABLEHYDRATESUBCOOLCALC = ‘EnableHydrateSubcoolCalc’
OVERRIDEGLOBAL = ‘OverrideGlobal’
class Parameters.BlackOilFluid
Bases: sixgill.definitions.Fluid
API = ‘API’
FRACTIONCO2 = ‘CO2Fraction’
FRACTIONCO = ‘COFraction’
GASSPECIFICGRAVITY = ‘GasSpecificGravity’
GLR = ‘GLR’
GOR = ‘GOR’
USEGASRATIO = ‘UseGasRatio’
USEWATERRATIO = ‘UseWaterRatio’
GWR = ‘GWR’
FRACTIONH2 = ‘H2Fraction’
FRACTIONH2S = ‘H2SFraction’
FRACTIONN2 = ‘N2Fraction’
WATERCUT = ‘WaterCut’
WATERSPECIFICGRAVITY = ‘WaterSpecificGravity’
DEADOILDENSITY = ‘DeadOilDensity’
USEDEADOILDENSITY = ‘UseDeadOilDensity’
DEADOILVISCOSITYCORR = ‘DeadOilViscosityCorr’
DEADOILTEMPERATURE1 = ‘DeadOilTemperature1’
DEADOILTEMPERATURE2 = ‘DeadOilTemperature2’
DEADOILVISCOSITY1 = ‘DeadOilViscosity1’
DEADOILVISCOSITY2 = ‘DeadOilViscosity2’
LIVEOILVISCOSITYCORR = ‘LiveOilViscosityCorr’
LIQUIDVISCOSITYCALC = ‘LiquidViscosityCalc’
USEBRAUNERULLMANEQUATION = ‘UseBraunerUllmanEquation’
USERWATERCUTCUTOFF = ‘UserWatercutCutOff’
UNDERSATURATEDOILVISCOSITYPARA = ‘UndersaturatedOilViscosityParA’
UNDERSATURATEDOILVISCOSITYPARB = ‘UndersaturatedOilViscosityParB’
UNDERSATURATEDOILVISCOSITYCORR = ‘UndersaturatedOilViscosityCorr’
VANDUSERK1 = ‘VandUserk1’
VANDUSERK2 = ‘VandUserk2’
RICHARDSONKOIW = ‘Richardsonkoiw’
RICHARDSONKWIO = ‘Richardsonkwio’
OGR = ‘OGR’
LGR = ‘LGR’
WGR = ‘WGR’
ISTEMPLATE = ‘IsTemplate’
ISBUILTINTEMPLATE = ‘IsBuiltinTemplate’
class SinglePointCalibration
Bases: object
SOLUTIONGAS = ‘SolutionGas’
OILFVFCORRELATION = ‘OilFVFCorrelation’
LIVEOILVISCCORRELATION = ‘LiveOilViscCorrelation’
GASCOMPRESSCORRELATION = ‘GasCompressCorrelation’
GASVISCCORRELATION = ‘GasViscCorrelation’
ABOVEBBPTYPE = ‘AboveBBPType’
BELOWBBPTYPE = ‘BelowBBPType’
BUBBLEPOINTSATGAS_VALUE = ‘BubblepointSatGas_Value’
BUBBLEPOINTSATGAS_PRESSURE = ‘BubblepointSatGas_Pressure’
BUBBLEPOINTSATGAS_TEMPERATURE = ‘BubblepointSatGas_Temperature’
ABOVEBBPDENSITY_VALUE = ‘AboveBBPDensity_Value’
ABOVEBBPDENSITY_PRESSURE = ‘AboveBBPDensity_Pressure’
ABOVEBBPDENSITY_TEMPERATURE = ‘AboveBBPDensity_Temperature’
ABOVEBBPOFVF_VALUE = ‘AboveBBPOFVF_Value’
ABOVEBBPOFVF_PRESSURE = ‘AboveBBPOFVF_Pressure’
ABOVEBBPOFVF_TEMPERATURE = ‘AboveBBPOFVF_Temperature’
BELOWBBPDENSITY_VALUE = ‘BelowBBPDensity_Value’
BELOWBBPDENSITY_PRESSURE = ‘BelowBBPDensity_Pressure’
BELOWBBPDENSITY_TEMPERATURE = ‘BelowBBPDensity_Temperature’
BELOWBBPOFVF_VALUE = ‘BelowBBPOFVF_Value’
BELOWBBPOFVF_PRESSURE = ‘BelowBBPOFVF_Pressure’
BELOWBBPOFVF_TEMPERATURE = ‘BelowBBPOFVF_Temperature’
BELOWBBPLIVEOILVISCOSITY_VALUE = ‘BelowBBPLiveOilViscosity_Value’
BELOWBBPLIVEOILVISCOSITY_PRESSURE = ‘BelowBBPLiveOilViscosity_Pressure’
BELOWBBPLIVEOILVISCOSITY_TEMPERATURE = ‘BelowBBPLiveOilViscosity_Temperature’
BELOWBBPGASVISCOSITY_VALUE = ‘BelowBBPGasViscosity_Value’
BELOWBBPGASVISCOSITY_PRESSURE = ‘BelowBBPGasViscosity_Pressure’
BELOWBBPGASVISCOSITY_TEMPERATURE = ‘BelowBBPGasViscosity_Temperature’
BELOWBBPGASZ_VALUE = ‘BelowBBPGasZ_Value’
BELOWBBPGASZ_PRESSURE = ‘BelowBBPGasZ_Pressure’
BELOWBBPGASZ_TEMPERATURE = ‘BelowBBPGasZ_Temperature’
class Parameters.BlackOilFluid.ThermalData
Bases: object
GASHEATCAPACITY = ‘GasHeatCapacity’
OILHEATCAPACITY = ‘OilHeatCapacity’
WATERHEATCAPACITY = ‘WaterHeatCapacity’
GASCONDUCTIVITY = ‘GasConductivity’
OILCONDUCTIVITY = ‘OilConductivity’
WATERCONDUCTIVITY = ‘WaterConductivity’
ENTHALPYCALCMETHOD = ‘EnthalpyCalcMethod’
LATENTHEATOFVAPORIZATION = ‘LatentHeatOfVaporization’
class Parameters.Boundary
Bases: object
USEPQCURVE = ‘UsePQCurve’
USEGASRATIO = ‘UseGasRatio’
USEWATERRATIO = ‘UseWaterRatio’
ISSURFACECONDITION = ‘IsSurfaceCondition’
TEMPERATURE = ‘Temperature’
PRESSURE = ‘Pressure’
GASFLOWRATE = ‘GasFlowRate’
LIQUIDFLOWRATE = ‘LiquidFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
GOR = ‘GOR’
OGR = ‘OGR’
GLR = ‘GLR’
LGR = ‘LGR’
WATERCUT = ‘WaterCut’
GWR = ‘GWR’
WGR = ‘WGR’
FLOWRATETYPE = ‘FlowRateType’
COMPLETIONNAME = ‘CompletionName’
ISBOTTOMCOMPLETION = ‘IsBottomCompletion’
class Parameters.Casing
Bases: sixgill.definitions.AbstractTubingSection
class Parameters.CheckValve
Bases: sixgill.definitions.SurfaceComponent
CHECKVALVESETTING = ‘CheckValveSetting’
class Parameters.Choke
Bases: sixgill.definitions.DownholeOrSurfaceComponent
ADJUSTSUBCRITICALCORRELATION = ‘AdjustSubcriticalCorrelation’
BEANSIZE = ‘BeanSize’
BOTHPHASESFLOWCOEFFICIENT = ‘BothPhasesFlowCoefficient’
CALCULATECRITICALPRESSURERATIO = ‘CalculateCriticalPressureRatio’
GASEXPANSIONFACTOR = ‘GasExpansionFactor’
CRITICALCORRELATION = ‘CriticalCorrelation’
CRITICALPRESSURERATIO = ‘CriticalPressureRatio’
DISCHARGECOEFFICIENT = ‘DischargeCoefficient’
GASPHASEFLOWCOEFFICIENT = ‘GasPhaseFlowCoefficient’
HEATCAPACITYRATIO = ‘HeatCapacityRatio’
USEFLOWRATEFORCRITICALFLOW = ‘UseFlowrateForCriticalFlow’
USEPRESSURERATIOFORCRITICALFLOW = ‘UsePressureRatioForCriticalFlow’
USESONICDOWNSTREAMVELOCITYFORCRITICALFLOW =
‘UseSonicDownstreamVelocityForCriticalFlow’
USESONICUPSTREAMVELOCITYFORCRITICALFLOW = ‘UseSonicUpstreamVelocityForCriticalFlow’
LIQUIDPHASEFLOWCOEFFICIENT = ‘LiquidPhaseFlowCoefficient’
SUBCRITICALCORRELATION = ‘SubCriticalCorrelation’
TOLERANCE = ‘Tolerance’
UPSTREAMPIPEID = ‘UpstreamPipeID’
PRINTDETAILEDCALCULATIONS = ‘PrintDetailedCalculations’
GASFLOWRATELIMIT = ‘GasFlowRateLimit’
LIQUIDFLOWRATELIMIT = ‘LiquidFlowRateLimit’
MASSFLOWRATELIMIT = ‘MassFlowRateLimit’
WATERFLOWRATELIMIT = ‘WaterFlowRateLimit’
OILFLOWRATELIMIT = ‘OilFlowRateLimit’
FLOWRATELIMITTYPE = ‘FlowRateLimitType’
class Parameters.Completion
Bases:
sixgill.definitions.DownholeComponent,
sixgill.definitions.AssociatedToFluid, sixgill.definitions.FluidLink
DIAMETER = ‘Diameter’
LENGTH = ‘Length’
PHASEANGLE = ‘PhaseAngle’
SHOTDENSITY = ‘ShotDensity’
PENETRATIONDEPTH = ‘PenetrationDepth’
FLUIDENTRYTYPE = ‘FluidEntryType’
GEOMETRYPROFILETYPE = ‘GeometryProfileType’
RESERVOIRPRESSURE = ‘ReservoirPressure’
RESERVOIRTEMPERATURE = ‘ReservoirTemperature’
TESTPOINTS = ‘CompletionTestPoints’
IPRMODEL = ‘IPRModel’
class Parameters.CompletionConingPoint
Bases: object
LIQUIDFLOWRATE = ‘LiquidFlowRate’
GOR = ‘GOR’
WATERCUT = ‘WaterCut’
class Parameters.CompositionalFluid
Bases: sixgill.definitions.Fluid
COMPONENTFRACTIONTYPE = ‘ComponentFractionType’
USETUNEDFRACTIONS = ‘UseTunedFractions’
SHOWALLCOMPONENTS = ‘ShowAllComponents’
LIQUIDVISCOSITYCALC = ‘LiquidViscosityCalc’
USEBRAUNERULLMANEQUATION = ‘UseBraunerUllmanEquation’
USERWATERCUTCUTOFF = ‘UserWatercutCutOff’
VANDUSERK1 = ‘VandUserk1’
VANDUSERK2 = ‘VandUserk2’
RICHARDSONKOIW = ‘Richardsonkoiw’
RICHARDSONKWIO = ‘Richardsonkwio’
IONSODIUM = ‘SodiumIon’
IONCALCIUM = ‘CalciumIon’
IONMAGNESIUM = ‘MagnesiumIon’
IONPOTASSIUM = ‘PotassiumIon’
IONSTRONTIUM = ‘StrontiumIon’
IONBARIUM = ‘BariumIon’
IONIRON = ‘IronIon’
IONCHLORIDE = ‘ChlorideIon’
IONSULPHATE = ‘SulphateIon’
IONBICARBONATE = ‘BicarbonateIon’
IONBROMIDE = ‘BromideIon’
TOTALDISSOLVEDSOLIDS = ‘TotalDissolvedSolids’
SALTWATERDENSITYTYPE = ‘SaltWaterDensityType’
SALTWATERDENSITY = ‘SaltWaterDensity’
SALTWATERSALINITY = ‘SaltWaterSalinity’
SALTWATERTEMPERATURE = ‘SaltWaterTemperature’
ISTEMPLATE = ‘IsTemplate’
ISBUILTINTEMPLATE = ‘IsBuiltinTemplate’
COMPOSITION = ‘Composition’
class Parameters.Compressor
Bases:
sixgill.definitions.SurfaceComponent,
sixgill.definitions.SharedPumpParameters,
sixgill.definitions.SharedPumpCatalogParameters
ROUTE = ‘Route’
HONOURSTONEWALLLIMIT = ‘HonourStonewallLimit’
ISRECIPROCATING = ‘IsReciprocating’
HEADFACTOR = ‘HeadFactor’
class Parameters.IPRDarcy
Bases: object
RATIOTYPE = ‘RatioType’
DAMAGEDZONEPERMRATIO = ‘DamagedZonePermRatio’
COMPACTEDZONEPERMRATIO = ‘CompactedZonePermRatio’
COMPLETIONVERTICALPERMRATIO = ‘CompletionVerticalPermRatio’
COMPLETIONINTERVALRATIO = ‘CompletionIntervalRatio’
DAMAGEDZONESKIN = ‘DamagedZoneSkin’
PERFORATIONSKIN = ‘PerforationSkin’
COMPACTEDZONESKIN = ‘CompactedZoneSkin’
PARTIALPENETRATIONSKIN = ‘PartialPenetrationSkin’
DEVIATIONSKIN = ‘DeviationSkin’
GRAVELPACKSKIN = ‘GravelPackSkin’
FRACPACKSKIN = ‘FracPackSkin’
CALCULATEMECHANICALSKIN = ‘CalculateMechanicalSkin’
CALCULATERATEDEPENDENTSKIN = ‘CalculateRateDependentSkin’
CHOKELENGTH = ‘ChokeLength’
OBSOLETECOMPACTEDZONEDIAMETER = ‘ObsoleteCompactedZoneDiameter’
COMPACTEDZONETHICKNESS = ‘CompactedZoneThickness’
COMPACTEDZONEPERMEABILITY = ‘CompactedZonePermeability’
COMPLETIONDEVIATION = ‘CompletionDeviation’
COMPLETIONVERTICALPERMEABILITY = ‘CompletionVerticalPermeability’
COMPLETIONINTERVAL = ‘CompletionInterval’
DAMAGEDEPTH = ‘DamageDepth’
OBSOLETEDAMAGEDZONEDIAMETER = ‘ObsoleteDamagedZoneDiameter’
DAMAGEDZONETHICKNESS = ‘DamagedZoneThickness’
DAMAGEDZONEPERMEABILITY = ‘DamagedZonePermeability’
DRAINAGERADIUS = ‘DrainageRadius’
FRACTURECHOKEPERMEABILITY = ‘FractureChokePermeability’
FRACTUREFACEDAMAGEPERMEABILITY = ‘FractureFaceDamagePermeability’
FRACTUREHALFLENGTH = ‘FractureHalfLength’
FRACTUREPROPPANTPERMEABILITY = ‘FractureProppantPermeability’
FRACTUREWIDTH = ‘FractureWidth’
ISGASMODEL = ‘IsGasModel’
MECHANICALSKIN = ‘MechanicalSkin’
PERFSKINMETHOD = ‘PerfSkinMethod’
RATEDEPENDENTGASSKIN = ‘RateDependentGasSkin’
RATEDEPENDENTLIQUIDSKIN = ‘RateDependentLiquidSkin’
RESERVOIRAREA = ‘ReservoirArea’
RESERVOIRPERMEABILITY = ‘ReservoirPermeability’
RESERVOIRTHICKNESS = ‘ReservoirThickness’
SHAPEFACTOR = ‘ShapeFactor’
USERELATIVEPERMEABILITY = ‘UseRelativePermeability’
USECHOKEFRACTURESKIN = ‘UseChokeFractureSkin’
USEDAMAGEDZONESKIN = ‘UseDamagedZoneSkin’
USEDRAINAGERADIUS = ‘UseDrainageRadius’
USEFRACTUREFACESKIN = ‘UseFractureFaceSkin’
USEFRACTURESKIN = ‘UseFractureSkin’
USEGRAVELPACKSKIN = ‘UseGravelPackSkin’
USEPARTIALPENETRATIONDEVIATIONSKIN = ‘UsePartialPenetrationDeviationSkin’
USEPERFORATIONSKIN = ‘UsePerforationSkin’
USEPSEUDOPRESSUREMETHOD = ‘UsePseudoPressureMethod’
USEVOGELBELOWBUBBLEPOINT = ‘UseVogelBelowBubblepoint’
WELLCOMPLETIONTYPE = ‘WellCompletionType’
ISTRANSIENT = ‘IsTransient’
COMPRESSIBILITY = ‘Compressibility’
POROSITY = ‘Porosity’
TIME = ‘Time’
WATERSATURATION = ‘WaterSaturation’
RELATIVEPERMEABILITYOIL = ‘RelativePermeabilityOil’
RELATIVEPERMEABILITYWATER = ‘RelativePermeabilityWater’
class Parameters.DistributedCompletionModel
Bases: object
RATIOTYPE = ‘RatioType’
DAMAGEDZONEPERMRATIO = ‘DamagedZonePermRatio’
COMPACTEDZONEPERMRATIO = ‘CompactedZonePermRatio’
COMPLETIONVERTICALPERMRATIO = ‘CompletionVerticalPermRatio’
DAMAGEDZONESKIN = ‘DamagedZoneSkin’
PERFORATIONSKIN = ‘PerforationSkin’
COMPACTEDZONESKIN = ‘CompactedZoneSkin’
PARTIALPENETRATIONSKIN = ‘PartialPenetrationSkin’
DEVIATIONSKIN = ‘DeviationSkin’
GRAVELPACKSKIN = ‘GravelPackSkin’
FRACPACKSKIN = ‘FracPackSkin’
CALCULATESKIN = ‘CalculateSkin’
OBSOLETECOMPACTEDZONEDIAMETER = ‘ObsoleteCompactedZoneDiameter’
COMPACTEDZONETHICKNESS = ‘CompactedZoneThickness’
COMPACTEDZONEPERMEABILITY = ‘CompactedZonePermeability’
COMPLETIONLENGTH = ‘CompletionLength’
COMPLETIONMODELTYPE = ‘CompletionModelType’
OBSOLETEDAMAGEDZONEDIAMETER = ‘ObsoleteDamagedZoneDiameter’
DAMAGEDZONETHICKNESS = ‘DamagedZoneThickness’
DAMAGEDZONEPERMEABILITY = ‘DamagedZonePermeability’
FLUIDOFVF = ‘FluidOFVF’
FLUIDVISCOSITY = ‘FluidViscosity’
GASPI = ‘GasPI’
GASZ = ‘GasZ’
GRAVELPACKPERMEABILITY = ‘GravelPackPermeability’
GRAVELPACKTUNNEL = ‘GravelPackTunnel’
ISGASMODEL = ‘IsGasModel’
LIQUIDPI = ‘LiquidPI’
LOCATIONECCEN = ‘LocationEccen’
LOCATIONXPOS = ‘LocationXPos’
LOCATIONYPOS = ‘LocationYPos’
LOCATIONZPOS = ‘LocationZPos’
PERFORATIONDIAMETER = ‘PerforationDiameter’
PERFORATIONLENGTH = ‘PerforationLength’
PERFORATIONSHOTDENSITY = ‘PerforationShotDensity’
PERMEABILITYX = ‘PermeabilityX’
PERMEABILITYY = ‘PermeabilityY’
PERMEABILITYZ = ‘PermeabilityZ’
RESERVOIREXTENT = ‘ReservoirExtent’
RESERVOIRTHICKNESS = ‘ReservoirThickness’
RESERVOIRXDIM = ‘ReservoirXDim’
RESERVOIRYDIM = ‘ReservoirYDim’
SPECIFIEDSKIN = ‘SpecifiedSkin’
USEDISTRIBUTEDPI = ‘UseDistributedPI’
WELLLENGTH = ‘WellLength’
WELLCOMPLETIONTYPE = ‘WellCompletionType’
class Parameters.IPRPSSBabuOdeh
Bases: sixgill.definitions.DistributedCompletionModel
class Parameters.IPRSSJoshi
Bases: sixgill.definitions.DistributedCompletionModel
class Parameters.IPRHorizontalPI
Bases: sixgill.definitions.DistributedCompletionModel
class Parameters.EngineKeywords
Bases: sixgill.definitions.DownholeOrSurfaceComponent
KEYWORDS = ‘Keywords’
class Parameters.ESP
Bases: sixgill.definitions.DownholeComponent
SERIES = ‘Series’
USESTAGEBYSTAGECALC = ‘UseStageByStageCalc’
BASEFREQUENCY = ‘BaseFrequency’
CASINGID = ‘CasingID’
OPERATINGPRODUCTIONRATE = ‘OperatingProductionRate’
OPERATINGFREQUENCY = ‘OperatingFrequency’
DIAMETER = ‘Diameter’
GASSEPARATOREFFICIENCY = ‘GasSeparatorEfficiency’
HASGASSEPARATOR = ‘HasGasSeparator’
HEADFACTOR = ‘HeadFactor’
MANUFACTURER = ‘Manufacturer’
MAXFLOWRATE = ‘MaxFlowRate’
MINFLOWRATE = ‘MinFlowRate’
MODEL = ‘Model’
NUMBERSTAGES = ‘NumberStages’
USEVISCOSITYCORRECTION = ‘UseViscosityCorrection’
POWER = ‘Power’
USEPOWER = ‘UsePower’
ESPSPEEDFACTOR = ‘ESPSpeedFactor’
SLIPFACTOR = ‘SlipFactor’
FLOWRATEFACTOR = ‘FlowrateFactor’
POWERFACTOR = ‘PowerFactor’
class Parameters.Expander
Bases:
sixgill.definitions.SurfaceComponent,
sixgill.definitions.SharedPumpParameters
ROUTE = ‘Route’
class Parameters.FetkovitchEquationModel
Bases: object
ABSOLUTEOPENFLOWPOTENTIAL = ‘AbsoluteOpenFlowPotential’
NEXPONENT = ‘NExponent’
class Parameters.Flowline
Bases: sixgill.definitions.SurfaceComponent
SHOWASRISER = ‘ShowAsRiser’
DETAILEDMODEL = ‘DetailedModel’
USEGISDATA = ‘UseGISData’
UNDULATIONRATE = ‘UndulationRate’
ENTERSURVEYLENGTH = ‘EnterSurveyLength’
MEASUREDDISTANCE = ‘MeasuredDistance’
HORIZONTALDISTANCE = ‘HorizontalDistance’
ELEVATIONDIFFERENCE = ‘ElevationDifference’
SEABEDDEPTH = ‘SeabedDepth’
PLATFORMHEIGHT = ‘PlatformHeight’
AMBIENTTEMPERATURE = ‘AmbientTemperature’
AMBIENTAIRTEMPERATURE = ‘AmbientAirTemperature’
AMBIENTWATERTEMPERATURE = ‘AmbientWaterTemperature’
AMBIENTTEMPERATUREOPTIONS = ‘AmbientTemperatureOptions’
AMBIENTFLUIDTYPE = ‘AmbientFluidType’
WATERINTERPOLATIONMETHOD = ‘WaterInterpolationMethod’
DEVIATIONSURVEYCALC = ‘DeviationSurveyCalc’
ISFLIPPED = ‘IsFlipped’
GEOTHERMALSURVEYINDEX = ‘GeothermalSurveyIndex’
USEGLOBALSETTINGS = ‘UseGlobalSettings’
ISDOWNCOMER = ‘IsDowncomer’
USEENVIRONMENTALDATA = ‘UseEnvironmentalData’
SURFACETEMPERATURE = ‘SurfaceTemperature’
DEPTHATSTART = ‘DepthAtStart’
USEDEPTH = ‘UseDepth’
INNERDIAMETER = ‘InnerDiameter’
LENGTH = ‘Length’
ROUGHNESS = ‘Roughness’
WALLTHICKNESS = ‘WallThickness’
CATALOGNAME = ‘CatalogName’
CATALOGLABEL = ‘CatalogLabel’
ENTEROD = ‘EnterOD’
GEOMETRYPROFILE = ‘GeometryProfile’
GEOTHERMALPROFILE = ‘FlowlineGeothermalProfile’
class HeatTransfer
Bases: object
GROUNDCONDUCTIVITY = ‘GroundConductivity’
INCLUDEINSIDEFILMCOEFF = ‘IncludeInsideFilmCoeff’
ISUCALCULATED = ‘IsUCalculated’
PIPEBURIALDEPTH = ‘PipeBurialDepth’
PIPECONDUCTIVITY = ‘PipeConductivity’
SURROUNDINGFLUIDVELOCITY = ‘SurroundingFluidVelocity’
USETHERMALSURVEY = ‘UseThermalSurvey’
UCOEFFUSER = ‘UCoeffUser’
UCOEFFUSERAIR = ‘UCoeffUserAir’
UCOEFFUSERWATER = ‘UCoeffUserWater’
UTYPE = ‘UType’
UTYPEAIR = ‘UTypeAir’
UTYPEWATER = ‘UTypeWater’
class Parameters.FluidComponent
Bases: sixgill.definitions.ModelComponent
MOLECULARWEIGHT = ‘MolecularWeight’
TCRIT = ‘Tcrit’
TBOIL = ‘Tboil’
TMELT = ‘Tmelt’
PCRIT = ‘Pcrit’
VCRIT = ‘Vcrit’
ZCRIT = ‘Zcrit’
VCRITVISCOSITY = ‘VcritViscosity’
ACF = ‘Acf’
PARACHOR = ‘Parachor’
OMEGAA = ‘OmegaA’
OMEGAB = ‘OmegaB’
REFERENCEDENSITY = ‘ReferenceDensity’
EOSVOLUMESHIFT = ‘EoSVolumeShift’
SPECIFICGRAVITY = ‘SpecificGravity’
WATSONKFACTOR = ‘WatsonKFactor’
HEATVAPOURISATION = ‘HeatVapourisation’
CALORIFICVALUE = ‘CalorificValue’
THERMEXPCOEFF = ‘ThermExpCoeff’
HYDROCARBONFORM = ‘HydrocarbonForm’
ISUSERDEFINED = ‘IsUserDefined’
THERMALCOEFFICIENT0 = ‘ThermalCoefficient0’
THERMALCOEFFICIENT1 = ‘ThermalCoefficient1’
THERMALCOEFFICIENT2 = ‘ThermalCoefficient2’
THERMALCOEFFICIENT3 = ‘ThermalCoefficient3’
THERMALCOEFFICIENT4 = ‘ThermalCoefficient4’
THERMALCOEFFICIENT5 = ‘ThermalCoefficient5’
THERMALCOEFFICIENT6 = ‘ThermalCoefficient6’
class Parameters.FluidComponentFraction
Bases: object
SPECIFIEDFRACTION = ‘SpecifiedFraction’
TUNEDFRACTION = ‘TunedFraction’
COMPONENT = ‘Component’
class Parameters.IPRForchheimer
Bases: object
COEFFICIENTA = ‘CoefficientA’
COEFFICIENTF = ‘CoefficientF’
class Parameters.GasLiftInjection
Bases: sixgill.definitions.DownholeComponent
GASLIFTTYPE = ‘GasLiftType’
GASRATE = ‘GasRate’
GLR = ‘GLR’
GLRINCREASE = ‘GLRIncrease’
VALVEDIAMETER = ‘ValveDiameter’
MANUFACTURER = ‘Manufacturer’
SERIES = ‘Series’
VALVETYPE = ‘ValveType’
VALVESIZE = ‘ValveSize’
PORTSIZE = ‘PortSize’
PORTAREA = ‘PortArea’
BELLOWAREA = ‘BellowArea’
DISCHARGECOEFFICIENT = ‘DischargeCoefficient’
DISCHARGETOFULLYOPEN = ‘DischargeToFullyOpen’
PTRO = ‘Ptro’
VALVECHOKE = ‘ValveChoke’
SPRINGPRESSURE = ‘SpringPressure’
class Parameters.GenericEquipment
Bases: sixgill.definitions.SurfaceComponent
DISCHARGEPRESSURE = ‘DischargePressure’
DISCHARGETEMPERATURE = ‘DischargeTemperature’
DUTY = ‘Duty’
PRESSUREDROP = ‘PressureDrop’
PRESSURERATIO = ‘PressureRatio’
PRESSURESPEC = ‘PressureSpec’
ROUTE = ‘Route’
TEMPERATUREDIFFERENTIAL = ‘TemperatureDifferential’
TEMPERATURESPEC = ‘TemperatureSpec’
class Parameters.Pump
Bases:
sixgill.definitions.SurfaceComponent,
sixgill.definitions.SharedPumpParameters,
sixgill.definitions.SharedPumpCatalogParameters
ROUTE = ‘Route’
DESIGNPRODUCTIONRATE = ‘DesignProductionRate’
MAXFLOWRATE = ‘MaxFlowRate’
MINFLOWRATE = ‘MinFlowRate’
NUMBERSTAGES = ‘NumberStages’
USEVISCOSITYCORRECTION = ‘UseViscosityCorrection’
BASESTAGES = ‘BaseStages’
HEADFACTOR = ‘HeadFactor’
class Parameters.GeographicSurvey
Bases: object
LATITUDE = ‘Latitude’
LONGITUDE = ‘Longitude’
ISVERTEX = ‘IsVertex’
class Parameters.GravelPack
Bases: object
GRAVELCASINGID = ‘GravelCasingId’
GRAVELPERMEABILITY = ‘GravelPermeability’
GRAVELSCREENSIZE = ‘GravelScreenSize’
GRAVELTUNNELLENGTH = ‘GravelTunnelLength’
class Parameters.HeatExchanger
Bases: object
DISCHARGEPRESSURE = ‘DischargePressure’
DISCHARGETEMPERATURE = ‘DischargeTemperature’
DUTY = ‘Duty’
PRESSUREDROP = ‘PressureDrop’
PRESSURESPEC = ‘PressureSpec’
TEMPERATUREDIFFERENTIAL = ‘TemperatureDifferential’
TEMPERATURESPEC = ‘TemperatureSpec’
class Parameters.Injector
Bases:
sixgill.definitions.SurfaceComponent,
sixgill.definitions.AssociatedToFluid
GASFLOWRATE = ‘GasFlowRate’
INJECTEDFLUID = ‘InjectedFluid’
LIQUIDFLOWRATE = ‘LiquidFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
TEMPERATURE = ‘Temperature’
FLOWRATETYPE = ‘FlowrateType’
USEGASRATIO = ‘UseGasRatio’
USEWATERRATIO = ‘UseWaterRatio’
GOR = ‘GOR’
OGR = ‘OGR’
GLR = ‘GLR’
LGR = ‘LGR’
GWR = ‘GWR’
WGR = ‘WGR’
WATERCUT = ‘WaterCut’
USEFLUIDOVERRIDES = ‘UseFluidOverrides’
OVERRIDESINITIALIZED = ‘OverridesInitialized’
class Parameters.IPRBackPressure
Bases: object
CONSTANTC = ‘ConstantC’
SLOPEN = ‘SlopeN’
class Parameters.IPRHydraulicFracture
Bases: object
FRACTUREHALFLENGTH = ‘FractureHalfLength’
FRACTUREPERMEABILITY = ‘FracturePermeability’
FRACTUREWIDTH = ‘FractureWidth’
ISGASMODEL = ‘IsGasModel’
POROSITY = ‘Porosity’
RESERVOIRPERMEABILITY = ‘ReservoirPermeability’
RESERVOIRRADIUS = ‘ReservoirRadius’
RESERVOIRTHICKNESS = ‘ReservoirThickness’
TIME = ‘Time’
TOTALCOMPRESSIBILITY = ‘TotalCompressibility’
USETRANSIENTMODEL = ‘UseTransientModel’
USEVOGELBELOWBUBBLEPOINT = ‘UseVogelBelowBubblepoint’
class Parameters.IPRPIModel
Bases: object
GASPI = ‘GasPI’
ISGASMODEL = ‘IsGasModel’
LIQUIDPI = ‘LiquidPI’
USEVOGELBELOWBUBBLEPOINT = ‘UseVogelBelowBubblepoint’
class Parameters.IPRJones
Bases: object
GASCOEFFICIENTA = ‘GasCoefficientA’
GASCOEFFICIENTB = ‘GasCoefficientB’
ISGASMODEL = ‘IsGasModel’
LIQUIDCOEFFICIENTA = ‘LiquidCoefficientA’
LIQUIDCOEFFICIENTB = ‘LiquidCoefficientB’
class Parameters.Source
Bases:
sixgill.definitions.SurfaceComponent,
sixgill.definitions.AssociatedToFluid
USEPQCURVE = ‘UsePQCurve’
TEMPERATURE = ‘Temperature’
SELECTEDRATETYPE = ‘SelectedRateType’
GASFLOWRATE = ‘GasFlowRate’
LIQUIDFLOWRATE = ‘LiquidFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
PRESSURE = ‘Pressure’
USEGASRATIO = ‘UseGasRatio’
USEWATERRATIO = ‘UseWaterRatio’
GOR = ‘GOR’
OGR = ‘OGR’
GLR = ‘GLR’
LGR = ‘LGR’
GWR = ‘GWR’
WGR = ‘WGR’
WATERCUT = ‘WaterCut’
USEFLUIDOVERRIDES = ‘UseFluidOverrides’
OVERRIDESINITIALIZED = ‘OverridesInitialized’
PQCURVE = ‘PQCurve’
class Parameters.Junction
Bases: sixgill.definitions.Source
TREATASSOURCE = ‘TreatAsSource’
class Parameters.Liner
Bases: sixgill.definitions.AbstractTubingSection
class Parameters.MeasurementPoint
Bases: object
CONNECTEDTOSTARTEQUIPMENT = ‘ConnectedToStartEquipment’
class Parameters.MFLFluid
Bases: sixgill.definitions.FileBasedFluid
class Parameters.MultiphaseBooster
Bases: sixgill.definitions.SurfaceComponent
POWER = ‘Power’
TOTALPOWER = ‘Power’
DISCHARGEPRESSURE = ‘Pressure’
PRESSUREDIFFERENTIAL = ‘PressureDifferential’
PRESSURERATIO = ‘PressureRatio’
TYPE = ‘BoosterType’
class Parameters.GenericMultiphaseBooster
Bases: sixgill.definitions.MultiphaseBooster
PUMPEFFICIENCY = ‘Efficiency’
COMPRESSOREFFICIENCY = ‘BoosterEfficiency’
class Parameters.SharedOneSubseaParameters
Bases: sixgill.definitions.MultiphaseBooster
PUMPMODEL = ‘PumpModel’
TUNINGFACTOR = ‘TuningFactor’
NUMBEROFBOOSTERSINPARALLEL = ‘NumberOfBoostersInParallel’
class Parameters.OneSubseaMultiphaseBooster
Bases: sixgill.definitions.SharedOneSubseaParameters
SPEEDLIMIT = ‘SpeedLimit’
RECIRCULATIONFLOWRATE = ‘RecirculationFlowRate’
class Parameters.OneSubseaWetGasCompressor
Bases: sixgill.definitions.SharedOneSubseaParameters
SPEEDSETPOINT = ‘SpeedSetPoint’
UPSTREAMCOOLERMODEL = ‘UpstreamCoolerModel’
UPSTREAMCOOLERDUTY = ‘UpstreamCoolerDuty’
DOWNSTREAMCOOLERMODEL = ‘DownstreamCoolerModel’
DOWNSTREAMCOOLERDUTY = ‘DownstreamCoolerDuty’
RECIRCULATIONMASSRATE = ‘RecirculationRate’
MAXTEMPERATURE = ‘MaxTemperature’
class Parameters.MultiplierAdder
Bases: sixgill.definitions.SurfaceComponent
ADDER = ‘Adder’
SCALER = ‘Scaler’
USEASMULTIPLIER = ‘UseAsMultiplier’
ADDERRATETYPE = ‘AdderRateType’
ADDEDLIQUID = ‘AddedLiquid’
ADDEDGAS = ‘AddedGas’
ADDEDMASS = ‘AddedMass’
class Parameters.OpenHole
Bases: sixgill.definitions.AbstractTubingSection
class Parameters.Packer
Bases: sixgill.definitions.DownholeComponent
class Parameters.PCP
Bases: sixgill.definitions.DownholeComponent
BASESPEED = ‘BaseSpeed’
CASINGID = ‘CasingID’
OPERATINGPRODUCTIONRATE = ‘OperatingProductionRate’
OPERATINGSPEED = ‘OperatingSpeed’
DIAMETER = ‘Diameter’
GASSEPARATOREFFICIENCY = ‘GasSeparatorEfficiency’
HASGASSEPARATOR = ‘HasGasSeparator’
HEADFACTOR = ‘HeadFactor’
MANUFACTURER = ‘Manufacturer’
NOMINALFLOWRATE = ‘NominalFlowRate’
MODEL = ‘Model’
USEVISCOSITYCORRECTION = ‘UseViscosityCorrection’
POWER = ‘Power’
USEPOWER = ‘UsePower’
SPEEDFACTOR = ‘SpeedFactor’
SLIPFACTOR = ‘SlipFactor’
FLOWRATEFACTOR = ‘FlowrateFactor’
POWERFACTOR = ‘PowerFactor’
ISTOPDRIVE = ‘IsTopDrive’
RODDIAMETER = ‘RodDiameter’
class Parameters.PVTFluid
Bases: sixgill.definitions.FileBasedFluid
class Parameters.RodPump
Bases: sixgill.definitions.DownholeComponent
GASSEPARATOREFFICIENCY = ‘GasSeparatorEfficiency’
HASGASSEPARATOR = ‘HasGasSeparator’
HASGASRECOMBINEDATWELLHEAD = ‘HasGasRecombinedAtWellHead’
NOMINALFLOWRATE = ‘NominalFlowRate’
USEVISCOSITYCORRECTION = ‘UseViscosityCorrection’
MAXDP = ‘MaxDP’
MAXPOWER = ‘MaxPower’
RODDIAMETER = ‘RodDiameter’
BASISTYPE = ‘BasisType’
SLIPECOEFFICIENT = ‘SlipCoefficient’
PUMPEFFICIENCY = ‘PumpEfficiency’
STROKEPERMINUTE = ‘StrokesPerMinute’
STROKELENGTH = ‘StrokeLength’
PLUNGERDIAMTER = ‘PlungerDiameter’
class Parameters.SinglePhaseSeparator
Bases: sixgill.definitions.DownholeComponent
EFFICIENCY = ‘Efficiency’
SEPARATEDFLUID = ‘SeparatedFluid’
class Parameters.Sink
Bases: sixgill.definitions.SurfaceComponent
GASFLOWRATE = ‘GasFlowRate’
LIQUIDFLOWRATE = ‘LiquidFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
PRESSURE = ‘Pressure’
FLOWRATETYPE = ‘FlowrateType’
class Parameters.SlidingSleeve
Bases: sixgill.definitions.DownholeComponent
ISOPEN = ‘IsOpen’
class Parameters.SubsurfaceSafetyValve
Bases: sixgill.definitions.DownholeComponent
BEANID = ‘BeanID’
class Parameters.Study
Bases: object
NAME = ‘Name’
DESCRIPTION = ‘Description’
class Parameters.AbstractTask
Bases: object
TASKNAME = ‘Name’
DESCRIPTION = ‘Description’
STUDY = ‘Study’
USEPHASERATIO = ‘UsePhaseRatio’
FLOWRATECONDITION = ‘FlowRateCondition’
FLOWRATECONDITIONTEMPERATURE = ‘FlowRateConditionTemperature’
FLOWRATECONDITIONPRESSURE = ‘FlowRateConditionPressure’
class Parameters.SingleBranchSimulation
Bases: sixgill.definitions.AbstractTask
PRODUCER = ‘Producer’
BRANCHTERMINATOR = ‘BranchTerminator’
class Parameters.NetworkSimulation
Bases: sixgill.definitions.AbstractTask
USESURFACEBOUNDARYCONDITIONS = ‘UseSurfaceBoundaryConditions’
class Parameters.PTProfileSimulation
Bases: sixgill.definitions.SingleBranchSimulation
CALCULATEDVARIABLE = ‘CalculationVariableType’
CUSTOMVARIABLE = ‘CalculationVariable’
FLOWRATETYPE = ‘FlowRateType’
GASFLOWRATE = ‘GasFlowRate’
LIQUIDFLOWRATE = ‘LiquidFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
INLETPRESSURE = ‘InletPressure’
OUTLETPRESSURE = ‘OutletPressure’
SENSITIVITYVARIABLE = ‘SensitivityVariable’
class CustomVariable
Bases: object
COMPONENT = ‘Component’
VARIABLE = ‘Variable’
MINVALUE = ‘MinValue’
MAXVALUE = ‘MaxValue’
ISDIRECTPROPORTIONALITY = ‘IsDirectProportionality’
class Parameters.PTProfileSimulation.SensitivityVariable
Bases: object
COMPONENT = ‘Component’
VARIABLE = ‘Variable’
VALUES = ‘Values’
APPLYALL = ‘ApplyAll’
class Parameters.NodalAnalysisSimulation
Bases: sixgill.definitions.SingleBranchSimulation
OUTLETPRESSURE = ‘OutletPressure’
NODALMEASUREMENTPOINT = ‘NodalMeasurementPoint’
MAXOUTFLOWPRESSURE = ‘MaxOutflowPressure’
MAXFLOWRATETYPE = ‘MaxFlowrateType’
MAXGASRATE = ‘MaxGasRate’
MAXLIQUIDRATE = ‘MaxLiquidRate’
MAXMASSRATE = ‘MaxMassRate’
INFLOWPOINTS = ‘InflowPoints’
OUTFLOWPOINTS = ‘OutflowPoints’
LIMITINFLOW = ‘LimitInflow’
LIMITOUTFLOW = ‘LimitOutflow’
class Parameters.ThreePhaseSeparator
Bases: sixgill.definitions.SurfaceComponent
GASOILEFFICIENCY = ‘GasOilEfficiency’
WATEROILEFFICIENCY = ‘WaterOilEfficiency’
PRESSURE = ‘Pressure’
PRODUCTFLUID = ‘ProductFluid’
class Parameters.Tubing
Bases: sixgill.definitions.AbstractTubingSection
class Parameters.TwoPhaseSeparator
Bases: sixgill.definitions.SurfaceComponent
EFFICIENCY = ‘Efficiency’
PRESSURE = ‘Pressure’
PRODUCTIONSTREAM = ‘ProductionStream’
DISCARDEDSTREAM = ‘DiscardedStream’
class Parameters.IPRVogel
Bases: object
ABSOLUTEOPENFLOWPOTENTIAL = ‘AbsoluteOpenFlowPotential’
VOGELCOEFFICIENT = ‘VogelCoefficient’
class Parameters.WaterTempVelocitySurvey
Bases: object
ISGLOBAL = ‘IsGlobal’
class Parameters.Well
Bases:
sixgill.definitions.SurfaceComponent,
sixgill.definitions.AssociatedToFluid,
sixgill.definitions.CanBeTemplate
GASFLOWRATE = ‘GasFlowRate’
LIQUIDFLOWRATE = ‘LiquidFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
FLOWRATETYPE = ‘FlowRateType’
ISINJECTION = ‘IsInjection’
ISSIMPLE = ‘IsSimple’
CHECKVALVESETTING = ‘CheckValveSetting’
WELLHEADDEPTH = ‘WellheadDepth’
AMBIENTTEMPERATURE = ‘AmbientTemperature’
USEGASLIFTVALVE = ‘UseGasliftValve’
ALHANATICHECK = ‘AlhanatiCheck’
SURFACEGASTEMPERATURE = ‘SurfaceGasTemperature’
SURFACEGASPRESSURE = ‘SurfaceGasPressure’
TARGETINJECTIONRATE = ‘TargetInjectionRate’
MINVALVEINJECTIONDP = ‘MinValveInjectionDP’
GASLIFTINPUTOPTION = ‘GasLiftInputOption’
GASSPECIFICGRAVITY = ‘GasSpecificGravity’
TUNINGFACTOR = ‘TuningFactor’
TESTRACKTEMPERATURE = ‘TestRackTemperature’
NITROGENCORRECTIONTYPE = ‘NitrogenCorrectionType’
TRAJECTORY = ‘Trajectory’
GEOTHERMALPROFILE = ‘BoreholeGeothermalProfile’
class HeatTransfer
Bases: object
UVALUEINPUTOPTION = ‘HeatTransferMethod’
UCOEFF = ‘UCoeff’
USEWELLHEADAMBIENTTEMPERATURE = ‘UseWellHeadAmbientTemperature’
ISGEOSURVEYDEPTHTVD = ‘IsGeoSurveyDepthTVD’
class Parameters.Well.DeviationSurvey
Bases: object
SURVEYTYPE = ‘SurveyType’
RELATIVEDEPTHOPTION = ‘DeviationRelativeDepth’
DEPENDENTPARAMETER = ‘TrajectoryDependantParameter’
CALCULATEUSINGTANGENTIALMETHOD = ‘CalculateUsingTangentialMethod’
class Parameters.NodalPoint
Bases: object
NODALTYPE = ‘NodalType’
DEPTH = ‘Depth’
WELLSTRINGTYPE = ‘WellStringType’
EQUIPMENT = ‘Equipment’
NAME = ‘Name’
class Parameters.NodalOperatingEnvelopePlot
Bases: object
GASFLOWRATE = ‘GasFlowrate’
GASFLOWRATEPRESSURE = ‘GasFlowratePressure’
MASSFLOWRATE = ‘MassFlowrate’
MASSFLOWRATEPRESSURE = ‘MassFlowratePressure’
LIQUIDFLOWRATE = ‘LiquidFlowrate’
LIQUIDFLOWRATEPRESSURE = ‘LiquidFlowratePressure’
class Parameters.FlowlineGeometry
Bases: object
MEASUREDDISTANCE = ‘MeasuredDistance’
HORIZONTALDISTANCE = ‘HorizontalDistance’
ELEVATION = ‘Elevation’
LATITUDE = ‘Latitude’
LONGITUDE = ‘Longitude’
ISVERTEX = ‘IsVertex’
class Parameters.GeothermalSurvey
Bases: object
MEASUREDDISTANCE = ‘MeasuredDistance’
HORIZONTALDISTANCE = ‘HorizontalDistance’
TEMPERATURE = ‘Temperature’
CURRENTVELOCITY = ‘CurrentVelocity’
UCOEFF = ‘UCoeff’
class Parameters.WellTrajectory
Bases: object
MEASUREDDEPTH = ‘MeasuredDepth’
TRUEVERTICALDEPTH = ‘TrueVerticalDepth’
INCLINATION = ‘Inclination’
AZIMUTH = ‘Azimuth’
MAXDOGLEGSEVERITY = ‘MaxDogLegSeverity’
class Parameters.CompletionTestPoint
Bases: object
LIQUIDFLOWRATE = ‘LiquidFlowRate’
GASFLOWRATE = ‘GasFlowRate’
STATICRESERVOIRPRESSURE = ‘StaticReservoirPressure’
BOTTOMHOLEFLOWINGPRESSURE = ‘BottomHoleFlowingPressure’
class Parameters.PQCurve
Bases: object
GASFLOWRATE = ‘GasFlowRate’
LIQUIDFLOWRATE = ‘LiquidFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
PRESSURE = ‘Pressure’
class sixgill.definitions.Constants
Bases: object
Enumerated constants used by PIPESIM domain model
class WellImportFluidConflict
Bases: object
CREATENEW = ‘CreateNew’
USEEXISTING = ‘UseExisting’
DONTIMPORT = ‘DontImport’
class Constants.SoilType
Bases: object
PEATDRY = ‘PeatDry’
PEATWET = ‘PeatWet’
PEATICY = ‘PeatIcy’
LOAM = ‘Loam’
SANDYDRY = ‘SandyDry’
SANDYMOIST = ‘SandyMoist’
SANDYSOAKED = ‘SandySoaked’
CLAYDRY = ‘ClayDry’
CLAYMOIST = ‘ClayMoist’
CLAYWET = ‘ClayWet’
CLAYFROZEN = ‘ClayFrozen’
GRAVEL = ‘Gravel’
GRAVELSANDY = ‘GravelSandy’
LIMESTONE = ‘Limestone’
SANDSTONE = ‘Sandstone’
ICE = ‘Ice’
ICEN40C = ‘IceN40C’
SNOWLOOSE = ‘SnowLoose’
SNOWHARD = ‘SnowHard’
USERDEFINED = ‘UserDefined’
class Constants.MetoceanDataLocation
Bases: object
GULFOFMEXICO = ‘GOM’
NORTHSEA = ‘NSea’
WESTAFRICA = ‘WAfrica’
WESTAUSTRALIA = ‘WAustralia’
OFFSHOREBRAZIL = ‘OffshoreBrazil’
USERDEFINED = ‘UserDefined’
class Constants.NetworkSolverMethod
Bases: object
AUTOMATIC = ‘Automatic’
STANDARD = ‘Standard’
ADVANCED = ‘Advanced’
class Constants.GisElevationDataSource
Bases: object
ASTER = ‘astergdem’
ESRI = ‘Esri’
SRTM = ‘srtm3’
class Constants.OilFVFCorrelation
Bases: object
STANDING = ‘Standing’
VASQUEZANDBEGGS = ‘VasquezAndBeggs’
KARTOATMODJO = ‘Kartoatmodjo’
class Constants.LiveOilViscCorrelation
Bases: object
BEGGSANDROBINSON = ‘BeggsAndRobinson’
CHEWANDCONNALY = ‘ChewandConnaly’
KARTOATMODJO = ‘Kartoatmodjo’
KHAN = ‘Khan’
DEGHETTO = ‘DeGhetto’
HOSSAIN = ‘Hossain’
ELSHARKAWY = ‘Elsharkawy’
PETROSKYFARSHAD = ‘PetroskyFarshad’
class Constants.GasCompressCorrelation
Bases: object
STANDING = ‘Standing’
HALLANDYARBOROUGH = ‘HallAndYarborough’
ROBINSONETAL = ‘Robinsonetal’
class Constants.GasViscCorrelation
Bases: object
LEEETAL = ‘Leeetal’
class Constants.CharacterizationSystem
Bases: object
PVTI = ‘PVTi’
DBR = ‘DBR’
MULTIFLASH = ‘Multiflash’
class Constants.BICsCorrelation
Bases: object
PVTI = ‘PVTi’
OILANDGAS1 = ‘OilAndGas1’
OILANDGAS2 = ‘OilAndGas2’
OILANDGAS3 = ‘OilAndGas3’
OILANDGAS4 = ‘OilAndGas4’
class Constants.IPRModels
Bases: object
IPRBACKPRESSURE = ‘IPRBackPressure’
IPRDARCY = ‘IPRDarcy’
IPRFETKOVITCH = ‘IPRFetkovitch’
IPRFORCHHEIMER = ‘IPRForchheimer’
IPRHORIZONTALPI = ‘IPRHorizontalPI’
IPRHYDRAULICFRACTURE = ‘IPRHydraulicFracture’
IPRJONES = ‘IPRJones’
IPRPIMODEL = ‘IPRPIModel’
IPRPSSBABUODEH = ‘IPRPSSBabuOdeh’
IPRSSJOSHI = ‘IPRSSJoshi’
IPRVOGEL = ‘IPRVogel’
class Constants.ErosionModels
Bases: object
API14E = ‘API14e’
class Constants.CorrosionModels
Bases: object
DEWAARD1995 = ‘deWaard1995’
NONE = ‘None’
class Constants.CompositionalFluidFlash
Bases: object
class PhysicalPropertiesMethod
Bases: object
INTERPOLATE = ‘Interpolate’
HYBRID = ‘Hybrid’
RIGOROUS = ‘Rigorous’
class Constants.CompositionalFluidFlash.TemperatureEnthalpyMethod
Bases: object
INTERPOLATE = ‘Interpolate’
HYBRID = ‘Hybrid’
RIGOROUS = ‘Rigorous’
class Constants.CompositionalFluidFlash.SingleComponentSystem
Bases: object
YES = ‘Yes’
NO = ‘No’
AUTOMATIC = ‘Automatic’
class Constants.MultiphaseFlowCorrelationSource
Bases: object
BAKER_JARDINE = ‘BJA’
TULSA = ‘Tulsa’
OLGAS = ‘OLGAS’
TUFFPUNIFIED = ‘TUFFP Unified’
LEDAFLOWPM = ‘LedaFlow PM’
NEOTEC = ‘Neotec’
class Constants.MultiphaseFlowCorrelation
Bases: object
class BakerJardine
Bases: object
ANSARI = ‘Ansari’
BEGGSBRILLORIGINAL = ‘Beggs & Brill Original’
BEGGSBRILLTAITELDUKLERMAP = ‘Beggs & Brill Taitel Dukler map’
BEGGSBRILLREVISED = ‘Beggs & Brill Revised’
BEGGSBRILLREVISEDTAITELDUKLERMAP = ‘Beggs & Brill Revised Taitel Dukler map’
BAKERJARDINEREVISED = ‘Baker Jardine Revised’
DUKLERAGAFLANIGAN = ‘Dukler AGA & Flanigan’
DUKLERAGAFLANIGAN_EATONHOLDUP = ‘Dukler AGA & Flanigan (Eaton Holdup)’
MUKHERJEEBRILL = ‘Mukherjee & Brill’
NOSLIPASSUMPTION = ‘No Slip Assumption’
OLIEMANS = ‘Oliemans’
XIAO = ‘Xiao’
BEGGSBRILL = ‘Beggs & Brill’
DUKLER = ‘Dukler’
DUNSROS = ‘Duns & Ros’
GOVIERAZIZFOGARASI = ‘Govier Aziz & Fogarasi’
GRAY_MODIFIED = ‘Gray (modified)’
GRAY_ORIGINAL = ‘Gray (original)’
HAGEDORNBROWN = ‘Hagedorn & Brown’
HAGEDORNBROWNDUNSROSMAP = ‘Hagedorn & Brown Duns & Ros map’
ORKISZEWSKI = ‘Orkiszewski’
class Constants.MultiphaseFlowCorrelation.OLGAS
Bases: object
OLGASV731_3PHASE = ‘OLGAS v. 7.3.1 3-Phase’
OLGASV731_2PHASE = ‘OLGAS v. 7.3.1 2-Phase’
OLGASV72_3PHASE = ‘OLGAS v. 7.2 3-Phase’
OLGASV72_2PHASE = ‘OLGAS v. 7.2 2-Phase’
OLGASV627_3PHASE = ‘OLGAS v. 6.2.7 3-Phase’
OLGASV627_2PHASE = ‘OLGAS v. 6.2.7 2-Phase’
class Constants.FlowRateCondition
Bases: object
STOCKTANK = ‘StockTank’
INSITU = ‘Flowing’
class Constants.TubingPosition
Bases: object
POSITIONED = ‘Positioned’
CENTRALIZED = ‘Centralized’
FLUSHJOINT = ‘FlushJoint’
NOTPOSITIONED = ‘NotPositioned’
class Constants.PerforationPosition
Bases: object
POSITIONED = ‘Positioned’
CENTERED = ‘Centered’
ECCENTERED = ‘Eccentered’
class Constants.PerforationGunPhaseAngle
Bases: object
ZERO = ‘zero’
P45 = ‘p45’
P60 = ‘p60’
P72 = ‘p72’
P90 = ‘p90’
P99 = ‘p99’
P120 = ‘p120’
P120_P60 = ‘p120_p60’
P135_P45 = ‘p135_p45’
P140_P20 = ‘p140_p20’
P180 = ‘p180’
PM10 = ‘pm10’
PM20 = ‘pm20’
PM45 = ‘pm45’
ZERO_PM45 = ‘zero_pm45’
PM60 = ‘pm60’
ZERO_PM60 = ‘zero_pm60’
PM90 = ‘pm90’
P45_PNDLM = ‘p45_pndlm’
ZERO_PM35 = ‘zero_pm35’
MOEB45 = ‘moeb45’
P120_P40 = ‘p120_p40’
class Constants.PerforationGunHardware
Bases: object
STANDARD = ‘Standard’
OBSOLETE = ‘Obsolete’
NONSTANDARD = ‘NonStandard’
PURE = ‘PURE’
STDPURE = ‘STDPURE’
OBSPURE = ‘ObsPURE’
NONSTANDARDPURE = ‘NonStandardPURE’
MYSTERY = ‘Mystery’
UNKNOWN = ‘Unknown’
class Constants.PenetrationModelOptions
Bases: object
ROCKONLY = ‘RockOnly’
CONCRETEONLY = ‘ConcreteOnly’
ROCKORCONCRETE = ‘RockOrConcrete’
class Constants.PenetrationModelType
Bases: object
ROCK = ‘Rock’
CONCRETE = ‘Concrete’
class Constants.NodalPointType
Bases: object
SURFACE = ‘Surface’
DOWNHOLE = ‘Downhole’
class Constants.PerforationGunAPITestEdition
Bases: object
ESTIMATED_API = ‘Estimated_API’
UNOFFICIAL_API = ‘Unofficial_API’
UNOFFICIAL_C_33M = ‘Unofficial_C_33M’
UNOFFICIAL_19B_1ST_ED = ‘Unofficial_19B_1st_Ed’
RP43_4THED = ‘RP43_4thEd’
RP43_5THED = ‘RP43_5thEd’
RP43_C_33M = ‘RP43_C_33M’
A19B_1STED = ‘A19B_1stEd’
CUSTOM_VALUES = ‘Custom_Values’
BASED_CUSTOM_VALUES = ‘Based_Custom_Values’
BASED_A19B_1STED = ‘Based_A19B_1stEd’
BASED_RP43_C_33M = ‘Based_RP43_C_33M’
BASED_RP43_5THED = ‘Based_RP43_5thEd’
BASED_RP43_4THED = ‘Based_RP43_4thEd’
BASED_UNOFFICIAL_19B_1ST_ED = ‘Based_Unofficial_19B_1st_Ed’
BASED_UNOFFICIAL_C_33M = ‘Based_Unofficial_C_33M’
BASED_UNOFFICIAL_API = ‘Based_Unofficial_API’
class Constants.DeviationSurveyType
Bases: object
VERTICAL = ‘VerticalDeviation’
TWODIMENSIONAL = ‘TwoDimensional’
THREEDIMENSIONAL = ‘ThreeDimensional’
class Constants.ReferenceDepthOption
Bases: object
OriginalRKB = ‘OriginalRKB’
RKB = ‘RKB’
GL = ‘GL’
MSL = ‘MSL’
THF = ‘THF’
class Constants.UValueInputOption
Bases: object
InputSingleUValue = ‘InputSingleUValue’
InputMultipleUValues = ‘InputMultipleUValues’
class Constants.PipeHeatTransfer
Bases: object
INSULATED = ‘Insulated’
COATED = ‘Coated’
BAREINAIR = ‘BareInAir’
BAREINWATER = ‘BareInWater’
USERSUPPLIED = ‘UserSupplied’
class Constants.PipeBurialMethod
Bases: object
METHOD2009 = ‘Method2009’
METHOD2000 = ‘Method2000’
METHOD1983 = ‘Method1983’
class Constants.InsideFilmCoeffMethod
Bases: object
KREITH = ‘Kreith’
KAMINSKY = ‘Kaminsky’
class Constants.FlowRateType
Bases: object
LIQUIDFLOWRATE = ‘LiquidFlowRate’
GASFLOWRATE = ‘GasFlowRate’
MASSFLOWRATE = ‘MassFlowRate’
class Constants.RangeType
Bases: object
RANGEINCREMENT = ‘rangeIncrement’
RANGEDECREMENT = ‘rangeDecrement’
RANGESTEP = ‘rangeStep’
RANGEMULTIPLY = ‘rangeMultiply’
class Constants.SinglePhaseFlowCorrelation
Bases: object
MOODY = ‘Moody’
AGA = ‘AGA’
PANHANDLEA = “Panhandle ‘A”’
PANHANDLEB = “Panhandle ‘B”’
HAZEN_WILLIAMS = ‘Hazen - Williams’
WEYMOUTH = ‘Weymouth’
CULLENDER_SMITH = ‘Cullender - Smith’
class Constants.SensitivityType
Bases: object
UNDEFINED = ‘Undefined’
FLUID = ‘Fluid’
SYSTEMDATA = ‘SystemData’
GASLIFTDATA = ‘GasliftData’
class Constants.SystemVarType
Bases: object
UNDEFINED = ‘varUndefined’
INLETPRESSURE = ‘varInletPressure’
OUTLETPRESSURE = ‘varOutletPressure’
LIQFLOWRATE = ‘varLiqFlowrate’
GASFLOWRATE = ‘varGasFlowrate’
MASSFLOWRATE = ‘varMassFlowrate’
CUSTOM = ‘varCustom’
class Constants.DeviationRelativeDepth
Bases: object
ORIGINALRKB = ‘OriginalRKB’
RKB = ‘RKB’
GL = ‘GL’
MSL = ‘MSL’
THF = ‘THF’
class Constants.TrajectoryDependentParameter
Bases: object
MD = ‘MD’
TVD = ‘TVD’
ANGLE = ‘Angle’
class Constants.SurveyType
Bases: object
VERTICALDEVIATION = ‘VerticalDeviation’
TWODIMENSIONAL = ‘TwoDimensional’
THREEDIMENSIONAL = ‘ThreeDimensional’
class Constants.ZoneMaterial
Bases: object
UNKNOWN = ‘unknown’
SHALE = ‘shale’
SAND = ‘sand’
WATER = ‘water’
class Constants.GISWMSLayerPropertyFormat
Bases: object
PNG = ‘PNG’
JPEG = ‘JPEG’
class Constants.ElevationSource
Bases: object
SRTM3 = ‘srtm3’
ASTERGDEM = ‘astergdem’
ESRI = ‘Esri’
class Constants.GasRatioOption
Bases: object
GLR = ‘GLR’
GOR = ‘GOR’
LGR = ‘LGR’
OGR = ‘OGR’
class Constants.WaterRatioOption
Bases: object
WATERCUT = ‘WaterCut’
GWR = ‘GWR’
WGR = ‘WGR’
class Constants.DeadOilViscosityCorrelation
Bases: object
BEGGSANDROBINSON = ‘BeggsAndRobinson’
GLASO = ‘Glaso’
KARTOATMODJO = ‘Kartoatmodjo’
DEGHETTO = ‘DeGhetto’
HOSSAIN = ‘Hossain’
ELSHARKAWY = ‘Elsharkawy’
PETROSKYFARSHAD = ‘PetroskyFarshad’
USER2POINT = ‘User2Point’
USERTABLE = ‘UserTable’
class Constants.LiveOilViscosityCorrelation
Bases: object
BEGGSANDROBINSON = ‘BeggsAndRobinson’
CHEWANDCONNALY = ‘ChewandConnaly’
KARTOATMODJO = ‘Kartoatmodjo’
KHAN = ‘Khan’
DEGHETTO = ‘DeGhetto’
HOSSAIN = ‘Hossain’
ELSHARKAWY = ‘Elsharkawy’
PETROSKYFARSHAD = ‘PetroskyFarshad’
class Constants.EnthalpyCalcMethod
Bases: object
METHOD1983 = ‘Method1983’
METHOD2009 = ‘Method2009’
class Constants.UndersaturatedOilViscosityCorrelation
Bases: object
NONE = ‘None’
VASQUEZANDBEGGS = ‘VasquezAndBeggs’
KOUZEL = ‘Kouzel’
KARTOATMODJO = ‘Kartoatmodjo’
KHAN = ‘Khan’
DEGHETTO = ‘DeGhetto’
HOSSAIN = ‘Hossain’
ELSHARKAWY = ‘Elsharkawy’
BERGMANANDSUTTON = ‘BergmanAndSutton’
PETROSKYFARSHAD = ‘PetroskyFarshad’
class Constants.CriticalFlowCorrelation
Bases: object
MECHANISTIC = ‘Mechanistic’
GILBERT = ‘Gilbert’
ROS = ‘Ros’
ACHONG = ‘Achong’
BAXENDELL = ‘Baxendell’
ASHFORD = ‘Ashford’
POETBECK = ‘Poetbeck’
OMANA = ‘Omana’
PILEHVARI = ‘Pilehvari’
class Constants.SubCriticalFlowCorrelation
Bases: object
MECHANISTIC = ‘Mechanistic’
API14B = ‘API14b’
ASHFORD = ‘Ashford’
class Constants.ComponentFractionType
Bases: object
MOLE = ‘Mole’
MASS = ‘Mass’
class Constants.LiquidViscosityCalculationMethod
Bases: object
CONTINUOUSPHASE = ‘ContinuousPhase’
OILWATERVOLUMERATIO = ‘OilWaterVolumeRatio’
ORIGINALWOELFLIN = ‘OriginalWoelflin’
WOELFLINLOOSE = ‘WoelflinLoose’
WOELFLINMEDIUM = ‘WoelflinMedium’
WOELFLINTIGHT = ‘WoelflinTight’
BRINKMAN = ‘Brinkman’
VANDVAND = ‘VandVand’
VANDBARNEAMIZRAHI = ‘VandBarneaMizrahi’
VANDUSER = ‘VandUser’
RICHARDSON = ‘Richardson’
LEVITONLEIGHTON = ‘LevitonLeighton’
USERTABLE = ‘UserTable’
class Constants.SaltWaterDensity
Bases: object
DEFAULTDENSITY = ‘DefaultDensity’
DENSITY = ‘Density’
SALINITY = ‘Salinity’
class Constants.FluidFlashType
Bases: object
PRESSURETEMPERATURE = ‘PressureTemperature’
PRESSUREENTHALPYMASS = ‘PressureEnthalpyMass’
PRESSUREENTROPYMASS = ‘PressureEntropyMass’
PRESSUREENTHALPYMOLAR = ‘PressureEnthalpyMolar’
PRESSUREENTROPYMOLAR = ‘PressureEntropyMolar’
class Constants.IPRDarcyRatioType
Bases: object
RATIO = ‘Ratio’
ABSOLUTE = ‘Absolute’
class Constants.PerforationSkinMethod
Bases: object
MCLEOD = ‘McLeod’
KARAKASTARIQ = ‘KarakasTariq’
class Constants.WellCompletionType
Bases: object
NONE = ‘None’
OPENHOLE = ‘OpenHole’
PERFORATED = ‘Perforated’
GRAVELPACKEDANDPERFORATED = ‘GravelPackedAndPerforated’
OPENHOLEGRAVELPACK = ‘OpenHoleGravelPack’
FRACPACK = ‘FracPack’
class Constants.ChokeValveEquation
Bases: object
MECHANISTIC = ‘Mechanistic’
APIRP11V2 = ‘APIRP11V2’
class Constants.AmbientTemperatureOption
Bases: object
INPUTSINGLEVALUE = ‘InputSingleValue’
INPUTMULTIPLEVALUES = ‘InputMultipleValues’
USEGLOBALVALUE = ‘UseGlobalValue’
class Constants.AmbientFluid
Bases: object
AIR = ‘Air’
WATER = ‘Water’
class Constants.WaterInterpolationMethod
Bases: object
INTERPOLATE = ‘Interpolate’
STEPFUNCTION = ‘StepFunction’
class Constants.DeviationSurveyCalculationMethod
Bases: object
MEASUREDDISTANCE = ‘measuredDistance’
HORIZONTALDISTANCE = ‘horizontalDistance’
VERTICALDISTANCE = ‘verticalDistance’
class Constants.CompletionTestType
Bases: object
MULTIPOINT = ‘Multipoint’
ISOCHRONAL = ‘Isochronal’
class Constants.GasLiftType
Bases: object
INJECTIONGASRATE = ‘InjectionGasRate’
GLR = ‘GLR’
GLRINCREASE = ‘GLRIncrease’
class Constants.GaugeType
Bases: object
UNDEFINED = ‘gaugeUndefined’
PRESSURE = ‘gaugePressure’
FLOWRATE = ‘gaugeFlowRate’
TEMPERATURE = ‘gaugeTemperature’
class Constants.HeatExchangerPressureSpecification
Bases: object
DISCHARGEPRESSURE = ‘dischargePressure’
PRESSUREDROP = ‘pressureDrop’
class Constants.HeatExchangerTemperatureSpecification
Bases: object
DELTATEMPERATURE = ‘deltaTemperature’
DISCHARGETEMPERATURE = ‘dischargeTemperature’
DUTY = ‘duty’
class Constants.OilCalibrationType
Bases: object
DENSITY = ‘Density’
OFVF = ‘OFVF’
class Constants.RodPumpBasisType
Bases: object
STROKELENGTHFREQUENCY = ‘StrokeLengthFrequency’
NOMINALRATE = ‘NominalRate’
class Constants.NetworkDiagramLayerProperty
Bases: object
DEFAULT = ‘Default’
LINKLAYER = ‘LinkLayer’
EQUIPMENT = ‘Equipment’
JUNCTION = ‘Junction’
SINKSOURCE = ‘SinkSource’
FOLDERS = ‘Folders’
GAUGES = ‘Gauges’
PROPERTYPANELS = ‘PropertyPanels’
CUSTOM = ‘Custom’
class Constants.SensitivityVariableType
Bases: object
NONE = ‘varNone’
INFLOW = ‘varInflow’
OUTFLOW = ‘varOutflow’
XAXIS = ‘varXAxis’
SENSITIVITY = ‘varSensitivity’
class Constants.CalculatedVariable
Bases: object
INLETPRESSURE = ‘calcInletPressure’
OUTLETPRESSURE = ‘calcOutletPressure’
FLOWRATE = ‘calcFlowrate’
CUSTOM = ‘calcCustom’
class Constants.Fluid
Bases: object
LIQUID = ‘liquid’
GAS = ‘gas’
WATER = ‘water’
class Constants.FluidType
Bases: object
BLACKOIL = ‘fluidBlackOil’
COMPOSITIONAL = ‘fluidCompositional’
PVT = ‘fluidPVT’
MFL = ‘fluidMFL’
STEAM = ‘fluidSteam’
class Constants.PVTPackage
Bases: object
E300 = ‘E300’
GERG = ‘GERG’
MULTIFLASH = ‘MULTIFLASH’
class Constants.MultiphaseBoosterType
Bases: object
GENERIC = ‘GenericBooster’
ONESUBSEA = ‘OneSubseaBooster’
WETGASCOMPRESSOR = ‘WetGasCompressor’
class Constants.OneSubseaBoosterModel
Bases: object
HX310_250_180 = ‘FRAMO Helico-Axial 310-250/180’
HX310_400_180 = ‘FRAMO Helico-Axial 310-400/180’
HX310_500_45 = ‘FRAMO Helico-Axial 310-500/45’
HX310_500_180 = ‘FRAMO Helico-Axial 310-500/180’
HX310_600_120 = ‘FRAMO Helico-Axial 310-600/120’
HX310_700_45 = ‘FRAMO Helico-Axial 310-700/45’
HX310_800_120 = ‘FRAMO Helico-Axial 310-800/120’
HX310_900_45 = ‘FRAMO Helico-Axial 310-900/45’
HX310_1100_45 = ‘FRAMO Helico-Axial 310-1100/45’
HX310_1100_120 = ‘FRAMO Helico-Axial 310-1100/120’
HX360_1200_38 = ‘FRAMO Helico-Axial 360-1200/38’
HX360_1500_38 = ‘FRAMO Helico-Axial 360-1500/38’
HX360_1800_38 = ‘FRAMO Helico-Axial 360-1800/38’
class Constants.WetGasCompressorModel
Bases: object
CRC385_2400_51 = ‘OneSubsea-CRC385-2400-51’
CRC385_3600_51 = ‘OneSubsea-CRC385-3600-51’
CRC385_4800_51 = ‘OneSubsea-CRC385-4800-51’
CRC385_5800_51 = ‘OneSubsea-CRC385-5800-51’
CRC385_6900_51 = ‘OneSubsea-CRC385-6900-51’
CRC385_8400_51 = ‘OneSubsea-CRC385-8400-51’
class Constants.WetGasCompressorCoolerModel
Bases: object
NONE = ‘None’
USERSPECIFIED = ‘User specified’
COOLER6M8B = ‘Cooler-6m-8b’
class Constants.SeparatorProductFluid
Bases: object
LIQUID = ‘liquid’
GAS = ‘gas’
WATER = ‘water’
OIL = ‘oil’
GASOIL = ‘gasOil’
GASWATER = ‘gasWater’
class Constants.TubingSectionType
Bases: object
CASING = ‘Casing’
LINER = ‘Liner’
OPENHOLE = ‘OpenHole’
TUBING = ‘Tubing’
class Constants.AnnulusMaterial
Bases: object
CEMENT = ‘Cement’
MUD = ‘Mud’
BRINE = ‘Brine’
WATER = ‘Water’
GAS = ‘Gas’
OIL = ‘Oil’
DIESEL = ‘Diesel’
ACID = ‘Acid’
class Constants.UserEquipmentType
Bases: object
SURFACE = ‘Surface’
ARTIFICIALLIFT = ‘ArtificialLift’
DOWNHOLE = ‘Downhole’
class Constants.CheckValveSetting
Bases: object
NONE = ‘None’
BLOCKFORWARD = ‘BlockForward’
BLOCKREVERSE = ‘BlockReverse’
BLOCKBOTH = ‘Off’
class Constants.GasLiftInputOption
Bases: object
USEGASSPECIFICGRAVITY = ‘UseGasSpecificGravity’
ASSOCIATEEXISTINGFLUID = ‘AssociateExistingFluid’
class Constants.NitrogenCorrectionMethod
Bases: object
DAKSUTTON = ‘DakSutton’
WRINKLEREADES1989 = ‘WrinklerEades1989’
class Constants.GenericEquipmentPressureSpecification
Bases: object
DISCHARGEPRESSURE = ‘dischargePressure’
DELTAPRESSURE = ‘deltaPressure’
PRESSURERATIO = ‘pressureRatio’
class Constants.GenericEquipmentThermodynamics
Bases: object
DEFAULT = ‘defaultRoute’
ISENTHALPIC = ‘isenthalpicRoute’
ISENTROPIC = ‘isentropicRoute’
ISOTHERMAL = ‘isothermalRoute’
class Constants.CompressorThermodynamics
Bases: object
ADIABATIC = ‘routeAdiabatic’
POLYTROPIC = ‘routePolytropic’
MOLLIER = ‘routeMollier’
class Constants.ViscosityCorrection
Bases: object
NONE = ‘None’
CENTRILIFT = ‘Centrilift’
REDA = ‘Reda’
TURZO = ‘Turzo’
USER = ‘User’
class Constants.ProfilePlotOption
Bases: object
DEFAULT = ‘Default’
ELEVATIONVSPRESSURE = ‘ElevationVsPressure’
ELEVATIONVSTEMPERATURE = ‘ElevationVsTemperature’
PRESSUREVSTOTAL_DISTANCE = ‘PressureVsTotal_Distance’
TEMPERATUREVSTOTAL_DISTANCE = ‘TemperatureVsTotal_Distance’
class Constants.PumpThermodynamics
Bases: object
ADIABATIC = ‘Adiabatic’
MOLLIER = ‘Mollier’
ISOTHERMAL = ‘Isothermal’
class Constants.CompletionFluidEntry
Bases: object
SINGLEPOINT = ‘SinglePoint’
DISTRIBUTED = ‘Distributed’
class Constants.Orientation
Bases: object
VERTICAL = ‘Vertical’
HORIZONTAL = ‘Horizontal’
class Constants.BoreholeFluid
Bases: object
MUD = ‘Mud’
BRINE = ‘Brine’
WATER = ‘Water’
GAS = ‘Gas’
OIL = ‘Oil’
DIESEL = ‘Diesel’
ACID = ‘Acid’
class Constants.FormationFluid
Bases: object
OIL = ‘Oil’
WATER = ‘Water’
GAS = ‘Gas’
class Constants.RockType
Bases: object
SANDSTONE = ‘Sandstone’
LIMESTONE = ‘Limestone’
DOLOMITE = ‘Dolomite’
SHALE = ‘Shale’
COAL = ‘Coal’
class Constants.PerforationFlowRate
Bases: object
LIQUIDFLOWRATE = ‘LiquidFlowRate’
GASFLOWRATE = ‘GasFlowRate’
class Constants.SensitivityMethod
Bases: object
PERMUTED = ‘Permuted’
STEPWITHVARIABLE1 = ‘StepWithVariable1’
STEPWITHXAXIS = ‘StepWithXAxis’
class Constants.VFPTablesOperationTable
Bases: object
ECLIPSE = ‘TableEclipse’
PORES = ‘TablePores’
VIP = ‘TableVIP’
COMP4 = ‘TableComp4’
MORES = ‘TableMoRes’
class Constants.GasLift
Bases: object
Gas Lift Design constants
class DiagnosticsOperationDiagnostics
Bases: object
FIXEDPRESSURE = ‘FixedPressure’
FIXEDINJECTION = ‘FixedInjection’
FIXEDBOTH = ‘FixedBoth’
class Constants.GasLift.DiagnosticsOperationThrottling
Bases: object
AUTO = ‘Auto’
ON = ‘On’
OFF = ‘Off’
class Constants.GasLift.PressureGradient
Bases: object
FRICTIONELEVATION = ‘FrictionElevation’
STATIC = ‘Static’
class Constants.GasLift.SolutionPoint
Bases: object
LIQUIDPRODRATE = ‘LiquidProdRate’
RESERVOIRPRESSURE = ‘ReservoirPressure’
INJECTIONRATE = ‘InjectionRate’
INJECTIONPRESSURE = ‘InjectionPressure’
class Constants.GasLift.DesignSpacing
Bases: object
NEWSPACING = ‘NewSpacing’
CURRENTSPACING = ‘CurrentSpacing’
OPTIMUMDEPTH = ‘OptimumDepth’
VALVEPORTDEPTH = ‘ValvePortDepth’
class Constants.GasLift.ResponseSolution
Bases: object
LIQUIDPRODRATE = ‘LiquidProdRate’
RESERVOIRPRESSURE = ‘ReservoirPressure’
INJECTIONRATE = ‘InjectionRate’
INJECTIONPRESSURE = ‘InjectionPressure’
class Constants.GasLift.TransferFactor
Bases: object
PINJPPROD = ‘PinjPprod’
PPROD = ‘Pprod’
class Constants.GasLift.TransferGradient
Bases: object
SURFACEOFFSET = ‘SurfaceOffset’
SURFACEOFFSETDP = ‘SurfaceOffsetDP’
class Constants.GasLift.DesignMethod
Bases: object
IPOSURFACECLOSE = ‘IpoSurfaceClose’
IPOPTMINMAX = ‘IpoPtMinMax’
PPODESIGN = ‘PpoDesign’
class Constants.GasLift.UnloadingTemperature
Bases: object
INJECTION = ‘Injection’
PRODUCTION = ‘Production’
AMBIENT = ‘Ambient’
UNLOADING = ‘Unloading’
class Constants.GasLift.ProductionPressureCurve
Bases: object
MODEL = ‘Model’
class Constants.GasLift.DesignSolutionPoint
Bases: object
LIQUIDPRODRATE = ‘LiquidProdRate’
RESERVOIRPRESSURE = ‘ReservoirPressure’
INJECTIONRATE = ‘InjectionRate’
INJECTIONPRESSURE = ‘InjectionPressure’
class Constants.GasLift.TopValveLocation
Bases: object
LIQUIDTOSURFACE = ‘LiquidToSurface’
LIQUIDLEVEL = ‘LiquidLevel’
CALCLIQUIDLEVEL = ‘CalcLiquidLevel’
class Constants.GasLift.OperatingValves
Bases: object
ORIFICE = ‘Orifice’
IPO = ‘IPO’
PPO = ‘PPO’
class Constants.GasLift.DesignTreatTransferGradient
Bases: object
OPENINGPRESSURE = ‘OpeningPressure’
CLOSINGPRESSURE = ‘ClosingPressure’
class Constants.GasLift.DesignTransferGradientDP
Bases: object
INJECTIONPRESSURE = ‘InjectionPressure’
PRODUCTIONPRESSURE = ‘ProductionPressure’
class Constants.BlackOilCalibrationSolutionGas
Bases: object
LASATER = ‘Lasater’
STANDING = ‘Standing’
VASQUEZANDBEGGS = ‘VasquezAndBeggs’
GLASO = ‘Glaso’
KARTOATMODJO = ‘Kartoatmodjo’
DEGHETTOETAL = ‘DeGhettoEtAl’
PETROSKYFARSHAD = ‘PetroskyFarshad’
class Constants.MultiflashComponent
Bases: object
ONE_2_DIETHYLBENZENE = ‘1,2-Diethylbenzene’
TWO_2_DIMETHYLPROPANE = ‘2,2-Dimethylpropane’
THREE_METHYL_HEXANE = ‘3-methyl hexane’
AMMONIA = ‘Ammonia’
ARGON = ‘Argon’
BENZENE = ‘Benzene’
BUTANE = ‘Butane’
CARBON_DIOXIDE = ‘Carbon Dioxide’
CARBON_MONOXIDE = ‘Carbon Monoxide’
CUMENE = ‘Cumene’
CYCLOHEXANE = ‘Cyclohexane’
CYCLOPENTANE = ‘Cyclopentane’
DECANE = ‘Decane’
DIETHYLENE_GLYCOL = ‘Diethylene Glycol’
DOCOSANE = ‘Docosane’
DODECANE = ‘Dodecane’
DOTRIACONTANE = ‘Dotriacontane’
EICOSANE = ‘Eicosane’
ETHANE = ‘Ethane’
ETHANOL = ‘Ethanol’
ETHYLBENZENE = ‘Ethylbenzene’
ETHYLCYCLOHEXANE = ‘Ethylcyclohexane’
ETHYLENE = ‘Ethylene’
ETHYLENE_GLYCOL = ‘Ethylene Glycol’
HELIUM = ‘Helium’
HENEICOSANE = ‘Heneicosane’
HEPTACOSANE = ‘Heptacosane’
HEPTADECANE = ‘Heptadecane’
HEPTANE = ‘Heptane’
HEXACOSANE = ‘Hexacosane’
HEXADECANE = ‘Hexadecane’
HEXANE = ‘Hexane’
HEXATRIACONTANE = ‘Hexatriacontane’
HYDROGEN = ‘Hydrogen’
HYDROGEN_SULPHIDE = ‘Hydrogen Sulphide’
ISOBUTANE = ‘Isobutane’
ISOPENTANE = ‘Isopentane’
METHANE = ‘Methane’
METHANOL = ‘Methanol’
METHYLCYCLOHEXANE = ‘Methylcyclohexane’
METHYLCYCLOPENTANE = ‘Methylcyclopentane’
M_XYLENE = ‘M-Xylene’
NAPHTHALENE = ‘Naphthalene’
NITROGEN = ‘Nitrogen’
NONACOSANE = ‘Nonacosane’
NONADECANE = ‘Nonadecane’
NONANE = ‘Nonane’
OCTACOSANE = ‘Octacosane’
OCTADECANE = ‘Octadecane’
OCTANE = ‘Octane’
OXYGEN = ‘Oxygen’
O_XYLENE = ‘O-Xylene’
PENTACOSANE = ‘Pentacosane’
PENTADECANE = ‘Pentadecane’
PENTANE = ‘Pentane’
PROPANE = ‘Propane’
P_XYLENE = ‘P-Xylene’
SALT_COMPONENT = ‘Salt Component’
TETRACOSANE = ‘Tetracosane’
TETRADECANE = ‘Tetradecane’
TOLUENE = ‘Toluene’
TRIACONTANE = ‘Triacontane’
TRICOSANE = ‘Tricosane’
TRIDECANE = ‘Tridecane’
TRIETHYLENE_GLYCOL = ‘Triethylene Glycol’
UNDECANE = ‘Undecane’
WATER = ‘Water’
class Constants.E300Component
Bases: object
BEN = ‘BEN’
C1 = ‘C1’
C10 = ‘C10’
C11 = ‘C11’
C12 = ‘C12’
C13 = ‘C13’
C14 = ‘C14’
C15 = ‘C15’
C16 = ‘C16’
C17 = ‘C17’
C18 = ‘C18’
C19 = ‘C19’
C2 = ‘C2’
C20 = ‘C20’
C21 = ‘C21’
C22 = ‘C22’
C23 = ‘C23’
C24 = ‘C24’
C25 = ‘C25’
C26 = ‘C26’
C27 = ‘C27’
C28 = ‘C28’
C29 = ‘C29’
C3 = ‘C3’
C30 = ‘C30’
C31 = ‘C31’
C32 = ‘C32’
C33 = ‘C33’
C34 = ‘C34’
C35 = ‘C35’
C36 = ‘C36’
C37 = ‘C37’
C38 = ‘C38’
C39 = ‘C39’
C4 = ‘C4’
C40 = ‘C40’
C41 = ‘C41’
C42 = ‘C42’
C43 = ‘C43’
C44 = ‘C44’
C45 = ‘C45’
C5 = ‘C5’
C6 = ‘C6’
C7 = ‘C7’
C8 = ‘C8’
C9 = ‘C9’
CO = ‘CO’
CO2 = ‘CO2’
CYCLOC6 = ‘CycloC6’
ETHYLBENZENE = ‘Ethylbenzene’
H2 = ‘H2’
H2O = ‘H2O’
H2S = ‘H2S’
IC4 = ‘IC4’
IC5 = ‘IC5’
MCYCLOC5 = ‘McycloC5’
MCYCLOC6 = ‘McycloC6’
MPXYLENE = ‘MPXylene’
N2 = ‘N2’
NC4 = ‘NC4’
NC5 = ‘NC5’
OXYLENE = ‘OXylene’
TOL = ‘TOL’
class Constants.GERGComponent
Bases: object
ARGON = ‘Argon’
CARBON_DIOXIDE = ‘Carbon dioxide’
CARBON_MONOXIDE = ‘Carbon monoxide’
ETHANE = ‘Ethane’
HELIUM = ‘Helium’
HYDROGEN = ‘Hydrogen’
HYDROGEN_SULPHIDE = ‘Hydrogen sulphide’
ISOBUTANE = ‘Isobutane’
ISOPENTANE = ‘Isopentane’
METHANE = ‘Methane’
N_BUTANE = ‘n-Butane’
N_DECANE = ‘n-Decane’
N_HEPTANE = ‘n-Heptane’
N_HEXANE = ‘n-Hexane’
NITROGEN = ‘Nitrogen’
N_NONANE = ‘n-Nonane’
N_OCTANE = ‘n-Octane’
N_PENTANE = ‘n-Pentane’
OXYGEN = ‘Oxygen’
PROPANE = ‘Propane’
WATER = ‘Water’
class Constants.EmulsionViscosityMethod
Bases: object
Set to viscosity of the continuous phase
CONTINUOUSPHASE = ‘ContinuousPhase’
OILWATERVOLUMERATIO = ‘OilWaterVolumeRatio’
ORIGINALWOELFLIN = ‘OriginalWoelflin’
WOELFLINLOOSE = ‘WoelflinLoose’
WOELFLINMEDIUM = ‘WoelflinMedium’
WOELFLINTIGHT = ‘WoelflinTight’
BRINKMAN = ‘Brinkman’
VANDVAND = ‘VandVand’
VANDBARNEAMIZRAHI = ‘VandBarneaMizrahi’
VANDUSER = ‘VandUser’
RICHARDSON = ‘Richardson’
LEVITONLEIGHTON = ‘LevitonLeighton’
USERTABLE = ‘UserTable’
class Constants.EquationOfState
Bases: object
class Multiflash
Bases: object
PENGROBINSON2PARAMETER = ‘PengRobinson2Parameter’
PENGROBINSON3PARAMETER = ‘PengRobinson3Parameter’
REDLICHKWONG = ‘RedlichKwong’
SOAVEREDLICHKWONG2PARAMETER = ‘SoaveRedlichKwong2Parameter’
SOAVEREDLICHKWONG3PARAMETER = ‘SoaveRedlichKwong3Parameter’
SOAVEREDLICHKWONG3PARAMETERNRTLMIXINGRULE =
‘SoaveRedlichKwong3ParameterNRTLMixingRule’
BENEDICTWEBBRUBINSTARLING = ‘BenedictWebbRubinStarling’
CUBICPLUSASSOCIATION = ‘CubicPlusAssociation’
CORRESPONDINGSTATES = ‘CorrespondingStates’
class Constants.EquationOfState.GERG
Bases: object
GERG_REFPROP = ‘GERG_REFPROP’
class Constants.EquationOfState.E300
Bases: object
PENGROBINSON3PARAMETERCORRECTED = ‘PengRobinson3ParameterCorrected’
PENGROBINSON2PARAMETERCORRECTED = ‘PengRobinson2ParameterCorrected’
SOAVEREDLICHKWONG3PARAMETER = ‘SoaveRedlichKwong3Parameter’
SOAVEREDLICHKWONG2PARAMETER = ‘SoaveRedlichKwong2Parameter’
class Constants.ViscosityCorrelationMethod
Bases: object
LOHRENZBRAYCLARK = ‘LohrenzBrayClark’
PEDERSEN = ‘Pedersen’
AASBERGPETERSEN = ‘AasbergPetersen’
NIST = ‘NIST’
PEDERSENTWU = ‘PedersenTwu’
SUPERTRAPP = ‘SuperTRAPP’
class Constants.VolumeShiftCorrelationMethod
Bases: object
SORIEDE = ‘Soriede’
PENELOUXDBR = ‘PenelouxDBR’
MULTIFLASH = ‘Multiflash’
class Constants.CriticalPropertyCorrelationMethod
Bases: object
KESLERLEE = ‘KeslerLee’
CAVETT = ‘Cavett’
RIAZIDAUBERT = ‘RiaziDaubert’
WINN = ‘Winn’
PEDERSEN = ‘Pedersen’
SINGLECARBONNUMBER = ‘SingleCarbonNumber’
class Constants.ThermalCoefficientsCorrelationMethod
Bases: object
KESLERLEE = ‘KeslerLee’
KESLERLEEMODIFIED = ‘KeslerLeeModified’
MULTIFLASH = ‘Multiflash’
class Constants.AcfCorrelationMethod
Bases: object
KESLERLEE = ‘KeslerLee’
EDMISTER = ‘Edmister’
THOMASSEN = ‘Thomassen’
PEDERSEN = ‘Pedersen’
SINGLECARBONNUMBER = ‘SingleCarbonNumber’
class Constants.SalinityModel
Bases: object
NONE = ‘None’
IONANALYSIS = ‘IonAnalysis’
TDS = ‘TDS’
class Constants.FluidComponentType
Bases: object
HYDROCARBON = ‘Hydrocarbon’
NONHYDROCARBON = ‘NonHydrocarbon’
class sixgill.definitions.SystemVariables
Bases: object
The System and Equipment Results Variables
ALHANATI_CRITERION1 = ‘AlhanatiCriterion1’
ALHANATI_CRITERION2 = ‘AlhanatiCriterion2’
ARTIFICIAL_LIFT_QUANTITY = ‘ArtificialLiftQuantity’
BOTTOM_HOLE_PRESSURE = ‘BottomHolePressure’
CASE_NUMBER = ‘CaseNumber’
CASE_STATUS = ‘CaseStatus’
CASING_HEAD_PRESSURE = ‘CasingHeadPressure’
CONED_GOR = ‘ConedGOR’
ESP_DELTA_PRESSURE = ‘ESPDeltaPressure’
ESP_DELTA_TEMPERATURE = ‘ESPDeltaTemperature’
ESP_DISCHARGE_PRESSURE = ‘ESPDischargePressure’
ESP_EFFICIENCY = ‘ESPEfficiency’
ESP_EFFICIENCY_FACTOR = ‘ESPEfficiencyFactor’
ESP_FLOWRATE_FACTOR = ‘ESPFlowrateFactor’
ESP_FREQUENCY = ‘ESPFrequency’
ESP_HEAD = ‘ESPHead’
ESP_HEAD_FACTOR = ‘ESPHeadFactor’
ESP_INTAKE_GAS_VOLUME_FRACTION = ‘ESPIntakeGasVolumeFraction’
ESP_INTAKE_PRESSURE = ‘ESPIntakePressure’
ESP_INTAKE_TOTAL_VOLUMETRIC_FLOWRATE = ‘ESPIntakeTotalVolumetricFlowrate’
ESP_NUMBER_OF_STAGES = ‘ESPNumberOfStages’
ESP_POWER = ‘ESPPower’
ESP_POWER_FACTOR = ‘ESPPowerFactor’
ESP_SUCTION_GAS_VOLUME_FRACTION = ‘ESPSuctionGasVolumeFraction’
FRICTION_FACTOR_MEAN = ‘FrictionFactorMean’
GAS_INJECTION_DEPTH = ‘GasInjectionDepth’
GAS_INJECTION_GAS_TEMPERATURE_BEFORE_MIXING =
‘GasInjectionGasTemperatureBeforeMixing’
GAS_INJECTION_PRODUCTION_TEMPERATURE_DOWNSTREAM =
‘GasInjectionProductionTemperatureDownstream’
GAS_INJECTION_PRODUCTION_TEMPERATURE_UPSTREAM =
‘GasInjectionProductionTemperatureUpstream’
GAS_INJECTION_VALVE_DELTA_TEMPERATURE = ‘GasInjectionValveDeltaTemperature’
GAS_INJECTION_VALVE_DELTA_PRESSURE = ‘GasInjectionValveDeltaPressure’
GAS_LIFT_INJECTION_CASING_HEAD_TEMPERATURE = ‘GasLiftInjectionCasingHeadTemperature’
GAS_LIFT_INJECTION_PORT_DIAMETER = ‘GasLiftInjectionPortDiameter’
GAS_LIFT_INJECTION_CASING_PRESSURE = ‘GasLiftInjectionCasingPressure’
GAS_LIFT_INJECTION_PRESSURE = ‘GasLiftInjectionPressure’
GAS_LIFT_INJECTION_RATIO = ‘GasLiftInjectionRatio’
GAS_LIFT_INJECTION_SOURCE_PRESSURE = ‘GasLiftInjectionSourcePressure’
GAS_LIFT_INJECTION_CASING_TEMPERATURE = ‘GasLiftInjectionCasingTemperature’
GAS_LIFT_INJECTION_TEMPERATURE = ‘GasLiftInjectionTemperature’
HEAT_TRANSFER_COEFFICIENT = ‘HeatTransferCoefficient’
HEEL_GOR_STOCKTANK = ‘HeelGORStockTank’
HEEL_MASS_FLOWRATE_FLUID = ‘HeelMassFlowrateFluid’
HEEL_PRESSURE = ‘HeelPressure’
HEEL_RESERVOIR_DRAWDOWN = ‘HeelReservoirDrawdown’
HEEL_TEMPERATURE = ‘HeelTemperature’
HEEL_VELOCITY_FLUID = ‘HeelVelocityFluid’
HEEL_VOLUME_FLOWRATE_FLUID_INSITU = ‘HeelVolumeFlowrateFluidInSitu’
HEEL_VOLUME_FLOWRATE_FLUID_STOCKTANK = ‘HeelVolumeFlowrateFluidStockTank’
HEEL_VOLUME_FLOWRATE_GAS_STOCKTANK = ‘HeelVolumeFlowrateGasStockTank’
HEEL_VOLUME_FLOWRATE_LIQUID_INSITU = ‘HeelVolumeFlowrateLiquidInSitu’
HEEL_VOLUME_FLOWRATE_LIQUID_STOCKTANK = ‘HeelVolumeFlowrateLiquidStockTank’
HEEL_VOLUME_FLOWRATE_OIL_STOCKTANK = ‘HeelVolumeFlowrateOilStockTank’
HEEL_WATER_CUT_STOCKTANK = ‘HeelWaterCutStockTank’
INLET_EROSIONAL_VELOCITY_RATIO = ‘InletErosionalVelocityRatio’
INLET_GOR_STOCKTANK = ‘InletGORStockTank’
INLET_MASS_FLOWRATE_FLUID = ‘InletMassFlowrateFluid’
INLET_MASS_FRACTION_GAS = ‘InletMassFractionGas’
INLET_VELOCITY_FLUID = ‘InletVelocityFluid’
INLET_VELOCITY_GAS = ‘InletVelocityGas’
INLET_VELOCITY_LIQUID = ‘InletVelocityLiquid’
INLET_VOLUME_FLOWRATE_FLUID_INSITU = ‘InletVolumeFlowrateFluidInSitu’
INLET_VOLUME_FLOWRATE_FLUID_STOCKTANK = ‘InletVolumeFlowrateFluidStockTank’
INLET_VOLUME_FLOWRATE_GAS_INSITU = ‘InletVolumeFlowrateGas’
INLET_VOLUME_FLOWRATE_GAS_STOCKTANK = ‘InletVolumeFlowrateGasStockTank’
INLET_VOLUME_FLOWRATE_LIQUID_INSITU = ‘InletVolumeFlowrateLiquid’
INLET_VOLUME_FLOWRATE_LIQUID_STOCKTANK = ‘InletVolumeFlowrateLiquidStockTank’
INLET_VOLUME_FLOWRATE_OIL_STOCKTANK = ‘InletVolumeFlowrateOilStockTank’
INLET_VOLUME_FRACTION_LIQUID = ‘InletVolumeFractionLiquid’
INLET_WATER_CUT_STOCKTANK = ‘InletWaterCutStockTank’
INPUT_FLOWRATE = ‘InputFlowrate’
INPUT_TUBING_HEAD_PRESSURE = ‘InputTubingHeadPressure’
INPUT_WATERCUT = ‘InputWatercut’
INPUT_WATER_RATIO = ‘InputWaterRatio’
MASS_FLOWRATE_AT_NODAL_ANALYSIS_POINT = ‘MassFlowrateAtNodalAnalysisPoint’
MAXIMUM_CORROSION_RATE = ‘MaximumCorrosionRate’
MAXIMUM_EROSIONAL_VELOCITY_RATIO = ‘MaximumErosionalVelocityRatio’
MAXIMUM_EROSION_RATE = ‘MaximumErosionRate’
MAXIMUM_HEAT_TRANSFER_COEFFICIENT = ‘MaximumHeatTransferCoefficient’
MAXIMUM_HYDRATE_SUB_COOLING_TEMPERATURE_DIFFERENCE =
‘MaximumHydrateSubCoolingTemperatureDifference’
MAXIMUM_LIQUID_LOADING_GAS_RATE = ‘MaximumLiquidLoadingGasRate’
MAXIMUM_LIQUID_LOADING_VELOCITY_RATIO = ‘MaximumLiquidLoadingVelocityRatio’
MAXIMUM_VELOCITY_FLUID = ‘MaximumVelocityFluid’
MAXIMUM_VELOCITY_GAS = ‘MaximumVelocityGas’
MAXIMUM_VELOCITY_LIQUID = ‘MaximumVelocityLiquid’
MAXIMUM_WAX_SUB_COOLING_TEMPERATURE_DIFFERENCE =
‘MaximumWaxSubCoolingTemperatureDifference’
NODAL_POINT_BUBBLE_POINT_PRESSURE = ‘NodalPointBubblePointPressure’
NODAL_POINT_ENTHALPY_FLUID = ‘NodalPointEnthalpyFluid’
NODAL_POINT_FRACTION_LIQUID = ‘NodalPointFractionLiquid’
NODAL_POINT_GLR_STOCKTANK = ‘NodalPointGLRStockTank’
NODAL_POINT_LGR_STOCKTANK = ‘NodalPointLGRStockTank’
NODAL_POINT_MASS_FLOWRATE_FLUID = ‘NodalPointMassFlowrateFluid’
NODAL_POINT_PRESSURE = ‘NodalPointPressure’
NODAL_POINT_TEMPERATURE = ‘NodalPointTemperature’
NODAL_POINT_VELOCITY_FLUID = ‘NodalPointVelocityFluid’
NODAL_POINT_VOLUME_FLOWRATE_FLUID_INSITU = ‘NodalPointVolumeFlowrateFluidInSitu’
NODAL_POINT_VOLUME_FLOWRATE_FLUID_STOCKTANK =
‘NodalPointVolumeFlowrateFluidStockTank’
NODAL_POINT_VOLUME_FLOWRATE_GAS_INSITU = ‘NodalPointVolumeFlowrateGasInSitu’
NODAL_POINT_VOLUME_FLOWRATE_GAS_STOCKTANK = ‘NodalPointVolumeFlowrateGasStockTank’
NODAL_POINT_VOLUME_FLOWRATE_LIQUID_INSITU = ‘NodalPointVolumeFlowrateLiquidInSitu’
NODAL_POINT_VOLUME_FLOWRATE_LIQUID_STOCKTANK =
‘NodalPointVolumeFlowrateLiquidStockTank’
NODAL_POINT_VOLUME_FLOWRATE_OIL_STOCKTANK = ‘NodalPointVolumeFlowrateOilStockTank’
NODAL_POINT_WATER_CUT_INSITU = ‘NodalPointWaterCutInSitu’
NODAL_POINT_WATER_CUT_STOCKTANK = ‘NodalPointWaterCutStockTank’
OUTLET_EROSIONAL_VELOCITY = ‘OutletErosionalVelocity’
OUTLET_EROSIONAL_VELOCITY_RATIO = ‘OutletErosionalVelocityRatio’
OUTLET_FRACTION_CO = ‘OutletFractionCO’
OUTLET_FRACTION_CO2 = ‘OutletFractionCO2’
OUTLET_FRACTION_H2S = ‘OutletFractionH2S’
OUTLET_FRACTION_N2 = ‘OutletFractionN2’
OUTLET_GLR_STOCKTANK = ‘OutletGLRStockTank’
OUTLET_GOR_STOCKTANK = ‘OutletGORStockTank’
OUTLET_LGR_STOCKTANK = ‘OutletLGRStockTank’
OUTLET_MASS_FLOWRATE_FLUID = ‘OutletMassFlowrateFluid’
OUTLET_MASS_FLOWRATE_GAS_STOCKTANK = ‘OutletMassFlowrateGasStockTank’
OUTLET_MASS_FLOWRATE_OIL_STOCKTANK = ‘OutletMassFlowrateOilStockTank’
OUTLET_MASS_FLOWRATE_WATER_STOCKTANK = ‘OutletMassFlowrateWaterStockTank’
OUTLET_MASS_FRACTION_GAS = ‘OutletMassFractionGas’
OUTLET_SPECIFIC_GRAVITY_GAS = ‘OutletSpecificGravityGas’
OUTLET_VELOCITY_FLUID = ‘OutletVelocityFluid’
OUTLET_VELOCITY_GAS = ‘OutletVelocityGas’
OUTLET_VELOCITY_LIQUID = ‘OutletVelocityLiquid’
OUTLET_VOLUME_FLOWRATE_FLUID_INSITU = ‘OutletVolumeFlowrateFluidInSitu’
OUTLET_VOLUME_FLOWRATE_FLUID_STOCKTANK = ‘OutletVolumeFlowrateFluidStockTank’
OUTLET_VOLUME_FLOWRATE_GAS_INSITU = ‘OutletVolumeFlowrateGas’
OUTLET_VOLUME_FLOWRATE_GAS_STOCKTANK = ‘OutletVolumeFlowrateGasStockTank’
OUTLET_VOLUME_FLOWRATE_LIQUID_INSITU = ‘OutletVolumeFlowrateLiquid’
OUTLET_VOLUME_FLOWRATE_LIQUID_STOCKTANK = ‘OutletVolumeFlowrateLiquidStockTank’
OUTLET_VOLUME_FLOWRATE_OIL_STOCKTANK = ‘OutletVolumeFlowrateOilStockTank’
OUTLET_VOLUME_FLOWRATE_WATER_STOCKTANK = ‘OutletVolumeFlowrateWaterStockTank’
OUTLET_VOLUME_FRACTION_LIQUID = ‘OutletVolumeFractionLiquid’
OUTLET_WATER_CUT_STOCKTANK = ‘OutletWaterCutStockTank’
PCP_DISCHARGE_PRESSURE = ‘PCPDischargePressure’
PCP_EFFICIENCY = ‘PCPEfficiency’
PCP_INTAKE_PRESSURE = ‘PCPIntakePressure’
PCP_INTAKE_VOLUMETRIC_FLOWRATE_FLUID = ‘PCPIntakeVolumetricFlowrateFluid’
PCP_POWER = ‘PCPPower’
PCP_SPEED = ‘PCPSpeed’
PIPE_OUTSIDE_DIAMETER = ‘PipeOutsideDiameter’
PRESSURE_AT_NODAL_ANALYSIS_POINT = ‘PressureAtNodalAnalysisPoint’
PRESSURE_DROP_TOTAL_ACCELERATION = ‘PressureDropTotalAcceleration’
PRESSURE_DROP_TOTAL_COMPLETION = ‘PressureDropTotalCompletion’
RECORD_COUNT = ‘RecordCount’
RESISTANCE_ELEVATIONAL = ‘ResistanceElevational’
RESISTANCE_FRICTIONAL = ‘ResistanceFrictional’
REYNOLDS_NUMBER_MEAN = ‘ReynoldsNumberMean’
ROD_PUMP_DELTA_PRESSURE = ‘RodPumpDeltaPressure’
ROD_PUMP_DISCHARGE_PRESSURE = ‘RodPumpDischargePressure’
ROD_PUMP_EFFICIENCY = ‘RodPumpEfficiency’
ROD_PUMP_INTAKE_VOLUME_FLOWRATE_FREE_GAS = ‘RodPumpIntakeVolumeFlowrateFreeGas’
ROD_PUMP_INTAKE_VOLUME_FRACTION_GAS = ‘RodPumpIntakeVolumeFractionGas’
ROD_PUMP_INTAKE_VOLUME_FLOWRATE_LIQUID = ‘RodPumpIntakeVolumeFlowrateLiquid’
ROD_PUMP_INTAKE_PRESSURE = ‘RodPumpIntakePressure’
ROD_PUMP_INTAKE_VOLUMETRIC_FLOWRATE_FLUID = ‘RodPumpIntakeVolumetricFlowrateFluid’
ROD_PUMP_POWER = ‘RodPumpPower’
SEVERE_SLUGGING_INDICATOR = ‘SevereSluggingIndicator’
SLUG_FREQUENCY1IN1000 = ‘SlugFrequency1In1000’
SLUG_FREQUENCY_MEAN = ‘SlugFrequencyMean’
SLUG_LENGTH1IN1000 = ‘SlugLength1In1000’
SLUG_LENGTH_MEAN = ‘SlugLengthMean’
SLUG_VOLUME1IN1000 = ‘SlugVolume1In1000’
SLUG_VOLUME_MEAN = ‘SlugVolumeMean’
SPECIFIC_GRAVITY_PRODUCED_GAS = ‘SpecificGravityProducedGas’
SPHERE_GENERATED_LIQUID_VOLUME = ‘SphereGeneratedLiquidVolume’
SPHERE_GENERATED_LIQUID_VOLUME_DUMPING_TIME =
‘SphereGeneratedLiquidVolumeDumpingTime’
SPHERE_TRANSIT_TIME = ‘SphereTransitTime’
STOCK_TANK_GAS_AT_NODAL_ANALYSIS_POINT = ‘StockTankGasAtNodalAnalysisPoint’
STOCK_TANK_LIQUID_AT_NODAL_ANALYSIS_POINT = ‘StockTankLiquidAtNodalAnalysisPoint’
SURFACE_INJECTION_CHOKE_DIAMETER = ‘SurfaceInjectionChokeDiameter’
SYSTEM_INLET_PRESSURE = ‘SystemInletPressure’
SYSTEM_OUTLET_PRESSURE = ‘SystemOutletPressure’
SYSTEM_OUTLET_TEMPERATURE = ‘SystemOutletTemperature’
SYSTEM_PRESSURE_LOSS = ‘SystemPressureLoss’
SYSTEM_TEMPERATURE_DIFFERENCE = ‘SystemTemperatureDifference’
TIME_HOURS = ‘Time_Hours’
TOE_PRESSURE = ‘ToePressure’
TOE_RESERVOIR_DRAWDOWN = ‘ToeReservoirDrawdown’
TOE_TEMPERATURE = ‘ToeTemperature’
TOE_VELOCITY_FLUID = ‘ToeVelocityFluid’
TOTAL_INJECTION_GAS = ‘TotalInjectionGas’
TOTAL_LIQUID_HOLDUP = ‘TotalLiquidHoldup’
TOTAL_OIL_HOLDUP = ‘TotalOilHoldup’
TOTAL_PRESSURE_DROP_ELEVATIONAL = ‘TotalPressureDropElevational’
TOTAL_PRESSURE_DROP_FRICTIONAL = ‘TotalPressureDropFrictional’
TOTAL_WATER_HOLDUP = ‘TotalWaterHoldup’
WELLHEAD_GOR_STOCKTANK = ‘WellheadGORStockTank’
WELLHEAD_MASS_FLOWRATE_FLUID = ‘WellheadMassFlowrateFluid’
WELLHEAD_PRESSURE = ‘WellheadPressure’
WELLHEAD_TEMPERATURE = ‘WellheadTemperature’
WELLHEAD_TRUE_VERTICAL_DEPTH = ‘WellheadTrueVerticalDepth’
WELLHEAD_VOLUME_FLOWRATE_FLUID_INSITU = ‘WellheadVolumeFlowrateFluidInSitu’
WELLHEAD_VOLUME_FLOWRATE_GAS_STOCKTANK = ‘WellheadVolumeFlowrateGasStockTank’
WELLHEAD_VOLUME_FLOWRATE_LIQUID_INSITU = ‘WellheadVolumeFlowrateLiquidInSitu’
WELLHEAD_VOLUME_FLOWRATE_LIQUID_STOCKTANK = ‘WellheadVolumeFlowrateLiquidStockTank’
WELLHEAD_VOLUME_FLOWRATE_OIL_STOCKTANK = ‘WellheadVolumeFlowrateOilStockTank’
WELLHEAD_VOLUME_FLOWRATE_FLUID_STOCKTANK = ‘WellheadVolumeFlowrateFluidStockTank’
WELLHEAD_WATER_CUT_STOCKTANK = ‘WellheadWaterCutStockTank’
ABSOLUTE_SPEED = ‘AbsoluteSpeed’
API_GRAVITY_OIL = ‘ApiGravityOil’
ARTIFICIAL_LIFT_FLOWRATE_CONVERSION_FACTOR = ‘ArtificialLiftFlowrateConversionFactor’
ARTIFICIAL_LIFT_FLOWRATE_TYPE = ‘ArtificialLiftFlowrateType’
BEAN_SIZE = ‘BeanSize’
BRANCH_DELTA_PRESSURE = ‘BranchDeltaPressure’
CHOKE_DELTA_PRESSURE = ‘ChokeDeltaPressure’
COILED_TUBING_INJECTION_PRESSURE = ‘CoiledTubingInjectionPressure’
COMPLETION_VOLUME_FLOWRATE_LIQUID_STOCKTANK =
‘CompletionVolumeFlowrateLiquidStockTank’
COMPRESSOR_EFFICIENCY = ‘CompressorEfficiency’
COMPRESSOR_POWER = ‘CompressorPower’
CONTAMINANTS_CO2 = ‘ContaminantsCO2’
CONTAMINANTS_H2S = ‘ContaminantsH2S’
CONTAMINANTS_N2 = ‘ContaminantsN2’
CRITICAL_PRESSURE_RATIO = ‘CriticalPressureRatio’
DELTA_ENTHALPY = ‘DeltaEnthalpy’
DELTA_ENTROPY = ‘DeltaEntropy’
DELTA_PRESSURE = ‘DeltaPressure’
DELTA_TEMPERATURE = ‘DeltaTemperature’
DENSITY_FLUID_MEAN = ‘DensityFluidMean’
DENSITY_GAS_STOCKTANK = ‘DensityGasStockTank’
DENSITY_OIL_STOCKTANK = ‘DensityOilStockTank’
DENSITY_WATER_STOCKTANK = ‘DensityWaterStockTank’
DIAMETER_RATIO = ‘DiameterRatio’
DISCHARGE_COEFFICIENT = ‘DischargeCoefficient’
DISCHARGE_PRESSURE = ‘DischargePressure’
DOWNSTREAM_COOLER_DUTY = ‘DownstreamCoolerDuty’
DOWNSTREAM_DENSITY = ‘DownstreamDensity’
DOWNSTREAM_HEAT_CAPACITY_RATIO = ‘DownstreamHeatCapacityRatio’
DOWNSTREAM_MACH_NUMBER = ‘DownstreamMachNumber’
DOWNSTREAM_PRESSURE = ‘DownstreamPressure’
DOWNSTREAM_SONIC_VELOCITY = ‘DownstreamSonicVelocity’
DOWNSTREAM_VELOCITY = ‘DownstreamVelocity’
DOWNSTREAM_VELOCITY_RATIO_CRITICAL = ‘DownstreamVelocityRatioCritical’
DUTY = ‘Duty’
EFFICIENCY = ‘Efficiency’
ELEVATION_DELTA_PRESSURE = ‘ElevationDeltaPressure’
ELEVATION_DIFFERENCE = ‘ElevationDifference’
ENTHALPY = ‘Enthalpy’
EQUIPMENT_TYPE = ‘EquipmentType’
EROSIONAL_VELOCITY = ‘ErosionalVelocity’
EROSIONAL_VELOCITY_MAXIMUM = ‘ErosionalVelocityMaximum’
EROSIONAL_VELOCITY_RATIO = ‘ErosionalVelocityRatio’
EROSIONAL_VELOCITY_RATIO_MAXIMUM = ‘ErosionalVelocityRatioMaximum’
EXPANSION_FACTOR_GAS = ‘ExpansionFactorGas’
EXPANSION_FACTOR_GAS_CRITICAL = ‘ExpansionFactorGasCritical’
FLOW_COEFFICIENT_FLUID = ‘FlowCoefficientFluid’
FLOW_COEFFICIENT_GAS = ‘FlowCoefficientGas’
FLOW_COEFFICIENT_LIQUID = ‘FlowCoefficientLiquid’
FLOW_FACTOR = ‘FlowFactor’
FLOWING_GAS_VOLUME_FLOWRATE = ‘FlowingGasVolumeFlowrate’
FLOWRATE = ‘Flowrate’
FLOWRATE_BEYOND_CURVE_MAX_RATE = ‘FlowrateBeyondCurveMaxRate’
FLOWRATE_DERIVATIVE_OF_OUTLET_PRESSURE = ‘FlowrateDerivativeOfOutletPressure’
FLOWRATE_RATIO_CRITICAL = ‘FlowrateRatioCritical’
FLOWRATE_TYPE = ‘FlowrateType’
FLUID_HANDLE_STRING = ‘FluidHandleString’
FRICTION_DELTA_PRESSURE = ‘FrictionDeltaPressure’
GENERIC_EQUIPMENT_DELTA_PRESSURE = ‘GenericEquipmentPressureDrop’
GLR_INSITU = ‘GLRInSitu’
GLR_STOCKTANK = ‘GLRStockTank’
LGR_STOCKTANK = ‘LGRStockTank’
GOR_STOCKTANK = ‘GORStockTank’
GWR_STOCKTANK = ‘GWRStockTank’
HEAD = ‘Head’
COMPRESSOR_HEAD = ‘CompressorHead’
HEAT_CAPACITY_RATIO_UPSTREAM = ‘HeatCapacityRatioUpstream’
HEEL_DRAWDOWN = ‘HeelDrawdown’
INJECTION_FLUID_ENTHALPY = ‘InjectionFluidEnthalpy’
INJECTION_FLUID_GAS_FLOWRATE_STOCKTANK = ‘InjectionFluidGasFlowrateStockTank’
INJECTION_FLUID_LIQUID_FLOWRATE_STOCKTANK = ‘InjectionFluidLiquidFlowrateStockTank’
INJECTION_FLUID_MASS_FLOWRATE_STOCKTANK = ‘InjectionFluidMassFlowrateStockTank’
INJECTION_FLUID_SPECIFIC_GRAVITY_GAS = ‘InjectionFluidSpecificGravityGas’
INJECTION_FLUID_TEMPERATURE = ‘InjectionFluidTemperature’
INJECTION_GAS_PRESSURE_AT_CASING_HEAD = ‘InjectionGasPressureAtCasingHead’
INJECTION_GAS_PRESSURE_AT_INJECTION_POINT = ‘InjectionGasPressureAtInjectionPoint’
INJECTION_GAS_TEMPERATURE_AT_CASING_HEAD = ‘InjectionGasTemperatureAtCasingHead’
INJECTION_GAS_TEMPERATURE_AT_INJECTION_POINT =
‘InjectionGasTemperatureAtInjectionPoint’
INJECTION_PORT_DELTA_PRESSURE = ‘InjectionPortDeltaPressure’
INJECTION_PORT_DELTA_TEMPERATURE = ‘InjectionPortDeltaTemperature’
INJECTION_PORT_DEPTH = ‘InjectionPortDepth’
INLET_PRESSURE = ‘InletPressure’
INLET_PRESSURE_DERIVATIVE_OF_FLOWRATE = ‘InletPressureDerivativeOfFlowrate’
INLET_PRESSURE_DERIVATIVE_OF_OUTLET_PRESSURE = ‘InletPressureDerivativeOfOutletPressure’
INLET_TEMPERATURE = ‘InletTemperature’
INPUT_FLOWRATE_GAS = ‘InputFlowrateGas’
INPUT_FLOWRATE_LIQUID = ‘InputFlowrateLiquid’
INPUT_FLOWRATE_OIL = ‘InputFlowrateOil’
INPUT_MASS_FLOWRATE_FLUID = ‘InputMassFlowrateFluid’
INPUT_TEMPERATURE = ‘InputTemperature’
IS_CRITICAL_FLOW = ‘IsCriticalFlow’
IS_INJECTING_INTO_COMPLETION = ‘IsInjectingIntoCompletion’
IS_SUPER_CRITICAL = ‘IsSuperCritical’
LIMITED_BY = ‘LimitedBy’
LIMIT_RATIO = ‘LimitRatio’
LIQUID_FLOWRATE_CRITICAL = ‘LiquidFlowrateCritical’
LIQUID_RATE = ‘LiquidRate’
MASS_FLOWRATE_CRITICAL = ‘MassFlowrateCritical’
MASS_FLOWRATE_FLUID = ‘MassFlowrateFluid’
MASS_FLOWRATE_GAS_STOCKTANK = ‘MassFlowrateGasStockTank’
MASS_FLOWRATE_O_IL_STOCKTANK = ‘MassFlowrateOIlStockTank’
MASS_FLOWRATE_STOCKTANK = ‘MassFlowrateStockTank’
MASS_FLOWRATE_WATER_STOCKTANK = ‘MassFlowrateWaterStockTank’
MASS_RATE = ‘MassRate’
MASS_RATE_REMOVED = ‘MassRateRemoved’
MAX_RATIO_CRITICAL = ‘MaxRatioCritical’
OGR_STOCKTANK = ‘OGRStockTank’
OUTLET_PRESSURE_DERIVATIVE_OF_FLOWRATE = ‘OutletPressureDerivativeOfFlowrate’
OUTLET_PRESSURE = ‘OutputPressure’
OUTPUT_FLOWRATE_GAS = ‘OutputFlowrateGas’
OUTPUT_FLOWRATE_LIQUID = ‘OutputFlowrateLiquid’
OUTPUT_FLOWRATE_OIL = ‘OutputFlowrateOil’
INPUT_FLOWRATE_WATER = ‘InputFlowrateWater’
OUTPUT_FLOWRATE_WATER = ‘OutputFlowrateWater’
OUTPUT_MASS_FLOWRATE_FLUID = ‘OutputMassFlowrateFluid’
PCP_TORQUE = ‘PcpTorque’
POWER = ‘Power’
PRESSURE = ‘Pressure’
PRESSURE_DIFFERENCE = ‘PressureDifference’
PRESSURE_DIFFERENCE_CRITICAL = ‘PressureDifferenceCritical’
PRESSURE_MAXIMUM = ‘PressureMaximum’
PRESSURE_RATIO = ‘PressureRatio’
PRESSURE_RATIO_CRITICAL = ‘PressureRatioCritical’
PRESSURE_REDUCTION_PER_STAGE = ‘PressureReductionPerStage’
PUMP_EFFICIENCY = ‘PumpEfficiency’
PUMP_POWER = ‘PumpPower’
RESERVOIR_TEMPERATURE_AVERAGE = ‘ReservoirTemperatureAverage’
ROUTE = ‘Route’
SPECIFIC_GRAVITY_GAS_STOCKTANK = ‘SpecificGravityGasStockTank’
SPECIFIC_GRAVITY_OIL_INSITU = ‘SpecificGravityOilInSitu’
SPECIFIC_GRAVITY_WATER_INSITU = ‘SpecificGravityWaterInSitu’
SPEED = ‘Speed’
SPEED_FRACTION = ‘SpeedFraction’
STAGES = ‘Stages’
STATIC_DELTA_PRESSURE = ‘StaticDeltaPressure’
STATIC_RESERVOIR_PRESSURE = ‘StaticReservoirPressure’
STONEWALL_LIMIT_EXCEEDED = ‘StonewallLimitExceeded’
SUCTION_INLET_GAS_VOLUME_PERCENT = ‘SuctionInletGasVolumePercent’
SUCTION_PRESSURE = ‘SuctionPressure’
SUCTION_PRESSURE_DOWNSTREAM_OF_INLET_CHOKE = ‘SuctionPressureDownstreamOfInletChoke’
SURFACE_CHOKE_DIAMETER = ‘SurfaceChokeDiameter’
SURFACE_INJECTION_PRESSURE = ‘SurfaceInjectionPressure’
TEMPERATURE = ‘Temperature’
TEMPERATURE_FLOWING = ‘TemperatureFlowing’
TEMPERATURE_MIXED_FLUID = ‘TemperatureMixedFluid’
TEMPERATURE_PRODUCTION_FLUID = ‘TemperatureProductionFluid’
TOE_DRAWDOWN = ‘ToeDrawdown’
TOTAL_VOLUME_RATE_BOOSTER = ‘TotalVolumeRateBooster’
TOTAL_VOLUME_RATE_OOS_BOOSTER = ‘TotalVolumeRateOOSBooster’
TUBING_PRESSURE = ‘TubingPressure’
TYPE = ‘Type’
UPSTREAM_COOLER_DUTY = ‘UpstreamCoolerDuty’
UPSTREAM_DENSITY = ‘UpstreamDensity’
UPSTREAM_MACH_NUMBER = ‘UpstreamMachNumber’
UPSTREAM_PIPE_ID = ‘UpstreamPipeID’
UPSTREAM_PRESSURE = ‘UpstreamPressure’
UPSTREAM_SONIC_VELOCITY = ‘UpstreamSonicVelocity’
UPSTREAM_VELOCITY = ‘UpstreamVelocity’
UPSTREAM_VELOCITY_RATIO_CRITICAL = ‘UpstreamVelocityRatioCritical’
VELOCITY_GAS = ‘VelocityGas’
VELOCITY_GAS_MAXIMUM = ‘VelocityGasMaximum’
VELOCITY_LIQUID = ‘VelocityLiquid’
VELOCITY_LIQUID_MAXIMUM = ‘VelocityLiquidMaximum’
VELOCITY_MEAN = ‘VelocityMean’
VELOCITY_MEAN_MAXIMUM = ‘VelocityMeanMaximum’
VISCOSITY_CORRELATION_FACTOR_FOR_EFFICIENCY = ‘ViscosityCorrelationFactorForEfficiency’
VISCOSITY_CORRELATION_FACTOR_FOR_FLOWRATE = ‘ViscosityCorrelationFactorForFlowrate’
VISCOSITY_CORRELATION_FACTOR_FOR_HEAD = ‘ViscosityCorrelationFactorForHead’
VISCOSITY_CORRELATION_FACTOR_FOR_POWER = ‘ViscosityCorrelationFactorForPower’
VOLUME_FLOWRATE_FLUID = ‘VolumeFlowrateFluid’
VOLUME_FLOWRATE_GAS_INSITU = ‘VolumeFlowrateGasInSitu’
VOLUME_FLOWRATE_GAS_STOCKTANK = ‘VolumeFlowrateGasStockTank’
VOLUME_FLOWRATE_GAS_STANDARD = ‘VolumeFlowrateGasStandard’
VOLUME_FLOWRATE_LIQUID_INSITU = ‘VolumeFlowrateLiquidInSitu’
VOLUME_FLOWRATE_LIQUID_STOCKTANK = ‘VolumeFlowrateLiquidStockTank’
VOLUME_FLOWRATE_OIL_INSITU = ‘VolumeFlowrateOilInSitu’
VOLUME_FLOWRATE_OIL_STOCKTANK = ‘VolumeFlowrateOilStockTank’
VOLUME_FLOWRATE_WATER_INSITU = ‘VolumeFlowrateWaterInSitu’
VOLUME_FLOWRATE_WATER_STOCKTANK = ‘VolumeFlowrateWaterStockTank’
VOLUME_FRACTION_GAS = ‘VolumeFractionGas’
WATER_CUT_INSITU = ‘WaterCutInSitu’
WATER_CUT_STOCKTANK = ‘WaterCutStockTank’
WATER_OIL_RATIO = ‘WaterOilRatio’
WGR_STOCKTANK = ‘WGRStockTank’
WORKING_SPEED = ‘WorkingSpeed’
class sixgill.definitions.ProfileVariables
Bases: object
Available Results Profile Variables
AMBIENT_FLUID_COEFFICIENT_OF_EXPANSION = ‘AmbientFluidCoefficientOfExpansion’
AMBIENT_FLUID_CONDUCTIVITY = ‘AmbientFluidConductivity’
AMBIENT_FLUID_DENSITY = ‘AmbientFluidDensity’
AMBIENT_FLUID_HEAT_CAPACITY = ‘AmbientFluidHeatCapacity’
AMBIENT_FLUID_VELOCITY = ‘AmbientFluidVelocity’
AMBIENT_FLUID_VISCOSITY = ‘AmbientFluidViscosity’
AMBIENT_TEMPERATURE_AT_NODE = ‘AmbientTemperatureAtNode’
ANNULUS_INSIDE_DIAMETER = ‘AnnulusInsideDiameter’
ANNULUS_OUTSIDE_DIAMETER = ‘AnnulusOutsideDiameter’
ASPHALTENE_FORMATION_TEMPERATURE = ‘AsphalteneFormationTemperature’
BP_BUBBLE_LENGTH1IN1000 = ‘BPBubbleLength1In1000’
BP_BUBBLE_LENGTH_MEAN = ‘BPBubbleLengthMean’
BP_SLUG_FREQUENCY = ‘BPSlugFrequency’
BP_SLUG_FREQUENCY1IN1000 = ‘BPSlugFrequency1In1000’
BP_SLUG_LENGTH1IN1000 = ‘BPSlugLength1In1000’
BP_SLUG_LENGTH_MEAN = ‘BPSlugLengthMean’
BP_SLUG_LIQUID_HOLDUP = ‘BPSlugLiquidHoldup’
BUBBLE_POINT_PRESSURE_INSITU = ‘BubblePointPressureInSitu’
BURIAL_DEPTH_CIRCUMFERENCE = ‘BurialDepthCircumference’
BURIAL_DEPTH_FACTOR_EXTRA = ‘BurialDepthFactorExtra’
BURIAL_DEPTH_OF_PIPE_CENTERLINE = ‘BurialDepthOfPipeCenterline’
BURIAL_DEPTH_OF_PIPE_TOPMOST_COAT = ‘BurialDepthOfPipeTopmostCoat’
CASING_GAS_PRESSURE = ‘CasingGasPressure’
CASING_GAS_TEMPERATURE = ‘CasingGasTemperature’
COEF_OF_EXPANSION_GAS = ‘CoefOfExpansionGas’
COEF_OF_EXPANSION_LIQUID = ‘CoefOfExpansionLiquid’
COMPRESSIBILITY_OIL_INSITU = ‘CompressibilityOilInSitu’
CONDUCTIVITY_FLUID_INSITU = ‘ConductivityFluidInSitu’
CONDUCTIVITY_GAS_INSITU = ‘ConductivityGasInSitu’
CONDUCTIVITY_LIQUID_INSITU = ‘ConductivityLiquidInSitu’
CONDUCTIVITY_OIL_INSITU = ‘ConductivityOilInSitu’
CONDUCTIVITY_WATER_INSITU = ‘ConductivityWaterInSitu’
CORROSION_RATE = ‘CorrosionRate’
CROSS_SECTIONAL_AREA_FOR_FLOW = ‘CrossSectionalAreaForFlow’
CUMULATIVE_ACCELERATION_PRESSURE_DIFFERENCE = ‘CumulativeAccelerationPressureDifference’
CUMULATIVE_ELEVATION_PRESSURE_DIFFERENCE = ‘CumulativeElevationPressureDifference’
CUMULATIVE_FRICTION_PRESSURE_DIFFERENCE = ‘CumulativeFrictionPressureDifference’
CUMULATIVE_GAS_HOLDUP = ‘CumulativeGasHoldup’
CUMULATIVE_LIQUID_HOLDUP = ‘CumulativeLiquidHoldup’
CUMULATIVE_OIL_HOLDUP = ‘CumulativeOilHoldup’
CUMULATIVE_PIPELINE_VOLUME = ‘CumulativePipelineVolume’
CUMULATIVE_WATER_HOLDUP = ‘CumulativeWaterHoldup’
DENSITY_FLUID_INSITU = ‘DensityFluidInSitu’
DENSITY_FLUID_NO_SLIP_INSITU = ‘DensityFluidNoSlipInSitu’
DENSITY_GAS_INSITU = ‘DensityGasInSitu’
DENSITY_GAS_STOCKTANK = ‘DensityGasStockTank’
DENSITY_LIQUID_INSITU = ‘DensityLiquidInSitu’
DENSITY_LIQUID_STOCKTANK = ‘DensityLiquidStockTank’
DENSITY_OIL_INSITU = ‘DensityOilInSitu’
DENSITY_OIL_STOCKTANK = ‘DensityOilStockTank’
DENSITY_WATER_INSITU = ‘DensityWaterInSitu’
DENSITY_WATER_STOCKTANK = ‘DensityWaterStockTank’
DISTRIBUTED_PI_GAS_INSITU = ‘DistributedPIGasInSitu’
DISTRIBUTED_PI_LIQUID_INSITU = ‘DistributedPILiquidInSitu’
EFFECTIVE_PERMEABILITY = ‘EffectivePermeability’
ELEVATION = ‘Elevation’
ENTHALPY_FLUID = ‘EnthalpyFluid’
ENTROPY_FLUID_INSITU = ‘EntropyFluidInSitu’
EQUIVALENT_HYDRAULIC_DIAMETER = ‘EquivalentHydraulicDiameter’
EROSIONAL_VELOCITY = ‘ErosionalVelocity’
EROSIONAL_VELOCITY_RATIO = ‘ErosionalVelocityRatio’
EROSION_RATE = ‘ErosionRate’
FLOW_PATTERN_GAS_LIQUID = ‘FlowPatternGasLiquid’
FLOW_PATTERN_OIL_WATER = ‘FlowPatternOilWater’
FLOWRATE_GAS_INSITU = ‘FlowrateGasInSitu’
FLOWRATE_LIQUID_INSITU = ‘FlowrateLiquidInsitu’
FORMATION_VOLUME_FACTOR_OIL_INSITU = ‘FormationVolumeFactorOilInSitu’
FRICTION_FACTOR_RATIO_TWO_PHASE = ‘FrictionFactorRatioTwoPhase’
FRICTION_FACTOR_SINGLE_PHASE = ‘FrictionFactorSinglePhase’
FROUDE_NUMBER_GAS = ‘FroudeNumberGas’
FROUDE_NUMBER_LIQUID = ‘FroudeNumberLiquid’
GLR_STOCKTANK = ‘GLRStockTank’
GOR_STOCKTANK = ‘GORStockTank’
GROUND_CONDUCTIVITY = ‘GroundConductivity’
GROUND_HEAT_TRANSFER_COEFFICIENT = ‘GroundHeatTransferCoefficient’
GROUND_HEAT_TRANSFER_COEFFICIENT_NO_ADJUSTMENT_BY_AREA_RATIO =
‘GroundHeatTransferCoefficientNoAdjustmentByAreaRatio’
GWR_STOCKTANK = ‘GWRStockTank’
HEAT_CAPACITY_FLUID_INSITU = ‘HeatCapacityFluidInSitu’
HEAT_CAPACITY_GAS_INSITU = ‘HeatCapacityGasInSitu’
HEAT_CAPACITY_LIQUID_INSITU = ‘HeatCapacityLiquidInSitu’
HEAT_CAPACITY_OIL_INSITU = ‘HeatCapacityOilInSitu’
HEAT_CAPACITY_WATER_INSITU = ‘HeatCapacityWaterInSitu’
HOLDUP_FRACTION_LIQUID = ‘HoldupFractionLiquid’
HOLDUP_LIQUID_WATER = ‘HoldupLiquidWater’
HORIZONTAL_DISTANCE = ‘HorizontalDistance’
HORIZONTAL_POSITION = ‘HorizontalPosition’
HYDRATE_FORMATION_TEMPERATURE = ‘HydrateFormationTemperature’
HYDRATE_SUB_COOLING_DELTA_TEMPERATURE = ‘HydrateSubCoolingDeltaTemperature’
HYDROSTATIC_HEAD = ‘HydrostaticHead’
INLINE_HEATER_MINIMUM_TEMPERATURE = ‘InlineHeaterMinimumTemperature’
INLINE_HEATER_POWER_AVAILABLE = ‘InlineHeaterPowerAvailable’
INLINE_HEATER_POWER_USED = ‘InlineHeaterPowerUsed’
INPUT_HEAT_TRANSFER_COEFFICIENT = ‘InputHeatTransferCoefficient’
INSIDE_FILM_FORCED_CONV_NUSSELT_NUMBER = ‘InsideFilmForcedConvNusseltNumber’
INSIDE_FILM_GAS_GRASHOF_NUMBER = ‘InsideFilmGasGrashofNumber’
INSIDE_FILM_GAS_HEAT_TRANSFER_COEFFICIENT = ‘InsideFilmGasHeatTransferCoefficient’
INSIDE_FILM_GAS_NUSSELT_NUMBER = ‘InsideFilmGasNusseltNumber’
INSIDE_FILM_GAS_PRANDTL_NUMBER = ‘InsideFilmGasPrandtlNumber’
INSIDE_FILM_GAS_REYNOLDS_NUMBER = ‘InsideFilmGasReynoldsNumber’
INSIDE_FILM_GRASHOF_NUMBER = ‘InsideFilmGrashofNumber’
INSIDE_FILM_GRASHOF_NUMBER_LIQUID = ‘InsideFilmGrashofNumberLiquid’
INSIDE_FILM_LIQUID_HEAT_TRANSFER_COEFFICIENT =
‘InsideFilmLiquidHeatTransferCoefficient’
INSIDE_FILM_LIQUID_NUSSELT_NUMBER = ‘InsideFilmLiquidNusseltNumber’
INSIDE_FILM_LIQUID_PRANDTL_NUMBER = ‘InsideFilmLiquidPrandtlNumber’
INSIDE_FILM_LIQUID_REYNOLDS_NUMBER = ‘InsideFilmLiquidReynoldsNumber’
INSIDE_FILM_MEAN_HEAT_TRANSFER_COEFFICIENT = ‘InsideFilmMeanHeatTransferCoefficient’
INSIDE_FILM_NATURAL_CONV_NUSSELT_NUMBER = ‘InsideFilmNaturalConvNusseltNumber’
INSIDE_FILM_NUSSELT_NUMBER = ‘InsideFilmNusseltNumber’
INSIDE_FILM_PRANDTL_NUMBER = ‘InsideFilmPrandtlNumber’
INSIDE_FILM_REYNOLDS_NUMBER = ‘InsideFilmReynoldsNumber’
INSIDE_FLUID_FILM_HEAT_TRANSFER_COEFFICIENT = ‘InsideFluidFilmHeatTransferCoefficient’
JOULE_THOMPSON_COEFFICIENT_INSITU = ‘JouleThompsonCoefficientInSitu’
LAYER_STATIC_PRESSURE = ‘LayerStaticPressure’
LGR_STOCKTANK = ‘LGRStockTank’
LIQUID_LOADING_GAS_RATE = ‘LiquidLoadingGasRate’
LIQUID_LOADING_VELOCITY = ‘LiquidLoadingVelocity’
LIQUID_LOADING_VELOCITY_RATIO = ‘LiquidLoadingVelocityRatio’
LIVE_OIL_SATURATED_VISCOSITY_INSITU = ‘LiveOilSaturatedViscosityInSitu’
MACH_NUMBER_IN_FLUID = ‘MachNumberInFluid’
MASS_FLOWRATE = ‘MassFlowrate’
MASS_FLOWRATE_GAS_INSITU = ‘MassFlowrateGasInSitu’
MASS_FLOWRATE_GAS_STOCKTANK = ‘MassFlowrateGasStockTank’
MASS_FLOWRATE_LIQUID_INSITU = ‘MassFlowrateLiquidInSitu’
MASS_FLOWRATE_LIQUID_STOCKTANK = ‘MassFlowrateLiquidStockTank’
MASS_FLOWRATE_OIL_INSITU = ‘MassFlowrateOilInSitu’
MASS_FLOWRATE_OIL_STOCKTANK = ‘MassFlowrateOilStockTank’
MASS_FLOWRATE_WATER_INSITU = ‘MassFlowrateWaterInSitu’
MASS_FLOWRATE_WATER_STOCKTANK = ‘MassFlowrateWaterStockTank’
MASS_FRACTION_GAS_INSITU = ‘MassFractionGasInSitu’
MASS_FRACTION_LIQUID_INSITU = ‘MassFractionLiquidInSitu’
MEAN_COEF_OF_EXPANSION_FLUID = ‘MeanCoefOfExpansionFluid’
MEAN_VELOCITY_FLUID = ‘MeanVelocityFluid’
MEASURED_DEPTH = ‘MeasuredDepth’
MOLAR_DENSITY_STOCKTANK = ‘MolarDensityStockTank’
MOLAR_VOLUME_STOCKTANK = ‘MolarVolumeStockTank’
MOLECULAR_WEIGHT_FLUID = ‘MolecularWeightFluid’
MOLE_FRACTION_CO = ‘MoleFractionCO’
MOLE_FRACTION_CO2 = ‘MoleFractionCO2’
MOLE_FRACTION_H2 = ‘MoleFractionH2’
MOLE_FRACTION_H2S = ‘MoleFractionH2S’
MOLE_FRACTION_N2 = ‘MoleFractionN2’
MUDLINE_TEMPERATURE = ‘MudlineTemperature’
NODE_NUMBER = ‘NodeNumber’
OGR_STOCKTANK = ‘OGRStockTank’
OIL_FORMATION_VOLUME_FACTOR = ‘OilFormationVolumeFactor’
OUTSIDE_FILM_FORCED_CONVECTION_HEAT_TRANSFER_COEFFICIENT =
‘OutsideFilmForcedConvectionHeatTransferCoefficient’
OUTSIDE_FILM_FORCED_CONVECTION_NUSSELT_NUMBER =
‘OutsideFilmForcedConvectionNusseltNumber’
OUTSIDE_FILM_FREE_CONVECTION_HEAT_TRANSFER_COEFFICIENT =
‘OutsideFilmFreeConvectionHeatTransferCoefficient’
OUTSIDE_FILM_FREE_CONVECTION_NUSSELT_NUMBER =
‘OutsideFilmFreeConvectionNusseltNumber’
OUTSIDE_FILM_GRASHOF_NUMBER = ‘OutsideFilmGrashofNumber’
OUTSIDE_FILM_HEAT_TRANSFER_COEFFICIENT_FOR_BURIED_PORTION =
‘OutsideFilmHeatTransferCoefficientForBuriedPortion’
OUTSIDE_FILM_HEAT_TRANSFER_COEFFICIENT_FOR_EXPOSED_PORTION =
‘OutsideFilmHeatTransferCoefficientForExposedPortion’
OUTSIDE_FILM_PRANDTL_NUMBER = ‘OutsideFilmPrandtlNumber’
OUTSIDE_FILM_RALEIGH_NUMBER = ‘OutsideFilmRaleighNumber’
OUTSIDE_FILM_REYNOLDS_NUMBER = ‘OutsideFilmReynoldsNumber’
OUTSIDE_FLUID_FILM_HEAT_TRANSFER_COEFFICIENT =
‘OutsideFluidFilmHeatTransferCoefficient’
OVERALL_AMBIENT_HEAT_TRANSFER_COEFFICIENT = ‘OverallAmbientHeatTransferCoefficient’
OVERALL_HEAT_TRANSFER_COEFFICIENT = ‘OverallHeatTransferCoefficient’
OVERALL_HEAT_TRANSFER_COEFFICIENT_OF_BURIED_PORTION =
‘OverallHeatTransferCoefficientOfBuriedPortion’
OVERALL_HEAT_TRANSFER_COEFFICIENT_OF_EXPOSED_PORTION =
“OverallHeatTransferCoefficientOfExposedPortion”
PHASE_INVERSION_WATERCUT_LIQUID_INSITU = ‘PhaseInversionWatercutLiquidInsitu’
PIPE_ANGLE_TO_HORIZONTAL = ‘PipeAngleToHorizontal’
PIPE_COATINGS_THICKNESS = ‘PipeCoatingsThickness’
PIPE_INSIDE_DIAMETER = ‘PipeInsideDiameter’
PIPE_INSIDE_TEMPERATURE = ‘PipeInsideTemperature’
PIPE_INSIDE_TEMPERATURE_BURIED_PART = ‘PipeInsideTemperatureBuriedPart’
PIPE_INSIDE_TEMPERATURE_EXPOSED_PART = ‘PipeInsideTemperatureExposedPart’
PIPE_OUTSIDE_DIAMETER = ‘PipeOutsideDiameter’
PIPE_OUTSIDE_DIAMETER_WITH_COATINGS = ‘PipeOutsideDiameterWithCoatings’
PIPE_OUTSIDE_TEMPERATURE = ‘PipeOutsideTemperature’
PIPE_OUTSIDE_TEMPERATURE_BURIED_PART = ‘PipeOutsideTemperatureBuriedPart’
PIPE_OUTSIDE_TEMPERATURE_EXPOSED_PART = ‘PipeOutsideTemperatureExposedPart’
PIPE_WALL_CONDUCTIVITY = ‘PipeWallConductivity’
PIPE_WALL_HEAT_TRANSFER_COEFFICIENT = ‘PipeWallHeatTransferCoefficient’
PIPE_WALL_ROUGHNESS = ‘PipeWallRoughness’
PIPE_WALL_THICKNESS = ‘PipeWallThickness’
PRESSURE = ‘Pressure’
PRESSURE_DROP_RATIO_ELEVATION = ‘PressureDropRatioElevation’
PRESSURE_DROP_RATIO_FRICTION = ‘PressureDropRatioFriction’
PRESSURE_DROP_RATIO_TOTAL = ‘PressureDropRatioTotal’
PRESSURE_GRADIENT_ACCELERATION = ‘PressureGradientAcceleration’
PRESSURE_GRADIENT_ELEVATION = ‘PressureGradientElevation’
PRESSURE_GRADIENT_FRICTION = ‘PressureGradientFriction’
PRESSURE_GRADIENT_TOTAL = ‘PressureGradientTotal’
RELATIVE_PERMEABILITY_OIL = ‘RelativePermeabilityOil’
RELATIVE_PERMEABILITY_WATER = ‘RelativePermeabilityWater’
RESERVOIR_DRAWDOWN = ‘ReservoirDrawdown’
RESERVOIR_PRESSURE = ‘ReservoirPressure’
RESERVOIR_SATURATION = ‘ReservoirSaturation’
RESERVOIR_SPECIFIC_GAS_INFLOW = ‘ReservoirSpecificGasInflow’
RESERVOIR_SPECIFIC_MASS_INFLOW = ‘ReservoirSpecificMassInflow’
RESERVOIR_TEMPERATURE = ‘ReservoirTemperature’
RESISTANCE_OF_BURIED_PORTION_OVERALL = ‘ResistanceOfBuriedPortionOverall’
RESISTANCE_OF_EXPOSED_PORTION_OVERALL = ‘ResistanceOfExposedPortionOverall’
RESISTANCE_OF_OUTSIDE_FILM_ON_EXPOSED_PORTION =
‘ResistanceOfOutsideFilmOnExposedPortion’
REYNOLDS_NUMBER = ‘ReynoldsNumber’
SAND_PRODUCTION_RATE = ‘SandProductionRate’
SEGMENT_ENTHALPY_GRADIENT = ‘SegmentEnthalpyGradient’
SEGMENT_INFLOW_RATE_GRADIENT = ‘SegmentInflowRateGradient’
SEGMENT_LENGTH = ‘SegmentLength’
SEGMENT_PRESSURE_GRADIENT = ‘SegmentPressureGradient’
SEGMENT_TEMPERATURE_GRADIENT = ‘SegmentTemperatureGradient’
SINGLE_PHASE_ELEVATION_PRESSURE_GRADIENT = ‘SinglePhaseElevationPressureGradient’
SINGLE_PHASE_FRICTIONAL_PRESSURE_GRADIENT = ‘SinglePhaseFrictionalPressureGradient’
SINGLE_PHASE_TOTAL_PRESSURE_GRADIENT = ‘SinglePhaseTotalPressureGradient’
SKIN_DUE_TO_COMPACTED_ZONE = ‘SkinDueToCompactedZone’
SKIN_DUE_TO_DAMAGED_WELLBORE = ‘SkinDueToDamagedWellbore’
SKIN_DUE_TO_GRAVEL_PACK = ‘SkinDueToGravelPack’
SKIN_DUE_TO_PERFORATION_GEOMETRY = ‘SkinDueToPerforationGeometry’
SKIN_FACTOR_OVERALL = ‘SkinFactorOverall’
SKIN_FACTOR_RATE_DEPENDENT = ‘SkinFactorRateDependent’
SKIN_TURBULENT_DUE_TO_DAMAGED_WELLBORE = ‘SkinTurbulentDueToDamagedWellbore’
SKIN_TURBULENT_DUE_TO_GRAVEL_PACKING = ‘SkinTurbulentDueToGravelPacking’
SKIN_TURBULENT_DUE_TO_PERFORATIONS = ‘SkinTurbulentDueToPerforations’
SLIP_RATIO_GAS_LIQUID = ‘SlipRatioGasLiquid’
SLIP_RATIO_OIL_WATER = ‘SlipRatioOilWater’
SLUG_FREQUENCY1IN10 = ‘SlugFrequency1In10’
SLUG_FREQUENCY1IN100 = ‘SlugFrequency1In100’
SLUG_FREQUENCY1IN1000 = ‘SlugFrequency1In1000’
SLUG_FREQUENCY_MEAN = ‘SlugFrequencyMean’
SLUG_LENGTH1IN10 = ‘SlugLength1In10’
SLUG_LENGTH1IN100 = ‘SlugLength1In100’
SLUG_LENGTH1IN1000 = ‘SlugLength1In1000’
SLUG_LENGTH_MEAN = ‘SlugLengthMean’
SLUG_VOLUME1IN10 = ‘SlugVolume1In10’
SLUG_VOLUME1IN100 = ‘SlugVolume1In100’
SLUG_VOLUME1IN1000 = ‘SlugVolume1In1000’
SLUG_VOLUME_MEAN = ‘SlugVolumeMean’
SOLUTION_GAS_IN_OIL_INSITU = ‘SolutionGasInOilInSitu’
SOLUTION_GAS_IN_WATER_INSITU = ‘SolutionGasInWaterInSitu’
SOLUTION_GAS_POTENTIAL_IN_LIQUID_INSITU = ‘SolutionGasPotentialInLiquidInSitu’
SOLUTION_GAS_POTENTIAL_IN_OIL_INSITU = ‘SolutionGasPotentialInOilInSitu’
SOLUTION_GAS_POTENTIAL_IN_WATER_INSITU = ‘SolutionGasPotentialInWaterInSitu’
SOLUTION_GAS_VOLUME_FLOWRATE_INSITU = ‘SolutionGasVolumeFlowrateInSitu’
SONIC_VELOCITY_IN_FLUID = ‘SonicVelocityInFluid’
SPECIFIC_GRAVITY_GAS_INSITU = ‘SpecificGravityGasInSitu’
SPECIFIC_GRAVITY_GAS_STOCKTANK = ‘SpecificGravityGasStockTank’
SPECIFIC_GRAVITY_LIQUID_STOCKTANK = ‘SpecificGravityLiquidStockTank’
SPECIFIC_GRAVITY_OIL_STOCKTANK = ‘SpecificGravityOilStockTank’
SPECIFIC_GRAVITY_WATER_STOCKTANK = ‘SpecificGravityWaterStockTank’
SPECIFIC_HEAT_CAPACITY_RATIO_GAS_INSITU = ‘SpecificHeatCapacityRatioGasInSitu’
SPHERE_GENERATED_LIQUID_VOLUME_DUMPING_TIME_TOTAL =
‘SphereGeneratedLiquidVolumeDumpingTimeTotal’
SPHERE_GENERATED_LIQUID_VOLUME_FROM_SECTION =
‘SphereGeneratedLiquidVolumeFromSection’
SPHERE_GENERATED_LIQUID_VOLUME_SO_FAR = ‘SphereGeneratedLiquidVolumeSoFar’
SPHERE_TRANSIT_TIME_FROM_SECTION = ‘SphereTransitTimeFromSection’
SUPERFICIAL_VELOCITY_GAS = ‘SuperficialVelocityGas’
SUPERFICIAL_VELOCITY_LIQUID = ‘SuperficialVelocityLiquid’
SUPERFICIAL_VELOCITY_OIL = ‘SuperficialVelocityOil’
SUPERFICIAL_VELOCITY_WATER = ‘SuperficialVelocityWater’
SURFACE_TENSION_LIQUID_INSITU = ‘SurfaceTensionLiquidInSitu’
SURFACE_TENSION_OIL_GAS_INSITU = ‘SurfaceTensionOilGasInSitu’
SURFACE_TENSION_OIL_WATER_INSITU = ‘SurfaceTensionOilWaterInSitu’
SURFACE_TENSION_WATER_GAS_INSITU = ‘SurfaceTensionWaterGasInSitu’
TEMPERATURE = ‘Temperature’
TEMPERATURE_FLUID = ‘TemperatureFluid’
TEMPERATURE_GRADIENT_ELEVATION = ‘TemperatureGradientElevation’
TEMPERATURE_GRADIENT_GROUND_AND_AMBIENT = ‘TemperatureGradientGroundAndAmbient’
TEMPERATURE_GRADIENT_HEAT_TRANSFER = ‘TemperatureGradientHeatTransfer’
TEMPERATURE_GRADIENT_INSIDE_FILM = ‘TemperatureGradientInsideFilm’
TEMPERATURE_GRADIENT_JOULE_THOMSON = ‘TemperatureGradientJouleThomson’
TEMPERATURE_GRADIENT_OVERALL = ‘TemperatureGradientOverall’
TEMPERATURE_GRADIENT_PIPE_AND_COATINGS = ‘TemperatureGradientPipeAndCoatings’
TOTAL_DISTANCE = ‘TotalDistance’
TOTAL_SPHERE_TRANSIT_TIME_SO_FAR = ‘TotalSphereTransitTimeSoFar’
TRUE_VERTICAL_DEPTH = ‘TrueVerticalDepth’
VELOCITY_GAS = ‘VelocityGas’
VELOCITY_LIQUID = ‘VelocityLiquid’
VELOCITY_OIL = ‘VelocityOil’
VELOCITY_WATER = ‘VelocityWater’
VISCOSITY_DEAD_OIL_STOCKTANK = ‘ViscosityDeadOilStockTank’
VISCOSITY_FLUID_NO_SLIP_INSITU = ‘ViscosityFluidNoSlipInSitu’
VISCOSITY_FLUID_SLIP_INSITU = ‘ViscosityFluidSlipInSitu’
VISCOSITY_GAS_INSITU = ‘ViscosityGasInSitu’
VISCOSITY_LIQUID_INSITU = ‘ViscosityLiquidInSitu’
VISCOSITY_OIL_INSITU = ‘ViscosityOilInSitu’
VISCOSITY_WATER_INSITU = ‘ViscosityWaterInSitu’
VOLUME_FLOWRATE_FLUID_INSITU = ‘VolumeFlowrateFluidInSitu’
VOLUME_FLOWRATE_GAS_INSITU = ‘VolumeFlowrateGasInSitu’
VOLUME_FLOWRATE_GAS_INSITU_IDEAL = ‘VolumeFlowrateGasInsituIdeal’
VOLUME_FLOWRATE_GAS_STOCKTANK = ‘VolumeFlowrateGasStockTank’
VOLUME_FLOWRATE_LIQUID_INSITU = ‘VolumeFlowrateLiquidInSitu’
VOLUME_FLOWRATE_LIQUID_STOCKTANK = ‘VolumeFlowrateLiquidStockTank’
VOLUME_FLOWRATE_OIL_INSITU = ‘VolumeFlowrateOilInSitu’
VOLUME_FLOWRATE_OIL_STOCKTANK = ‘VolumeFlowrateOilStockTank’
VOLUME_FLOWRATE_WATER_INSITU = ‘VolumeFlowrateWaterInSitu’
VOLUME_FLOWRATE_WATER_STOCKTANK = ‘VolumeFlowrateWaterStockTank’
VOLUME_FRACTION_GAS_INSITU = ‘VolumeFractionGasInSitu’
VOLUME_FRACTION_LIQUID = ‘VolumeFractionLiquid’
VOLUME_FRACTION_LIQUID_STOCKTANK = ‘VolumeFractionLiquidStockTank’
WATERCUT = ‘Watercut’
WATER_CUT_STOCKTANK = ‘WaterCutStockTank’
WAX_FORMATION_TEMPERATURE = ‘WaxFormationTemperature’
WAX_SUB_COOLING_DELTA_TEMPERATURE = ‘WaxSubCoolingDeltaTemperature’
WGR_STOCKTANK = ‘WGRStockTank’
Z_FACTOR_GAS_INSITU = ‘ZFactorGasInSitu’
class sixgill.definitions.OutputVariables
Bases: object
class System
Bases: object
GAS_FIELD = [’PipeOutsideDiameter’, ‘SystemPressureLoss’, ‘SystemInletPressure’,
‘SystemOutletPressure’, ‘SystemOutletTemperature’, ‘TotalLiquidHoldup’, ‘InletVolume-
FlowrateLiquid’, ‘InletVolumeFlowrateGas’, ‘InletVelocityFluid’, ‘OutletVolumeFlowrateLiq-
uid’, ‘OutletVolumeFlowrateGas’, ‘OutletVelocityFluid’, ‘OutletVolumeFlowrateLiquidStock-
Tank’, ‘OutletGLRStockTank’, ‘OutletMassFlowrateFluid’, ‘CaseNumber’, ‘InletWaterCut-
StockTank’, ‘InputTubingHeadPressure’, ‘InputFlowrate’, ‘TotalInjectionGas’, ‘GasLift-
InjectionRatio’, ‘GasLiftInjectionCasingPressure’, ‘GasLiftInjectionCasingTemperature’,
• sixgill
• manta
• enpyxll
• pyxll
• xlwings