https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
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
36void
38{
39 _lhdg_helper->resizeResiduals();
40 _lhdg_helper->scalarFace();
41 if (_constrain_lm)
42 _lhdg_helper->lmOutflow();
43}
44
registerMooseObject("NavierStokesApp", AdvectionLHDGOutflowBC)
Supplies the L-HDG velocity-trace evaluation to the shared advection assembly used by both HDG kernel...
Implements an advective outflow boundary condition using the L-HDG hybrid velocity.
virtual void compute(ElementAndTraceScalarHDGAssemblyHelper &) override
const bool _constrain_lm
Whether this object supplies the facet scalar equation.
std::unique_ptr< AdvectionLHDGAssemblyHelper > _lhdg_helper
Assembly helper implementing the L-HDG advective boundary flux.
AdvectionLHDGOutflowBC(const InputParameters &parameters)
static InputParameters validParams()
virtual ElementAndTraceScalarHDGAssemblyHelper & hdgHelper() override
static InputParameters validParams()