www.mooseframework.org
NodalRotationalInertia.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 "TimeNodalKernel.h"
13 #include "RankTwoTensor.h"
14 
15 // Forward Declarations
17 
18 template <>
19 InputParameters validParams<NodalRotationalInertia>();
20 
25 class NodalRotationalInertia : public TimeNodalKernel
26 {
27 public:
28  static InputParameters validParams();
29 
30  NodalRotationalInertia(const InputParameters & parameters);
31 
32 protected:
33  virtual Real computeQpResidual() override;
34 
35  virtual Real computeQpJacobian() override;
36 
37  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
38 
40  const bool _has_beta;
41  const bool _has_gamma;
42  const bool _has_rot_velocities;
44  const bool _has_x_orientation;
45  const bool _has_y_orientation;
46 
48  AuxiliarySystem * _aux_sys;
49 
51  unsigned int _nrot;
52 
54  std::vector<const VariableValue *> _rot;
55 
57  std::vector<const VariableValue *> _rot_old;
58 
60  std::vector<unsigned int> _rot_vel_num;
61 
63  std::vector<unsigned int> _rot_accel_num;
64 
66  std::vector<unsigned int> _rot_variables;
67 
69  std::vector<Real> _rot_accel;
70 
72  std::vector<Real> _rot_vel;
73 
75  std::vector<Real> _rot_vel_old;
76 
78  const Real _beta;
79 
81  const Real _gamma;
82 
84  const Real & _eta;
85 
87  const Real & _alpha;
88 
90  const unsigned int _component;
91 
94 
96  std::vector<const VariableValue *> _rot_vel_value;
97 
99  std::vector<const VariableValue *> _rot_vel_old_value;
100 
102  std::vector<const VariableValue *> _rot_accel_value;
103 
105  const VariableValue * _du_dot_du;
106 
108  const VariableValue * _du_dotdot_du;
109 };
validParams< NodalRotationalInertia >
InputParameters validParams< NodalRotationalInertia >()
NodalRotationalInertia::_beta
const Real _beta
Newmark time integration parameter.
Definition: NodalRotationalInertia.h:78
NodalRotationalInertia::_nrot
unsigned int _nrot
Number of coupled rotational variables.
Definition: NodalRotationalInertia.h:51
NodalRotationalInertia::_alpha
const Real & _alpha
HHT time integration parameter.
Definition: NodalRotationalInertia.h:87
NodalRotationalInertia::_du_dotdot_du
const VariableValue * _du_dotdot_du
du_dotdot_du value
Definition: NodalRotationalInertia.h:108
NodalRotationalInertia::_has_rot_velocities
const bool _has_rot_velocities
Definition: NodalRotationalInertia.h:42
NodalRotationalInertia::_rot
std::vector< const VariableValue * > _rot
Value of rotational displacements.
Definition: NodalRotationalInertia.h:54
NodalRotationalInertia::_has_beta
const bool _has_beta
Booleans for validity of params.
Definition: NodalRotationalInertia.h:40
NodalRotationalInertia::_rot_accel_num
std::vector< unsigned int > _rot_accel_num
Variable numbers for rotational acceleration aux variables.
Definition: NodalRotationalInertia.h:63
NodalRotationalInertia::_has_gamma
const bool _has_gamma
Definition: NodalRotationalInertia.h:41
NodalRotationalInertia::_rot_old
std::vector< const VariableValue * > _rot_old
Old value of rotational displacements.
Definition: NodalRotationalInertia.h:57
NodalRotationalInertia::validParams
static InputParameters validParams()
Definition: NodalRotationalInertia.C:20
NodalRotationalInertia::_rot_vel_value
std::vector< const VariableValue * > _rot_vel_value
Velocity value.
Definition: NodalRotationalInertia.h:96
NodalRotationalInertia::_has_rot_accelerations
const bool _has_rot_accelerations
Definition: NodalRotationalInertia.h:43
NodalRotationalInertia::_has_y_orientation
const bool _has_y_orientation
Definition: NodalRotationalInertia.h:45
NodalRotationalInertia::_eta
const Real & _eta
Mass proportional Rayliegh damping.
Definition: NodalRotationalInertia.h:84
NodalRotationalInertia::_rot_accel_value
std::vector< const VariableValue * > _rot_accel_value
Acceleration value.
Definition: NodalRotationalInertia.h:102
NodalRotationalInertia::_du_dot_du
const VariableValue * _du_dot_du
du_dot_du value
Definition: NodalRotationalInertia.h:105
NodalRotationalInertia::_rot_vel
std::vector< Real > _rot_vel
Current velocity of the node.
Definition: NodalRotationalInertia.h:72
NodalRotationalInertia::computeQpJacobian
virtual Real computeQpJacobian() override
Definition: NodalRotationalInertia.C:246
NodalRotationalInertia::_has_x_orientation
const bool _has_x_orientation
Definition: NodalRotationalInertia.h:44
NodalRotationalInertia::computeQpResidual
virtual Real computeQpResidual() override
Definition: NodalRotationalInertia.C:199
NodalRotationalInertia
Calculates the inertial torque and inertia proportional damping for nodal rotational inertia.
Definition: NodalRotationalInertia.h:25
NodalRotationalInertia::_component
const unsigned int _component
Component along which torque is applied.
Definition: NodalRotationalInertia.h:90
NodalRotationalInertia::_aux_sys
AuxiliarySystem * _aux_sys
Auxiliary system object.
Definition: NodalRotationalInertia.h:48
NodalRotationalInertia::_rot_vel_old
std::vector< Real > _rot_vel_old
Old velocity of the node.
Definition: NodalRotationalInertia.h:75
NodalRotationalInertia::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Definition: NodalRotationalInertia.C:264
NodalRotationalInertia::_rot_variables
std::vector< unsigned int > _rot_variables
Variable numbers for rotational variables.
Definition: NodalRotationalInertia.h:66
RankTwoTensorTempl< Real >
NodalRotationalInertia::_rot_vel_old_value
std::vector< const VariableValue * > _rot_vel_old_value
Old velocity value.
Definition: NodalRotationalInertia.h:99
NodalRotationalInertia::_rot_vel_num
std::vector< unsigned int > _rot_vel_num
Variable numbers for rotational velocity aux variables.
Definition: NodalRotationalInertia.h:60
NodalRotationalInertia::_rot_accel
std::vector< Real > _rot_accel
Current acceleration of the node.
Definition: NodalRotationalInertia.h:69
NodalRotationalInertia::_inertia
RankTwoTensor _inertia
Moment of inertia tensor in global coordinate system.
Definition: NodalRotationalInertia.h:93
NodalRotationalInertia::NodalRotationalInertia
NodalRotationalInertia(const InputParameters &parameters)
Definition: NodalRotationalInertia.C:64
NodalRotationalInertia::_gamma
const Real _gamma
Newmark time integration parameter.
Definition: NodalRotationalInertia.h:81