https://mooseframework.inl.gov
Loading...
Searching...
No Matches
LinearSum.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://www.mooseframework.org
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 "LinearSum.h"
11
12registerMooseObject("StochasticToolsApp", LinearSum);
13
16{
19 "LinearSum function evaluating the model goodness against experiments.");
20 return params;
21}
22
23LinearSum::LinearSum(const InputParameters & parameters) : Gaussian(parameters) {}
24
25Real
26LinearSum::function(const std::vector<Real> & exp,
27 const std::vector<Real> & model,
28 const Real & noise)
29{
30 mooseAssert(exp.size() == model.size(), "LinearSum: Vectors must be the same size.");
31 mooseAssert(noise != 0.0, "LinearSum: Noise must not be zero.");
32 Real result = 0.0;
33 for (unsigned int i = 0; i < exp.size(); ++i)
34 {
35 const Real diff = exp[i] - model[i];
36 result += diff * diff;
37 }
38 return result / (noise * noise);
39}
40
41Real
42LinearSum::function(const std::vector<Real> & x) const
43{
44 return function(_exp_values, x, _noise);
45}
const std::vector< double > x
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-")
registerMooseObject("StochasticToolsApp", LinearSum)
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
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()
A class used to generate a LinearSum function of observing model predictions.
Definition LinearSum.h:18
virtual Real function(const std::vector< Real > &x) const override
Return the probability density or mass function at vector x.
Definition LinearSum.C:42
static InputParameters validParams()
Definition LinearSum.C:15
LinearSum(const InputParameters &parameters)
Definition LinearSum.C:23