https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AdvectionHDGAssemblyHelper.h
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
10#pragma once
11
13
21{
22public:
24
27 const TransientInterface * ti,
28 SystemBase & sys,
29 const Assembly & assembly,
30 THREAD_ID tid,
31 const std::set<SubdomainID> & block_ids,
32 const std::set<BoundaryID> & boundary_ids);
33
34 virtual void scalarVolume() override;
35 virtual void scalarFace() override;
36 virtual void lmFace() override;
37 virtual void scalarDirichlet(const Moose::Functor<Real> & dirichlet_value) override;
38
40 void lmOutflow();
41
42protected:
46 virtual ADRealVectorValue faceVelocity(unsigned int qp) const = 0;
47
53 ADReal computeFlux(unsigned int qp, const ADReal & face_value) const;
54
57
59 const Real _coeff;
60};
DualNumber< Real, DNDerivativeType, true > ADReal
unsigned int THREAD_ID
Definition MooseTypes.h:237
Shared assembly for element-and-trace scalar hybridized DG discretizations of the advection equation.
void lmOutflow()
Prescribes an outflow condition for the facet scalar.
ADReal computeFlux(unsigned int qp, const ADReal &face_value) const
Computes the upwind face flux.
static InputParameters validParams()
const Real _coeff
Constant coefficient multiplying the advected scalar, such as density.
virtual void lmFace() override
Assembles the facet equation's interior-face contribution.
const ADMaterialProperty< RealVectorValue > & _velocity
Cell-interior velocity used in the volume advection term.
virtual ADRealVectorValue faceVelocity(unsigned int qp) const =0
virtual void scalarDirichlet(const Moose::Functor< Real > &dirichlet_value) override
Assembles the element-interior equation on a Dirichlet boundary.
virtual void scalarVolume() override
Assembles the element-interior equation's volume contribution.
virtual void scalarFace() override
Assembles the element-interior equation's face contribution.
Keeps track of stuff related to assembling.
Definition Assembly.h:110
Method-neutral assembly data and operations for an element-and-trace scalar hybridized DG discretizat...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Every object that can be built by the factory should be derived from this class.
Definition MooseObject.h:31
This is a wrapper that forwards calls to the implementation, which can be switched out at any time wi...
Base class for a system (of equations)
Definition SystemBase.h:87
Interface for objects that needs transient capabilities.