www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
UniformDistribution Class Reference

A class used to generate uniform distribution. More...

#include <UniformDistribution.h>

Inheritance diagram for UniformDistribution:
[legend]

Public Member Functions

 UniformDistribution (const InputParameters &parameters)
 
virtual Real pdf (const Real &x) const override
 
virtual Real cdf (const Real &x) const override
 
virtual Real quantile (const Real &y) const override
 

Static Public Member Functions

static InputParameters validParams ()
 
static Real pdf (const Real &x, const Real &lower_bound, const Real &upper_bound)
 
static Real cdf (const Real &x, const Real &lower_bound, const Real &upper_bound)
 
static Real quantile (const Real &y, const Real &lower_bound, const Real &upper_bound)
 

Protected Attributes

const Real & _lower_bound
 The lower bound for the uniform distribution. More...
 
const Real & _upper_bound
 The upper bound for the uniform distribution. More...
 

Detailed Description

A class used to generate uniform distribution.

Definition at line 21 of file UniformDistribution.h.

Constructor & Destructor Documentation

◆ UniformDistribution()

UniformDistribution::UniformDistribution ( const InputParameters &  parameters)

Definition at line 26 of file UniformDistribution.C.

27  : Distribution(parameters),
28  _lower_bound(getParam<Real>("lower_bound")),
29  _upper_bound(getParam<Real>("upper_bound"))
30 {
32  mooseError("The lower bound is larger than the upper bound!");
33 }

Member Function Documentation

◆ cdf() [1/2]

Real UniformDistribution::cdf ( const Real &  x) const
overridevirtual

Definition at line 72 of file UniformDistribution.C.

73 {
74  TIME_SECTION(_perf_cdf);
75  return cdf(x, _lower_bound, _upper_bound);
76 }

◆ cdf() [2/2]

Real UniformDistribution::cdf ( const Real &  x,
const Real &  lower_bound,
const Real &  upper_bound 
)
static

Definition at line 45 of file UniformDistribution.C.

46 {
47  if (x < lower_bound)
48  return 0.0;
49  else if (x > upper_bound)
50  return 1.0;
51  else
52  return (x - lower_bound) / (upper_bound - lower_bound);
53 }

Referenced by cdf().

◆ pdf() [1/2]

Real UniformDistribution::pdf ( const Real &  x) const
overridevirtual

Definition at line 65 of file UniformDistribution.C.

66 {
67  TIME_SECTION(_perf_pdf);
68  return pdf(x, _lower_bound, _upper_bound);
69 }

◆ pdf() [2/2]

Real UniformDistribution::pdf ( const Real &  x,
const Real &  lower_bound,
const Real &  upper_bound 
)
static

Definition at line 36 of file UniformDistribution.C.

37 {
38  if (x < lower_bound || x > upper_bound)
39  return 0.0;
40  else
41  return 1.0 / (upper_bound - lower_bound);
42 }

Referenced by pdf().

◆ quantile() [1/2]

Real UniformDistribution::quantile ( const Real &  y) const
overridevirtual

Definition at line 79 of file UniformDistribution.C.

80 {
81  TIME_SECTION(_perf_quantile);
83 }

◆ quantile() [2/2]

Real UniformDistribution::quantile ( const Real &  y,
const Real &  lower_bound,
const Real &  upper_bound 
)
static

Definition at line 56 of file UniformDistribution.C.

57 {
58  if (y < 0 || y > 1)
59  ::mooseError("The cdf_value provided is out of range 0 to 1.");
60  else
61  return y * (upper_bound - lower_bound) + lower_bound;
62 }

Referenced by quantile().

◆ validParams()

InputParameters UniformDistribution::validParams ( )
static

Definition at line 17 of file UniformDistribution.C.

18 {
19  InputParameters params = Distribution::validParams();
20  params.addClassDescription("Continuous uniform distribution.");
21  params.addParam<Real>("lower_bound", 0.0, "Distribution lower bound");
22  params.addParam<Real>("upper_bound", 1.0, "Distribution upper bound");
23  return params;
24 }

Member Data Documentation

◆ _lower_bound

const Real& UniformDistribution::_lower_bound
protected

The lower bound for the uniform distribution.

Definition at line 38 of file UniformDistribution.h.

Referenced by cdf(), pdf(), quantile(), and UniformDistribution().

◆ _upper_bound

const Real& UniformDistribution::_upper_bound
protected

The upper bound for the uniform distribution.

Definition at line 41 of file UniformDistribution.h.

Referenced by cdf(), pdf(), quantile(), and UniformDistribution().


The documentation for this class was generated from the following files:
UniformDistribution::quantile
static Real quantile(const Real &y, const Real &lower_bound, const Real &upper_bound)
Definition: UniformDistribution.C:56
validParams
InputParameters validParams()
UniformDistribution::cdf
static Real cdf(const Real &x, const Real &lower_bound, const Real &upper_bound)
Definition: UniformDistribution.C:45
UniformDistribution::_lower_bound
const Real & _lower_bound
The lower bound for the uniform distribution.
Definition: UniformDistribution.h:38
UniformDistribution::_upper_bound
const Real & _upper_bound
The upper bound for the uniform distribution.
Definition: UniformDistribution.h:41
UniformDistribution::pdf
static Real pdf(const Real &x, const Real &lower_bound, const Real &upper_bound)
Definition: UniformDistribution.C:36