openmc.stats.PowerLaw

class openmc.stats.PowerLaw(a: float = 0.0, b: float = 1.0, n: float = 0.0)[source]

Distribution with power law probability over a finite interval [a,b]

The power law distribution has density function \(p(x) dx = c x^n dx\).

New in version 0.13.0.

Parameters
  • a (float, optional) – Lower bound of the sampling interval. Defaults to zero.

  • b (float, optional) – Upper bound of the sampling interval. Defaults to unity.

  • n (float, optional) – Power law exponent. Defaults to zero, which is equivalent to a uniform distribution.

Variables
  • a (float) – Lower bound of the sampling interval

  • b (float) – Upper bound of the sampling interval

  • n (float) – Power law exponent

classmethod from_xml_element(elem: Element)[source]

Generate power law distribution from an XML element

Parameters

elem (lxml.etree._Element) – XML element

Returns

Distribution generated from XML element

Return type

openmc.stats.PowerLaw

sample(n_samples=1, seed=None)[source]

Sample the univariate distribution

Parameters
  • n_samples (int) – Number of sampled values to generate

  • seed (int or None) – Initial random number seed.

Returns

A 1-D array of sampled values

Return type

numpy.ndarray

to_xml_element(element_name: str)[source]

Return XML representation of the power law distribution

Parameters

element_name (str) – XML element name

Returns

element – XML element containing distribution data

Return type

lxml.etree._Element