26 params.addRequiredParam<NonlinearVariableName>(
"face_variable",
"The face variable");
37 const std::set<SubdomainID> & block_ids,
38 const std::set<BoundaryID> & boundary_ids)
41 _u_var(sys.getFieldVariable<
Real>(tid, moose_obj->getParam<NonlinearVariableName>(
"variable"))),
42 _u_face_var(sys.getFieldVariable<
Real>(
43 tid, moose_obj->getParam<NonlinearVariableName>(
"face_variable"))),
44 _u_dof_indices(_u_var.dofIndices()),
45 _lm_u_dof_indices(_u_face_var.dofIndices()),
46 _u_sol(_u_var.adSln()),
47 _lm_u_sol(_u_face_var.adSln()),
48 _scalar_phi(_u_var.phi()),
49 _grad_scalar_phi(_u_var.gradPhi()),
50 _scalar_phi_face(_u_var.phiFace()),
51 _lm_phi_face(_u_face_var.phiFace()),
52 _elem_volume(assembly.elemVolume()),
53 _side_area(assembly.sideElemVolume()),
54 _current_elem(assembly.elem()),
55 _current_side(assembly.side()),
56 _current_side_elem(assembly.sideElem()),
58 _qrule(assembly.qRule()),
59 _q_point(assembly.qPoints()),
60 _JxW_face(assembly.JxWFace()),
61 _qrule_face(assembly.qRuleFace()),
62 _q_point_face(assembly.qPointsFace()),
63 _normals(assembly.normals())
69std::array<ADResidualsPacket, 2>
87 const auto scalar_value = dirichlet_value(
101 const auto flux = flux_value(
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
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
auto index_range(const T &sizable)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
IntRange< T > make_range(T beg, T end)
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.