weibull

openpnm.models.misc.statistical_distributions.weibull(target, seeds, shape, scale, loc)[source]

Produces values from a Weibull distribution given a set of random numbers.

Parameters
  • target (OpenPNM Base object) – Object with which this model is associated. This controls the length of the calculated array, and also provides access to other necessary properties.

  • seeds (string, optional) – Name of the dictionary key on target where the array containing random seed values (between 0 and 1) is stored. These values are used to do a reverse lookup on the cdf of given distribution using the ppf method on the scipy.stats object. Truncating the range (e.g. from 0.1 to 0.9) is often useful to prevent the occurance of extreme values from the long tails.

  • shape (float) – Controls the width or skewness of the distribution. For more information on the effect of this parameter refer to the corresponding scipy.stats function.

  • scale (float) – Controls the width of the distribution. For more information on the effect of this parameter refer to the corresponding scipy.stats function.

  • loc (float) – Specifies the central value of ???

Returns

values – A numpy ndarray containing values following the distribution

Return type

ndndarray

Examples

The following code illustrates the inner workings of this function, which uses the ‘weibull_min’ method of the scipy.stats module. This can be used to find suitable values of ‘shape’, ‘scale’` and ‘loc’. Note that ‘shape’ is represented by ‘c’ in the actual function call.

import numpy
import scipy.stats
import matplotlib.pyplot as plt

func = scipy.stats.weibull_min(c=1.5, scale=0.0001, loc=0)
plt.hist(func.ppf(q=numpy.random.rand(10000)), bins=50)

plt.show()
../../_images/openpnm-models-misc-statistical_distributions-weibull-1.svg