pastas.rfunc.FourParam#

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

Four Parameter response function with 4 parameters A, a, b, and n.

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) – If true, use the ‘quad’ method from scipy.integrate to integrate the impulse response function. This may be more accurate but increases computation times.

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

up#

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

Type:

bool or None, 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

The function is explained in Bakker et al. [2008].

property nparam: int#

Return number of parameters for the response function.

Returns:

Number of parameters (4 for FourParam: A, a, b, n).

Return type:

int

Methods#

get_init_parameters(→ pandas.DataFrame)

Get initial parameters and bounds for the FourParam response function.

get_tmax_approximation(→ float)

Approximate tmax using adaptive cumulative integration in log-time.

get_tmax(→ float)

Calculate tmax using approximation or root finding.

gain(→ float)

Return the gain of the FourParam response function.

step(→ pastas.typing.ArrayLike)

Return the step function for FourParam response.

block_from_impulse(→ pastas.typing.ArrayLike)

Compute block response from impulse response for FourParam.

moment(→ float)

Calculate the moment of a certain order for the FourParam response function.

impulse(→ pastas.typing.ArrayLike)

Return the impulse response function for FourParam.

to_dict(→ dict[str, Any])

Export the FourParam response function object as a dictionary.