25 params.addRequiredCoupledVar(
"interior_velocity_vars",
26 "The velocity variables on the element interiors");
27 params.addRequiredParam<std::vector<MooseFunctorName>>(
28 "face_velocity_functors",
"The velocity variables on element faces/facets");
40 const std::set<SubdomainID> & block_ids,
41 const std::set<BoundaryID> & boundary_ids)
43 moose_obj, mvdi, ti, sys, assembly, tid, block_ids, boundary_ids),
45 _coord_sys(assembly.coordSystem()),
46 _rz_radial_coord(
mesh.getAxisymmetricRadialCoord())
49 for (
const auto & interior_vel_var_name :
50 moose_obj->
getParam<std::vector<VariableName>>(
"interior_velocity_vars"))
56 for (
const auto & face_vel_functor_name :
57 moose_obj->
getParam<std::vector<MooseFunctorName>>(
"face_velocity_functors"))
58 _face_vels.push_back(&getFunctorByName<ADReal>(face_vel_functor_name));
62 "interior_velocity_vars",
63 "The number of interior velocity variables must be equal to the mesh dimension");
66 "face_velocity_functors",
67 "The number of face velocity functors must be equal to the mesh dimension");
82 const auto qp_term =
_JxW[qp] * divergence;
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
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
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)