pastas.rfunc.HantushWellModel#

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

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

Parameters:
  • cutoff (float, optional) – Fraction of the step response after which the response is truncated. Default is 0.999.

  • use_block (bool, optional) – Use the block response (rather than the impulse response) to simulate the effect of a stress. The block response approximates the stress as uniform during a time interval dt. When False, the impulse response is used which means that the the entire stress occurs midway the time interval dt. The impulse response is generally quicker to compute.

  • quad (bool, optional) – Use quad_step to compute the step response using numerical integration. Default is False.

  • approximate_tmax (bool, optional) – If True, get_tmax will use the fast Lambert W approximation (default). If False, it will use the exact numerical root finding method.

  • log_b (bool, optional) – Whether to use log10 scaling for parameter b, Default is True. In this Hantush implementation parameter b is multiplied by distances squared meaning values of b can get very small under certain conditions. Log scaling can help with optimization when the value of b is very small and the range of b spans several orders of magnitude.

up#

Whether a positive stress causes the head to go up (True) or down (False).

Type:

bool, optional

gain_scale_factor#

Scale factor used to set the initial value and bounds of the gain parameter, computed as 1 / gain_scale_factor.

Type:

float, optional

Notes

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].

property nparam: int#

Number of parameters of the response function.

Methods#

set_distances(→ None)

Method to set the distances from the pumping well(s) to the observation well.

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.

gain(→ float)

Method to return the gain for the response function.

step(→ pastas.typing.ArrayLike)

Method to return the step function.

block_from_impulse(→ pastas.typing.ArrayLike)

Method to return the block function from the impulse response.

moment(→ float)

Compute the raw moment of the response function.

impulse(→ pastas.typing.ArrayLike)

Method to return the impulse response 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.