Skip to content

Reservoir Simulation - Sensitivities

This module enables users to perform sensitivity analysis on one or more variables at once.

1. Input

\label{input-cards-sensitivities}

There are four input cards, namely:

  1. Well & Reservoir Data
  2. Fluid Initialization
  3. Relative Permeability
  4. Sensitivities

It is not possible to modify input cards other than sensitivities. This is done to ensure consistency of the input variables between modules. If one wishes to edit it, this can be done in History Matching module.

1.1. Sensitivity Variables

1.1.1. Reservoir Properties

In general, all changeable variables in history matching can be used as sensitivity variables. A minimum of one variable is required and you can add as many variables as desired. To do this, simply check the box next to the variable.

\label{wellbox}

If you recall, the Numerical Model section has the following toggles:

\label{wellbox}

Here, if the toggles are switched on, the reservoir height and reservoir half-length are always enforced to be equal to fracture height (hf) and fracture half-length (xf) in all simulations - this includes simulation calls via cases in sensitivities and probabilistics.

The default behavior in the sensitivities feature when running sensitivities with xe (Reservoir half-length) and xf (Fracture half-length) -

  1. If you have xe=xf in the model (toggle is on) - Then any specified xe values are ignored for the given xf in sensitivities and xe is enforced to equal to this xf in the sensitivity case. Base case xf is set as xe if xf is not provided.
  2. If you have xe not equal to xf (toggle is off) - Then specified values of xe are used, and if they are blank, the base case xe is used.

Essentially, sensitivities and probabilistics cannot override these toggles. To freely adjust xe and h, go to the history matching section and turn off these toggles on the Numerical Model card and click save before running sensitivities. Similar behavior when toggle is on/off for the other pair of variables - hf | h

1.1.2. Well Control

Users can also choose well control to do sensitivity analysis instead of reservoir properties. This can be done by adding at least one case with input of initial and final BHP, time to minimum BHP, total simulation time, rate constraint type and value, and rate cutoff type and value.

\label{wellbox}

1.2. Modify Cases

\label{input-cards-sensitivities}

After sensitivity variables are chosen, you can modify each variable by clicking "Modify Cases" then "Save". To run, Users can click three dots next to the case and click "Run Case" for individual run, or click the "Run" button above the input cards.

1.3 Forecast

Once the cases have been saved and the model has been run, the results can be used to forecast production. By clicking the "Include Forecast" button, you can append the forecast to the data. However, any edits to the forecast schedule must be made in the History Matching section, and the simulation must be rerun after any changes or when toggling the forecast inclusion on or off.

\label{dry-gas-tornado}

1.4 Tornado Plot

You can generate a tornado plot of the selected parameters for running sensitivities. The GIF below shows an example of how to generate a tornado plot:

\label{dry-gas-tornado}

This plot represents how sensitive the sytem output is (cumulative oil, gas and water) to changes in it's input parameters. The variables are ordered in descending order of variable importance and you can view the relative impact of the parameters on cumulative oil, gas and water.

Drawing the Tornado plot appropriately

To set up the Tornado plot correctly, you want to set up a case at the minimum and maximum of the range of uncertainty in each parameter. This lets observe the full impact of each parameter, independent from the effects of changes in other parameters. Easiest way to do so is to set populate the cases as shown above!

2. Plot and Edit

All cases will be plotted automatically by default. To choose one or some of the cases, check or uncheck the show box for each case. Editing input can be done by clicking "Modify Cases" or "Edit Case". Users can remove and/or add more variables to the sensitivity analysis.

\label{input-cards-sensitivities}

3. How to Handle Simulation of Different pRi and GORi?

The black-oil PVT table is always generated in whitsonʳˢ from initial composition (), reservoir temperature (), equation of state (EOS), and surface process configuration. The black-oil PVT table is always regenerated locally at runtime, taking only a fraction of a second. This approach ensures flexibility and avoids delays previously encountered when downloading pre-generated BOT files from the cloud.

Current handling for variations in initial reservoir pressure () and initial GOR ():

The black-oil PVT table is primarily a function of (through ) and (). The is used to initialize the fluid as either single-phase or two-phase. This parameter is not directly used to generate the black-oil PVT table but is used during its extrapolation to avoid numerical instabilities of negative compressibility and internal extrapolation as much as possible. Therefore, the extrapolated part of the black-oil PVT table (affected by ) is typically outside the region used in simulations and should not materially impact the quality of the results.

  • Variations in with fixed

    When is held constant, the same is used across all cases. Varying influences the initialization of the fluid system:

    • If , the fluid initializes as single-phase.
    • If , the fluid initializes as two-phase.

    Note

    If you compare the files of two History Matching cases with same , but different , there may also be some differences in the extrapolated part of the black-oil PVT table, but that should not impact the simulations.

  • Variations in with fixed

    Changing is equivalent to altering the . For each case, black-oil PVT table will be generated using different composition. A new composition () is generated by taking the original obtained from Fluid Definition and recombining it to match the specified . A new BOT is then constructed based on () and used in the simulation.

  • Variations in both and

    Both effects described in previous points are applied simultaneously.

4. Export

To date, the simulation results can be exported in excel format in daily or monthly option.

  • Daily Simulation Results

    \label{input-cards-sensitivities}

  • Monthly Simulation Results

    \label{input-cards-sensitivities}