www.mooseframework.org
SideUserObject.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #include "SideUserObject.h"
16 #include "SubProblem.h"
17 #include "MooseTypes.h"
18 #include "Assembly.h"
19 
20 template <>
23 {
27  return params;
28 }
29 
31  : UserObject(parameters),
32  BoundaryRestrictableRequired(this, false), // false for applying to sidesets
33  MaterialPropertyInterface(this, boundaryIDs()),
34  Coupleable(this, false),
36  UserObjectInterface(this),
37  TransientInterface(this),
39  ZeroInterface(parameters),
40  _mesh(_subproblem.mesh()),
41  _q_point(_assembly.qPointsFace()),
42  _qrule(_assembly.qRuleFace()),
43  _JxW(_assembly.JxWFace()),
44  _coord(_assembly.coordTransformation()),
45  _normals(_assembly.normals()),
46  _current_elem(_assembly.elem()),
47  _current_side(_assembly.side()),
48  _current_side_elem(_assembly.sideElem()),
49  _current_side_volume(_assembly.sideElemVolume())
50 {
51  // Keep track of which variables are coupled so we know what we depend on
52  const std::vector<MooseVariable *> & coupled_vars = getCoupledMooseVars();
53  for (const auto & var : coupled_vars)
55 }
InputParameters validParams< MaterialPropertyInterface >()
A class for requiring an object to be boundary restricted.
SideUserObject(const InputParameters &parameters)
const std::vector< MooseVariable * > & getCoupledMooseVars() const
Get the list of coupled variables.
Definition: Coupleable.h:63
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void addMooseVariableDependency(MooseVariable *var)
Call this function to add the passed in MooseVariable as a variable that this object depends on...
Interface for objects that needs transient capabilities.
InputParameters validParams< UserObject >()
Definition: UserObject.C:23
Interface for objects that need to use UserObjects.
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:35
InputParameters validParams< SideUserObject >()
Interface to bring zero values inside objects.
Definition: ZeroInterface.h:35
An interface for accessing Materials.
InputParameters validParams< BoundaryRestrictableRequired >()
Base class for user-specific data.
Definition: UserObject.h:42
Interface class for classes which interact with Postprocessors.