https://mooseframework.inl.gov
NodalRotationalInertia.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 "TimeNodalKernel.h"
13 #include "RankTwoTensor.h"
14 
15 // Forward Declarations
16 class TimeIntegrator;
17 class AuxiliarySystem;
18 
24 {
25 public:
27 
29 
30 protected:
31  virtual Real computeQpResidual() override;
32 
33  virtual Real computeQpJacobian() override;
34 
35  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
36 
38  const bool _has_beta;
39  const bool _has_gamma;
40  const bool _has_rot_velocities;
42  const bool _has_x_orientation;
43  const bool _has_y_orientation;
44 
47 
49  unsigned int _nrot;
50 
52  std::vector<const VariableValue *> _rot;
53 
55  std::vector<const VariableValue *> _rot_old;
56 
58  std::vector<unsigned int> _rot_vel_num;
59 
61  std::vector<unsigned int> _rot_accel_num;
62 
64  std::vector<unsigned int> _rot_variables;
65 
67  std::vector<Real> _rot_accel;
68 
70  std::vector<Real> _rot_vel;
71 
73  std::vector<Real> _rot_vel_old;
74 
76  const Real _beta;
77 
79  const Real _gamma;
80 
82  const Real & _eta;
83 
85  const Real & _alpha;
86 
88  const unsigned int _component;
89 
92 
94  std::vector<const VariableValue *> _rot_dot_residual;
95 
97  std::vector<const VariableValue *> _rot_vel_old_value;
98 
100  std::vector<const VariableValue *> _rot_dotdot_residual;
101 
104 
107 
110 };
virtual Real computeQpResidual() override
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
std::vector< const VariableValue * > _rot_vel_old_value
Old velocity value.
const unsigned int _component
Component along which torque is applied.
AuxiliarySystem * _aux_sys
Auxiliary system object.
std::vector< unsigned int > _rot_variables
Variable numbers for rotational variables.
std::vector< Real > _rot_vel_old
Old velocity of the node.
const VariableValue * _du_dot_du
du_dot_du value
Calculates the inertial torque and inertia proportional damping for nodal rotational inertia...
const TimeIntegrator & _time_integrator
The TimeIntegrator.
std::vector< const VariableValue * > _rot_dot_residual
Rotational udot residual.
virtual Real computeQpJacobian() override
std::vector< unsigned int > _rot_vel_num
Variable numbers for rotational velocity aux variables.
NodalRotationalInertia(const InputParameters &parameters)
std::vector< Real > _rot_accel
Current acceleration of the node.
std::vector< Real > _rot_vel
Current velocity of the node.
const VariableValue * _du_dotdot_du
du_dotdot_du value
std::vector< const VariableValue * > _rot_dotdot_residual
Rotational udotdot residual.
unsigned int _nrot
Number of coupled rotational variables.
RankTwoTensor _inertia
Moment of inertia tensor in global coordinate system.
const bool _has_beta
Booleans for validity of params.
std::vector< const VariableValue * > _rot
Value of rotational displacements.
std::vector< unsigned int > _rot_accel_num
Variable numbers for rotational acceleration aux variables.
const Real _gamma
Newmark time integration parameter.
OutputTools< Real >::VariableValue VariableValue
const Real _beta
Newmark time integration parameter.
std::vector< const VariableValue * > _rot_old
Old value of rotational displacements.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
const Real & _eta
Mass proportional Rayliegh damping.
const Real & _alpha
HHT time integration parameter.
static InputParameters validParams()