www.mooseframework.org
SideUserObject.h
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 #pragma once
11 
12 // MOOSE includes
13 #include "UserObject.h"
16 #include "Coupleable.h"
18 #include "TransientInterface.h"
19 #include "ElementIDInterface.h"
20 #include "FaceInfo.h"
21 
26 class SideUserObject : public UserObject,
29  public Coupleable,
31  public TransientInterface,
32  public ElementIDInterface
33 {
34 public:
36 
38 
39 protected:
41 
43  const QBase * const & _qrule;
47 
48  const Elem * const & _current_elem;
50  const unsigned int & _current_side;
51 
52  const Elem * const & _current_side_elem;
54 
56 
58  std::vector<const FaceInfo *> _face_infos;
59 
67  void getFaceInfos();
68 };
static InputParameters validParams()
A class for requiring an object to be boundary restricted.
const unsigned int & _current_side
current side of the current element
const Elem *const & _current_side_elem
SideUserObject(const InputParameters &parameters)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const MooseArray< Point > & _q_point
Base class for user objects executed one or more sidesets, which may be on the outer boundary of the ...
std::vector< const FaceInfo * > _face_infos
Holds the FaceInfos to loop on to consider all active neighbors of an element on a given side...
const MooseArray< Real > & _JxW
const Real & _current_side_volume
Interface for objects that needs transient capabilities.
const BoundaryID & _current_boundary_id
boundary_id_type BoundaryID
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:88
void getFaceInfos()
Computes the local FaceInfo(s) to use in functor arguments and interpolations.
const MooseArray< Real > & _coord
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:45
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseMesh & _mesh
An interface for accessing Materials.
const QBase *const & _qrule
const MooseArray< Point > & _normals
const InputParameters & parameters() const
Get the parameters of the object.
const Elem *const & _current_elem
Base class for user-specific data.
Definition: UserObject.h:39