https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TestDistributionDirectPostprocessor.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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}
Real PostprocessorValue
registerMooseObject("StochasticToolsTestApp", TestDistributionDirectPostprocessor)
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void mooseError(Args &&... args) const
A class used to generate a normal distribution.
Definition Normal.h:18
virtual Real cdf(const Real &x) const override
Definition Normal.C:74
virtual Real pdf(const Real &x) const override
Definition Normal.C:68
virtual Real quantile(const Real &p) const override
Definition Normal.C:80
Test object for testing distribution capabilities.
const MooseEnum & _distribution_method
The distribution method to call.
const Real & _std_dev
Value of standard deviation to test direct method.
virtual PostprocessorValue getValue() const override
TestDistributionDirectPostprocessor(const InputParameters &parameters)
const Real & _mean
Value of mean to test direct method.
const Real & _value
The value to supply to method.
const Normal & _distribution
Object of statistics distribution.