Three-phase relative permeability model¶
Overview¶
For the simulation of three-phase flow in porous media, it is common to use a specific treatment (i.e., different from the typical two-phase procedure) to evaluate the oil relative permeability. Specifically, the three-phase oil relative permeability is obtained by interpolation of oil-water and oil-gas experimental data measured independently in two-phase displacements.
Let and be the water-oil two-phase relative permeabilities for the water phase and the oil phase, respectively. Let and be the oil-gas two-phase relative permeabilities for the gas phase and the oil phase, respectively. In the current implementation, the two-phase relative permeability data is computed analytically using the Brooks-Corey relative permeability model.
The water and gas three-phase relative permeabilities are simply given by two-phase data and only depend on and , respectively. That is,
The oil three-phase relative permeability is obtained using a variant of the saturation-weighted interpolation procedure initially proposed by Baker. Specifically, we compute:
This procedure provides a simple but effective formula avoiding the problems associated with the other interpolation methods (negative values).
Parameters¶
The relative permeability constitutive model is listed in
<Constitutive>
block of the input XML file.
The relative permeability 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 <ElementRegion>
node.
The following attributes are supported:
Name | Type | Default | Description |
---|---|---|---|
gasOilRelPermExponent | real64_array | {1} | Rel perm power law exponent for the pair (gas phase, oil phase) at residual water saturation |
gasOilRelPermMaxValue | real64_array | {0} | Maximum rel perm value for the pair (gas phase, oil phase) at residual water saturation |
name | string | required | A name is required for any non-unique nodes |
phaseMinVolumeFraction | real64_array | {0} | Minimum volume fraction value for each phase |
phaseNames | string_array | required | List of fluid phases |
waterOilRelPermExponent | real64_array | {1} | Rel perm power law exponent for the pair (water phase, oil phase) at residual gas saturation |
waterOilRelPermMaxValue | real64_array | {0} | Maximum rel perm value for the pair (water phase, oil phase) at residual gas saturation |
Below are some comments on the model parameters.
phaseNames
- The number of phases should be 3. Supported phase names are:
Value | Phase |
---|---|
oil | Oil phase |
gas | Gas phase |
water | Water phase |
phaseMinVolFraction
- The list of minimum volume fractions for each phase is specified in the same order as inphaseNames
. Below this volume fraction, the phase is assumed to be immobile.waterOilRelPermExponent
- The list of exponents for the two-phase water-oil relative permeability data, with the water exponent first and the oil exponent next. These exponents are then used to compute in the Brooks-Corey relative permeability model.waterOilRelPermMaxValue
- The list of maximum values for the two-phase water-oil relative permeability data, with the water max value first and the oil max value next. These exponents are then used to compute in the Brooks-Corey relative permeability model.gasOilRelPermExponent
- The list of exponents for the two-phase gas-oil relative permeability data, with the gas exponent first and the oil exponent next. These exponents are then used to compute in the Brooks-Corey relative permeability model.gasOilRelPermMaxValue
- The list of maximum values for the two-phase gas-oil relative permeability data, with the gas max value first and the oil max value next. These exponents are then used to compute in the Brooks-Corey relative permeability model.
Example¶
<Constitutive>
...
<BrooksCoreyBakerRelativePermeability name="relperm"
phaseNames="oil gas water"
phaseMinVolumeFraction="0.05 0.05 0.05"
waterOilRelPermExponent="2.5 1.5"
waterOilRelPermMaxValue="0.8 0.9"
gasOilRelPermExponent="3 3"
gasOilRelPermMaxValue="0.4 0.9"/>
...
</Constitutive>