www.mooseframework.org
TorqueReaction.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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
15 class TorqueReaction;
16 class AuxiliarySystem;
17 
18 template <>
19 InputParameters validParams<TorqueReaction>();
20 
21 /*
22  * TorqueReaction calculates the torque in 2D and 3D about a user-specified
23  * axis of rotation centered at a user-specied origin. The default origin is the
24  * global coordinate system origin: (0.0,0.0,0.0).
25  *
26  * TorqueReaction takes a scalar approach to calculating the sum of the
27  * acting torques by projecting both the reaction force and the position vector
28  * (the coordinates of the node upon which the force is applied) onto the axis of
29  * rotation and applying the Pythagorean theorem, as in a statics course. This
30  * scalar approach allows the postprocessor to accept any axis of rotation direction.
31  *
32  * TorqueReaction is similar to TorqueReaction in SolidMechanics but does
33  * not replace the TorqueReaction postprocessor; different assumptions were used
34  * to derive the SolidMechanics TorqueReaction postprocessor.
35  */
36 class TorqueReaction : public NodalPostprocessor
37 {
38 public:
39  static InputParameters validParams();
40 
41  TorqueReaction(const InputParameters & parameters);
42 
43  virtual void initialize();
44  virtual void execute();
45  virtual Real getValue();
46  void threadJoin(const UserObject & y);
47 
48 protected:
49  AuxiliarySystem & _aux;
50 
51  std::vector<const VariableValue *> _react;
52 
53  const Point _axis_origin;
54  const Point _direction_vector;
55 
56  unsigned int _nrt;
57 
58  Real _sum;
59 };
TorqueReaction::getValue
virtual Real getValue()
Definition: TorqueReaction.C:91
TorqueReaction
Definition: TorqueReaction.h:36
TorqueReaction::_nrt
unsigned int _nrt
Definition: TorqueReaction.h:56
TorqueReaction::threadJoin
void threadJoin(const UserObject &y)
Definition: TorqueReaction.C:99
TorqueReaction::initialize
virtual void initialize()
Definition: TorqueReaction.C:54
TorqueReaction::_aux
AuxiliarySystem & _aux
Definition: TorqueReaction.h:49
TorqueReaction::_axis_origin
const Point _axis_origin
Definition: TorqueReaction.h:53
TorqueReaction::_direction_vector
const Point _direction_vector
Definition: TorqueReaction.h:54
TorqueReaction::validParams
static InputParameters validParams()
Definition: TorqueReaction.C:21
TorqueReaction::_sum
Real _sum
Definition: TorqueReaction.h:58
TorqueReaction::_react
std::vector< const VariableValue * > _react
Definition: TorqueReaction.h:51
TorqueReaction::execute
virtual void execute()
Definition: TorqueReaction.C:60
validParams< TorqueReaction >
InputParameters validParams< TorqueReaction >()
TorqueReaction::TorqueReaction
TorqueReaction(const InputParameters &parameters)
Definition: TorqueReaction.C:39