www.mooseframework.org
Grad2ParsedFunction.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 "Grad2ParsedFunction.h"
11 #include "MooseParsedFunctionWrapper.h"
12 
14 
15 template <>
16 InputParameters
18 {
19  InputParameters params = validParams<MooseParsedFunction>();
20  params += validParams<MooseParsedFunction>();
21  params.addRequiredParam<RealVectorValue>(
22  "direction",
23  "The direction in which to take the derivative. This must not be a zero-length "
24  "vector. This function returned a finite-difference approx to "
25  "(direction.nabla)^2 function");
26  return params;
27 }
28 
29 Grad2ParsedFunction::Grad2ParsedFunction(const InputParameters & parameters)
30  : MooseParsedFunction(parameters), _direction(getParam<RealVectorValue>("direction"))
31 {
33  if (_len2 == 0)
34  mooseError("The direction in the Grad2ParsedFunction must have positive length.");
35 }
36 
37 Real
38 Grad2ParsedFunction::value(Real t, const Point & p) const
39 {
40  return (_function_ptr->evaluate<Real>(t, p + _direction) -
41  2 * _function_ptr->evaluate<Real>(t, p) +
42  _function_ptr->evaluate<Real>(t, p - _direction)) /
43  _len2;
44 }
registerMooseObject
registerMooseObject("RichardsApp", Grad2ParsedFunction)
validParams< Grad2ParsedFunction >
InputParameters validParams< Grad2ParsedFunction >()
Definition: Grad2ParsedFunction.C:17
Grad2ParsedFunction.h
Grad2ParsedFunction
returns the central difference approx to the derivative (direction.nabla)^2 function viz (f(t,...
Definition: Grad2ParsedFunction.h:26
Grad2ParsedFunction::Grad2ParsedFunction
Grad2ParsedFunction(const InputParameters &parameters)
Definition: Grad2ParsedFunction.C:29
Grad2ParsedFunction::_len2
Real _len2
|_direction|^2
Definition: Grad2ParsedFunction.h:38
Grad2ParsedFunction::value
virtual Real value(Real t, const Point &pt) const
Definition: Grad2ParsedFunction.C:38
Grad2ParsedFunction::_direction
RealVectorValue _direction
central difference direction
Definition: Grad2ParsedFunction.h:35