https://mooseframework.inl.gov
ElementAndTraceScalarHDGKernel.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 "HDGKernel.h"
13 
15 
21 {
22 public:
24 
26 
27  virtual void computeResidual() override;
28  virtual void computeJacobian() override;
29  virtual void computeOffDiagJacobian(unsigned int jvar) override;
30  virtual void computeResidualAndJacobian() override;
31  virtual void jacobianSetup() override;
32  virtual void computeResidualOnSide() override;
33  virtual void computeJacobianOnSide() override;
34  virtual void computeResidualAndJacobianOnSide() override;
35 
36  virtual std::set<std::string> additionalROVariables() override;
37  virtual const std::unordered_set<unsigned int> & getMatPropDependencies() const override;
38  virtual bool getMaterialPropertyCalled() const override;
39 
40 private:
44 
47 
50 
52  const Elem * _cached_elem;
53 };
54 
57 {
58  return const_cast<ElementAndTraceScalarHDGKernel *>(this)->hdgHelper();
59 }
Base kernel for hybridized finite element formulations.
Definition: HDGKernel.h:17
virtual ElementAndTraceScalarHDGAssemblyHelper & hdgHelper()=0
Returns the helper used for common element-and-trace scalar HDG assembly.
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes d-residual / d-jvar... storing the result in Ke.
virtual void computeResidualAndJacobian() override
Compute the residual and Jacobian together.
const Elem * _cached_elem
Used to assemble the complete AD Jacobian only once per element.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
virtual bool getMaterialPropertyCalled() const override
Returns true if getMaterialProperty() has been called, false otherwise.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual void computeResidual() override
Compute this Kernel&#39;s contribution to the residual.
void computeOnSide(ElementAndTraceScalarHDGAssemblyHelper &helper)
Assembles the face residual data.
virtual void computeJacobian() override
Compute this Kernel&#39;s contribution to the diagonal Jacobian entries.
Base kernel for helper-backed HDG discretizations with an element-interior scalar and scalar facet tr...
Method-neutral assembly data and operations for an element-and-trace scalar hybridized DG discretizat...
virtual std::set< std::string > additionalROVariables() override
void compute(ElementAndTraceScalarHDGAssemblyHelper &helper)
Assembles the element-interior residual data.
virtual void computeResidualAndJacobianOnSide() override
ElementAndTraceScalarHDGKernel(const InputParameters &parameters)
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const override
Retrieve the set of material properties that this object depends on.
virtual void jacobianSetup() override
Gets called just before the Jacobian is computed and before this object is asked to do its job...