Brooks-Corey capillary pressure model

Overview

In GEOS, the oil-phase pressure is assumed to be the primary pressure. The following paragraphs explain how the Brooks-Corey capillary pressure model is used to compute the water-phase and gas-phase pressures as:

p_w = p_o - P_{c,w}(S_w),

and

p_g = p_o + P_{c,g}(S_g).

In the Brooks-Corey model, the water-phase capillary pressure is computed as a function of the water-phase volume fraction with the following expression:

P_{c,w}(S_w) = p_{e,w} S_{\textit{w,scaled}}^{-1/\lambda_w},

where the scaled water-phase volume fraction is computed as:

S_{\textit{w,scaled}} = \frac{S_w - S_{\textit{w,min}} }{1 - S_{\textit{w,min}} - S_{\textit{o,min}} - S_{\textit{g,min} }}.

The gas capillary pressure is computed analogously.

Parameters

The capillary pressure constitutive model is listed in the <Constitutive> block of the input XML file. The capillary pressure model must be assigned a unique name via name attribute. This name is used to assign the model to regions of the physical domain via a materialList attribute of the <ElementRegions> node.

The following attributes are supported:

Name

Type

Default

Description

capPressureEpsilon

real64

1e-06

Wetting-phase saturation at which the max cap. pressure is attained; used to avoid infinite cap. pressure values for saturations close to zero

name

groupName

required

A name is required for any non-unique nodes

phaseCapPressureExponentInv

real64_array

{2}

Inverse of capillary power law exponent for each phase

phaseEntryPressure

real64_array

{1}

Entry pressure value for each phase

phaseMinVolumeFraction

real64_array

{0}

Minimum volume fraction value for each phase

phaseNames

groupNameRef_array

required

List of fluid phases

Below are some comments on the model parameters:

Value

Phase

oil

Oil phase

gas

Gas phase

water

Water phase

  • phaseMinVolFraction - The list of minimum volume fractions S_{\ell,min} for each phase is specified in the same order as in phaseNames. Below this volume fraction, the phase is assumed to be immobile. The values entered for this attribute have to match those of the same attribute in the relative permeability block.

  • phaseCapPressureExponentInv - The list of exponents \lambda_{\ell} for each phase is specified in the same order as in phaseNames. The parameter corresponding to the oil phase is currently not used.

  • phaseEntryPressure - The list of entry pressures p_{e,\ell} for each phase is specified in the same order as in phaseNames. The parameter corresponding to the oil phase is currently not used.

  • capPressureEpsilon - This parameter is used for both the water-phase and gas-phase capillary pressure. To avoid extremely large, or infinite, capillary pressure values, we set P_{c,w}(S_w) := P_{c,w}(\epsilon) whenever S_w < \epsilon. The gas-phase capillary pressure is treated analogously.

Example

<Constitutive>
   ...
   <BrooksCoreyCapillaryPressure name="capPressure"
                                 phaseNames="{oil, gas}"
                                 phaseMinVolumeFraction="{0.01, 0.015}"
                                 phaseCapPressureExponentInv="{0, 6}"
                                 phaseEntryPressure="{0, 1e8}"
                                 capPressureEpsilon="1e-8"/>
   ...
</Constitutive>