Table relative permeability
Overview
The user can specify the relative permeabilities using tables describing a piecewise-linear relative permeability function of volume fraction (i.e., saturation) for each phase. Depending on the number of fluid phases, this model is used as follows:
For two-phase flow, the user must specify two relative permeability tables, that is, one for the wetting-phase relative permeability, and one for the non-wetting phase relative permeability. During the simulation, the relative permeabilities are then obtained by interpolating in the tables as a function of phase volume fraction.
For three-phase flow, following standard reservoir simulation practice, the user must specify four relative permeability tables. Specifically, two relative permeability tables are required for the pair wetting-phase–intermediate phase (typically, water-oil), and two relative permeability tables are required for the pair non-wetting-phase–intermediate phase (typically, gas-oil). During the simulation, the relative permeabilities of the wetting and non-wetting phases are computed by interpolating in the tables as a function of their own phase volume fraction. The intermediate phase relative permeability is obtained by interpolating the two-phase relative permeabilities using the Baker interpolation procedure.
Parameters
The relative permeability constitutive model is listed in
the <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 <ElementRegions>
node.
The following attributes are supported:
XML Element: TableRelativePermeability
Name |
Type |
Default |
Description |
---|---|---|---|
name |
groupName |
required |
A name is required for any non-unique nodes |
nonWettingIntermediateRelPermTableNames |
groupNameRef_array |
{} |
List of relative permeability tables for the pair (non-wetting phase, intermediate phase)
The expected format is “{ nonWettingPhaseRelPermTableName, intermediatePhaseRelPermTableName }”, in that order
Note that this input is only used for three-phase flow.
If you want to do a two-phase simulation, please use instead wettingNonWettingRelPermTableNames to specify the table names
|
phaseNames |
groupNameRef_array |
required |
List of fluid phases |
threePhaseInterpolator |
geos_constitutive_ThreePhaseInterpolator |
BAKER |
Type of Three phase interpolator.Valid options
* BAKER
* STONEII
|
wettingIntermediateRelPermTableNames |
groupNameRef_array |
{} |
List of relative permeability tables for the pair (wetting phase, intermediate phase)
The expected format is “{ wettingPhaseRelPermTableName, intermediatePhaseRelPermTableName }”, in that order
Note that this input is only used for three-phase flow.
If you want to do a two-phase simulation, please use instead wettingNonWettingRelPermTableNames to specify the table names
|
wettingNonWettingRelPermTableNames |
groupNameRef_array |
{} |
List of relative permeability tables for the pair (wetting phase, non-wetting phase)
The expected format is “{ wettingPhaseRelPermTableName, nonWettingPhaseRelPermTableName }”, in that order
Note that this input is only used for two-phase flow.
If you want to do a three-phase simulation, please use instead wettingIntermediateRelPermTableNames and nonWettingIntermediateRelPermTableNames to specify the table names
|
Below are some comments on the model parameters.
phaseNames
- The number of phases can be either two or three. For three-phase flow, this model applies a Baker interpolation to the intermediate phase relative permeability. Supported phase names are:
Value |
Phase |
---|---|
oil |
Oil phase |
gas |
Gas phase |
water |
Water phase |
wettingNonWettingRelPermTableNames
- The list of relative permeability table names for two-phase systems, starting with the name of the wetting-phase relative permeability table, followed by the name of the non-wetting phase relative permeability table. Note that this keyword is only valid for two-phase systems, and is not allowed for three-phase systems (for which the user must specify insteadwettingIntermediateRelPermTableNames
andnonWettingIntermediateRelPermTableNames
).wettingIntermediateRelPermTableNames
- The list of relative permeability table names for the pair wetting-phase–intermediate-phase, starting with the name of the wetting-phase relative permeability table, and continuing with the name of the intermediate phase relative permeability table. Note that this keyword is only valid for three-phase systems, and is not allowed for two-phase systems (for which the user must specify insteadwettingNonWettingRelPermTableNames
).nonWettingIntermediateRelPermTableNames
- The list of relative permeability table names for the pair non-wetting-phase–intermediate-phase, starting with the name of the non-wetting-phase relative permeability table, and continuing with the name of the intermediate phase relative permeability table. Note that this keyword is only valid for three-phase systems, and is not allowed for two-phase systems (for which the user must specify insteadwettingNonWettingRelPermTableNames
).
Note
We remind the user that the relative permeability must be a strictly increasing function of phase volume fraction. GEOS throws an error when this condition is not satisfied.
Examples
For a two-phase water-gas system (for instance in the CO2-brine fluid model), a typical relative permeability input looks like:
<Constitutive>
...
<TableRelativePermeability
name="relPerm"
phaseNames="{ water, gas }"
wettingNonWettingRelPermTableNames="{ waterRelativePermeabilityTable, gasRelativePermeabilityTable }"/>
...
</Constitutive>
Note
The name of the wetting-phase relative permeability table must be specified before the name of the non-wetting phase relative permeability table.
For a three-phase oil-water-gas system (for instance in the Black-Oil fluid model), a typical relative permeability input looks like:
<Constitutive>
...
<TableRelativePermeability
name="relPerm"
phaseNames="{ water, oil, gas }"
wettingIntermediateRelPermTableNames="{ waterRelativePermeabilityTable, oilRelativePermeabilityTableForWO }"
nonWettingIntermediateRelPermTableNames="{ gasRelativePermeabilityTable, oilRelativePermeabilityTableForGO }"/>
...
</Constitutive>
Note
For the wetting-phase–intermediate-phase pair, the name of the wetting-phase relative permeability table must be specified first. For the non-wetting-phase–intermediate-phase pair, the name of the non-wetting-phase relative permeability table must be specified first. If the results look incoherent, this is something to double-check.
The tables mentioned above by name must be defined in the <Functions>
block of the XML file using the <TableFunction>
keyword.