www.mooseframework.org
SpatialUserObjectAux.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 "SpatialUserObjectAux.h"
11 #include "UserObject.h"
12 
14 
17 {
19  params.addClassDescription("Populates an auxiliary variable with a spatial value returned from a "
20  "UserObject spatialValue method.");
21  params.addRequiredParam<UserObjectName>(
22  "user_object",
23  "The UserObject UserObject to get values from. Note that the UserObject "
24  "_must_ implement the spatialValue() virtual function!");
25  return params;
26 }
27 
29  : AuxKernel(parameters), _user_object(getUserObjectBase("user_object"))
30 {
31 }
32 
33 Real
35 {
36  if (isNodal())
38  else
39  return _user_object.spatialValue(_current_elem->vertex_average());
40 }
const Node *const & _current_node
Current node (valid only for nodal kernels)
Definition: AuxKernel.h:214
Function auxiliary value.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const UserObject & _user_object
UserObject to be queried for a value.
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 Real computeValue() override
Compute and return the value of the aux variable.
registerMooseObject("MooseApp", SpatialUserObjectAux)
static InputParameters validParams()
virtual Real spatialValue(const Point &) const
Optional interface function for "evaluating" a UserObject at a spatial position.
Definition: UserObject.h:94
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
SpatialUserObjectAux(const InputParameters &parameters)
Factory constructor, takes parameters so that all derived classes can be built using the same constru...
const Elem *const & _current_elem
Current element (valid only for elemental kernels)
Definition: AuxKernel.h:204
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...
static InputParameters validParams()
Definition: AuxKernel.C:27
bool isNodal() const
Nodal or elemental kernel?
Definition: AuxKernel.h:86