fronts.D.brooks_and_corey(n, l=1.0, alpha=1.0, Ks=None, k=None, nu=1e-06, g=9.81, theta_range=0.0, 1.0)

Return a Brooks and Corey moisture diffusivity function.

Given the saturated hydraulic conductivity \(K_S\) and parameters \(\alpha\), n, l, \(\theta_r\) and \(\theta_s\), the Brooks and Corey moisture diffusivity function D is defined as:

\[D(\theta) = \frac{K_S S_e^{1/n + l + 1}} {\alpha n (\theta_s-\theta_r)}\]


\[S_e = \frac{\theta-\theta_r}{\theta_s-\theta_r}\]

and \(\theta\) is water content.

  • n (float) – n parameter.

  • l (float, optional) – l parameter. The default is 1.

  • alpha (float, optional) – \(\alpha\) parameter. The default is 1. Must be positive.

  • Ks (None or 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 (None or 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.

  • theta_range (sequence of two floats, optional) – (\(\theta_r\), \(\theta_s\)), where \(\theta_r\) is the minimum (also known as residual) water content and \(\theta_s\) is the maximum water content. The default is (0, 1). \(\theta_s\) must be greater than \(\theta_r\).



Function to evaluate \(D\) and its derivatives:

  • D(theta) evaluates and returns \(D\) at theta

  • D(theta, 1) returns both the value of \(D\) and its first derivative at theta

  • D(theta, 2) returns the value of \(D\), its first derivative, and its second derivative at theta

In all cases, the argument theta may be a single float or a NumPy array.

Return type



[1] BROOKS, R.; COREY, T. Hydraulic properties of porous media. Hydrology Papers, Colorado State University, 1964, vol. 24, p. 37.