23 "about a user-specified axis of rotation centered" 24 "at a user-specified origin.");
25 params.
addRequiredParam<std::vector<AuxVariableName>>(
"reaction_force_variables",
26 "The reaction variables");
28 "axis_origin", Point(),
"Origin of the axis of rotation used to calculate the torque");
30 "The direction vector of the axis " 31 "of rotation about which the " 32 "calculated torque is calculated");
33 params.
set<
bool>(
"use_displaced_mesh") =
true;
39 _aux(_fe_problem.getAuxiliarySystem()),
43 std::vector<AuxVariableName> reacts =
44 getParam<std::vector<AuxVariableName>>(
"reaction_force_variables");
47 for (
unsigned int i = 0; i <
_nrt; ++i)
64 Point normal_position_component =
85 _sum += parallel_torque_component.
norm();
static InputParameters validParams()
virtual Real getValue() const override
auto norm() const -> decltype(std::norm(Real()))
void threadJoin(const UserObject &y) override
const std::vector< double > y
TorqueReaction(const InputParameters ¶meters)
static InputParameters validParams()
virtual void initialize() override
TypeVector< typename CompareTypes< Real, T2 >::supertype > cross(const TypeVector< T2 > &v) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseVariableFE< T > & getFieldVariable(THREAD_ID tid, const std::string &var_name)
virtual void finalize() override
virtual void execute() override
registerMooseObject("SolidMechanicsApp", TorqueReaction)
std::vector< const VariableValue * > _react
const Point _direction_vector