IRP=12 Regular hysteresis

IRP = 12 Regular hysteresis

The hysteretic form of the van Genuchten model (Parker and Lenhard, 1987; Lenhard and Parker, 1987) has been implemented. Details of the implementation are described in Doughty (2013). The regular hysteresis model is invoked by setting both IRP and ICP to 12.

krl=Sˉl[1(1Sˉgt1SˉlΔ)(1(Sˉl+Sˉgt)1/m)m(Sˉgt1SˉlΔ)(1(SˉlΔ)1/m)m]2{k_{rl}} = \sqrt {{{\bar S}_l}} {\left[ {1 - \left( {1 - \frac{{{{\bar S}_{gt}}}}{{1 - \bar S_l^\Delta }}} \right){{(1 - {{({{\bar S}_l} + {{\bar S}_{gt}})}^{1/m}})}^m} - \left( {\frac{{{{\bar S}_{gt}}}}{{1 - \bar S_l^\Delta }}} \right){{(1 - {{(\bar S_l^\Delta )}^{1/m}})}^m}} \right]^2}

krg=krgmax(1(Sˉl+Sˉgt))γ(1(Sˉl+Sˉgt)1/m)2m{k_{rg}} = {k_{rg\max }}{(1 - ({\bar S_l} + {\bar S_{gt}}))^\gamma }{(1 - {({\bar S_l} + {\bar S_{gt}})^{1/m}})^{2m}}

where

Sˉl=SlSlr1Slr{\bar S_l} = \frac{{{S_l} - {S_{lr}}}}{{1 - {S_{lr}}}}, SˉlΔ=SlΔSlr1Slr\bar S_l^\Delta = \frac{{S_l^\Delta - {S_{lr}}}}{{1 - {S_{lr}}}}, Sˉgt=SgrΔ(SlSlΔ)(1Slr)(1SlΔSgrΔ){\bar S_{gt}} = \frac{{S_{gr}^\Delta ({S_l} - S_l^\Delta )}}{{(1 - {S_{lr}})(1 - S_l^\Delta - S_{gr}^\Delta )}}

SgrΔ=11/(1SlΔ)+1/Sgrmax1/(1Slr)S_{_{gr}}^\Delta = \frac{1}{{1/(1 - S_l^\Delta ) + 1/{S_{gr\max }} - 1/(1 - {S_{lr}})}}

SlΔS_l^\Delta is the turning-point saturation, and SgrΔS_{gr}^\Delta is the residual gas saturation.

RP(1) = m; van Genuchten m for liquid relative permeability (need not equal CP(1) or CP(6)); krlk_{rl} uses the same m for drainage and imbibition.

RP(2) = SlrS_{lr} : klr(Slr)k_{lr}(S_{lr}) = 0, krg(Slr)=krgmaxk_{rg}(S_{lr}) = k_{rgmax}. Must have SlrS_{lr} > SlminS_{lmin} in capillary pressure (CP(2)). SlrS_{lr} is minimum saturation for transition to imbibition branch. For SlS_{l} < SlrS_{lr} , curve stays on primary drainage branch even if SlS_{l} increases.

RP(3) = SgrmaxS_{grmax}; maximum possible value of SgrΔS_{gr}^\Delta . Note that the present version of the code requires that SlrS_{lr} + SgrmaxS_{grmax} < 1, otherwise there will be saturations for which neither fluid phase is mobile, which the code cannot handle. Setting SgrmaxS_{grmax} = 0 effectively turns off hysteresis. As a special option, a constant, non-zero value of Sgr may be employed by setting CP(10)>1 and making RP(3) negative. The code will set SgrΔS_{gr}^\Delta = -RP(3) for all grid blocks at all times.

RP(4) = γ\gamma; typical values 0.33 – 0.50.

RP(5) = krgmaxk_{rgmax}

RP(6) = fitting parameter for krg extension for SlS_{l} < SlrS_{lr} (only used when < 1); determines type of function for extension and slope of krgk_{rg} at SlS_{l} = 0.

≤ 0 use cubic spline for 0 < SlS_{l} < SlrS_{lr} , with slope at SlS_{l} = 0 of RP(6)

> 0 use linear segment for 0 < SlS_{l} < RP(8)Slr and cubic spline for RP(8) SlrS_{lr} < SlS_{l} < SlrS_{lr} , with slope at SlS_{l} = 0 of –RP(6).

RP(7) = numerical factor used for krl extension to SlS_{l} > SlS_{l}^* ,. RP(7) is the fraction of Sl* at which krl curve departs from the original van Genuchten function. Recommended range of values: 0.95–0.97. For RP(7)=0, krl =1 for SlS_{l} > SlS_{l}^* (not recommended).

RP(8) = numerical factor used for linear krg extension to SlS_{l} < SlrS_{lr} (only used when krgmaxk_{rgmax}< 1). RP(8) is the fraction of SlrS_{lr} at which the linear and cubic parts of the extensions are joined.

RP(9) = flag to turn off hysteresis for krlk_{rl} (no effect on Pc and krgk_{rg} ; to turn off hysteresis entirely, set SgrmaxS_{grmax} = 0 in RP(3)).

=0 hysteresis is on for krl

=1 hysteresis is off for krl (force krlk_{rl} to stay on primary drainage branch ( krldk_rl^{d}) at all times)

RP(10) = mgasm_{gas} ; van Genuchten m for gas relative permeability (need not equal CP(1) or CP(6)); krgk_{rg} uses same mgas for drainage and imbibition. If zero or blank, use RP(1) so that mgasm_{gas} = m.

Last updated