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");
virtual void lmFace() override
virtual void scalarVolume() override
const MooseArray< Point > & _normals
const MooseArray< std::vector< Real > > & _lm_phi_face
void paramError(const std::string ¶m, Args... args) const
const T & getParam(const std::string &name) const
T divergence(const TensorValue< T > &gradient, const VectorType &value, const PointType &point, const Moose::CoordinateSystemType &coord_sys, const unsigned int rz_radial_coord)
Compute the divergence of a vector given its matrix of derivatives.
const unsigned int _rz_radial_coord
The radial coordinate index for RZ coordinate systems.
virtual void scalarFace() override
Moose::StateArg determineState() const
const MooseArray< std::vector< Real > > & _scalar_phi
const MooseArray< Real > & _JxW_face
std::vector< const Moose::Functor< ADReal > * > _face_vels
The velocity functors used to evalute the velocity on element face quadrature points.
const MooseArray< Point > & _q_point
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
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)
unsigned int n_points() const
std::vector< const ADVariableGradient * > _interior_vel_grads
The velocity gradients at interior element quadrature points.
const MooseArray< Point > & _q_point_face
const libMesh::QBase *const & _qrule
const Elem *const & _current_elem
static InputParameters validParams()
const unsigned int & _current_side
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Moose::CoordinateSystemType _coord_sys
The coordinate system.
MooseVariableFE< T > & getFieldVariable(THREAD_ID tid, const std::string &var_name)
DenseVector< ADReal > _scalar_re
IntRange< T > make_range(T beg, T end)
static InputParameters validParams()
const TransientInterface & _ti
const libMesh::QBase *const & _qrule_face
auto index_range(const T &sizable)
std::vector< const ADVariableValue * > _interior_vels
The velocities at interior element quadrature points.
const MooseArray< Real > & _JxW
DenseVector< ADReal > _lm_re