# HantushWellModel#

class HantushWellModel(up=True, gain_scale_factor=1.0, cutoff=0.999, use_numba=False, quad=False, **kwargs)[source]#

An implementation of the Hantush well function for multiple pumping wells.

Parameters:
• up (bool, optional) – indicates whether a positive stress will cause the head to go up (True, default) or down (False).

• gain_scale_factor (float, optional) – the scale factor is used to set the initial value and the bounds of the gain parameter, computed as 1 / gain_scale_factor.

• cutoff (float, optional) – proportion after which the step function is cut off.

• use_numba (bool, optional) – Use the method ‘numba_step’ to compute the step_response.

• quad (bool, optional) – Use the method ‘numba_quad’ to compute the step_response.

Notes

The impulse response function for this class can be viewed on the Documentation website or using latexify by running the following code in a Jupyter notebook environment:

ps.HantushWellModel.impulse


where r is the distance from the pumping well to the observation point and must be specified. A, a, and b are parameters, which are slightly different from the Hantush response function. The gain is defined as:

$$\text{gain} = A K_0 \left( 2r \sqrt(b) \right)$$

The implementation used here is explained in Veling and Maas [2010].

## Methods#

 __init__ block Method to return the block function. gain get_init_parameters Get initial parameters and bounds. get_t Internal method to determine the times at which to evaluate the step response, from t=0. get_tmax Method to get the response time for a certain cutoff. impulse Method to return the impulse response function. numba_step numpy_step quad_step set_distances step Method to return the step function. to_dict Method to export the response function to a dictionary. variance_gain Calculate variance of the gain from parameters A and b.