https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
12registerMooseObject("StochasticToolsApp", ExtremeValue);
13
16{
18 params.addClassDescription("Generalized extreme value likelihood function evaluating the model "
19 "goodness against experiments.");
20 return params;
21}
22
23ExtremeValue::ExtremeValue(const InputParameters & parameters) : Gaussian(parameters) {}
24
25Real
26ExtremeValue::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
43Real
44ExtremeValue::function(const std::vector<Real> & x) const
45{
47}
const std::vector< double > x
registerMooseObject("StochasticToolsApp", ExtremeValue)
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-")
A class used to generate a generalized extreme value likelihood of observing model predictions.
ExtremeValue(const InputParameters &parameters)
static InputParameters validParams()
virtual Real function(const std::vector< Real > &x) const override
Return the probability density or mass function at vector x.
A class used to generate a Gaussian likelihood of observing model predictions.
Definition Gaussian.h:19
const Real & _noise
Noise value.
Definition Gaussian.h:44
std::vector< Real > _exp_values
Experimental data values.
Definition Gaussian.h:47
const bool _log_likelihood
return log-likelihood or likelihood
Definition Gaussian.h:41
static InputParameters validParams()
Definition Gaussian.C:17
void addClassDescription(const std::string &doc_string)