22 params.addRequiredCoupledVar(
"interior_velocity_vars",
23 "The velocity variables on the element interiors");
24 params.addRequiredParam<std::vector<MooseFunctorName>>(
25 "face_velocity_functors",
"The velocity variables on element faces/facets");
37 const std::set<SubdomainID> & block_ids,
38 const std::set<BoundaryID> & boundary_ids)
41 _coord_sys(assembly.coordSystem()),
42 _rz_radial_coord(
mesh.getAxisymmetricRadialCoord())
45 for (
const auto & interior_vel_var_name :
46 moose_obj->
getParam<std::vector<VariableName>>(
"interior_velocity_vars"))
52 for (
const auto & face_vel_functor_name :
53 moose_obj->
getParam<std::vector<MooseFunctorName>>(
"face_velocity_functors"))
54 _face_vels.push_back(&getFunctorByName<ADReal>(face_vel_functor_name));
58 "interior_velocity_vars",
59 "The number of interior velocity variables must be equal to the mesh dimension");
62 "face_velocity_functors",
63 "The number of face velocity functors must be equal to the mesh dimension");
virtual void lmFace() override
virtual void scalarVolume() override
DenseVector< ADReal > _scalar_re
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.
DenseVector< ADReal > _lm_re
const unsigned int _rz_radial_coord
The radial coordinate index for RZ coordinate systems.
virtual void scalarFace() override
const unsigned int & _ip_current_side
Moose::StateArg determineState() const
std::vector< const Moose::Functor< ADReal > * > _face_vels
The velocity functors used to evalute the velocity on element face quadrature points.
const MooseArray< std::vector< Real > > & _lm_phi_face
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
const QBase *const & _ip_qrule_face
const TransientInterface & _ti
const Elem *const & _ip_current_elem
const MooseArray< Real > & _ip_JxW
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)
const MooseArray< Point > & _ip_normals
const QBase *const & _ip_qrule
const MooseArray< Point > & _ip_q_point_face
unsigned int n_points() const
std::vector< const ADVariableGradient * > _interior_vel_grads
The velocity gradients at interior element quadrature points.
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)
const MooseArray< Real > & _ip_JxW_face
IntRange< T > make_range(T beg, T end)
static InputParameters validParams()
const MooseArray< Point > & _ip_q_point
static InputParameters validParams()
auto index_range(const T &sizable)
std::vector< const ADVariableValue * > _interior_vels
The velocities at interior element quadrature points.
const MooseArray< std::vector< Real > > & _scalar_phi