Professional Documents
Culture Documents
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.
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.
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
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.
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’.
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
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.
Starting Carbone
When the application is launched, the following screen is displayed, until a document is opened or created.
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).
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).
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.
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,
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.
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.
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.
Match Page
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.
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.
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).
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]