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()),
40 _axis_origin(getParam<RealVectorValue>(
"axis_origin")),
41 _direction_vector(getParam<RealVectorValue>(
"direction_vector"))
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 =
77 RealVectorValue torque = normal_position_component.
cross(force);
81 RealVectorValue parallel_torque_component =
85 _sum += parallel_torque_component.norm();
const std::vector< double > y
registerMooseObject("SolidMechanicsApp", TorqueReaction)
static InputParameters validParams()
MooseVariableFE< T > & getFieldVariable(THREAD_ID tid, const std::string &var_name)
virtual void finalize() override
virtual void initialize() override
static InputParameters validParams()
std::vector< const VariableValue * > _react
void threadJoin(const UserObject &y) override
TorqueReaction(const InputParameters ¶meters)
const Point _direction_vector
virtual void execute() override
virtual Real getValue() const override
TypeVector< typename CompareTypes< T, T2 >::supertype > cross(const TypeVector< T2 > &v) const