https://mooseframework.inl.gov
AdvectionLHDGDirichletBC.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<MooseFunctorName>("functor", "The prescribed scalar value");
21  params.addClassDescription("Weakly imposes prescribed scalar and velocity data for an L-HDG "
22  "advection discretization.");
23  return params;
24 }
25 
27  : ElementAndTraceScalarHDGBC(parameters),
28  _lhdg_helper(std::make_unique<AdvectionLHDGAssemblyHelper>(
29  this, this, this, _sys, _assembly, _tid, std::set<SubdomainID>{}, boundaryIDs())),
30  _dirichlet_value(getFunctor<Real>("functor"))
31 {
32 }
33 
34 void
36 {
37  _lhdg_helper->resizeResiduals();
38  _lhdg_helper->scalarDirichlet(_dirichlet_value);
39  // L-HDG Dirichlet traces are unused and conventionally constrained to zero.
40  _lhdg_helper->lmDirichletZero();
41 }
42 
45 {
46  return *_lhdg_helper;
47 }
virtual ElementAndTraceScalarHDGAssemblyHelper & hdgHelper() override
Weakly imposes prescribed scalar and velocity data for an L-HDG advection discretization.
static InputParameters validParams()
Supplies the L-HDG velocity-trace evaluation to the shared advection assembly used by both HDG kernel...
static InputParameters validParams()
AdvectionLHDGDirichletBC(const InputParameters &parameters)
virtual void compute(ElementAndTraceScalarHDGAssemblyHelper &) override
const Moose::Functor< Real > & _dirichlet_value
Prescribed scalar value.
registerMooseObject("NavierStokesApp", AdvectionLHDGDirichletBC)
static InputParameters validParams()
std::unique_ptr< AdvectionLHDGAssemblyHelper > _lhdg_helper
Assembly helper implementing the L-HDG advective boundary flux.