HantushWellModel¶
-
class
HantushWellModel(up=False, meanstress=1, cutoff=0.999, distances=1.0)[source]¶ A special implementation of the Hantush well function for multiple wells.
- Parameters
up (bool, optional) – indicates whether a positive stress will cause the head to go up (True, default) or down (False)
meanstress (float) – mean value of the stress, used to set the initial value such that the final step times the mean stress equals 1
cutoff (float) – proportion after which the step function is cut off. Default is 0.999.
Notes
The Hantush well function is explained in [hantush_1955], [veling_2010] and [asmuth_2008]. The impulse response function may be written as:
\[\theta(t) = \frac{A}{t} K_0 \left( \frac{r^2}{4 \lambda^2} \right) \exp(-t/a - ab/t)\]\[p[0] = A = \frac{1}{4 \pi T}\]\[p[1] = a = cS\]\[p[2] = b = 1^2 / (4 \lambda^2)\]\[p[3] = r \, \text{(not optimized)}\]where \(\lambda = \sqrt{Tc}\)
The parameter r (distance from the well to the observation point) is passed as a known value, and is used to scale the response function. The optimized parameters are slightly different from the original Hantush implementation:
A: in the original Hantush parameter A is the gain. Now the gain is equal to \(\text{gain} = A K_0 ( \sqrt(4 r^2 b) )\)
a: is the same \(a = cS\)
b: is the same, but \(r\) is set to 1 if passed separately, \(b = 1^2 / (4 \lambda^2)\)
Methods¶
Initialize self. |
|
Method to return the block function. |
|
Get initial parameters and bounds. |
|
Internal method to determine the times at which to evaluate the step-response, from t=0 |
|
Method to get the response time for a certain cutoff |
|
Method to return the step function. |
|
Calculate variance of the gain from parameters A and b. |