pastas.rfunc.HantushWellModel#

class pastas.rfunc.HantushWellModel(cutoff: float = 0.999, quad: bool = False, **kwargs)#

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.

  • 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#

get_init_parameters(→ pandas.DataFrame)

Get initial parameters and bounds. It is called by the stressmodel.

get_tmax(→ float)

Method to get the response time for a certain cutoff.

step(→ pastas.typing.ArrayLike)

Method to return the step function.

variance_gain(→ float | pastas.typing.ArrayLike)

Calculate variance of the gain from parameters A and b.

to_dict()

Method to export the response function to a dictionary.