https://mooseframework.inl.gov
KernelDensity1D.h
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 
10 #pragma once
11 
12 #include "Distribution.h"
13 
18 {
19 public:
21 
23 
24  virtual Real pdf(const Real & x) const override;
25  virtual Real cdf(const Real & x) const override;
26  virtual Real quantile(const Real & p) const override;
27 
28  static Real pdf(const Real & x,
29  const Real & bandwidth,
30  const std::vector<Real> & data,
31  const MooseEnum & kernel_function);
32  static Real cdf(const Real & x,
33  const Real & bandwidth,
34  const std::vector<Real> & data,
35  const MooseEnum & kernel_function);
36  static Real quantile(const Real & p,
37  const Real & bandwidth,
38  const std::vector<Real> & data,
39  const MooseEnum & kernel_function);
40 
41 protected:
44 
47 
50 
52  std::vector<Real> _data;
53 };
virtual Real pdf(const Real &x) const override
KernelDensity1D(const InputParameters &parameters)
const MooseEnum & _kernel_function
kernel_function helps the user select between the different kernel functions that are available ...
virtual Real cdf(const Real &x) const override
virtual Real quantile(const Real &p) const override
const std::vector< double > x
A class used to generate a KernelDensity1D distribution.
static InputParameters validParams()
const MooseEnum & _bandwidth_rule
bandwidth_rule helps the user select between the different ways to define the bandwith ...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Real _bandwidth
The bandwith parameter which controls the smoothness of the distribution.
std::vector< Real > _data
data helps get the vector data for building the kernel density