BoreholeSensitivity

class BoreholeSensitivity

Class to define a Borehole sensitivity benchmark problem.

Methods

getFirstOrderIndices()

Returns the first order Sobol' sensitivity indices.

getFunction()

Returns the function.

getInputDistribution()

Returns the input distribution.

getName()

Returns the name of the problem.

getTotalOrderIndices()

Returns the total order Sobol' sensitivity indices.

__init__()

Create a Borehole sensitivity problem.

The function is defined by the equation:

g(x) = (2*pi_*Tu*(Hu-Hl))/(ln(r/rw)*(1+(2*L*Tu)/(ln(r/rw)*rw^2*Kw)+Tu/Tl))

where:

  • r_w: radius of borehole (m)

  • r: radius of influence (m)

  • T_u: transmissivity of upper aquifer (m^2/yr)

  • H_u: potentiometric head of upper aquifer (m)

  • T_l: transmissivity of lower aquifer (m^2/yr)

  • H_l: potentiometric head of lower aquifer (m)

  • L: length of borehole (m)

  • K_w: hydraulic conductivity of borehole (m/yr)

The input random variables are independent.

Parameters:
None.

Notes

The dimension of this problem cannot be changed.

The reference Sobol’ indices were computed from a sparse polynomial chaos. A Sobol’ low discrepancy design of experiments was generated with 1000 training points. The sparse polynomial chaos expansion used an hyperbolic enumeration rule and a polynomial degree 6. The coefficients were estimated from regression. With 1000 points in the validation set, the Q2 was greater than 99.9%. There are 2 significant digits in the reference results.

References

  • Worley, B. A. (1987). Deterministic uncertainty analysis (No. CONF-871101-30). Oak Ridge National Lab., TN (USA).

  • Morris, M. D., Mitchell, T. J., & Ylvisaker, D. (1993). Bayesian design and analysis of computer experiments: use of derivatives in surface prediction. Technometrics, 35(3), 243-255.

Examples

>>> import otbenchmark as otb
>>> problem = otb.FloodingSensitivity()
getFirstOrderIndices()

Returns the first order Sobol’ sensitivity indices.

Parameters:
None.
Returns:
firstOrderIndices: ot.Point

The first order sensitivity indices.

getFunction()

Returns the function.

Parameters:
None.
Returns:
function: ot.Function

The function.

getInputDistribution()

Returns the input distribution.

Parameters:
None.
Returns:
distribution: ot.Distribution

The distribution.

getName()

Returns the name of the problem.

Parameters:
None.
Returns:
name: str

The name.

getTotalOrderIndices()

Returns the total order Sobol’ sensitivity indices.

Parameters:
None.
Returns:
totalOrderIndices: ot.Point

The total order sensitivity indices.