PEXEL – History Matching Software
Skip to content

Home

Introduction to PEXEL (in Russian)

Answer these two questions first

  • Do you deal with reservoir engineering?
  • Do you spend a lot of time on history matching?

If you answered “yes” to both questions, PEXEL is exactly what you need.

Problem

Some of the currently available softwares for history matching have proven to be a good solution, allowing controlling many parameters and obtaining good results.

However, there are certain reasons why these tools are not widely used:

  • multifactorial task-solving and the associated complexity in analyzing the results
  • requirement of large computing capacity and a certain number of licenses
History matching software

Solution

The main tasks of history matching are:

  • SCAL matching
  • Aquifer matching
  • Permeability matching

SCAL matching requires just a few manual operations, but does require substantial analysis by a specialist. Conversely, permeability array matching is painstaking work, while calculating modifier values is a trivial task.

Distribution of work in history matching

The automation of intelligent work (SCAL matching) is not a priority, because the machine work result has to be checked by a human. The automation of manual work (permeability array matching) brings immediate benefit.

PEXEL is based on an effective algorithm for automated matching of well operation parameters to actual data by modifying the permeability array.

Iteratively, for each well, a cross sectional production analysis is performed and multipliers are calculated for each perforated cell. After that, an interpolation/extrapolation procedure is performed to obtain multipliers for permeability array.

About a cross-sectional production analysis

Let’s consider a simplified example: a well is producing from a two-layer reservoir, layer #1 produces 100% of oil and layer #2 produces 100% of water.

Question: what is the permeability ratio of layers k1/k2, if the well’s watercut equals to 0.5?

Right, the permeability ratio of layers k1/k2 = 1 (roughly, without SCAL).

PEXEL’s algorithm is capable to calculate permeability ratios for any number of layers and for more complex cases:

  • oil and water rate history matching is performed for all production history dates (not just for the latest or specific date)
  • history matching is performed under the conditions of wells interference (when changes in one well influence the production of the offset well)
  • history matching is performed both for production and injection wells
  • history matching is performed for well bottomhole pressure

Testing on synthetic models

To debug and improve the performance of PEXEL, many runs had to be carried out, so the following requirements were adopted in the design of the tests set:

  • the tests should describe the most typical situations encountered during the history matching
  • each following test should be more complex then previous one
  • calculation time – 1-3 minutes per iteration

Thus, each PEXEL release was run through a set of 8 history matching tests:

# TestDescription
1aone_pOne production well.
1bone_p_perf21One production well. First, the liquid is produced from two horizons. Later, the lower horizon is shut-in.
1cone_p_perf12One production well. First, the liquid is produced from the lower horizon. Later, the upper horizon is additionally opened-in.
2one_iOne injection well.
3many_pA number of production wells.
4many_iA number of injection wells.
5many_p_iA number of production and injection wells.
6many_p_to_iA number of production wells with some of them switching to injection wells.
7many_p_to_i_cycA number of production wells with some of them switching to injection wells. All wells operate with chaotic short shut-ins.
8many_p_to_i_cyc_perfA number of production wells with some of them switching to injection wells. All wells operate with chaotic short shut-ins. Perforation is not performed in all wells and does not penetrate all the layers.

Since PEXEL modifes just the permeability array, it was necessary to ensure that all other parameters in the model were true when testing.
The test model was developed as follows:

  1. Developing a synthetic model and calculating a forecast case.
  2. Exporting the resulting production/injection data by well to a historical format.
  3. Developing of a new case based on the synthetic model and including well production/injection data in a historical format.
  4. Changing of the permeability array of the new case to a specific permeability array to start history matching (permeability at itration #0).
  5. Starting history matching.
Synthetic model view
Comparison of true permeability function and permeability function at iteration #0
True permeability array
Permeability array on iteration #0

For each test, the history matching process underwent 10 iterations of a PEXEL run (10 runs on the simulator).

The results of the most complex test #8 are shown below.

Parameteriter #0iter #10
Field
Production/
Injection
Total
Field
Production/
Injection
Rate
Well
Liquid
Production
Total
Well
Oil
Production
Total
Water
Injection
Total
Well
Liquid
Production
Rate
(latest
date)
Well
Oil
Production
Rate
(latest
date)
Well
Bottom
Hole
Pressure
(all values
observed)
test#8 – cross-plots

The integral values vs. the number of iterations charts are shown below.

test#8 – history matching analysis

As you can see, PEXEL allows replacing manual editing with high accuracy and efficiency.

Testing on full-scale models

To date, several dozens tests have been carried out on full-scale models and around a dozen of real implementations. Here are a few examples demonstrating PEXEL’s potential.

Model#1

Description:

  • 30 wells | 20 prod. | 10 inj.
  • 7 horizons
  • 25 years of history
  • run time – 15 min per iter.

Comment: the use of PEXEL allowed for 50 history matching runs overnight (evening and night, off hours).

model#1 – initial oil saturation
Parameteriter #0iter #50
Field
Production/
Injection
Total
Field
Production/
Injection
Rate
Well
Liquid
Production
Total
Well
Oil
Production
Total
Water
Injection
Total
Well
Liquid
Production
Rate
(latest
date)
Well
Oil
Production
Rate
(latest
date)
Well
Bottom
Hole
Pressure
(all values
observed)
model#1 – cross-plots
model#1 – history matching analysis

Model#2

Description:

  • 500 wells | 350 prod. | 150 inj.
  • 4 horizons
  • 35 years of history
  • run time – 5 hours per iter.

Comment: if a model contains 500 wells, an engineer has on average one minute per well within a day to perform a complete analysis (8 hours = 480 min). That is, only one history matching iteration can be done per day if done manually (working day for analysis, night for run). The use of PEXEL allowed for 4-5 iterations per day.

Note: this experiment was done for research purposes and not for implementation. As it required considerable time and resources to continue, it was not completed.

model#2 – initial oil saturation
Parameteriter #0iter #10
Field
Production/
Injection
Total
Field
Production/
Injection
Rate
Well
Liquid
Production
Total
Well
Oil
Production
Total
Water
Injection
Total
Well
Liquid
Production
Rate
(latest
date)
Well
Oil
Production
Rate
(latest
date)
Well
Bottom
Hole
Pressure
(all values
observed)
model#2 – cross-plots
model#2 – history matching analysis

How to use PEXEL

  • Download the last version of PEXEL
  • Start History Matching Wizard
  • Follow the instruction

Important

  • Currently PEXEL is operating with Eclipse Schlumberger, tNavigator RFD and Tempest ROXAR simulators. If you need other simulators, please contact support.
  • Currently PEXEL is capable to perform history matching for oil and water production, water injection and bottomhole pressure. The algorithm for gas production/injection is under development.

Consider this

  • Remember: PEXEL cannot do the impossible. If a history cannot be adequately matched via permeability array, PEXEL will never make it happen. Try to play with other parameters (SCAL, aquifer, skin-factor, etc.) and restart PEXEL.
  • History matching for liquid production and water injection usually takes about 3-5 iterations, for watercut – about 15-20 iterations. Subsequent iterations do not result in significant changes, they can only remove minor deviations.
  • Pay special attention to the permissible permeability range (minimum and maximum). This has a big impact on the resulting quality of PEXEL history matching.
PEXEL manual (in Russian)