https://mooseframework.inl.gov
AdvectionLHDGOutflowBC.C
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 
11 #include "AdvectionLHDGOutflowBC.h"
12 
14 
17 {
20  params.addRequiredParam<bool>("constrain_lm",
21  "Whether to constrain the facet scalar to weakly match the cell "
22  "scalar. Set false when diffusion supplies the trace equation.");
23  params.addClassDescription(
24  "Implements an advective outflow boundary condition using the L-HDG hybrid velocity.");
25  return params;
26 }
27 
29  : ElementAndTraceScalarHDGBC(parameters),
30  _lhdg_helper(std::make_unique<AdvectionLHDGAssemblyHelper>(
31  this, this, this, _sys, _assembly, _tid, std::set<SubdomainID>{}, boundaryIDs())),
32  _constrain_lm(getParam<bool>("constrain_lm"))
33 {
34 }
35 
36 void
38 {
39  _lhdg_helper->resizeResiduals();
40  _lhdg_helper->scalarFace();
41  if (_constrain_lm)
42  _lhdg_helper->lmOutflow();
43 }
44 
47 {
48  return *_lhdg_helper;
49 }
virtual void compute(ElementAndTraceScalarHDGAssemblyHelper &) override
static InputParameters validParams()
const bool _constrain_lm
Whether this object supplies the facet scalar equation.
Supplies the L-HDG velocity-trace evaluation to the shared advection assembly used by both HDG kernel...
virtual ElementAndTraceScalarHDGAssemblyHelper & hdgHelper() override
registerMooseObject("NavierStokesApp", AdvectionLHDGOutflowBC)
static InputParameters validParams()
Implements an advective outflow boundary condition using the L-HDG hybrid velocity.
AdvectionLHDGOutflowBC(const InputParameters &parameters)
std::unique_ptr< AdvectionLHDGAssemblyHelper > _lhdg_helper
Assembly helper implementing the L-HDG advective boundary flux.
static InputParameters validParams()