www.mooseframework.org
InternalSideIndicator.h
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 #ifndef INTERNALSIDEINDICATOR_H
16 #define INTERNALSIDEINDICATOR_H
17 
18 // local includes
19 #include "Indicator.h"
20 #include "NeighborCoupleable.h"
21 #include "ScalarCoupleable.h"
23 
24 // Forward Declarations
26 class MooseVariable;
27 
28 template <>
30 
37  public NeighborCoupleable,
38  public ScalarCoupleable,
40 {
41 public:
47 
51  virtual void computeIndicator() override;
52 
53  virtual void finalize() override;
54 
55 protected:
57 
58  const Elem *& _current_elem;
60  const Elem *& _neighbor_elem;
61 
63  unsigned int & _current_side;
65  const Elem *& _current_side_elem;
66 
69  unsigned int _qp;
71  QBase *& _qrule;
74 
76 
78 
80 
82  const VariableValue & _u;
83 
86 
89 
92 
95 
102  virtual Real computeQpIntegral() = 0;
103 
104 public:
105  // boundary id used for internal edges (all DG kernels lives on this boundary id -- a made-up
106  // number)
107  static const BoundaryID InternalBndId;
108 };
109 
110 #endif // INTERNALSIDEINDICATOR_H
const Moose::CoordinateSystemType & _coord_sys
Coordinate system.
Class for stuff related to variables.
Definition: MooseVariable.h:43
virtual Real computeQpIntegral()=0
The virtual function you will want to override to compute error contributions.
static const BoundaryID InternalBndId
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
unsigned int & _current_side
Current side.
const MooseArray< Point > & _q_point
Enhances MooseVariableInterface interface provide values from neighbor elements.
virtual void finalize() override
Can be overridden to do a final postprocessing of the indicator field.
const Elem *& _current_side_elem
Current side element.
const Elem *& _neighbor_elem
The neighboring element.
InternalSideIndicator(const InputParameters &parameters)
Factory constructor initializes all internal references needed for indicator computation.
const VariableGradient & _grad_u_neighbor
Holds the current solution gradient at the current quadrature point.
const VariableValue & _u
Holds the current solution at the current quadrature point on the face.
virtual void computeIndicator() override
Computes the indicator for the current side.
CoordinateSystemType
Definition: MooseTypes.h:212
The InternalSideIndicator class is responsible for calculating the residuals for various physics on i...
const VariableGradient & _grad_u
Holds the current solution gradient at the current quadrature point on the face.
const MooseArray< Point > & _normals
Normal vectors at the quadrature points.
const MooseArray< Real > & _coord
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
Interface for objects that needs scalar coupling capabilities.
const VariableValue & _u_neighbor
Holds the current solution at the current quadrature point.
InputParameters validParams< InternalSideIndicator >()
const MooseArray< Real > & _JxW
Enhances Coupleable interface to also couple the values from neighbor elements.
boundary_id_type BoundaryID
Definition: MooseTypes.h:75