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 
29  : IPHDGBC(params),
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  auto & iphdg_helper = iphdgHelper();
40  iphdg_helper.resizeResiduals();
41 
42  // u, lm_u
43  iphdg_helper.scalarFace();
45  iphdg_helper.lmFace();
46 }
47 
50 {
51  return *_iphdg_helper;
52 }
static InputParameters validParams()
virtual void compute() 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)
void addClassDescription(const std::string &doc_string)
virtual IPHDGAssemblyHelper & iphdgHelper() override
const bool _dirichlet_boundary
Whether this is a Dirichlet boundary for the velocity.