23 params.addRequiredCoupledVar(
"interior_velocity_vars",
24 "The velocity variables on the element interiors");
25 params.addRequiredParam<std::vector<MooseFunctorName>>(
26 "face_velocity_functors",
"The velocity variables on element faces/facets");
38 const std::set<SubdomainID> & block_ids,
39 const std::set<BoundaryID> & boundary_ids)
41 moose_obj, mvdi, ti, sys, assembly, tid, block_ids, boundary_ids),
43 _coord_sys(assembly.coordSystem()),
44 _rz_radial_coord(
mesh.getAxisymmetricRadialCoord())
47 for (
const auto & interior_vel_var_name :
48 moose_obj->
getParam<std::vector<VariableName>>(
"interior_velocity_vars"))
54 for (
const auto & face_vel_functor_name :
55 moose_obj->
getParam<std::vector<MooseFunctorName>>(
"face_velocity_functors"))
56 _face_vels.push_back(&getFunctorByName<ADReal>(face_vel_functor_name));
60 "interior_velocity_vars",
61 "The number of interior velocity variables must be equal to the mesh dimension");
64 "face_velocity_functors",
65 "The number of face velocity functors must be equal to the mesh dimension");
80 const auto qp_term =
_JxW[qp] * divergence;
105 for (
const auto i : index_range(
_lm_re))
DualNumber< Real, DNDerivativeType, true > ADReal
const MooseArray< Real > & _JxW
DenseVector< ADReal > _scalar_re
const MooseArray< Point > & _q_point_face
DenseVector< ADReal > _lm_re
const TransientInterface & _ti
static InputParameters validParams()
const libMesh::QBase *const & _qrule
const MooseArray< Point > & _normals
const MooseArray< Point > & _q_point
const MooseArray< std::vector< Real > > & _lm_phi_face
const MooseArray< std::vector< Real > > & _scalar_phi
const unsigned int & _current_side
const libMesh::QBase *const & _qrule_face
const MooseArray< Real > & _JxW_face
const Elem *const & _current_elem
const unsigned int _rz_radial_coord
The radial coordinate index for RZ coordinate systems.
std::vector< const ADVariableValue * > _interior_vels
The velocities at interior element quadrature points.
MassContinuityAssemblyHelper(const MooseObject *const moose_obj, MooseVariableDependencyInterface *const mvdi, const TransientInterface *const ti, const MooseMesh &mesh, SystemBase &sys, const Assembly &assembly, const THREAD_ID tid, const std::set< SubdomainID > &block_ids, const std::set< BoundaryID > &boundary_ids)
std::vector< const ADVariableGradient * > _interior_vel_grads
The velocity gradients at interior element quadrature points.
virtual void scalarFace() override
virtual void lmFace() override
std::vector< const Moose::Functor< ADReal > * > _face_vels
The velocity functors used to evalute the velocity on element face quadrature points.
const Moose::CoordinateSystemType _coord_sys
The coordinate system.
virtual void scalarVolume() override
static InputParameters validParams()
void paramError(const std::string ¶m, Args... args) const
const T & getParam(const std::string &name) const
MooseVariableFE< T > & getFieldVariable(THREAD_ID tid, const std::string &var_name)
Moose::StateArg determineState() const
unsigned int n_points() const