www.mooseframework.org
AnalyticalIndicator.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 "AnalyticalIndicator.h"
11 #include "Function.h"
12 
14 
17 {
19  params.addRequiredParam<FunctionName>("function", "The analytic solution to compare against");
20  params.addClassDescription("Compute the square of the error as the difference between an unknown "
21  "variable and an analytical solution.");
22  return params;
23 }
24 
26  : ElementIntegralIndicator(parameters), _func(getFunction("function"))
27 {
28 }
29 
30 Real
32 {
33  Real diff = _u[_qp] - _func.value(_t, _q_point[_qp]);
34  return diff * diff;
35 }
AnalyticalIndicator(const InputParameters &parameters)
static InputParameters validParams()
registerMooseObject("MooseApp", AnalyticalIndicator)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual Real computeQpIntegral() override
static InputParameters validParams()
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...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
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...
unsigned int _qp
const MooseArray< Point > & _q_point
virtual Real value(Real t, const Point &p) const
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...
Definition: Function.C:41
const Function & _func
const VariableValue & _u
Holds the solution at current quadrature points.