https://mooseframework.inl.gov
IPHDGKernel.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 
19 class IPHDGKernel : public HDGKernel
20 {
21 public:
23 
24  IPHDGKernel(const InputParameters & params);
25  virtual void computeResidual() override;
29  virtual void computeJacobian() override;
33  virtual void computeOffDiagJacobian(unsigned int jvar) override;
34  virtual void computeResidualAndJacobian() override;
35  virtual void jacobianSetup() override;
36  virtual void computeResidualOnSide() override;
37  virtual void computeJacobianOnSide() override;
38  virtual void computeResidualAndJacobianOnSide() override;
39 
40  virtual std::set<std::string> additionalROVariables() override;
41  virtual const std::unordered_set<unsigned int> & getMatPropDependencies() const override;
42 
43 protected:
44  virtual IPHDGAssemblyHelper & iphdgHelper() = 0;
45  const IPHDGAssemblyHelper & iphdgHelper() const;
46 
50  void compute();
51 
55  void computeOnSide();
56 
58  const Elem * _cached_elem;
59 };
60 
61 inline const IPHDGAssemblyHelper &
63 {
64  return const_cast<IPHDGKernel *>(this)->iphdgHelper();
65 }
void computeOnSide()
compute the AD residuals on the element sides
Definition: IPHDGKernel.C:35
A kernel for hybridized finite element formulations.
Definition: HDGKernel.h:17
const Elem * _cached_elem
A data member used for determining when to compute the Jacobian.
Definition: IPHDGKernel.h:58
virtual void computeResidual() override
Compute this Kernel&#39;s contribution to the residual.
Definition: IPHDGKernel.C:44
IPHDGKernel(const InputParameters &params)
Definition: IPHDGKernel.C:22
void compute()
compute the AD residuals on the element interior
Definition: IPHDGKernel.C:27
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const override
Retrieve the set of material properties that this object depends on.
Definition: IPHDGKernel.C:114
virtual void computeOffDiagJacobian(unsigned int jvar) override
Forwards to computeJacobian() the first time this is called for a given element.
Definition: IPHDGKernel.C:98
virtual void computeResidualAndJacobian() override
Compute the residual and Jacobian together.
Definition: IPHDGKernel.C:60
Base kernel for implementing an interior penalty hybridized discretization.
Definition: IPHDGKernel.h:19
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
static InputParameters validParams()
Definition: IPHDGKernel.C:16
virtual void computeJacobianOnSide() override
Definition: IPHDGKernel.C:76
Base class that declares all the methods for assembling a hybridized interior penalty discontinuous G...
virtual IPHDGAssemblyHelper & iphdgHelper()=0
virtual std::set< std::string > additionalROVariables() override
Definition: IPHDGKernel.C:108
virtual void computeResidualAndJacobianOnSide() override
Definition: IPHDGKernel.C:84
virtual void computeJacobian() override
Compute this object&#39;s entire element interior Jacobian, both on- and off-diagonal.
Definition: IPHDGKernel.C:52
virtual void jacobianSetup() override
Gets called just before the Jacobian is computed and before this object is asked to do its job...
Definition: IPHDGKernel.C:92
virtual void computeResidualOnSide() override
Definition: IPHDGKernel.C:68