https://mooseframework.inl.gov
Maxwellian.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 
10 #include "Maxwellian.h"
11 #include "Normal.h"
12 registerMooseObject("StochasticToolsApp", Maxwellian);
13 
16 {
18  params.addClassDescription("Maxwellian distribution");
20  "temperature", "temperature > 0", "The temperature of the distribution in K.");
22  "mass", "mass > 0", "The mass of the species that are the given temperature in kg.");
23  return params;
24 }
25 
27  : Distribution(parameters),
28  _standard_deviation(
29  Maxwellian::standardDeviation(getParam<Real>("mass"), getParam<Real>("temperature")))
30 
31 {
32 }
33 
34 Real
35 Maxwellian::standardDeviation(const Real mass, const Real temperature)
36 {
37  return std::sqrt(k_B * temperature / mass);
38 }
39 
40 Real
41 Maxwellian::pdf(const Real & x, const Real & mass, const Real & temperature)
42 {
43  return Normal::pdf(x, 0, standardDeviation(mass, temperature));
44 }
45 
46 Real
47 Maxwellian::cdf(const Real & x, const Real & mass, const Real & temperature)
48 {
49  return Normal::cdf(x, 0, standardDeviation(mass, temperature));
50 }
51 
52 Real
53 Maxwellian::quantile(const Real & p, const Real & mass, const Real & temperature)
54 {
56 }
57 
58 Real
59 Maxwellian::pdf(const Real & x) const
60 {
61  return Normal::pdf(x, 0, _standard_deviation);
62 }
63 
64 Real
65 Maxwellian::cdf(const Real & x) const
66 {
67  return Normal::cdf(x, 0, _standard_deviation);
68 }
69 
70 Real
71 Maxwellian::quantile(const Real & p) const
72 {
74 }
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
static Real quantile(const Real &p, const Real &mass, const Real &temperature)
Definition: Maxwellian.C:53
registerMooseObject("StochasticToolsApp", Maxwellian)
virtual Real cdf(const Real &x) const override
Definition: Normal.C:74
static InputParameters validParams()
Definition: Maxwellian.C:15
const Real _standard_deviation
the standard deviation for the equivalent normal distribution
Definition: Maxwellian.h:44
static const std::string temperature
Definition: NS.h:60
static Real standardDeviation(const Real mass, const Real temperature)
Helper for computing the standard deviation for the equivalent normal distribution.
Definition: Maxwellian.C:35
static Real cdf(const Real &x, const Real &mass, const Real &temperature)
Definition: Maxwellian.C:47
virtual Real pdf(const Real &x) const override
Definition: Normal.C:68
A class used to generate a normal distribution.
Definition: Maxwellian.h:20
const std::vector< double > x
static Real pdf(const Real &x, const Real &mass, const Real &temperature)
Definition: Maxwellian.C:41
constexpr Real k_B
Boltzmann constant with units of J/K.
Definition: Maxwellian.h:15
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
const Real p
void addClassDescription(const std::string &doc_string)
virtual Real quantile(const Real &p) const override
Definition: Normal.C:80
Maxwellian(const InputParameters &parameters)
Definition: Maxwellian.C:26