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 
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  */
23 {
24 public:
26 
28 
29 private:
31  virtual void compute(ElementAndTraceScalarHDGAssemblyHelper & helper) override;
32 
34  std::unique_ptr<MassFluxPenaltyIPHDGAssemblyHelper> _iphdg_helper;
35 
38  const bool _dirichlet_boundary;
39 };
virtual void compute(ElementAndTraceScalarHDGAssemblyHelper &helper) override
const InputParameters & parameters() const
virtual ElementAndTraceScalarHDGAssemblyHelper & hdgHelper() override
MassFluxPenaltyBC(const InputParameters &parameters)
static InputParameters validParams()
std::unique_ptr< MassFluxPenaltyIPHDGAssemblyHelper > _iphdg_helper
The assembly helper providing the required IP-HDG method implementations.
const bool _dirichlet_boundary
Whether this is a Dirichlet boundary for the velocity.