Back to Input Deck Cards
CHARACTERISTIC_CURVES¶
Specifies the characteristic curves (i.e., relative permeability and saturation functions and associated parameters) to be associated with a material property. This card is currently only supported for the GENERAL, HYDRATE, RICHARDS, TH (non-ice) and WIPP_FLOW flow modes. The SATURATION_FUNCTION card should be used in all other flow modes.
Blocks and Cards:¶
- SATURATION_FUNCTION <string>
Opens a saturation function block where <string> indicates the type of saturation function to be employed. Common saturation functions include BROOKS_COREY and VAN_GENUCHTEN, but many others are also available. The available saturation functions are documented in the Theory Guide under Capillary Pressure - Saturation Functions.
Supported SATURATION_FUNCTIONs and their associated cards:
BROOKS_COREY (see QA plot)
ALPHA
LAMBDA
SMOOTH
LINEAR (see QA plot)
ALPHA
MODIFIED_KOSUGI (see QA plot) + NPARAM + SIGMAZ + MUZ + RMAX + R0
PCHIP + FILE <string> + LIST
VAN_GENUCHTEN (see QA plot) + ALPHA + M
WIPP-specific SATURATION_FUNCTIONs and associated cards:
BRAGFLO_KRP1 (see QA plot) Note: If not running in the
TWOPHASE_MODE,PCT_AandPCT_EXPshould be replaced withIGNORE_PERMEABILITYandALPHA, where \(1/\alpha = P_t = ak^v\) whereALPHA\(=\alpha\),PCT_A\(=a\), andPCT_EXP\(=v\).LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
PCT_A
PCT_EXP
M
KPC
BRAGFLO_KRP2 (see QA plot) Note: If not running in the
TWOPHASE_MODE,PCT_AandPCT_EXPshould be replaced withIGNORE_PERMEABILITYandALPHA, where \(1/\alpha = P_t = ak^v\) whereALPHA\(=\alpha\),PCT_A\(=a\), andPCT_EXP\(=v\).LIQUID_RESIDUAL_SATURATION
PCT_A
PCT_EXP
LAMBDA
KPC
BRAGFLO_KRP3 (see QA plot) Note: If not running in the
TWOPHASE_MODE,PCT_AandPCT_EXPshould be replaced withIGNORE_PERMEABILITYandALPHA, where \(1/\alpha = P_t = ak^v\) whereALPHA\(=\alpha\),PCT_A\(=a\), andPCT_EXP\(=v\).LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
PCT_A
PCT_EXP
LAMBDA
KPC
BRAGFLO_KRP4 (see QA plot) Note: If not running in the
TWOPHASE_MODE,PCT_AandPCT_EXPshould be replaced withIGNORE_PERMEABILITYandALPHA, where \(1/\alpha = P_t = ak^v\) whereALPHA\(=\alpha\),PCT_A\(=a\), andPCT_EXP\(=v\).GAS_RESIDUAL_SATURATION
PCT_A
PCT_EXP
LAMBDA
KPC
BRAGFLO_KRP5 (see QA plot) Note: If not running in the
TWOPHASE_MODE,PCT_AandPCT_EXPshould be replaced withIGNORE_PERMEABILITYandALPHA, where \(1/\alpha = P_t = ak^v\) whereALPHA\(=\alpha\),PCT_A\(=a\), andPCT_EXP\(=v\).LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
PCT_A
PCT_EXP
KPC
BRAGFLO_KRP8 (see QA plot) Note: If not running in the
TWOPHASE_MODE,PCT_AandPCT_EXPshould be replaced withIGNORE_PERMEABILITYandALPHA, where \(1/\alpha = P_t = ak^v\) whereALPHA\(=\alpha\),PCT_A\(=a\), andPCT_EXP\(=v\).LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
PCT_A
PCT_EXP
M
KPC
BRAGFLO_KRP9 (see QA plot)
LIQUID_RESIDUAL_SATURATION
BRAGFLO_KRP11 (see QA plot)
[no parameters needed]
BRAGFLO_KRP12 (see QA plot) Note: If not running in the
TWOPHASE_MODE,PCT_AandPCT_EXPshould be replaced withIGNORE_PERMEABILITYandALPHA, where \(1/\alpha = P_t = ak^v\) whereALPHA\(=\alpha\),PCT_A\(=a\), andPCT_EXP\(=v\).LIQUID_RESIDUAL_SATURATION
PCT_A
PCT_EXP
LAMBDA
S_MIN
S_EFFMIN
KPC
The parameters ALPHA, LAMBDA, M, LIQUID_RESIDUAL_SATURATION, GAS_RESIDUAL_SATURATION, KPC, S_MIN, S_EFFMIN, NPARAM, SIGMAZ, MUZ, RMAX, R0, and SMOOTH are defined below under Parameter Definitions.
- PERMEABILITY_FUNCTION <string>
Opens a relative permeability function block where <string> indicates the type of liquid or gas relative permeability function. For multiphase flow, (e.g. GENERAL MODE) a relative permeability function must be defined for each phase. For single-phase variably saturated flow (e.g. RICHARDS MODE), only a liquid phase relative permeability function should be specified.
The available relative permeability functions are documented in the Theory Guide under Relative Permeability Functions. (Note: BC = Brooks-Corey; VG = van Genuchten)
Supported liquid phase PERMEABILITY_FUNCTIONs and associated cards:
- MUALEM_BC_LIQ (see QA plot)
LAMBDA
LIQUID_RESIDUAL_SATURATION
- BURDINE_BC_LIQ (see QA plot)
LAMBDA
LIQUID_RESIDUAL_SATURATION
- MUALEM_LINEAR_LIQ (see QA plot)
ALPHA
LIQUID_RESIDUAL_SATURATION
MAX_CAPILLARY_PRESSURE
- BURDINE_LINEAR_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
- MUALEM_VG_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
M
SMOOTH
- BURDINE_VG_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
M
SMOOTH
- MODIFIED_KOSUGI_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
SIGMAZ
- MODIFIED_KOSUGI_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
SIGMAZ
- MODIFIED_BROOKS_COREY_LIQ
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
KR_MAX
N
PCHIP_LIQ + FILE + LIST
Supported gas phase PERMEABILITY_FUNCTIONs and associated cards:
- MUALEM_BC_GAS (see QA plot)
GAS_RESIDUAL_SATURATION
LIQUID_RESIDUAL_SATURATION
LAMBDA
- BURDINE_BC_GAS (see QA plot)
GAS_RESIDUAL_SATURATION
LIQUID_RESIDUAL_SATURATION
LAMBDA
- MUALEM_LINEAR_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
MAX_CAPILLARY_PRESSURE
ALPHA
- BURDINE_LINEAR_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
- MUALEM_VG_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
M
- BURDINE_VG_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
M
- MODIFIED_KOSUGI_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
SIGMAZ
- MODIFIED_BROOKS_COREY_GAS
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
KR_MAX
N
PCHIP_GAS + FILE + LIST
WIPP-specific liquid and gas phase PERMEABILITY_FUNCTIONs:
- BRAGFLO_KRP1_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
M
- BRAGFLO_KRP2_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
LAMBDA
- BRAGFLO_KRP3_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
M
- BRAGFLO_KRP4_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
LAMBDA
- BRAGFLO_KRP5_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
- BRAGFLO_KRP8_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
M
- BRAGFLO_KRP9_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
- BRAGFLO_KRP11_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
TOLC
- BRAGFLO_KRP12_LIQ (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
LAMBDA
- BRAGFLO_KRP1_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
M
- BRAGFLO_KRP2_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
LAMBDA
- BRAGFLO_KRP3_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
LAMBDA
- BRAGFLO_KRP4_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
LAMBDA
- BRAGFLO_KRP5_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
- BRAGFLO_KRP8_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
M
- BRAGFLO_KRP9_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
- BRAGFLO_KRP11_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
TOLC
- BRAGFLO_KRP12_GAS (see QA plot)
LIQUID_RESIDUAL_SATURATION
GAS_RESIDUAL_SATURATION
LAMBDA
Parameter Definitions¶
- ALPHA <float>
Inverse of the air entry pressure for saturation function [Pa-1].
- FILE <string>
Filepath to file containing saturation-capillary pressure or saturation-relative permeability pairs. Must be in ascending order of saturation and monotonic.
- KPC <integer>
WIPP-specific flag from BRAGFLO. * KPC 1 ignores MAX_CAPILLARY_PRESSURE * KPC 2 Flat Set KPC to
2to activate * KPC 3-5 Not used * KPC 6 Pc Linear extension from SATURATION_JUNCTION_SATURATION to 0.0 LIQUID SATURATION * KPC 7 Pc Exponential extension from SATURATION_JUNCTION_SATURATION to 0.0 LIQUID SATURATION- KR_MAX <float>
Modified Brooks Corey relative permeability function maximum relative permeability [-].
- LAMBDA <float>
Brooks-Corey lambda parameter [-].
- LIST
Opens block to list saturaiton-capillary pressure or saturation-relative permeability value pairs. Must be in ascending order of saturation and monotonic.
- M <float>
Exponential parameter m in van Genuchten models. Parameter n is calculated as follows:
For van Genuchten capillary pressure, n=1/(1-m).
For van Genuchten relative permeability with Burdine equations, n = ?
For van Genuchten relative permeability with Mualem equations, n = ?
- N <float>
Modified Brooks Corey relative permeability exponent “n” [-].
- S_MIN <float>
This is a parameter from BRAGFLO. It is a cutoff in liquid saturation that is considered numerically dry, and it is smaller than liquid residual saturation.
- S_EFFMIN <float>
This is a parameter from BRAGFLO. It is the liquid saturation below S_MIN at which the Brooks Corey model becomes singular, or the capillary pressure is capped. It can also be thought of as a small tolerance which pushes the singularity in the capillary pressure to a liquid saturation slightly below S_MIN.
- SMOOTH
Applies polynomial smoothing to discontinuities in derivatives for relative permeability or saturation functions. The smoothing operation is documented under Smoothing in the Theory Guide. Supported for the following:
Brooks Corey (highly recommended if saturated cells exist)
Burdine (w/ van Genuchten liquid relative permeability)
Mualem (w/ van Genuchten liquid relative permeability)
- TOLC <float>
A tolerance interval over which the relative permeability changes linearly from zero to one [-].
- MODIFIED_KOSUGI model
This model is based on a truncated lognormal pore-size distribution. The distribution is truncated at the higher end only (3-parameter version) or higher and lower ends (4-parameter version) of the pore-size distribution. The original Kosugi model was for a 3-parameter moisture retention curve, but only developed a relative permeability function in the limit as \(\mathrm{R_{MAX}} \rightarrow \infty\) and \(\mathrm{R}_0 \rightarrow 0\) (i.e., the 2-parameter version). PFLOTRAN implements a closed-form approximation to the 3-parameter relative permeability function and an extended 4-parameter moisture retention curve and relative permeability model proposed by Malama & Kuhlman (2015). http://dx.doi.org/10.1111/gwat.12220
SIGMAZ <float> variance of the log pore-size distribution (in m). Essentially, this parameter is related to the slope and location of the inflection in the moisture retention and relative permeability curves.
MUZ <float> mean of the log pore-size distribution (in m). Essentially, this parameter is related to the position of the moisture retention curve along the capillary pressure axis (i.e., similar to the air-entry pressure).
NPARAM <int> number of parameters in the model. Valid values are 3 (upper-truncated pore-size distribution only) and 4 (upper- and lower-truncated pore-size distribution). When this is set to 3 the value of R0 is not used, and is not required to be set.
RMAX <float> maximum pore size (in m) in lognormal pore-size distribution.
R0 <float> minimum pore size (in m) in lognormal pore-size distribution. Only used if NPARAM=4. The user must ensure \(\mathrm{R_0}<\mathrm{R_{MAX}}\). Also, if they are too close numerical problems may arise.
Optional Cards under the CHARACTERISTIC_CURVES block:¶
- DEFAULT
Sets up dummy saturation and permeability functions for saturated single phase flow. If DEFAULT is specified, then the SATURATION_FUNCTION and the PERMEABILITY_FUNCTION blocks need not be specified.
- TEST
Including this keyword will produce output (.dat files) which provides (a) the capillary pressure for the entire range of liquid saturation, (b) the liquid saturation for the entire range of capillary pressures, and (c) the liquid and gas relative permeability values for the range of liquid saturation. See How To Test Characteristic Curves for detailed instructions on how to use this keyword.
Optional Cards under the SATURATION_FUNCTION or PERMEABILITY_FUNCTION blocks:¶
- GAS_RESIDUAL_SATURATION <float>
Residual saturation of gas phase [-]. Where used, default 100%.
- LIQUID_JUNCTION_SATURATION <float>
Liquid saturation for UNSATURATED_EXTENSION extrapolations [-]. Default 5% effective saturation (.05*(1-Srg-Srl)+Srl).
- LIQUID_RESIDUAL_SATURATION <float>
Residual saturation of liquid phase [-]. Default 0%.
- LOOP_INVARIANT
Caches calculated intermediate parameters, depending on compiler options, may speed performance. This is a necessary selection to utilize UNSATURATED_EXTENSIONS.
- MAX_CAPILLARY_PRESSURE <float>
Maximum capillary pressure in Pa. Default value is 10^9 Pa. Default behaivor truncates capillary pressure to this value near and below residual saturation. UNSATURATED_EXTENSIONs set this value at 0 liquid saturation and interpolate.
- SPLINE <integer>
Replace analytic model with Piecewise Cubic Hermite Interpolation Polynomials (PCHIP). This may reduce computational time for complex saturation or relative permeability functions.
- UNSATURATED_EXTENSION <string>
Define capillary pressure behaivor near and below residual saturation. Options include:
NONE - Asymptotically approach infinity at residual and remain undefined below residual.
FCPC - Truncation to MAX_CAPILLARY_PRESSURE and extrapolation to 0 saturation. Default.
FNOC - Truncation to value calculated at LIQUID_JUNCTION_SATURATION and extrapolation to 0 saturation.
LCPC - Linear interpolation from MAX_CAPILLARY_PRESSURE at 0 to calculated junction.
ECPC - Exponential interpolation from MAX_CAPILLARY_PRESSURE at 0 to calculated junction.
LNOC - Linear extrapolation from LIQUID_JUNCTION_SATURATION to 0 saturation.
ENOC - Exponential extrapolation from LIQUID_JUNCTION_SATURATION to 0 saturation.
Examples¶
RICHARDS mode¶
! for saturated flow CHARACTERISTIC_CURVES default DEFAULT END ! note: no need to specify phase as Richards is solely water phase CHARACTERISTIC_CURVES sf1 SATURATION_FUNCTION VAN_GENUCHTEN M 0.286 ALPHA 1.9401d-4 LIQUID_RESIDUAL_SATURATION 0.115 / PERMEABILITY_FUNCTION MUALEM_VG_LIQ M 0.286 LIQUID_RESIDUAL_SATURATION 0.115 / END CHARACTERISTIC_CURVES sf2 SATURATION_FUNCTION BROOKS_COREY LIQUID_RESIDUAL_SATURATION 0.115d0 LAMBDA 0.7d0 ALPHA 1.3d-6 MAX_CAPILLARY_PRESSURE 1.d8 SMOOTH / PERMEABILITY_FUNCTION MUALEM_BC_LIQ LIQUID_RESIDUAL_SATURATION 0.115 LAMBDA 0.7d0 / END CHARACTERISTIC_CURVES hygiene_sandstone_vg # Table 1 of van Genuchten (1980) SATURATION_FUNCTION VAN_GENUCHTEN ALPHA 8.05D-5 M 9.0385D-1 LIQUID_RESIDUAL_SATURATION 1.53D-1 END PERMEABILITY_FUNCTION MUALEM_VG_LIQ M 9.0385D-1 LIQUID_RESIDUAL_SATURATION 1.53D-1 END END CHARACTERISTIC_CURVES hygiene_sandstone_mk # Table 1 of Malama & Kuhlman (2015) SATURATION_FUNCTION MODIFIED_KOSUGI NPARAM 3 SIGMAZ 3.36D-1 MUZ -6.30D0 RMAX 3.05D-3 LIQUID_RESIDUAL_SATURATION 1.53D-1 END PERMEABILITY_FUNCTION MODIFIED_KOSUGI_LIQ SIGMAZ 3.36D-1 LIQUID_RESIDUAL_SATURATION 1.53D-1 END END
GENERAL mode¶
CHARACTERISTIC_CURVES cc1 SATURATION_FUNCTION VAN_GENUCHTEN LIQUID_RESIDUAL_SATURATION 0.d0 M 0.5d0 ALPHA 1.d-4 MAX_CAPILLARY_PRESSURE 1.d6 / PERMEABILITY_FUNCTION MUALEM_VG_LIQ LIQUID_RESIDUAL_SATURATION 0.d0 M 0.5d0 / PERMEABILITY_FUNCTION MUALEM_VG_GAS LIQUID_RESIDUAL_SATURATION 0.d0 GAS_RESIDUAL_SATURATION 1.d-40 M 0.5d0 / / CHARACTERISTIC_CURVES cc2 SATURATION_FUNCTION BROOKS_COREY LIQUID_RESIDUAL_SATURATION 0.2d0 LAMBDA 0.7d0 ALPHA 9.869d-6 MAX_CAPILLARY_PRESSURE 1.d8 SMOOTH / PERMEABILITY_FUNCTION BURDINE_BC_LIQ LIQUID_RESIDUAL_SATURATION 0.2d0 LAMBDA 0.7d0 SMOOTH / PERMEABILITY_FUNCTION BURDINE_BC_GAS LIQUID_RESIDUAL_SATURATION 0.2d0 GAS_RESIDUAL_SATURATION 1.d-5 LAMBDA 0.7d0 SMOOTH / / CHARACTERISTIC_CURVES cc3 SATURATION_FUNCTION LINEAR LIQUID_RESIDUAL_SATURATION 0.1d0 / PERMEABILITY_FUNCTION BURDINE_LINEAR_LIQ LIQUID_RESIDUAL_SATURATION 0.1d0 / PERMEABILITY_FUNCTION BURDINE_LINEAR_GAS LIQUID_RESIDUAL_SATURATION 0.1d0 GAS_RESIDUAL_SATURATION 0.15d0 / /