www.mooseframework.org
RelativeDifferencePostprocessor.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 
11 
13 
16 {
18 
19  params.addRequiredParam<PostprocessorName>("value1", "First post-processor");
20  params.addRequiredParam<PostprocessorName>("value2",
21  "Second post-processor, base for relative difference");
22 
23  params.addClassDescription("Computes the absolute value of the relative "
24  "difference between 2 post-processor values.");
25 
26  return params;
27 }
28 
30  : GeneralPostprocessor(parameters),
31  _value1(getPostprocessorValue("value1")),
32  _value2(getPostprocessorValue("value2"))
33 {
34 }
35 
36 void
38 {
39 }
40 
41 void
43 {
44 }
45 
48 {
50  return std::abs(_value1 - _value2);
51  else
52  return std::abs((_value1 - _value2) / _value2);
53 }
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether two variables are equal within an absolute tolerance.
Definition: MooseUtils.h:346
RelativeDifferencePostprocessor(const InputParameters &parameters)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const PostprocessorValue & _value1
first post-processor value
const PostprocessorValue & _value2
second post-processor value, used as base in relative difference
This class is here to combine the Postprocessor interface and the base class Postprocessor object alo...
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
virtual PostprocessorValue getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
ADRealEigenVector< T, D, asd > abs(const ADRealEigenVector< T, D, asd > &)
static InputParameters validParams()
Computes the absolute value of the relative difference between 2 post-processor values.
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Real PostprocessorValue
various MOOSE typedefs
Definition: MooseTypes.h:191
virtual void execute() override
Execute method.
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
registerMooseObject("MooseApp", RelativeDifferencePostprocessor)