HantushWellModel#

class HantushWellModel(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.

update_rfunc_settings

Internal method to set the settings of the response function.

variance_gain

Calculate variance of the gain from parameters A and b.