www.mooseframework.org
InternalSideIndicator.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 // local includes
13 #include "Indicator.h"
14 #include "NeighborCoupleable.h"
15 #include "ScalarCoupleable.h"
17 
18 template <typename>
22 
29  public NeighborCoupleable,
30  public ScalarCoupleable,
32 {
33 public:
39 
41 
45  virtual void computeIndicator() override;
46 
47  virtual void finalize() override;
48 
49 protected:
51 
52  const Elem * const & _current_elem;
54  const Elem * const & _neighbor_elem;
55 
57  const unsigned int & _current_side;
59  const Elem * const & _current_side_elem;
60 
63  unsigned int _qp;
65  const QBase * const & _qrule;
68 
70 
72 
74 
76  const VariableValue & _u;
77 
80 
83 
86 
89 
96  virtual Real computeQpIntegral() = 0;
97 
98 public:
99  // boundary id used for internal edges (all DG kernels lives on this boundary id -- a made-up
100  // number)
101  static const BoundaryID InternalBndId;
102 };
OutputTools< Real >::VariableGradient VariableGradient
Definition: MooseTypes.h:303
const Moose::CoordinateSystemType & _coord_sys
Coordinate system.
static InputParameters validParams()
Factory constructor initializes all internal references needed for indicator computation.
Class for stuff related to variables.
Definition: Adaptivity.h:31
const Elem *const & _current_side_elem
Current side element.
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...
MooseVariableFE< VectorValue< Real > > VectorMooseVariable
const 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.
InternalSideIndicator(const InputParameters &parameters)
const VariableGradient & _grad_u_neighbor
Holds the current solution gradient at the current quadrature point.
MooseVariableField< Real > & _var
boundary_id_type BoundaryID
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.
const Elem *const & _neighbor_elem
The neighboring element.
MooseVariableFE< Real > MooseVariable
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.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
CoordinateSystemType
Definition: MooseTypes.h:722
const MooseArray< Point > & _normals
Normal vectors at the quadrature points.
const MooseArray< Real > & _coord
Interface for objects that needs scalar coupling capabilities.
const InputParameters & parameters() const
Get the parameters of the object.
const VariableValue & _u_neighbor
Holds the current solution at the current quadrature point.
const MooseArray< Real > & _JxW
Enhances Coupleable interface to also couple the values from neighbor elements.
const Elem *const & _current_elem
const QBase *const & _qrule