https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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"
12registerMooseObject("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
34Real
35Maxwellian::standardDeviation(const Real mass, const Real temperature)
36{
37 return std::sqrt(k_B * temperature / mass);
38}
39
40Real
41Maxwellian::pdf(const Real & x, const Real & mass, const Real & temperature)
42{
43 return Normal::pdf(x, 0, standardDeviation(mass, temperature));
44}
45
46Real
47Maxwellian::cdf(const Real & x, const Real & mass, const Real & temperature)
48{
49 return Normal::cdf(x, 0, standardDeviation(mass, temperature));
50}
51
52Real
53Maxwellian::quantile(const Real & p, const Real & mass, const Real & temperature)
54{
55 return Normal::quantile(p, 0, standardDeviation(mass, temperature));
56}
57
58Real
59Maxwellian::pdf(const Real & x) const
60{
62}
63
64Real
65Maxwellian::cdf(const Real & x) const
66{
68}
69
70Real
71Maxwellian::quantile(const Real & p) const
72{
74}
const std::vector< double > x
const Real p
registerMooseObject("StochasticToolsApp", Maxwellian)
constexpr Real k_B
Boltzmann constant with units of J/K.
Definition Maxwellian.h:15
static InputParameters validParams()
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
A class used to generate a normal distribution.
Definition Maxwellian.h:21
static Real cdf(const Real &x, const Real &mass, const Real &temperature)
Definition Maxwellian.C:47
static InputParameters validParams()
Definition Maxwellian.C:15
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 pdf(const Real &x, const Real &mass, const Real &temperature)
Definition Maxwellian.C:41
const Real _standard_deviation
the standard deviation for the equivalent normal distribution
Definition Maxwellian.h:44
Maxwellian(const InputParameters &parameters)
Definition Maxwellian.C:26
static Real quantile(const Real &p, const Real &mass, const Real &temperature)
Definition Maxwellian.C:53
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