Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
InternalSideUserObject.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 #include "UserObject.h"
13 #include "BlockRestrictable.h"
16 #include "TransientInterface.h"
17 #include "ElementIDInterface.h"
18 
24  : public UserObject,
25  public BlockRestrictable,
28  public TransientInterface,
29  public ElementIDInterface
30 {
31 public:
33 
35 
36 protected:
38 
40  const QBase * const & _qrule;
44 
46  const Elem * const & _current_elem;
47 
50 
52  const unsigned int & _current_side;
53 
54  const Elem * const & _current_side_elem;
56 
58  const Elem * const & _neighbor_elem;
59 
62 
64  const Real & getNeighborElemVolume();
65 
67  std::vector<const FaceInfo *> _face_infos;
68 
76  void getFaceInfos();
77 };
const unsigned int & _current_side
current side of the current element
const Real & getNeighborElemVolume()
The volume (or length) of the current neighbor.
void getFaceInfos()
Computes the local FaceInfo(s) to use in functor arguments and interpolations.
Intermediate base class that ties together all the interfaces for getting MooseVariables with the Moo...
const Real & _current_neighbor_volume
the neighboring element&#39;s volume
static InputParameters validParams()
const MooseArray< Real > & _JxW
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Interface for objects that needs transient capabilities.
const Elem *const & _neighbor_elem
The neighboring element.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:88
const Real & _current_elem_volume
the volume of the current element
InternalSideUserObject(const InputParameters &parameters)
Base class for user objects executed on all element sides internal to one or more blocks...
const Elem *const & _current_elem
pointer to the current element object
const QBase *const & _qrule
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MooseArray< Point > & _q_point
std::vector< const FaceInfo * > _face_infos
Holds the FaceInfos to loop on to consider all active neighbors of an element on a given side...
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
const MooseArray< Real > & _coord
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject, where material properties on a side of both its primary side (face) and its secondary side (neighbor) all required.
const InputParameters & parameters() const
Get the parameters of the object.
const Elem *const & _current_side_elem
Base class for user-specific data.
Definition: UserObject.h:39
const MooseArray< Point > & _normals