www.mooseframework.org
InternalSideUserObject.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 "InternalSideUserObject.h"
16 #include "Assembly.h"
17 
18 template <>
21 {
26  return params;
27 }
28 
30  : UserObject(parameters),
31  BlockRestrictable(this),
32  TwoMaterialPropertyInterface(this, blockIDs()),
33  NeighborCoupleable(this, false, false),
35  UserObjectInterface(this),
36  TransientInterface(this),
38  ZeroInterface(parameters),
39  _mesh(_subproblem.mesh()),
40  _q_point(_assembly.qPointsFace()),
41  _qrule(_assembly.qRuleFace()),
42  _JxW(_assembly.JxWFace()),
43  _coord(_assembly.coordTransformation()),
44  _normals(_assembly.normals()),
45  _current_elem(_assembly.elem()),
46  _current_side(_assembly.side()),
47  _current_side_elem(_assembly.sideElem()),
48  _current_side_volume(_assembly.sideElemVolume()),
49  _neighbor_elem(_assembly.neighbor())
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 }
56 
57 const Real &
59 {
60  return _assembly.neighborVolume();
61 }
const Real & getNeighborElemVolume()
The volume (or length) of the current neighbor.
Assembly & _assembly
Definition: UserObject.h:153
InputParameters validParams< BlockRestrictable >()
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...
const Real & neighborVolume()
Returns the reference to the current neighbor volume.
Definition: Assembly.C:353
Interface for objects that needs transient capabilities.
InputParameters validParams< InternalSideUserObject >()
InputParameters validParams< UserObject >()
Definition: UserObject.C:23
Interface for objects that need to use UserObjects.
InternalSideUserObject(const InputParameters &parameters)
Interface to bring zero values inside objects.
Definition: ZeroInterface.h:35
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
InputParameters validParams< TwoMaterialPropertyInterface >()
InputParameters validParams< TransientInterface >()
Base class for user-specific data.
Definition: UserObject.h:42
Enhances Coupleable interface to also couple the values from neighbor elements.
Interface class for classes which interact with Postprocessors.