https://mooseframework.inl.gov
MassFluxPenaltyBC.C
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 #include "MassFluxPenaltyBC.h"
12 
13 registerMooseObject("NavierStokesApp", MassFluxPenaltyBC);
14 
17 {
20  params.addClassDescription("introduces a jump correction on exterior faces for grad-div "
21  "stabilization for discontinuous Galerkin methods.");
22  params.addRequiredParam<bool>("dirichlet_boundary",
23  "Whether this is a Dirichlet boundary for the velocity. If it is, "
24  "then we will not compute the trace residuals");
25  return params;
26 }
27 
30  _iphdg_helper(std::make_unique<MassFluxPenaltyIPHDGAssemblyHelper>(
31  this, this, this, _mesh, _sys, _assembly, _tid, std::set<SubdomainID>{}, boundaryIDs())),
32  _dirichlet_boundary(getParam<bool>("dirichlet_boundary"))
33 {
34 }
35 
36 void
38 {
39  helper.resizeResiduals();
40 
41  // u, lm_u
42  helper.scalarFace();
44  helper.lmFace();
45 }
46 
49 {
50  return *_iphdg_helper;
51 }
virtual void compute(ElementAndTraceScalarHDGAssemblyHelper &helper) override
virtual ElementAndTraceScalarHDGAssemblyHelper & hdgHelper() override
void addRequiredParam(const std::string &name, const std::string &doc_string)
MassFluxPenaltyBC(const InputParameters &parameters)
static InputParameters validParams()
std::unique_ptr< MassFluxPenaltyIPHDGAssemblyHelper > _iphdg_helper
The assembly helper providing the required IP-HDG method implementations.
registerMooseObject("NavierStokesApp", MassFluxPenaltyBC)
static InputParameters validParams()
void addClassDescription(const std::string &doc_string)
const bool _dirichlet_boundary
Whether this is a Dirichlet boundary for the velocity.