https://mooseframework.inl.gov
Loading...
Searching...
No Matches
stochastic_tools
src
likelihoods
ExtremeValue.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 "
ExtremeValue.h
"
11
12
registerMooseObject
(
"StochasticToolsApp"
,
ExtremeValue
);
13
14
InputParameters
15
ExtremeValue::validParams
()
16
{
17
InputParameters
params =
Gaussian::validParams
();
18
params.
addClassDescription
(
"Generalized extreme value likelihood function evaluating the model "
19
"goodness against experiments."
);
20
return
params;
21
}
22
23
ExtremeValue::ExtremeValue
(
const
InputParameters
& parameters) :
Gaussian
(parameters) {}
24
25
Real
26
ExtremeValue::function
(
const
std::vector<Real> & exp,
27
const
std::vector<Real> &
model
,
28
const
Real & noise,
29
const
bool
& log_likelihood)
30
{
31
Real result = 0.0;
32
for
(
unsigned
i = 0; i < exp.size(); ++i)
33
{
34
Real
x
= (exp[i] -
model
[i]) / noise;
35
Real pdf = std::exp(-(
x
+ std::exp(-
x
))) / noise;
36
result += std::log(pdf);
37
}
38
if
(!log_likelihood)
39
result = std::exp(result);
40
return
result;
41
}
42
43
Real
44
ExtremeValue::function
(
const
std::vector<Real> &
x
)
const
45
{
46
return
function
(
_exp_values
,
x
,
_noise
,
_log_likelihood
);
47
}
x
const std::vector< double > x
Definition
EquilibriumConstantFitTest.C:17
registerMooseObject
registerMooseObject("StochasticToolsApp", ExtremeValue)
ExtremeValue.h
model
const PertinentGeochemicalSystem model(database, {"H2O", "H+", "HCO3-", "O2(aq)", "Ca++", ">(s)FeOH", "radius_neg1", "radius_neg1.5"}, {"Calcite"}, {}, {"Calcite_asdf"}, {"CH4(aq)"}, {">(s)FeOCa+"}, "O2(aq)", "e-")
ExtremeValue
A class used to generate a generalized extreme value likelihood of observing model predictions.
Definition
ExtremeValue.h:18
ExtremeValue::ExtremeValue
ExtremeValue(const InputParameters ¶meters)
Definition
ExtremeValue.C:23
ExtremeValue::validParams
static InputParameters validParams()
Definition
ExtremeValue.C:15
ExtremeValue::function
virtual Real function(const std::vector< Real > &x) const override
Return the probability density or mass function at vector x.
Definition
ExtremeValue.C:44
Gaussian
A class used to generate a Gaussian likelihood of observing model predictions.
Definition
Gaussian.h:19
Gaussian::_noise
const Real & _noise
Noise value.
Definition
Gaussian.h:44
Gaussian::_exp_values
std::vector< Real > _exp_values
Experimental data values.
Definition
Gaussian.h:47
Gaussian::_log_likelihood
const bool _log_likelihood
return log-likelihood or likelihood
Definition
Gaussian.h:41
Gaussian::validParams
static InputParameters validParams()
Definition
Gaussian.C:17
InputParameters::addClassDescription
void addClassDescription(const std::string &doc_string)
InputParameters
Generated on Fri Aug 21 2026 13:41:49 for https://mooseframework.inl.gov by
1.9.8