fronts.D.van_genuchten

fronts.D.van_genuchten(n=None, m=None, l=0.5, alpha=1.0, Ks=None, k=None, nu=1e-06, g=9.81, S_range=(0.0, 1.0))

Return a Van Genuchten moisture diffusivity function.

Given the saturated hydraulic conductivity \(K_S\) and parameters \(\alpha\), m, l, \(S_r\) and \(S_s\), the Van Genuchten moisture diffusivity function D is defined as:

\[D(S)=\frac{(1-m)K_S}{\alpha m (S_s-S_r)} S_e^{l-\frac{1}{m}}\left((1-S_e^\frac{1}{m})^{-m} + (1-S_e^\frac{1}{m})^m - 2 \right)\]

where:

\[S_e = \frac{S-S_r}{S_s-S_r}\]

and S is either water content or saturation.

In common usage, the m parameter is replaced with an n parameter so that \(m=1-1/n\). This function supports either parameter.

Parameters
  • n (float, optional) – n parameter in the Van Genuchten model. Must be >1. Either n or m must be given (but not both).

  • m (float, optional) – m parameter in the Van Genuchten model. Must be strictly between 0 and 1. Either n or m must be given (but not both).

  • l (float, optional) – Pore connectivity parameter. The default is 0.5. Must be strictly between 0 and 1.

  • alpha (float, optional) – \(\alpha\) parameter of the Van Genuchten model. The default is 1. Must be positive.

  • Ks (float, optional) – \(K_S\), the saturated hydraulic conductivity. Must be positive. If neither Ks nor k are given, the saturated hydraulic conductivity is assumed to be 1.

  • k (float, optional) – Intrinsic permeability of the porous medium. Can be given in place of Ks, which results in the saturated hydraulic conductivity being computed using \(K_S = kg/\nu\). Must be positive.

  • nu (float, optional) – \(\nu\), the kinematic viscosity of the wetting fluid. Only used if k is passed instead of Ks. Must be positive. Defaults to 1e-6, approximately the kinematic viscosity of water at 20°C in SI units.

  • g (float, optional) – Magnitude of the gravitational acceleration. Only used if k is passed instead of Ks. Must be positive. Defaults to 9.81, the gravity of Earth in SI units.

  • S_range ((float, float), optional) – the tuple (\(S_r\), \(S_s\)), where \(S_r\) is the minimum (also known as residual) and \(S_s\) the maximum water content (or saturation, depending on the meaning given to S). The default is (0, 1). \(S_s\) must be greater than \(S_r\).

Returns

D – Twice-differentiable function that maps values of S in the open interval (\(S_r\), \(S_s\)) to positive values. It can be called as D(S) to evaluate it at S. It can also be called as D(S, n) with n equal to 1 or 2, in which case the first n derivatives of the function evaluated at the same S are included (in order) as additional return values. While mathematically a scalar function, D operates in a vectorized fashion with the same semantics when S is a numpy.ndarray.

Return type

callable

Notes

The expression used is the one found in Van Genuchten’s original paper [1], but with the addition of the optional l parameter.

References

[1] VAN GENUCHTEN, M. Th. A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil Science Society of America Journal, 1980, vol. 44, no 5, p. 892-898.