24 params.addRequiredParam<NonlinearVariableName>(
"face_variable",
"The face variable");
35 const std::set<SubdomainID> & block_ids,
36 const std::set<BoundaryID> & boundary_ids)
39 _u_var(sys.getFieldVariable<Real>(tid, moose_obj->getParam<NonlinearVariableName>(
"variable"))),
40 _u_face_var(sys.getFieldVariable<Real>(
41 tid, moose_obj->getParam<NonlinearVariableName>(
"face_variable"))),
42 _u_dof_indices(_u_var.dofIndices()),
43 _lm_u_dof_indices(_u_face_var.dofIndices()),
44 _u_sol(_u_var.adSln()),
45 _lm_u_sol(_u_face_var.adSln()),
46 _scalar_phi(_u_var.phi()),
47 _grad_scalar_phi(_u_var.gradPhi()),
48 _scalar_phi_face(_u_var.phiFace()),
49 _lm_phi_face(_u_face_var.phiFace()),
50 _elem_volume(assembly.elemVolume()),
51 _side_area(assembly.sideElemVolume()),
52 _current_elem(assembly.elem()),
53 _current_side(assembly.side()),
54 _current_side_elem(assembly.sideElem()),
56 _qrule(assembly.qRule()),
57 _q_point(assembly.qPoints()),
58 _JxW_face(assembly.JxWFace()),
59 _qrule_face(assembly.qRuleFace()),
60 _q_point_face(assembly.qPointsFace()),
61 _normals(assembly.normals())
67std::array<ADResidualsPacket, 2>
85 const auto scalar_value = dirichlet_value(
89 for (
const auto i : index_range(
_lm_re))
99 const auto flux = flux_value(
103 for (
const auto i : index_range(
_lm_re))
Keeps track of stuff related to assembling.
std::set< std::string > additionalROVariables()
const std::vector< dof_id_type > & _lm_u_dof_indices
Degree-of-freedom indices for the facet trace.
const MooseVariableFE< Real > & _u_face_var
Facet trace variable.
DenseVector< ADReal > _scalar_re
Residual for the element-interior scalar equation.
void lmDirichlet(const Moose::Functor< Real > &dirichlet_value)
Enforces a Dirichlet value in the facet equation.
const MooseVariableFE< Real > & _u_var
Element-interior scalar variable.
const MooseArray< Point > & _q_point_face
Physical face quadrature points.
DenseVector< ADReal > _lm_re
Residual for the facet trace equation.
const TransientInterface & _ti
Transient state used to evaluate boundary functors.
std::array< ADResidualsPacket, 2 > taggingData() const
const std::vector< dof_id_type > & _u_dof_indices
Degree-of-freedom indices for the element-interior scalar.
static InputParameters validParams()
const MooseArray< ADReal > & _lm_u_sol
Facet trace values at face quadrature points.
void lmPrescribedFlux(const Moose::Functor< Real > &flux_value)
Applies a prescribed flux in the facet equation.
const MooseArray< std::vector< Real > > & _lm_phi_face
Facet trace test functions evaluated on a face.
const unsigned int & _current_side
Current element-side index.
const libMesh::QBase *const & _qrule_face
Face quadrature rule.
ElementAndTraceScalarHDGAssemblyHelper(const MooseObject *moose_obj, MooseVariableDependencyInterface *mvdi, const TransientInterface *ti, SystemBase &sys, const Assembly &assembly, THREAD_ID tid, const std::set< SubdomainID > &blocks_ids, const std::set< BoundaryID > &boundary_ids)
const MooseArray< Real > & _JxW_face
Face quadrature weights including the transformed Jacobian.
const Elem *const & _current_elem
Current element.
const std::string & name() const
Get the name of the class.
Every object that can be built by the factory should be derived from this class.
void scalingFactor(const std::vector< Real > &factor)
Set the scaling factor for this variable.
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
Class for stuff related to variables.
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)
This interface is designed currently for DomainUserObject where material properties on element,...
Interface for objects that needs transient capabilities.
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
unsigned int n_points() const
Utility structure for packaging up all of the residual object's information needed to add into the sy...
Argument for requesting functor evaluation at quadrature point locations on an element side.