www.mooseframework.org
TestDistributionDirectPostprocessor.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 #include "NormalDistribution.h"
12 
14 
16 
17 InputParameters
19 {
20  InputParameters params = GeneralPostprocessor::validParams();
21  params.addRequiredParam<DistributionName>(
22  "distribution", "The normal distribution which supplies the postprocessor value.");
23  params.addRequiredParam<Real>(
24  "value", "A value to pass to the cdf, pdf, or quantile function of the given distribution.");
25  params.addParam<Real>("mean", 0, "Mean of normal distribution.");
26  params.addParam<Real>("standard_deviation", 1, "Standard deviation of normal distribution.");
27  MooseEnum method("cdf pdf quantile");
28  params.addParam<MooseEnum>("method", method, "The distribution method to call.");
29  return params;
30 }
31 
33  const InputParameters & parameters)
34  : GeneralPostprocessor(parameters),
35  _distribution(getDistribution<NormalDistribution>("distribution")),
36  _value(getParam<Real>("value")),
37  _mean(getParam<Real>("mean")),
38  _std_dev(getParam<Real>("standard_deviation")),
39  _distribution_method(getParam<MooseEnum>("method"))
40 {
41 }
42 
43 PostprocessorValue
45 {
46  if (_distribution_method == "pdf")
48  else if (_distribution_method == "cdf")
50  else if (_distribution_method == "quantile")
52  mooseError("This should be possible to reach, what did you do!");
53 }
NormalDistribution.h
TestDistributionDirectPostprocessor::getValue
virtual PostprocessorValue getValue() override
Definition: TestDistributionDirectPostprocessor.C:44
TestDistributionDirectPostprocessor::_distribution_method
const MooseEnum & _distribution_method
The distribution method to call.
Definition: TestDistributionDirectPostprocessor.h:49
TestDistributionDirectPostprocessor::_std_dev
const Real & _std_dev
Value of standard deviation to test direct method.
Definition: TestDistributionDirectPostprocessor.h:46
NormalDistribution::cdf
virtual Real cdf(const Real &x) const override
Definition: NormalDistribution.C:76
TestDistributionDirectPostprocessor::validParams
static InputParameters validParams()
Definition: TestDistributionDirectPostprocessor.C:18
TestDistributionDirectPostprocessor
Test object for testing distribution capabilities.
Definition: TestDistributionDirectPostprocessor.h:25
TestDistributionDirectPostprocessor::_distribution
const NormalDistribution & _distribution
Object of statistics distribution.
Definition: TestDistributionDirectPostprocessor.h:37
validParams
InputParameters validParams()
TestDistributionDirectPostprocessor::_mean
const Real & _mean
Value of mean to test direct method.
Definition: TestDistributionDirectPostprocessor.h:43
TestDistributionDirectPostprocessor.h
registerMooseObject
registerMooseObject("StochasticToolsTestApp", TestDistributionDirectPostprocessor)
TestDistributionDirectPostprocessor::TestDistributionDirectPostprocessor
TestDistributionDirectPostprocessor(const InputParameters &parameters)
Definition: TestDistributionDirectPostprocessor.C:32
NormalDistribution::quantile
virtual Real quantile(const Real &p) const override
Definition: NormalDistribution.C:83
TestDistributionDirectPostprocessor::_value
const Real & _value
The value to supply to method.
Definition: TestDistributionDirectPostprocessor.h:40
defineLegacyParams
defineLegacyParams(TestDistributionDirectPostprocessor)
NormalDistribution
A class used to generate a normal distribution.
Definition: NormalDistribution.h:22
NormalDistribution::pdf
virtual Real pdf(const Real &x) const override
Definition: NormalDistribution.C:69