https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TorqueReaction.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "NodalPostprocessor.h"
13
14// Forward Declarations
15class AuxiliarySystem;
16
17/*
18 * TorqueReaction calculates the torque in 2D and 3D about a user-specified
19 * axis of rotation centered at a user-specied origin. The default origin is the
20 * global coordinate system origin: (0.0,0.0,0.0).
21 *
22 * TorqueReaction takes a scalar approach to calculating the sum of the
23 * acting torques by projecting both the reaction force and the position vector
24 * (the coordinates of the node upon which the force is applied) onto the axis of
25 * rotation and applying the Pythagorean theorem, as in a statics course. This
26 * scalar approach allows the postprocessor to accept any axis of rotation direction.
27 *
28 * TorqueReaction is similar to TorqueReaction in SolidMechanics but does
29 * not replace the TorqueReaction postprocessor; different assumptions were used
30 * to derive the SolidMechanics TorqueReaction postprocessor.
31 */
33{
34public:
36
38
39 virtual void initialize() override;
40 virtual void execute() override;
41 virtual Real getValue() const override;
42 virtual void finalize() override;
43 void threadJoin(const UserObject & y) override;
44
45protected:
47
48 std::vector<const VariableValue *> _react;
49
50 const Point _axis_origin;
51 const Point _direction_vector;
52
53 unsigned int _nrt;
54
55 Real _sum;
56};
const std::vector< double > y
const InputParameters & parameters() const
virtual void finalize() override
virtual void initialize() override
static InputParameters validParams()
std::vector< const VariableValue * > _react
AuxiliarySystem & _aux
void threadJoin(const UserObject &y) override
const Point _axis_origin
const Point _direction_vector
virtual void execute() override
virtual Real getValue() const override
unsigned int _nrt