https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
34void
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
registerMooseObject("NavierStokesApp", AdvectionLHDGDirichletBC)
Supplies the L-HDG velocity-trace evaluation to the shared advection assembly used by both HDG kernel...
Weakly imposes prescribed scalar and velocity data for an L-HDG advection discretization.
virtual ElementAndTraceScalarHDGAssemblyHelper & hdgHelper() override
AdvectionLHDGDirichletBC(const InputParameters &parameters)
virtual void compute(ElementAndTraceScalarHDGAssemblyHelper &) override
std::unique_ptr< AdvectionLHDGAssemblyHelper > _lhdg_helper
Assembly helper implementing the L-HDG advective boundary flux.
const Moose::Functor< Real > & _dirichlet_value
Prescribed scalar value.
static InputParameters validParams()
static InputParameters validParams()