https://mooseframework.inl.gov
Loading...
Searching...
No Matches
InternalSideIndicatorBase.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// local includes
13#include "Indicator.h"
14#include "NeighborCoupleable.h"
15#include "ScalarCoupleable.h"
16
18 public NeighborCoupleable,
19 public ScalarCoupleable
20{
21public:
23
25
29 virtual void computeIndicator() override;
30
31 virtual void finalize() override;
32
33protected:
34 bool usesFaceCoupledValues() const override { return true; }
35
39 virtual bool isVarFV() const = 0;
40
42
44 const Elem * const & _current_elem;
46 const Elem * const & _neighbor_elem;
47
49 const unsigned int & _current_side;
51 const Elem * const & _current_side_elem;
52
56 unsigned int _qp;
58 const QBase * const & _qrule;
65
68
72
75
82 virtual Real computeQpIntegral() = 0;
83
84public:
85 // boundary id used for internal edges (all DG kernels lives on this boundary id -- a made-up
86 // number)
88};
boundary_id_type BoundaryID
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const Elem *const & _current_elem
Current element under consideration.
bool _scale_by_flux_faces
Whether to scale the indicator value by the number of flux faces in an attempt to avoid penalizing in...
const MooseArray< Point > & _normals
Normal vectors at the quadrature points.
unsigned int _qp
The current quadrature point.
const unsigned int & _current_side
Current side.
const MooseArray< Real > & _JxW
The quadrature weight multiplied by the element Jacobian.
virtual bool isVarFV() const =0
Whether or not the derived classes are acting on a finite volume variable or not.
const MooseArray< Real > & _coord
The coordinate transformation.
const Elem *const & _neighbor_elem
The neighbor element across from the current side.
static InputParameters validParams()
const Moose::CoordinateSystemType & _coord_sys
Coordinate system.
virtual Real computeQpIntegral()=0
The virtual function you will want to override to compute error contributions.
BoundaryID _boundary_id
The bounday (if any) that this indicator is operating on.
const MooseArray< Point > & _q_point
The spatial location of the current quadrature point.
MooseVariableFE< Real > & _field_var
virtual void finalize() override
Can be overridden to do a final postprocessing of the indicator field.
static const BoundaryID InternalBndId
const QBase *const & _qrule
The quadrature rule being used.
virtual void computeIndicator() override
Computes the indicator for the current side.
bool usesFaceCoupledValues() const override
Whether this object evaluates coupled variables on element faces, so that it must request coupled AD ...
const Elem *const & _current_side_elem
Current side element.
forward declarations
Definition MooseArray.h:18
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Class for stuff related to variables.
Enhances Coupleable interface to also couple the values from neighbor elements.
Interface for objects that needs scalar coupling capabilities.
CoordinateSystemType
Definition MooseTypes.h:864