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 "Normal.h"
12 
14 
17 {
19  params.addRequiredParam<DistributionName>(
20  "distribution", "The normal distribution which supplies the postprocessor value.");
21  params.addRequiredParam<Real>(
22  "value", "A value to pass to the cdf, pdf, or quantile function of the given distribution.");
23  params.addParam<Real>("mean", 0, "Mean of normal distribution.");
24  params.addParam<Real>("standard_deviation", 1, "Standard deviation of normal distribution.");
25  MooseEnum method("cdf pdf quantile");
26  params.addParam<MooseEnum>("method", method, "The distribution method to call.");
27  return params;
28 }
29 
31  const InputParameters & parameters)
32  : GeneralPostprocessor(parameters),
33  _distribution(getDistribution<Normal>("distribution")),
34  _value(getParam<Real>("value")),
35  _mean(getParam<Real>("mean")),
36  _std_dev(getParam<Real>("standard_deviation")),
37  _distribution_method(getParam<MooseEnum>("method"))
38 {
39 }
40 
43 {
44  if (_distribution_method == "pdf")
46  else if (_distribution_method == "cdf")
48  else if (_distribution_method == "quantile")
50  mooseError("This should be possible to reach, what did you do!");
51 }
Test object for testing distribution capabilities.
const Real & _std_dev
Value of standard deviation to test direct method.
virtual Real cdf(const Real &x) const override
Definition: Normal.C:74
A class used to generate a normal distribution.
Definition: Normal.h:17
virtual PostprocessorValue getValue() const override
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
registerMooseObject("StochasticToolsTestApp", TestDistributionDirectPostprocessor)
void addRequiredParam(const std::string &name, const std::string &doc_string)
virtual Real pdf(const Real &x) const override
Definition: Normal.C:68
static InputParameters validParams()
const Real & _mean
Value of mean to test direct method.
Real PostprocessorValue
TestDistributionDirectPostprocessor(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Normal & _distribution
Object of statistics distribution.
void mooseError(Args &&... args) const
virtual Real quantile(const Real &p) const override
Definition: Normal.C:80
const MooseEnum & _distribution_method
The distribution method to call.
const Real & _value
The value to supply to method.