https://mooseframework.inl.gov
MassFluxPenaltyBC.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 #include "IPHDGBC.h"
13 
15 
16 /*
17  * Imposes a singular perturbation on the component momentum equations penalizing discontinuities in
18  * mass flux. Similar to \p MassFluxPenalty except it does not couple interior degrees of freedom on
19  * neighboring elements, which makes this class useful in tandem with hybridized discretizations
20  * because it supports static condensation
21  */
22 class MassFluxPenaltyBC : public IPHDGBC
23 {
24 public:
26 
28 
29 protected:
30  virtual IPHDGAssemblyHelper & iphdgHelper() override;
31  virtual void compute() override;
32 
33 private:
35  std::unique_ptr<MassFluxPenaltyIPHDGAssemblyHelper> _iphdg_helper;
36 
39  const bool _dirichlet_boundary;
40 };
const InputParameters & parameters() const
virtual void compute() override
MassFluxPenaltyBC(const InputParameters &parameters)
static InputParameters validParams()
std::unique_ptr< MassFluxPenaltyIPHDGAssemblyHelper > _iphdg_helper
The assembly helper providing the required IP-HDG method implementations.
virtual IPHDGAssemblyHelper & iphdgHelper() override
const bool _dirichlet_boundary
Whether this is a Dirichlet boundary for the velocity.