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
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.
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:
# | Test | Description |
---|---|---|
1a | one_p | One production well. |
1b | one_p_perf21 | One production well. First, the liquid is produced from two horizons. Later, the lower horizon is shut-in. |
1c | one_p_perf12 | One production well. First, the liquid is produced from the lower horizon. Later, the upper horizon is additionally opened-in. |
2 | one_i | One injection well. |
3 | many_p | A number of production wells. |
4 | many_i | A number of injection wells. |
5 | many_p_i | A number of production and injection wells. |
6 | many_p_to_i | A number of production wells with some of them switching to injection wells. |
7 | many_p_to_i_cyc | A number of production wells with some of them switching to injection wells. All wells operate with chaotic short shut-ins. |
8 | many_p_to_i_cyc_perf | A 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:
- Developing a synthetic model and calculating a forecast case.
- Exporting the resulting production/injection data by well to a historical format.
- Developing of a new case based on the synthetic model and including well production/injection data in a historical format.
- Changing of the permeability array of the new case to a specific permeability array to start history matching (permeability at itration #0).
- Starting history matching.
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.
Parameter | iter #0 | iter #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) |
The integral values vs. the number of iterations charts are shown below.
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).
Parameter | iter #0 | iter #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#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.
Parameter | iter #0 | iter #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) |
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.