You are on page 1of 16

Carbone v6.

0– July 2020

Carbone is a new PVT package in KAPPA portfolio, designed to build fluid models that match experimental
data on which various scenarios can then be run. While the most common use case is to build a PVT model to
be utilized in the KAPPA DDA platform (or any other modeling platform), Carbone also permits experiments,
and predictions on fluid behaviors.

Introduction
Carbone is powered by the technical kernel of PVTFlow, a PVT package developed by IFPEn as part of the
OpenFlow suite. While Carbone v6.0 includes only EoS models, Black-Oil models will be available in the
subsequent version.

Built as part of KAPPA Generation 6, Carbone has a web UI, and separated front and back ends, allowing
different possible deployment configurations, namely stand-alone, client-server, or through the KAPPA-
Automate platform as a silent computation service. Carbone v6.0 is available as a standalone version only.

Carbone main screen

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 1/16


Core functionalities

Main workflow
The main application workflow is typically:
 Create fluid from a known set of components
 Characterize fluid to a desired number of pseudo components using Split and/or Lumping
 Load lab data
 Compare the predicted values against the lab data
 Regress to improve the fit
 Other possible processes: separator, mixer, compositional gradient, experiment design
 Export in Compositional or Black Oil formats.

Models
The following are currently available in Carbone:
 EoS:
o Peng-Robinson (PR) with corrected polynomial acentric factor
o Soave-Redlich-Kwong (SRK) and initial polynomial acentric factor
o Volume correction possible on both EoS
Internal coherence of Acentric factor (to component boiling point) and Volume Shifts (to component surface
density) maybe be forced in the model.
 Pseudo component properties:
o Twu/Edmister
o Lee/Kesler extended
o Riazi/Edmister
 Volume Correction/Volume Shift
 Viscosity:
o Lohrenz-Bray-Clark (LBC)
o LBC Heavy Oil
Internal coherence of Critical volumes (to Orrick & Erbar viscosity correlation) may be forced in the model.
 Vc/Zc
 Vcompact (for LBC Heavy Oil)

Component definition
Carbone works with the notion of scenario with a combination of pure and pseudo components. Predefined
‘standard’ (up to C20) and ‘extended’ (up to C40) scenarios are available but the user can create and save any
other scenario. While the properties of pure components are fixed, pseudo component properties (Molar
Weight, Specific Gravity, and Boiling Temperature) can be overridden at load time and all other properties are
recomputed automatically.

Import Compositional information in Eclipse™ format


In addition to selecting components and defining the composition and properties of a fluid in Carbone, fluids
may also be initialized by importing files in Eclipse™ compositional format.

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 2/16


Split
The split process is used when the initial compositional analysis of the fluid is not sufficient to correctly simulate
the laboratory experiments. The end goal is to split the plus fraction into a certain number of pseudo-
components. The split can be automatic or user defined, as shown below.

Split dialog

Constrained split splits two fluids to the same pseudo component fractions. The pre-requisite for this option
to be enabled for a given split process is that at least one split on another fluid with the same components
(except the heaviest one) already exists in the document. The split process will then assign to the new fluid the
same components as the split fractions of the constraining fluid.

Lumping
Lumping is used to reduce the number of components of a given fluid. Lumping can be performed by the user,
selecting and grouping components manually or automatically using the Montel-Gouel method. The process
recomputes all the associated properties, and evaluates the new error with the lab data associated to the
original fluid.

Lumping dialog

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 3/16


Constrained lumping lumps two fluids to the same pseudo component fractions. The pre-requisite for this
option to be enabled for a given lump process is that at least one lump on another fluid with the same
components (including the heaviest one) already exists in the document. The lumping process will then lump
the current fluid to the same pseudo components as the constraining fluid.

Lab data / experiments


The following experiments can be loaded and simulated:
 Constant Composition Expansion (CCE)
 Constant Volume Depletion (CVD)
 Saturation Pressure
 Saturation Temperature
 Differential Liberation
 Classical Separator
For each experiment type, when relevant, a choice of properties is given from which the user can select the
ones reported in the PVT report. The data can then be easily pasted from the clipboard into the resulting grid.

If a fluid definition exists, experiments are simulated on the fly and can be compared with the incoming data.

In addition to fluid properties, Carbone also allows users to enter oil and/or gas compositions at each pressure
step in the experiment. These compositions may then be included in the objective function to use in regression.

Sample/Lab data QC
The following QC methods are available for the different lab experiments:
1. Hoffman plot for Separator data
2. Bashbush plot for CVD data
3. Mass balance for DL data
These are available in the respective experiment pages.

Regression
Carbone uses a parallelized, gradient-based, non-linear optimization kernel that gives total freedom on the
variables for a given regression, as well as on the definition of the objective function to be minimized (choice
of the residuals, associated weights, etc.)

Multi-fluid regression can use data from multiple lab reports and compositions from multiple fluids to arrive
at a common EoS model.

If compositions have been loaded for experiments, they can also be made part of the regression objective
function.

* Note: in the first release, compositions are not output for experiments. So comparison with input compositions
in not possible. This will be added in the subsequent release.

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 4/16


Workflows/Processes
Besides characterization, simulation and matching of experiments, the following are available:
 Phase envelope computation and display
 Flash calculation
 Separation
 Mixer
 Compositional Gradient
 Export (Eclipse EoS, PROSPER EoS, Eclipse BO, KAPPA BO, PROSPER BO).

Separation
A separation process is essentially a PT flash at a given pressure and temperature. The inputs to this flash are
the feed composition, pressure and temperature.

Separation dialog

The output of a separation process is two fluids: separation gas and separation oil. Multiple separators can be
connected to either stream to design a separator train.

Mixer
The mixer option allows the user to mix two different fluids. The second fluid may be one of the existing fluids
in the document or a single fluid component. There are different mixing criteria available: ‘Target GOR’, ‘Molar
fraction of the secondary fluid’ and ‘Miscibility pressure’.

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 5/16


Mixer dialog Compositional Gradient dialog

Compositional Gradient
The compositional gradient option lets the user define the reference depth, thermal gradient and
pressure/temperature at reference depth. Depths can be entered manually or computed automatically over an
interval. Carbone computes PVT composition and fluid properties at each specified depth.

Fluid Export
Carbone offers the following formats to export fluid PVT:
1. KAPPA BO
2. Eclipse compositional and BO
3. PROSPER compositional and BO

Fluid Export Dialog

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 6/16


Software aspects

Application deployment and licensing


The standalone Carbone application has no prerequisite and it is actually a web application running in an
autonomous viewer. The installation simply copies the required files in the selected folder. The protection uses
USB physical bitlocks, FlexLM local or network licenses. A settings option lets the user specify the proper bitlock,
license or license server path.

Carbone documents
Carbone works with documents, with extension ‘kc6’. A document stores all the objects and results of a given
session. The format of the document is proprietary and not meant for use outside Carbone.

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 7/16


User interface

Starting Carbone
When the application is launched, the following screen is displayed, until a document is opened or created.

Carbone startup screen

Main UI
When working on a given document the main UI is as shown below. To the left a browser shows the fluids, the
lab data, and objective functions used in the session/document.

Main screen with browser and main window (in workflow page).

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 8/16


Selecting a particular node may give access to a specific menu inside the tree control, materialized by Spread
Operator (…) appearing on the right:

The active node also drives the content of the main display area on the right, and the available options
indicated at the top in blue (e.g. above: Workflow, Model Settings, Phase envelope & Flash, Match, EoS
Consistency).

The ‘New’ button at the top left allows the creation of new objects. A dropdown in this button provides direct
shortcuts as well to a given object type (Fluid, Lab data, Objective function).

Create new object

At the top of the window, in the middle, a breadcrumbs trail can be used to open/close/save files. At the far
right, additional buttons permit changing the units, the language, accessing the license information or the
built-in user help.

Workflow page
The workflow graphically represents the series of actions executed in the document and the resulting fluids. It
also gives access to all relevant information/results.

Workflow page view

More precisely, the workflow shows the various fluids as grey rounded rectangles, and in-between, the
processes: regression, lumping, split, and separation etc. Clicking on an object makes it active in the browser,

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 9/16


which will change the available display nodes. The Spread Operator (…) appearing on the fluid objects leads to
the main action popup menu shown below, left.

Fluid options menu Radar plot pop up over regression icon in process view

When clicking or hovering over a process icon, some popup or additional pane will appear. For instance, for a
regression, hovering on the icon, , will show the error before (red) and after the regression (green) on a radar
plot (above, right). Such a radar plot can also be seen on any fluid hovering over the colored error box. The
indication is with respect to the ‘default’ objective function – see below, but it can be changed for each fluid.
Clicking on the icon will show the regression setup and results in the slide out page on the right.

Model settings page


This page shows all the fluid composition, component information (properties) and binary interaction
coefficients – see next page.

When this is displayed, additional buttons appear at the top right of the Fluid properties table:

‘Recompute’ recomputes all fluid properties; ‘EoS Parameters’ gives access to the choice of model; ‘Export as
Scenario’ allows export of the current components as a custom list (called ‘Scenario’) which may be used to
initialize components for new fluids.

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 10/16


Model Settings Page

EoS Parameters dialog

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 11/16


Modifications of fluids
In model settings page, user can edit or recompute any pseudo component properties or change EoS
parameters. These changes trigger a validation popup (below, left):

 Save: applies modifications to the edited object only and recomputes automatic properties (phase
envelope, flash, match, quality indicator). The child fluids and processes are flagged as unsynchronized
(above, right) until the workflow is run.
 Save & Run: saves and propagates the modifications to child fluids through their parent processes.
 Clone: does not modify the edited fluid but creates a new modified fluid.
 Cancel: cancels the current editing.

Phase envelope and Flash Page


This page gives the phase envelope and characteristic points, as well as the results of a flash at reservoir and
standard conditions. The ‘Compare With’ drop down list allows the user to compare multiple fluids.

Phase envelope and Flash Page

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 12/16


Match page
This page shows the match between the lab data associated to a fluid, and the model predictions. All
measurements on a given experiment are shown on one page. The breadcrumbs trail at the top can be used
to toggle through different experiments associated to the selected fluid. Note that when lab data are loaded
and associated with a fluid, the match view is available at once, i.e. Carbone simulates the experiment on the
fly. The ‘Compare With’ drop down list allows the user to compare multiple fluids.

Match Page

EoS Consistency page


This page contains the following plots (with associated tables) to check the consistency/monotonicity of
component parameters of a fluid: Tc vs Molar Weight, Pc vs Molar Weight, ω vs Molar Weight, Viscosity vs
Molar Weight, Ki vs Pressure: Ki curves (one for each component) and Ki vs Boiling Point: Ki curves (one point
for each component, color coded by pressure). If the current fluid has a parent fluid in the process tree, results
from the current and the immediate parent fluid are shown together for comparison:

EoS Consistency Page

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 13/16


Gradient Composition and Gradient Properties Pages
For a compositional gradient, two additional pages are available when the gradient object is selected in the
process tree: Gradient Composition and Gradient Properties.

The Gradient Composition page shows the Molar weight, total, liquid and gas compositions at each depth in
tabulated form as well as variation in total composition of each component versus depth in graphical form.

Gradient Compositions Page

The Gradient Properties page shows the bulk fluid properties in tabulated and graphical form. Properties of
the same type e.g. Saturation Pressure and Pressure can be displayed together on a single plot. Multiple plots
can be created in the page to create a dashboard showing the different properties versus depth. Multiple
gradients can also be compared on the plots.

Gradient Properties Page

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 14/16


Objective functions
By default, the regression will use all available lab data. This corresponds to the ‘Automatic’ objective function.
It is possible to define any other objective function, on the fly when running a regression or through the ‘New’
object menu. The granularity goes down to the individual points in any given data set.

Objective function definition

For a multi-fluid objective function, lab data associated to multiple consistent fluids may be selected. For
selected lab data, the corresponding fluids must then be defined for each lab data as shown below, left:

Assigning fluid to lab data in multi-fluid objective function definition Objective function in browser

Oil and/or gas compositions loaded in the experiments can also be made part of the objective function.

All objective functions are listed in the document browser (above right).

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 15/16


Regressions
Four kind of regressions are available. ‘Classical pseudo’ regresses on pseudo component properties (Tc, Pc, ω
etc.), ‘EoS parameters’ on Ωa and Ωb parameters, ‘Viscosity Model’ on Critical Volumes and LBC parameters
and ‘Automatic Heavy’, on the boiling point of the heaviest fraction to match on the liquid density at standard
conditions. This regression does not require any lab data and no user selections are offered.

Regression types Multipliers on regression parameters

Once parameters are selected, users can edit their range to use in regression. In addition, constant and ramped
multipliers are available. The regression algorithm then only adjusts these multipliers instead of varying the
variables independently.

[End of document]

Carbone v6.0 © KAPPA-IFPEN 2020 Carbone v6.0 White pages - 16/16

You might also like