13 #include "metaphysicl/parallel_numberarray.h" 14 #include "metaphysicl/parallel_dualnumber.h" 15 #include "metaphysicl/parallel_semidynamicsparsenumberarray.h" 16 #include "libmesh/parallel_algebra.h" 27 : _moose_object(moose_object), _n_shaft_eq(1)
58 unsigned int n_flow_eq)
66 const std::vector<std::vector<dof_id_type>> & flow_channel_dofs)
75 mooseAssert(dofs.size() == 1,
76 "There should be exactly 1 coupled DoF index for the variable '" + omega_var->
name() +
virtual void initialize()
std::vector< dof_id_type > _scalar_dofs
Degrees of freedom for scalar variables (from junction)
const std::string & name() const override
const Parallel::Communicator & comm() const
virtual ADReal getTorque() const
DualNumber< Real, DNDerivativeType, true > ADReal
unsigned int _n_shaft_eq
Number of equation in the shaft component.
virtual void setOmegaDofs(const MooseVariableScalar *omega_var)
virtual ADReal getMomentOfInertia() const
virtual const std::vector< dof_id_type > & dofIndices() const
ADShaftConnectableUserObjectInterface(const MooseObject *moose_object)
virtual void setupJunctionData(std::vector< dof_id_type > &scalar_dofs)
Stores data associated with a junction component.
virtual void threadJoin(const UserObject &uo)
std::vector< dof_id_type > _omega_dof
Degrees of freedom for omega variable (from shaft)
ADReal _moment_of_inertia
Moment of inertia.
Interface class for user objects that are connected to a shaft.
virtual void setConnectionData(const std::vector< std::vector< dof_id_type >> &flow_channel_dofs)
Stores data computed by a volume-junction-like object associated with the conection.
const MooseObject * _moose_object
Associated MOOSE object.
virtual void setupConnections(unsigned int n_connections, unsigned int n_flow_eq)
ADReal _torque
Total torque.
static InputParameters validParams()
unsigned int _n_connections
Number of flow channels the shaft connected component is attached to.
unsigned int _n_flow_eq
Number of flow variables in connected flow channels.
std::vector< std::vector< dof_id_type > > _flow_channel_dofs
Degrees of freedom for flow channel variables, for each connection.